Atualizar uma especificação existente
Preparação obrigatória
Antes de executar esta skill, carregue obrigatoriamente $specsfy-setup na
raiz do projeto. Em handoff automático, carregue-o de novo antes desta etapa.
Reutilize a raiz confirmada na conversa e não prossiga se o setup apontar uma
pendência.
Modo de interação
Modo de interação: perguntas.
Antes de formular qualquer pergunta, leia e aplique o
Contrato de perguntas numeradas de .specsfy/Spec.md.
Incorpore um pedido surgido depois da definição inicial sem esconder a mudança,
duplicar a fonte normativa ou obrigar a pessoa a conhecer atos e gates.
Orquestrar a conversa
Ao concluir esta etapa ou detectar trabalho de outra etapa, anuncie
Pendência detectada: <descrição> — ação: resolvendo nesta etapa e resolva-a
quando pertencer ao próprio escopo. Quando houver troca de responsabilidade,
anuncie Transição automática: $specsfy-update-spec → $<destino> — motivo: <motivo> — resultado esperado: <resultado> e carregue imediatamente a skill de
destino, sem pedir confirmação nem repetir o comando. Continue na mesma
conversa. Depois de uma correção necessária a esta etapa, anuncie Retomada automática: $<destino> → $specsfy-update-spec — pendência resolvida: <resultado> e retome-a imediatamente. Reavalie o estado após cada handoff para
evitar ciclos. Não peça confirmação para o handoff; ações sensíveis continuam
exigindo autorização específica.
Confirmar a entrada
- Preserve literalmente o novo pedido antes de interpretá-lo.
- Localize a spec canônica em
specs/<estado>/<NNNN>-<slug>/spec.md e leia seus metadados, requisitos,
cenários, plano, tarefas, gates e evidências.
- Leia as instruções do projeto,
PROJECT.md, .specsfy/STACK.md,
.specsfy/RULES.md, .specsfy/DATABASE.md e o research indexado aplicável.
- Inspecione mudanças Git preexistentes na spec e não as atribua ao pedido
atual.
- Se não existir uma spec, anuncie a pendência e carregue
$specsfy-02-backlog para uma ideia superficial ou
$specsfy-03-specify quando já houver intenção explícita de criar a fatia.
- Se a spec ainda estiver em
Draft e nunca tiver obtido
Definition Gate: Passed, carregue $specsfy-03-specify; esta skill
governa somente a revisão de uma definição que já avançou.
Classificar antes de escrever
Leia a matriz de classificação quando o
pedido puder alterar comportamento, plano ou fronteira entre specs.
- Para correção interna reversível sem efeito observável, não altere a spec:
registre a avaliação na evidência da tarefa e retome
$specsfy-07-implement.
- Para esclarecimento editorial que não muda significado, preserve os gates e
altere somente a redação necessária.
- Para mudança de comportamento, aceite, escopo, dados, segurança ou interface,
reabra desde o Ato I.
- Para mudança somente de solução, tarefas ou estratégia de testes, reabra
desde o Ato II.
- Para capacidade independente da finalidade e dos atores da fatia atual, não a
acrescente silenciosamente: carregue
$specsfy-02-backlog ou
$specsfy-03-specify conforme a maturidade do pedido.
- Quando opções plausíveis mudarem materialmente o resultado, faça handoff para
$specsfy-02-backlog, execute o ciclo adaptativo e
retome esta skill ao final do ciclo. Se a pessoa escolher avançar, aplique a
confirmação e o registro definidos no contrato central, reabra o Ato I quando
restarem pontos aplicáveis, não encaminhe a definição como aprovada e
não reabra o mesmo ciclo nesta retomada.
Esta skill não cria uma spec nova, não decide requisito material pela pessoa,
não altera código de produção e não implementa o pedido.
Incorporar a mudança
- Confirme que a pessoa autorizou incorporar o pedido à spec atual. O pedido
explícito para mudar, adicionar, remover ou corrigir já constitui essa
autorização; não repita a confirmação.
- Edite somente
spec.md e o research indexado necessário. Não crie
change-request.md, plan.md, tasks.md, research.md ou outra fonte
paralela.
- Atualize todas as seções normativas afetadas, preserve IDs e decisões ainda
válidos e nunca renumere IDs existentes. Para mudança de comportamento,
registre razão, decisão e IDs impactados na seção 17. Para mudança somente
de plano, registre a razão na seção de plano ou risco afetada sem criar uma
decisão de produto artificial.
- Não reescreva evidência histórica como se tivesse sido produzida para a nova
entrada. Marque como pendente toda prova posterior que dependa da versão
invalidada.
- Execute a projeção de impacto:
node .agents/skills/specsfy-update-spec/scripts/analyze_change.mjs \
specs/<estado>/<NNNN>-<slug>/spec.md --base HEAD --mode impact
Use --mode changelog para listar IDs adicionados, removidos e alterados. A
classificação usa títulos canônicos, não números de seção; unknown reabre do
Ato I por segurança. O script é somente leitura e não substitui a comparação
semântica com o pedido.
Invalidar somente o necessário
- Para mudança do Ato I, defina
Status: Draft,
Definition Gate: Pending, Plan Gate: Pending e
Delivery Gate: Pending.
- Para mudança somente do Ato II, defina
Status: Defined, preserve
Definition Gate: Passed e retorne Plan Gate e Delivery Gate para
Pending.
- Para esclarecimento editorial comprovadamente sem mudança semântica, preserve
status e gates.
- Nunca mantenha um gate posterior aprovado sobre uma entrada invalidada.
- Preserve tarefas e evidências ainda válidas;
$specsfy-05-tasks reconcilia
itens afetados e suas dependências antes de novo RED.
Valide a estrutura intermediária:
node .agents/skills/specsfy-04-validate/scripts/validate_spec.mjs \
specs/<estado>/<NNNN>-<slug>/spec.md --allow-draft
Retomar o fluxo
- Mudança desde o Ato I: carregue
$specsfy-04-validate; depois percorra
tasks, TDD/BDD e a etapa que originou a mudança. Se o refinamento do backlog terminou por
avançar, não faça esse handoff na mesma retomada: relate as lacunas e encerre
com os gates pendentes.
- Mudança somente do Ato II: carregue
$specsfy-05-tasks, que reconcilia o
plano, chama $specsfy-06-tdd-bdd e retoma a origem.
- Mudança detectada durante implementação: retome
$specsfy-07-implement somente depois de Definition e Plan Gate voltarem a
Passed e existir RED válido para o comportamento novo ou alterado.
- Mudança detectada depois de
Complete: percorra novamente os atos invalidados
e só restaure Complete com Delivery Gate e DoD comprovados.
Relatar
Informe o pedido preservado, a spec alterada, a classificação, os IDs e seções
afetados, os gates invalidados, as evidências preservadas ou tornadas pendentes
e a próxima skill carregada. Não exponha complexidade do framework antes do
resultado: diga primeiro que o pedido foi incorporado e que o fluxo necessário
será retomado automaticamente.
1---2name: specsfy-update-spec3description: Use quando o usuário esqueceu algo, quer adicionar, remover, corrigir ou mudar um pedido em uma spec existente que já foi definida, planejada, está sendo implementada ou foi concluída. Use também quando uma transição automática detectar mudança tardia de comportamento, escopo, aceite, dados, segurança ou plano. Atualiza a fonte normativa, invalida somente os gates afetados e coordena a retomada; para criar a spec inicial use specsfy-03-specify, para decidir uma ambiguidade use specsfy-02-backlog e para implementar use specsfy-07-implement.4---56# Atualizar uma especificação existente78## Preparação obrigatória910Antes de executar esta skill, carregue obrigatoriamente `$specsfy-setup` na11raiz do projeto. Em handoff automático, carregue-o de novo antes desta etapa.12Reutilize a raiz confirmada na conversa e não prossiga se o setup apontar uma13pendência.1415## Modo de interação1617Modo de interação: `perguntas`.18Antes de formular qualquer pergunta, leia e aplique o19`Contrato de perguntas numeradas` de `.specsfy/Spec.md`.2021Incorpore um pedido surgido depois da definição inicial sem esconder a mudança,22duplicar a fonte normativa ou obrigar a pessoa a conhecer atos e gates.2324## Orquestrar a conversa2526Ao concluir esta etapa ou detectar trabalho de outra etapa, anuncie27`Pendência detectada: <descrição> — ação: resolvendo nesta etapa` e resolva-a28quando pertencer ao próprio escopo. Quando houver troca de responsabilidade,29anuncie `Transição automática: $specsfy-update-spec → $<destino> — motivo:30<motivo> — resultado esperado: <resultado>` e carregue imediatamente a skill de31destino, sem pedir confirmação nem repetir o comando. Continue na mesma32conversa. Depois de uma correção necessária a esta etapa, anuncie `Retomada33automática: $<destino> → $specsfy-update-spec — pendência resolvida:34<resultado>` e retome-a imediatamente. Reavalie o estado após cada handoff para35evitar ciclos. Não peça confirmação para o handoff; ações sensíveis continuam36exigindo autorização específica.3738## Confirmar a entrada39401. Preserve literalmente o novo pedido antes de interpretá-lo.412. Localize a spec canônica em42 `specs/<estado>/<NNNN>-<slug>/spec.md` e leia seus metadados, requisitos,43 cenários, plano, tarefas, gates e evidências.443. Leia as instruções do projeto, `PROJECT.md`, `.specsfy/STACK.md`,45 `.specsfy/RULES.md`, `.specsfy/DATABASE.md` e o research indexado aplicável.464. Inspecione mudanças Git preexistentes na spec e não as atribua ao pedido47 atual.485. Se não existir uma spec, anuncie a pendência e carregue49 `$specsfy-02-backlog` para uma ideia superficial ou50 `$specsfy-03-specify` quando já houver intenção explícita de criar a fatia.516. Se a spec ainda estiver em `Draft` e nunca tiver obtido52 `Definition Gate: Passed`, carregue `$specsfy-03-specify`; esta skill53 governa somente a revisão de uma definição que já avançou.5455## Classificar antes de escrever5657Leia [a matriz de classificação](references/change-classification.md) quando o58pedido puder alterar comportamento, plano ou fronteira entre specs.5960- Para correção interna reversível sem efeito observável, não altere a spec:61 registre a avaliação na evidência da tarefa e retome62 `$specsfy-07-implement`.63- Para esclarecimento editorial que não muda significado, preserve os gates e64 altere somente a redação necessária.65- Para mudança de comportamento, aceite, escopo, dados, segurança ou interface,66 reabra desde o Ato I.67- Para mudança somente de solução, tarefas ou estratégia de testes, reabra68 desde o Ato II.69- Para capacidade independente da finalidade e dos atores da fatia atual, não a70 acrescente silenciosamente: carregue `$specsfy-02-backlog` ou71 `$specsfy-03-specify` conforme a maturidade do pedido.72- Quando opções plausíveis mudarem materialmente o resultado, faça handoff para73 `$specsfy-02-backlog`, execute o ciclo adaptativo e74 retome esta skill ao final do ciclo. Se a pessoa escolher `avançar`, aplique a75 confirmação e o registro definidos no contrato central, reabra o Ato I quando76 restarem pontos aplicáveis, não encaminhe a definição como aprovada e77 não reabra o mesmo ciclo nesta retomada.7879Esta skill não cria uma spec nova, não decide requisito material pela pessoa,80não altera código de produção e não implementa o pedido.8182## Incorporar a mudança83841. Confirme que a pessoa autorizou incorporar o pedido à spec atual. O pedido85 explícito para mudar, adicionar, remover ou corrigir já constitui essa86 autorização; não repita a confirmação.872. Edite somente `spec.md` e o research indexado necessário. Não crie88 `change-request.md`, `plan.md`, `tasks.md`, `research.md` ou outra fonte89 paralela.903. Atualize todas as seções normativas afetadas, preserve IDs e decisões ainda91 válidos e nunca renumere IDs existentes. Para mudança de comportamento,92 registre razão, decisão e IDs impactados na seção 17. Para mudança somente93 de plano, registre a razão na seção de plano ou risco afetada sem criar uma94 decisão de produto artificial.954. Não reescreva evidência histórica como se tivesse sido produzida para a nova96 entrada. Marque como pendente toda prova posterior que dependa da versão97 invalidada.985. Execute a projeção de impacto:99100```bash101node .agents/skills/specsfy-update-spec/scripts/analyze_change.mjs \102 specs/<estado>/<NNNN>-<slug>/spec.md --base HEAD --mode impact103```104105Use `--mode changelog` para listar IDs adicionados, removidos e alterados. A106classificação usa títulos canônicos, não números de seção; `unknown` reabre do107Ato I por segurança. O script é somente leitura e não substitui a comparação108semântica com o pedido.109110## Invalidar somente o necessário111112- Para mudança do Ato I, defina `Status: Draft`,113 `Definition Gate: Pending`, `Plan Gate: Pending` e114 `Delivery Gate: Pending`.115- Para mudança somente do Ato II, defina `Status: Defined`, preserve116 `Definition Gate: Passed` e retorne `Plan Gate` e `Delivery Gate` para117 `Pending`.118- Para esclarecimento editorial comprovadamente sem mudança semântica, preserve119 status e gates.120- Nunca mantenha um gate posterior aprovado sobre uma entrada invalidada.121- Preserve tarefas e evidências ainda válidas; `$specsfy-05-tasks` reconcilia122 itens afetados e suas dependências antes de novo RED.123124Valide a estrutura intermediária:125126```bash127node .agents/skills/specsfy-04-validate/scripts/validate_spec.mjs \128 specs/<estado>/<NNNN>-<slug>/spec.md --allow-draft129```130131## Retomar o fluxo132133- Mudança desde o Ato I: carregue `$specsfy-04-validate`; depois percorra134 tasks, TDD/BDD e a etapa que originou a mudança. Se o refinamento do backlog terminou por135 `avançar`, não faça esse handoff na mesma retomada: relate as lacunas e encerre136 com os gates pendentes.137- Mudança somente do Ato II: carregue `$specsfy-05-tasks`, que reconcilia o138 plano, chama `$specsfy-06-tdd-bdd` e retoma a origem.139- Mudança detectada durante implementação: retome140 `$specsfy-07-implement` somente depois de Definition e Plan Gate voltarem a141 `Passed` e existir RED válido para o comportamento novo ou alterado.142- Mudança detectada depois de `Complete`: percorra novamente os atos invalidados143 e só restaure `Complete` com Delivery Gate e DoD comprovados.144145## Relatar146147Informe o pedido preservado, a spec alterada, a classificação, os IDs e seções148afetados, os gates invalidados, as evidências preservadas ou tornadas pendentes149e a próxima skill carregada. Não exponha complexidade do framework antes do150resultado: diga primeiro que o pedido foi incorporado e que o fluxo necessário151será retomado automaticamente.