DEILE
06 — Skills & extensibilidade

Markdown, hot-reload, cinco pontos de extensão.

O DEILE foi feito para ser estendido. Três dos cinco pontos de extensão não exigem Python — drop um arquivo e está vivo no próximo turno.

Sistema de skills

Expertise em Markdown. Auto-injetada quando faz sentido.

Uma skill é um arquivo Markdown com frontmatter YAML — não há código Python para escrever. Drop o arquivo num dos seis diretórios de scan, e ela vira (a) auto-injeção no system prompt quando algum gatilho casa, (b) função explícita chamável pelo modelo, e (c) slash command com o nome do arquivo.

seis diretórios, precedência crescente
1 bundled biblioteca interna do DEILE — padrões base
2 user diretório do operador — escopo pessoal
3 user (Claude) compat com diretório de comandos Claude
4 projeto diretório versionado no repositório do projeto
5 projeto (Claude) compat com .claude/commands do projeto
6 configurado paths extras declarados em configuração

Colisão de nome: o de maior precedência vence (com log informativo). Toda mudança em qualquer diretório é refletida em ~0,5 s via hot-reload do watchdog.

quatro gatilhos de auto-injeção
file_globs ativa quando arquivos do padrão são mencionados (ex.: *.rs)
code_block_langs ativa quando o turno contém um bloco fenced naquela linguagem
keywords ativa em ocorrência word-boundary de termos-chave
file_content_patterns ativa quando arquivos do projeto casam regex (lidos em 4 KiB, com containment)

Quando algum gatilho casa, o conteúdo da skill é injetado como bloco identificado no system prompt do turno corrente. Sem injeção arbitrária — só o relevante, só quando relevante.

Skills bundled

Três skills da biblioteca interna. Override por projeto.

O DEILE vem com um piso pequeno e opinativo. Qualquer projeto pode sobrescrever colocando um arquivo de mesmo nome num diretório de maior precedência.

python

Convenções idiomáticas de Python no DEILE: async-first, Pydantic v2, typing, gerenciamento de pacotes.

typescript

Padrões de TS para projetos JS/TS: strict mode, tipos explícitos, ESM, modernidade de tooling.

tdd

Ciclo test-first: escrever o teste falhando, implementar o mínimo, refatorar, garantir a regressão.

Sub-DEILEs paralelos

Decomponha um pedido grande em até cinco frentes simultâneas.

Quando uma tarefa é grande e independente, o agente pode dividir em 2 a 5 sub-DEILEs com sessões limpas. Cada sub-DEILE aparece em um sub-painel no terminal. Você acompanha as frentes em tempo real e mantém foco em uma com a tecla numérica.

local runner

In-process, sem sair do CLI

Cada sub-DEILE é uma task asyncio do mesmo processo. Compartilha registries (tools, personas, skills) e memória. Concorrência por semáforo, orçamento de tempo por timeout.

worker runner

Cada frente em um pod separado

Em modo cluster, cada sub-DEILE vira um dispatch para o deile-worker, com polling de progresso. Isolamento real, custo contabilizado por sub-DEILE, panel sincronizado pelos endpoints estruturados do worker.

Cinco pontos de extensão

Estende sem tocar o núcleo.

O princípio Open/Closed é forte aqui. Cinco pontos de extensão cobrem 95% dos casos de personalização — e três deles não exigem Python.

Tool

Subclassifica Tool, declara schema com nível de segurança e categoria, retorna ToolResult. Auto-discovery ou registro explícito.

Command

Slash command com nome, aliases e flag CLI opcional. Auto-discovery em diretório dedicado.

Parser

Implementa Parser com prioridade. Roda em paralelo com os demais; o registry decide quem ganha.

Persona

Markdown puro (instruções) + YAML (capacidades). Sem Python.

Skill

Markdown com frontmatter YAML. Sem Python. Hot-reload em milissegundos.

Plugins

Plugin manager com hot-reload.

O DEILE tem um plugin manager com ciclo de vida completo e hot-reload via watchdog. Para extensão de comportamento, prefira tools, skills ou personas — os três cobrem a maioria dos casos sem precisar de plugin.

  • • Plugin manager + ciclo de vida (load, register, unload)
  • • Hot-reload via watchdog — troca em ~0,5 s sem reiniciar o processo
  • • Registro condicional por feature flag