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:- Competências do projeto:
.compass/skills/<name>/SKILL.md. - Competências globais com âmbito de projeto:
~/.compass/projects/<project-slug>/skills/<name>/SKILL.md. - Competências pessoais:
~/.compass/skills/<name>/SKILL.md. - Competências integradas fornecidas com a Nova.
Estrutura do diretório
Uma competência mínima tem um ficheiro obrigatório:Formato de SKILL.md
name;description;argument-hint;disable-model-invocation;user-invocable;allowed-tools;model;context;agent.
Invocar uma competência
As competências invocáveis pelo utilizador são registadas como comandos de barra com o respetivo nome:$ARGUMENTSpara todos os argumentos fornecidos;$1,$2e outros marcadores posicionais;- referências a ficheiros
@path, resolvidas relativamente ao projeto; - substituições de comandos suportadas pelo processador de competências.
disable-model-invocation: true. Define user-invocable: false para fluxos internos que só o modelo deve usar.
Execução em linha ou isolada
context: inlineexecuta a competência na conversa atual e é a predefinição.context: forkexecuta a competência num agente filho isolado.
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 fluxofind-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:- Tem um resultado claro e uma descrição precisa.
- Indica as entradas necessárias e usa uma sugestão de argumentos.
- Define critérios de conclusão observáveis.
- Restringe ferramentas e efeitos laterais.
- Trata entradas em falta e estados de falha.
- Distingue pré-visualização de ações destrutivas ou externas.
- Evita segredos e pressupostos específicos de uma máquina.
- Inclui apenas o material de apoio necessário para a execução.