Date: 2026-09-10

Competências

Nesta lição, vais criar um fluxo de trabalho da Nova prático e baseado em evidências para uma tarefa repetível.

O que é uma competência

Uma competência reúne instruções repetíveis, metadados e ficheiros de apoio opcionais num fluxo de trabalho que a Nova pode invocar. É adequada para processos estáveis, como criar um relatório específico, aplicar uma norma de design, preparar uma versão ou gerir uma lista de verificação própria do projeto. Uma competência é mais do que um prompt guardado. O frontmatter pode controlar a descoberta, os argumentos, as ferramentas permitidas, o modelo e se a execução decorre na conversa atual ou num agente isolado.

Localizações e prioridade

A Nova descobre competências nestas localizações, da prioridade mais elevada para a mais baixa:
  1. Competências do projeto: .compass/skills/<name>/SKILL.md.
  2. Competências globais com âmbito de projeto: ~/.compass/projects/<project-slug>/skills/<name>/SKILL.md.
  3. Competências pessoais: ~/.compass/skills/<name>/SKILL.md.
  4. Competências integradas fornecidas com a Nova.
A localização global com âmbito de projeto pertence ao estado gerido pela Compass. Usa o identificador de projeto que a Nova resolve, sem o inventares. As competências do projeto são adequadas para fluxos de trabalho partilhados num repositório. As pessoais acompanham-te entre projetos. As integradas abrangem capacidades gerais fornecidas com a Nova.

Estrutura do diretório

Uma competência mínima tem um ficheiro obrigatório:
O diretório também pode conter modelos, exemplos, scripts ou material de referência usado pelo fluxo de trabalho. Mantém cada competência centrada num único resultado.

Formato de SKILL.md

O frontmatter suportado inclui:
  • name;
  • description;
  • argument-hint;
  • disable-model-invocation;
  • user-invocable;
  • allowed-tools;
  • model;
  • context;
  • agent.
A Nova também adiciona metadados controlados às competências criadas pelo fluxo de aprendizagem.

Invocar uma competência

As competências invocáveis pelo utilizador são registadas como comandos de barra com o respetivo nome:
O conteúdo da competência pode usar:
  • $ARGUMENTS para todos os argumentos fornecidos;
  • $1, $2 e outros marcadores posicionais;
  • referências a ficheiros @path, resolvidas relativamente ao projeto;
  • substituições de comandos suportadas pelo processador de competências.
Um comando de barra integrado tem precedência se o nome entrar em conflito com uma competência. Escolhe nomes distintos. A Nova também pode invocar uma competência automaticamente quando a descrição corresponde claramente ao pedido, exceto se definires disable-model-invocation: true. Define user-invocable: false para fluxos internos que só o modelo deve usar.

Execução em linha ou isolada

  • context: inline executa a competência na conversa atual e é a predefinição.
  • context: fork executa a competência num agente filho isolado.
Usa a execução em linha quando o fluxo precisa da conversa ativa. Usa uma execução isolada para investigação, verificação ou criação de artefactos autónomas que, de outro modo, acrescentariam muito contexto intermédio. As competências isoladas podem escolher um agent, como verification, explore ou supernova. As competências não são herdadas automaticamente pelos agentes criados, pelo que uma definição de agente tem de carregar explicitamente as competências de que necessita.

Restrições de ferramentas

allowed-tools reduz as ferramentas que uma competência pode usar. Prefere sempre a superfície mínima necessária. Uma competência de revisão só de leitura não deve receber ferramentas de escrita. Uma competência de verificação de versão pode executar comandos de validação, mas não deve publicar artefactos. Os padrões de shell usam formas como Bash(npm:*). São restrições de capacidade, não uma garantia de segurança dos comandos. A aprovação em runtime e a política da organização continuam a aplicar-se.

Descobrir e instalar competências

A Nova disponibiliza ferramentas para listar competências invocáveis, instalar competências do registo no armazenamento global com âmbito de projeto e invocá-las programaticamente. Numa conversa, pergunta à Nova que competências estão disponíveis ou usa o preenchimento automático para descobrir comandos registados. Usa o fluxo find-skills incluído quando o objetivo é encontrar uma competência instalável em vez de criar uma de raiz.

Criar uma competência fiável

Uma boa competência:
  1. Tem um resultado claro e uma descrição precisa.
  2. Indica as entradas necessárias e usa uma sugestão de argumentos.
  3. Define critérios de conclusão observáveis.
  4. Restringe ferramentas e efeitos laterais.
  5. Trata entradas em falta e estados de falha.
  6. Distingue pré-visualização de ações destrutivas ou externas.
  7. Evita segredos e pressupostos específicos de uma máquina.
  8. Inclui apenas o material de apoio necessário para a execução.
Testa a competência num projeto descartável antes de a partilhares de forma alargada.

Recapitulação

Usa competências para processos repetíveis com um resultado, entradas e limites claros. Restringe as ferramentas e testa o fluxo num ambiente seguro antes de o partilhares.

Prática segura

Cria uma competência só de leitura que liste os comandos de validação de um projeto e peça confirmação antes de executar qualquer um. Testa-a num repositório local não crítico. Anterior: Agentes especializados | Seguinte: Model Context Protocol