specsfy-05-tasks

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Quebrar a especificação em tarefas

将规格说明拆分为任务

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
.
Preencha a seção
14. Tarefas
de
specs/<estado>/<NNNN>-<slug>/spec.md
. O arquivo permanece a única fonte da verdade; cada tarefa precisa ser pequena, verificável, ordenada e ligada a IDs definidos nele.
交互模式:
perguntas
(提问)。 在提出任何问题之前,请阅读并应用
.specsfy/Spec.md
中的
编号提问协议
填充
specs/<estado>/<NNNN>-<slug>/spec.md
中的
14. 任务
章节。该文件始终是唯一的事实来源;每个任务都需要足够小、可验证、有序,并与其中定义的ID关联。

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-05-tasks → $<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-05-tasks — 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.
完成此步骤或检测到其他步骤的工作时,请宣布
检测到待处理事项:<描述> — 操作:在此步骤中解决
,并在属于自身范围时进行处理。当需要移交责任时,请宣布
自动转换:$specsfy-05-tasks → $<目标> — 原因:<原因> — 预期结果:<结果>
,并立即加载目标skill,无需请求确认或重复命令。继续同一对话。在对本步骤进行必要修正后,请宣布
自动恢复:$<目标> → $specsfy-05-tasks — 已解决待处理事项:<结果>
,并立即恢复操作。每次移交后重新评估状态以避免循环。移交无需请求确认;敏感操作仍需特定授权。

Pré-condições

前置条件

  1. Leia a spec indicada em
    specs/defined/<NNNN>-<slug>/spec.md
    e exija
    Formato: Specsfy/2.0
    ,
    Definition Gate: Passed
    e
    Status
    Defined
    ,
    Planned
    ou
    Implementing
    . Aceite os dois últimos somente para replanejamento automático de uma pendência detectada em etapa posterior.
  2. Execute a validação da especificação quando o gate ainda não estiver comprovado.
  3. Inspecione o repositório para usar stack, comandos e caminhos reais. Em PHP, use Pest para TDD; em Node sem PHP, pergunte qual runner adotar e recomende Vitest antes de gerar caminhos ou comandos.
  4. Execute o monitor antes de planejar:
bash
node .agents/skills/specsfy-setup/scripts/monitor_context.mjs \
  --project .
Use os sinais de stack, aplicação, regras e persistência para planejar a documentação junto da mudança, sem inferir requisito novo. 5. Se faltar uma decisão que mude arquitetura, dados ou aceite, anuncie e retorne automaticamente para
$specsfy-02-backlog
. Depois da decisão, use
$specsfy-update-spec
quando a spec já tiver sido aprovada ou
$specsfy-03-specify
durante a definição inicial.
  1. 阅读
    specs/defined/<NNNN>-<slug>/spec.md
    中指定的规格,要求其符合
    格式:Specsfy/2.0
    定义关卡:已通过
    且状态为
    已定义
    已规划
    实施中
    。仅当后续步骤检测到待处理事项需要自动重新规划时,才接受后两种状态。
  2. 当关卡未验证时,执行规格验证。
  3. 检查仓库以使用真实的技术栈、命令和路径。在PHP环境中,使用Pest进行TDD;在无PHP的Node环境中,询问用户采用哪个测试运行器,并在生成路径或命令前推荐Vitest。
  4. 规划前先执行监控:
bash
node .agents/skills/specsfy-setup/scripts/monitor_context.mjs \
  --project .
利用技术栈、应用、规则和持久化信号,在规划变更的同时规划文档,不要推断新需求。 5. 如果缺少会改变架构、数据或验收标准的决策,请宣布并自动返回至
$specsfy-02-backlog
。决策完成后,若规格已获批则使用
$specsfy-update-spec
,若处于初始定义阶段则使用
$specsfy-03-specify

Gerar

生成任务

Use
.specsfy/templates/custom/Tasks.md
como contrato quando existir e recorra a
.specsfy/templates/Tasks.md
caso contrário. Substitua somente o conteúdo das seções
14. Tarefas
e
15. Ordem de execução
em
<raiz>/specs/<estado>/<NNNN>-<slug>/spec.md
; preserve todas as outras seções.
  • Se a spec estiver
    Planned
    ou
    Implementing
    , anuncie a pendência, reabra o Ato II e defina
    Status: Defined
    ,
    Plan Gate: Pending
    e
    Delivery Gate: Pending
    antes de editar. Gate e evidência posteriores não permanecem válidos sobre o plano alterado.
  • Em uma spec já
    Defined
    , defina
    Plan Gate: Pending
    e
    Delivery Gate: Pending
    antes de editar.
  • Preserve IDs existentes ao atualizar; não renumere tarefas concluídas.
  • Organize em setup mínimo, fundação indispensável, histórias em prioridade e fechamento.
  • Mantenha histórias como fatias verticais independentemente demonstráveis.
  • Para cada
    AC
    , crie uma tarefa
    [TEST] [TDD]
    distinta cujo desenho usa o Gherkin mantido na spec como referência. O conjunto dessas tarefas materializa pelo menos três casos TDD distintos para a feature inteira e para cada
    US
    ,
    FR
    e
    NFR
    .
  • Nunca crie tarefa para arquivo
    .feature
    ou step definition e nunca execute o Gherkin da spec.
  • Em PHP, a tarefa TDD aponta para teste Pest e exige marcador
    SPECSFY
    ; em Node, usa o runner confirmado pelo usuário e o script
    test:tdd
    .
  • Faça cada tarefa
    [CODE]
    depender do predecessor TDD da mesma fatia com RED.
  • Quando a fatia alterar manifests ou configuração estrutural, crie uma tarefa
    [DOC]
    para
    .specsfy/STACK.md
    . Quando alterar banco, schema, model persistente, tabela, campo, relação ou migration, crie uma tarefa
    [DOC]
    obrigatória para
    .specsfy/DATABASE.md
    .
  • Para mudança de aplicação, inclua a revisão de
    PROJECT.md
    no fechamento da tarefa. Se não houver impacto material, exija justificativa na evidência em vez de criar conteúdo artificial.
  • Faça toda tarefa
    [CODE]
    exigir a reconstrução independente de
    docs/
    por
    $specsfy-documentator
    antes de
    EXECUTE
    , inclusive quando a documentação já existia antes da mudança.
  • Quando uma convenção virar regra confirmada, crie tarefa
    [DOC]
    para
    .specsfy/RULES.md
    .
  • Dê a cada tarefa um resultado único, caminho exato e critério verificável.
  • Anexe a cada tarefa, exatamente nesta ordem, os itens
    PREP
    ,
    EXECUTE
    ,
    VERIFY
    ,
    EVIDENCE
    e
    IMPROVE
    definidos no template
    Tasks.md
    resolvido.
  • Escreva os itens como resultados específicos da tarefa, não como frases genéricas copiadas.
  • Mantenha pai e itens abertos ao gerar tarefas; a skill de implementação atualiza um item imediatamente após sua evidência.
  • O item
    IMPROVE
    deve registrar uma melhoria concreta aplicada ou declarar que nenhuma foi necessária com justificativa.
  • Quando a spec declarar
    Evidence Contract: 1
    , cada tarefa
    [CODE]
    concluída deve conter um comentário
    specsfy:evidence
    JSON com
    task
    ,
    refs
    ,
    files
    e
    commands
    (
    run
    e
    exit
    ). Gere o comentário dentro do bloco da tarefa; nunca em arquivo paralelo.
  • Marque
    [P]
    somente quando tarefas não compartilham arquivos, estado mutável ou dependência.
  • Declare dependências por ID; não dependa apenas da ordem visual.
  • Cubra todo
    FR
    ,
    NFR
    e
    AC
    aplicável. Não crie tarefa sem referência, exceto setup/polish claramente justificado.
  • Não inclua exemplos genéricos nem placeholders.
Formato canônico:
markdown
- [ ] T001 [TEST] [TDD] [US-001] Derivar teste Pest do BDD da spec em tests/Feature/AuthTest.php — Refs: FR-002, AC-003 — Depends: none
- [ ] T002 [CODE] [US-001] Implementar validação em app/Services/AuthService.php — Refs: FR-002, AC-003 — Depends: T001
Tags permitidas após o ID:
[P]
,
[TEST]
,
[TDD]
,
[CODE]
,
[DOC]
,
[OPS]
e
[US-NNN]
.
如果存在
.specsfy/templates/custom/Tasks.md
则将其作为协议,否则使用
.specsfy/templates/Tasks.md
。仅替换
<根目录>/specs/<estado>/<NNNN>-<slug>/spec.md
中的
14. 任务
15. 执行顺序
章节内容;保留所有其他章节。
  • 若规格处于
    已规划
    实施中
    状态,请宣布待处理事项,重新开启第二阶段,并在编辑前将状态设置为
    已定义
    规划关卡:待处理
    交付关卡:待处理
    。变更计划后,后续的关卡和验证将不再有效。
  • 对于已处于
    已定义
    状态的规格,编辑前先设置
    规划关卡:待处理
    交付关卡:待处理
  • 更新时保留现有ID;请勿重新编号已完成的任务。
  • 按最小配置、核心基础、优先需求、收尾工作的顺序组织任务。
  • 确保需求作为独立可演示的垂直切片。
  • 针对每个
    AC
    (验收标准)创建独立的
    [TEST] [TDD]
    任务,其设计以规格中保留的Gherkin为参考。这些任务需为整个功能及每个
    US
    (用户故事)、
    FR
    (功能需求)和
    NFR
    (非功能需求)至少实现三个不同的TDD用例。
  • 请勿为
    .feature
    文件或步骤定义创建任务,也不要执行规格中的Gherkin。
  • 在PHP环境中,TDD任务指向Pest测试,并要求添加
    SPECSFY
    标记;在Node环境中,使用用户确认的测试运行器和
    test:tdd
    脚本。
  • 让每个
    [CODE]
    任务依赖同一切片中处于RED状态的前置TDD任务。
  • 当切片变更清单或结构化配置时,为
    .specsfy/STACK.md
    创建
    [DOC]
    任务。当变更数据库、 schema、持久化模型、表、字段、关系或迁移时,必须为
    .specsfy/DATABASE.md
    创建
    [DOC]
    任务。
  • 对于应用变更,在任务收尾时包含
    PROJECT.md
    的审核。若没有实质性影响,则要求在验证依据中提供理由,而非生成无意义内容。
  • 让所有
    [CODE]
    任务在
    EXECUTE
    前要求通过
    $specsfy-documentator
    独立重建
    docs/
    ,即使变更前文档已存在。
  • 当约定成为已确认的规则时,为
    .specsfy/RULES.md
    创建
    [DOC]
    任务。
  • 为每个任务指定唯一结果、精确路径和可验证标准。
  • 严格按以下顺序为每个任务附加
    PREP
    EXECUTE
    VERIFY
    EVIDENCE
    IMPROVE
    项,这些项需来自已解析的
    Tasks.md
    模板。
  • 将这些项写为任务的具体结果,而非复制的通用语句。
  • 生成任务时保持父项和子项处于未完成状态;实现skill会在验证依据提交后立即更新子项。
  • IMPROVE
    项需记录已应用的具体改进,或声明无需改进并提供理由。
  • 当规格声明
    验证依据协议:1
    时,每个已完成的
    [CODE]
    任务必须包含
    specsfy:evidence
    JSON注释,包含
    task
    refs
    files
    commands
    run
    exit
    )。在任务块内生成注释;请勿在并行文件中生成。
  • 仅当任务不共享文件、可变状态或依赖时标记
    [P]
    (并行)。
  • 通过ID声明依赖;不要仅依赖视觉顺序。
  • 覆盖所有适用的
    FR
    NFR
    AC
    。除非是有明确理由的配置/收尾工作,否则不要创建无引用的任务。
  • 请勿包含通用示例或占位符。
标准格式:
markdown
- [ ] T001 [TEST] [TDD] [US-001] 从spec的BDD推导Pest测试至tests/Feature/AuthTest.php — 引用:FR-002, AC-003 — 依赖:无
- [ ] T002 [CODE] [US-001] 在app/Services/AuthService.php中实现验证 — 引用:FR-002, AC-003 — 依赖:T001
ID后允许使用的标签:
[P]
[TEST]
[TDD]
[CODE]
[DOC]
[OPS]
[US-NNN]

Validar

验证

Execute:
bash
node .agents/skills/specsfy-05-tasks/scripts/validate_tasks.mjs specs/<estado>/<NNNN>-<slug>/spec.md --allow-draft
Corrija IDs duplicados, dependências inválidas/cíclicas, referências inexistentes, itens sem três cenários BDD, AC sem tarefa TDD distinta, plano sem três predecessores/casos TDD por feature/
US
/
FR
/
NFR
, código sem predecessor TDD, checklist ausente/fora de ordem, pai/itens incoerentes, progresso em tarefa bloqueada ou tarefas vagas. Faça no máximo três ciclos. No contrato de evidência, o mesmo validador também rejeita arquivo ausente, referência inválida, comando sem
exit: 0
ou tarefa concluída sem evidence.
Quando a estrutura passar ainda com
Plan Gate: Pending
, chame automaticamente
$specsfy-06-tdd-bdd
no modo
prepare
. Ele usa o BDD da spec para materializar o predecessor TDD, observa RED e conclui somente essa tarefa de teste. Em seguida, retome automaticamente esta skill para:
  1. execute novamente o validador com
    --allow-draft
    ;
  2. altere
    Plan Gate
    para
    Passed
    e defina
    Status: Planned
    ;
  3. registre o resultado em
    Gate do Ato II — Plano
    ;
  4. execute sem
    --allow-draft
    .
Depois do Plan Gate, execute
specsfy transition <id> planned
. Quando a conversa alterar abrangência, dependência ou capacidade necessária, chame
$specsfy-interviewer
antes de replanejar e atualize Effort com justificativa.
O modo estrito rejeita
Plan Gate: Passed
quando algum predecessor TDD de uma tarefa
[CODE]
continua aberto. Se a validação falhar, mantenha
Status: Defined
,
Plan Gate: Failed
,
Delivery Gate: Pending
e relate os bloqueios.
执行:
bash
node .agents/skills/specsfy-05-tasks/scripts/validate_tasks.mjs specs/<estado>/<NNNN>-<slug>/spec.md --allow-draft
修正重复ID、无效/循环依赖、不存在的引用、无三个BDD场景的任务、未对应独立TDD任务的AC、每个功能/
US
/
FR
/
NFR
少于三个前置TDD用例的规划、无前置TDD任务的代码、缺失/顺序错误的检查清单、父项/子项不一致、阻塞任务的进度更新或模糊任务。最多进行三轮循环修正。 在验证依据协议中,同一验证器还会拒绝缺失文件、无效引用、无
exit: 0
的命令或无验证依据的已完成任务。
当结构验证通过但
规划关卡:待处理
时,自动调用
$specsfy-06-tdd-bdd
并使用
prepare
模式。它会利用spec的BDD实现前置TDD任务,监控RED状态,仅完成该测试任务。随后自动恢复本skill以执行以下操作:
  1. 再次使用
    --allow-draft
    执行验证器;
  2. 规划关卡
    改为
    已通过
    ,并设置状态为
    已规划
  3. 第二阶段关卡 — 规划
    中记录结果;
  4. 不带
    --allow-draft
    执行验证器。
规划关卡通过后,执行
specsfy transition <id> planned
。当对话变更范围、依赖或所需能力时,重新规划前调用
$specsfy-interviewer
并更新工作量及理由。
严格模式下,若
[CODE]
任务的前置TDD任务仍未完成,则会拒绝
规划关卡:已通过
。若验证失败,保持状态为
已定义
规划关卡:失败
交付关卡:待处理
并报告阻塞问题。

Relatar

报告

Informe contagem total/por tipo, caminho crítico, oportunidades
[P]
, cobertura de IDs e, quando o gate passar, anuncie e carregue automaticamente
$specsfy-07-implement
. Nunca crie
tasks.md
.
报告任务总数/各类型数量、关键路径、
[P]
并行机会、ID覆盖情况,当关卡通过时,自动宣布并加载
$specsfy-07-implement
。请勿创建
tasks.md

Especialistas sob demanda

按需专家支持

Leia references/specialists.md ao decompor trabalho de tecnologia, dados, interface ou operação que demande checklist próprio.
当拆分技术、数据、界面或运维相关工作且需要专属检查清单时,请阅读references/specialists.md