specd-apply-change
Skill0 starsChanged 4 months agoMITView on GitHub
Implementa as tasks de uma change aberta do specd até as âncoras do delta resolverem, atualiza o delta com o que a execução descobrir e roda `specd verify` reportando o veredito. Use quando o usuário quiser começar a implementar, continuar de onde parou, ou fechar as tasks pendentes de uma change.
In this repository13 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- claude-code-memorySkill
- docgenSkill
- handoffSkill
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-exploreSkill
- openspec-proposeSkill
- publish-npmSkill
- specd-archive-changeSkill
- specd-exploreSkill
- specd-proposeSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 98
Use a ferramenta de pergunta do host, com opções, sempre que:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
specd-apply-change
Terceiro passo do ciclo. Implementa até o gate fechar. Não arquiva, não
escreve no board e não promove requisito para .specd/specs/.
Antes de qualquer coisa
specd --versionMenor que requires_specd → pare.
1. Escolher a change e a task
specd status --jsonUma change aberta: use essa. Mais de uma: pergunte pela ferramenta de pergunta do host com as changes como opções. Nunca infira por data nem por ordem.
Dentro da change, as tasks estão em tasks/*.md com status na frontmatter:
pending | in_progress | done | blocked.
2. Ler o contrato
specd spec --jsonOs requisitos que a task cita em req são a especificação. Os critérios de
aceite são a especificação de teste — cada um vira teste.
Nunca reconstrua o overlay lendo .specd/specs/ e os deltas soltos: a spec
que a skill leria não seria a que o gate lê, e ninguém veria a diferença.
3. Implementar
Até as âncoras declaradas no delta resolverem. A âncora é contrato, não sugestão: respeite exatamente o caminho e o símbolo declarados. Se o símbolo precisar de outro nome, atualize o delta no mesmo commit — requisito em voo é maleável e o preço é cobrado na hora.
Escreva código no idioma e no estilo do repositório em volta: mesma densidade de comentário, mesmos nomes, mesmos idiomas.
4. Atualizar a spec com o que a execução descobriu
"A spec" aqui é o delta, nunca .specd/specs/. Requisito que faltava,
âncora que devia apontar para outro símbolo, premissa que não se sustentou:
tudo entra no delta.md da change corrente.
É para isso que o delta é a superfície de escrita — o ciclo precisa de um lugar onde a realidade corrige a intenção sem contaminar a verdade realizada.
Mexeu em requisito? Confira se o req das tasks acompanha, ou coverage
reprova.
Nunca toque no propose.json. Ele é o registro do que a proposta dizia, e é
contra ele que a specd-archive-change recorta a revisão. Reescrevê-lo aqui
faria o recorte dar vazio sempre — o mecanismo inteiro viraria decoração, e a
revisão que ele sustenta passaria a informar que nada mudou justamente nas
changes em que mais coisa muda.
5. Rodar o gate
specd verifyReporte o que ele disse, sem interpretar. O veredito é dele: a skill prepara material e lê resultado, nunca emite verdict. Não invente um segundo portão com "acho que isso não está pronto".
Exit 1 é a spec ou o código errados. Exit 2 é a ferramenta quebrada — rede, I/O, configuração. Os dois têm tratamento diferente e nunca são reportados como a mesma coisa.
6. Fechar a task
Task done exige SHA em evidence.commits, ou a camada evidence reprova.
Commite o trabalho, preencha a evidência, siga para a próxima.
Armadilha: âncora resolvendo não é conclusão
(anchor-necessary-not-sufficient). O símbolo existir no lugar declarado é
condição necessária e nada mais — o comportamento ainda precisa estar certo, e
isso o gate não sabe checar sozinho.
Quando parar e perguntar
Use a ferramenta de pergunta do host, com opções, sempre que:
- o requisito é ambíguo o bastante para duas implementações incompatíveis
- implementar revela que a proposta estava errada em algo que muda escopo
- a âncora declarada não tem lugar honesto no código
- o gate reprova por algo fora da task corrente
Âncora honestamente pendurada é preferível a resolvê-la para um stub. Nunca aponte âncora para implementação parcial.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

