promovaweb/specsfy

specsfy-05-tasks

Use quando o usuário quer quebrar ou decompor a especificação em tarefas, preencher ou atualizar a seção 14.

Ver código fuente

Cómo usar

  1. Copia el comando y revisa el paquete antes de instalarlo en tu entorno de agente.
  2. Consulta las herramientas, credenciales y entornos necesarios en el documento original.
  3. Describe las entradas y el resultado deseado; contrasta la salida con las fuentes.
npx skills add https://github.com/promovaweb/specsfy --skill specsfy-05-tasks

Antes de empezar

  • La instalación no incluye suscripción al modelo, cuota API ni permisos sobre tus archivos.
  • Las estrellas e instalaciones reflejan actividad, no una prueba independiente de calidad o seguridad.
Documento original del Skill

Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.

Quebrar a especificação em tarefas

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.

Proteção do banco no plano

Em projeto Laravel, execute .agents/skills/specsfy-setup/scripts/check_database_safety.mjs --project <raiz> antes de planejar ou liberar qualquer tarefa [TEST]. O plano precisa manter .env.testing, APP_ENV=testing e um banco de teste explicitamente diferente do banco do .env.

Enquanto o resultado for PENDING, nenhuma tarefa de teste fica pronta e a skill não chama o runner. Quando o resultado for IGNORED, descarte o comando que apagaria estruturas ou registros. Nunca inclua migrate:fresh, migrate:refresh, migrate:reset, migrate:rollback, db:wipe, schema:drop, prisma migrate reset, DROP DATABASE, DROP SCHEMA, DROP TABLE, TRUNCATE, RefreshDatabase, DatabaseMigrations ou um equivalente em tarefa, teste, preparação, regressão ou Definition of Done.

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.

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.

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.

  1. Execute a validação da especificação quando o gate ainda não estiver comprovado.
  2. 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.

  1. 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.

  1. 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.

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.
  • Quando Interface para pessoas for Sim, crie tarefas explícitas para as

telas, menus e navegação principal, formulário e ações descritos na seção 10, além da camada de dados ou API. Inclua testes de comportamento da interface para navegação, envio, validação, recuperação de erro e o padrão de abertura escolhido, como painel lateral ou modal. Use somente os componentes, convenções e runners da stack de interface registrada; cada tarefa aponta os blocos React, componentes shadcn/ui e ReUI ou rotas reais. Inclua uma tarefa para atualizar INTERFACE.md com finalidade, arquivo, API, estados, consumidores e regra de reaproveitamento de todos os blocos criados ou alterados. Em projetos React, cada tarefa de tela deve registrar no PREP o uso de $specsfy-specialist-react-ui-components antes da implementação. A skill orienta a busca, o reaproveitamento e a adaptação dos componentes reais do projeto. Se ela não estiver instalada, retorne ao $specsfy-setup para instalar o especialista detectado antes de liberar a tarefa [CODE]. Agrupe-as na subseção obrigatória #### Fase de interface da seção 14. Cada tela registrada recebe ao menos uma tarefa própria; não esconda essa entrega dentro de uma tarefa genérica de backend.

  • 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.
  • Sempre que uma tarefa criar ou alterar schema, tabela, coluna, índice,

relação ou model persistente, crie uma tarefa [CODE] [MIGRATION] separada. Ela aponta para o arquivo versionado dentro do diretório de migrations do projeto, depende dos testes TDD e precede o código que usa a nova estrutura.

  • O item VERIFY da tarefa [MIGRATION] registra dois comandos aprovados pelo

check_database_safety.mjs: um aplica a migration no banco de teste e outro consulta o estado das migrations. Não aprove o Plan Gate sem essa tarefa.

  • 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.
  • Use a tag [MIGRATION] somente junto de [CODE] ou [OPS]. O caminho deve

ficar em database/migrations/, migrations/, prisma/migrations/ ou supabase/migrations/, conforme a stack encontrada.

  • Uma leitura, consulta ou uso de tabela existente não exige [MIGRATION] por

si só. A tag é obrigatória quando o plano cria ou altera a estrutura.

  • Anexe a cada tarefa, exatamente nesta ordem, os itens PREP, EXECUTE,

VERIFY, VISUAL, EVIDENCE e IMPROVE definidos no template Tasks.md resolvido.

  • O item VISUAL é obrigatório mesmo sem pedido da pessoa. Ele confere bordas,

espaçamentos, margens, padding e tipografia do sistema durante o desenvolvimento. Sem interface, registre Não aplicável e o motivo concreto.

  • 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].

Validar

Execute:

bash
node .agents/skills/specsfy-05-tasks/scripts/validate_tasks.mjs specs/<estado>/<NNNN>-<slug>/spec.md --allow-draft

Quando houver interface para pessoas, execute também:

bash
node .agents/skills/specsfy-05-tasks/scripts/validate_interface_tasks.mjs specs/<estado>/<NNNN>-<slug>/spec.md

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.

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.

Especialistas sob demanda

Leia references/specialists.md ao decompor trabalho de tecnologia, dados, interface ou operação que demande checklist próprio.

Relacionados por tarea

del mismo repositorio

Más Skills

Todos los Skills
promovaweb
Comunidad

specsfy-specialist-react

Projetar, implementar e revisar interfaces React com composição, estado, efeitos, concorrência, acessibilidade, performance e testes. Use quando a tarefa envolve componentes React, hooks, context, forms ou renderização cliente; use também para decidir ownership de estado entre componente, context e biblioteca externa; não use para fronteiras server/client, cache ou routing de framework — aí use a skill Next.js; para a galeria de componentes visuais prontos, use react-ui-components.

instalaciones
2
GitHub Stars
86
Actualizado
14 oct
promovaweb
Comunidad

specsfy-specialist-ui-design

Projetar e revisar interfaces visuais de sistemas, dashboards e aplicações com hierarquia, layout, tokens, componentes, densidade, estados e responsividade. Use para telas, dashboards, design systems, layouts, tabelas, formulários e navegação; combine com UX e acessibilidade quando houver fluxo ou interação.

instalaciones
2
GitHub Stars
86
Actualizado
14 oct
promovaweb
Comunidad

specsfy-specialist-domain-modeling

Descobrir e refinar linguagem ubíqua de domínio, invariantes, eventos, aggregates e bounded contexts a partir de cenários concretos, evitando anemic domain model. Use quando termos, regras ou ownership de dados estiverem ambíguos, dois times usarem a mesma palavra com sentido diferente, ou uma decisão de modelo for necessária; não criar documentação paralela à fonte autorizada; não use para decisão de infraestrutura ou deployment, use $specsfy-specialist-software-architecture para isso.

instalaciones
2
GitHub Stars
86
Actualizado
14 oct
promovaweb
Comunidad

specsfy-specialist-data-modeling

Modelar dados, entidades, relações, ciclos de vida, qualidade e contratos persistentes antes de implementar mudanças.

instalaciones
2
GitHub Stars
86
Actualizado
14 oct