Use this file to discover all available pages before exploring further.
As skills são definidas em arquivos SKILL.md dentro de um diretório nomeado. Esta página explica tudo o que você precisa saber para escrever skills eficazes.
Coloque as skills no diretório apropriado, de acordo com o escopo:
# Específico do projeto (com commit no git).devin/skills/└── my-skill/ └── SKILL.md# Global — disponível em todos os projetos (sem commit)# Linux/macOS:~/.config/devin/skills/└── my-skill/ └── SKILL.md# Windows:%APPDATA%\devin\skills\└── my-skill\ └── SKILL.md
O nome do diretório é o identificador da skill (usado na chamada /my-skill). O arquivo SKILL.md contém frontmatter YAML opcional e o conteúdo do prompt da skill.
No Windows, %APPDATA% normalmente corresponde a C:\Users\<YourUser>\AppData\Roaming.
Use o campo model para executar uma skill usando um modelo diferente do que está ativo na sessão atual. Isso é útil para usar um modelo mais rápido em tarefas simples ou um modelo mais avançado em tarefas complexas:
---name: quick-fixdescription: Fast lint fix using a lightweight modelmodel: swe---Fix the lint errors in the current file.
O nome do modelo usa os mesmos valores da flag --model da CLI (por exemplo, opus, sonnet, swe, codex). Consulte Models para ver a lista completa. Após a conclusão da skill, a sessão retorna ao modelo que estava ativo anteriormente.
Executar skills como subagentes é experimental. Os campos subagent e agent do frontmatter podem mudar em versões futuras.
Por padrão, o prompt de uma skill é injetado na conversa atual — o agente o processa inline. Como alternativa, você pode executar uma skill como um subagente, o que inicia um worker independente com sua própria janela de contexto. Isso é útil para skills que executam tarefas focadas e autocontidas, em que você não quer que a saída sobrecarregue a conversa principal.Há duas maneiras de executar uma skill como subagente:
Defina subagent: true para executar a skill como subagente usando o perfil padrão subagent_general:
---name: deep-researchdescription: Thorough codebase research on a topicsubagent: truemodel: sonnetallowed-tools: - read - grep - glob---Research the following topic thoroughly: $ARGUMENTSSearch broadly, follow references, and trace call chains.Report all findings with specific file paths and line numbers.
Ao ser invocada, esta skill inicia um subagente em primeiro plano que executa o prompt da skill como tarefa. O agente principal aguarda a conclusão do subagente e, em seguida, lê e resume os resultados.
---name: review-prdescription: Review the current PR using the reviewer subagentagent: reviewer---Review the staged changes for correctness, security, and style issues.
O valor agent deve corresponder ao nome de um perfil de subagente registrado (seja um perfil integrado, como subagent_explore / subagent_general, ou um perfil personalizado que você definiu). O subagente herda o prompt de sistema, as restrições de ferramentas e o modelo do perfil — enquanto o conteúdo da skill se torna a task.
Se agent e subagent estiverem definidos, agent terá precedência. O campo model na skill faz override do modelo do perfil do subagente quando ambos estiverem especificados.
Skills executadas como subagentes não criam subagentes aninhados — se a skill já estiver sendo executada dentro de um subagente, ela será executada inline para evitar recursão infinita.
Como as skills podem ser executadas como subagentes, você pode usá-las para orquestrar trabalhos em várias etapas. Defina um conjunto de skills de subagente, cada uma responsável por uma tarefa específica, e depois escreva uma skill comum que as invoque. A skill externa se torna a orquestradora — ela chama cada subagente, coleta os resultados e decide o que fazer em seguida.Por exemplo, aqui estão duas skills de subagente e uma orquestradora que as coordena:
---name: research-changesdescription: Research recent code changes and their impactsubagent: trueallowed-tools: - read - grep - glob - exec---Analyze the recent changes in this repository:1. Run `git log --oneline -20` to see recent commits2. For each significant commit, examine what changed and why3. Identify any patterns, risks, or areas that need attentionReport your findings with specific file paths and commit references.
---name: validate-testsdescription: Run tests and validate coverage for recent changessubagent: trueallowed-tools: - read - grep - glob - exec---Validate the test suite for the project:1. Identify the test framework and run command2. Run the full test suite3. Check for any failing tests4. Review test coverage for recently changed filesReport which tests pass, which fail, and any coverage gaps.
---name: health-checkdescription: Full project health check — research changes then validate tests---Perform a full health check on this project:1. First, use the /research-changes skill to understand recent changes2. Then, use the /validate-tests skill to verify the test suite3. Finally, synthesize the findings from both into a summary: - What changed recently and why - Whether tests are passing - Any risks or recommended actions
Invocar /health-check executa o orquestrador no agente principal. Ele chama /research-changes, que cria um subagente para explorar o repo. Quando isso termina, ele chama /validate-tests, que cria outro subagente para executar os testes. Em seguida, o orquestrador combina os dois resultados em um resumo final.Uma skill de subagente nunca usará um subagente ao chamar outras skills, mesmo que essas skills tenham subagent: true — elas são executadas inline. Isso significa que você não precisa se preocupar com aninhamento sem limites. O padrão de orquestração tem sempre apenas um nível de profundidade: o orquestrador cria subagentes, e esses subagentes executam todo o restante inline.
allow — Esses escopos são aprovados automaticamente durante a execução da skill
deny — Esses escopos são bloqueados durante a execução da skill
ask — Esses escopos sempre pedem confirmação ao usuário
As permissões de skill são adicionadas às permissões base da sessão (não as substituem). Uma skill não pode conceder permissões negadas em um nível mais alto (configuração do projeto ou da organização).
Se allowed-tools não for especificado, a skill terá acesso a todas as ferramentas. Para skills críticas de segurança, sempre restrinja ao mínimo necessário.
---name: reviewdescription: Review staged changes for issuesallowed-tools: - read - grep - glob - execpermissions: allow: - Exec(git diff) - Exec(git log)---Review the current changes for quality issues:!`git diff --staged`Evaluate:1. **Correctness** — Any logic errors or edge cases?2. **Security** — Any vulnerabilities introduced?3. **Performance** — Any obvious inefficiencies?4. **Style** — Consistent with the codebase?Provide a summary with specific line references.
---name: componentdescription: Generate a React component from a descriptionargument-hint: "<ComponentName>"allowed-tools: - read - edit - grep - globmodel: sonnetpermissions: allow: - Write(src/components/**)---Create a new React component named `$1`:1. Check existing components in src/components/ for style conventions2. Create the component file at src/components/$1/$1.tsx3. Create a barrel export at src/components/$1/index.ts4. Add basic tests at src/components/$1/$1.test.tsx5. Follow the patterns you find in existing components
---name: deploydescription: Run through the deployment checklisttriggers: - userallowed-tools: - read - exec - greppermissions: allow: - Exec(npm run) - Exec(git)---Run through the deployment checklist:1. Run the test suite: `npm run test`2. Run the linter: `npm run lint`3. Check for uncommitted changes: `git status`4. Verify the build: `npm run build`5. Show the current branch and last commitReport the status of each step. If anything fails, stop and explain the issue.
---name: finddescription: Find relevant code across the projectargument-hint: "<what to find>"allowed-tools: - read - grep - globtriggers: - user - model---Search the codebase thoroughly for: $ARGUMENTSUse grep for content search and glob for file discovery.Provide relevant file paths and code snippets.Explain how the pieces connect.