mattpocock/implement-spec

Implementa uma especificação em código usando uma estrutura de tickets com dependências e subagentes concorrentes.

O que é implement-spec?

Esta skill orquestra a implementação completa de uma especificação técnica em um repositório, dividindo o trabalho em tickets organizados como um grafo de tarefas com relações de bloqueio. Ela é especialmente útil para desenvolvedores que precisam implementar funcionalidades complexas com múltiplas dependências, aproveitando ao máximo a concorrência entre subagentes implementadores. A skill suporta agentes de IA como Claude Code, Cursor e Codex, e opera através de um fluxo estruturado: leitura da especificação e tickets, exploração opcional, criação de branch e PR, implementação paralela em worktrees separados, mesclagem incremental no branch principal, revisão de código e limpeza final. A comunicação entre subagentes é mantida esparsa, utilizando ponteiros de contexto (para a especificação, tickets, notas de pesquisa e commits anteriores) para evitar duplicação de informações, garantindo máxima eficiência.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mattpocock/skills/tree/main/skills/in-progress/implement-spec

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Você recebeu uma especificação. Esta especificação deve ter tickets associados, descrevendo como implementá-la.

O objetivo é um PR que implemente toda a especificação em um único branch.

Os tickets não são uma lista de passos. Eles são um grafo de tarefas com relações de bloqueio entre eles. Isso significa que sempre há uma fronteira de tickets prontos para serem pegos.

A comunicação de e para subagentes deve ser esparsa. Comunique-se principalmente através de ponteiros de contexto: para a especificação, tickets, notas de pesquisa e commits anteriores. Não duplique informações já disponíveis por meio de ponteiros.

Subagentes implementadores devem ser executados em segundo plano quando possível para máxima concorrência.

Passos

  1. Leia a especificação e os tickets. Leia o suficiente para entender o grafo de tarefas.

  2. (opcional) Use um subagente de exploração para conduzir qualquer exploração necessária pelos tickets - arquivos relevantes do código-fonte ou documentação externa. Certifique-se de que o subagente de exploração possa salvar arquivos - ele deve salvar suas notas em markdown em um diretório fora do repositório, acessível por todos os subagentes futuros. Isso permite que os subagentes implementadores se concentrem na implementação em vez da exploração.

  3. Crie um branch e um PR rascunho. O PR deve ser marcado como 'fechando' o issue da especificação e os tickets.

  4. Use subagentes implementadores para implementar cada ticket. Cada subagente implementador deve trabalhar em sua própria worktree, em seu próprio branch.

  5. Assim que um subagente implementador concluir, mescle seu trabalho ao branch do PR com um subagente de mesclagem.

  6. Se isso alterar a fronteira de tickets disponíveis, inicie mais subagentes implementadores para trabalhar nos novos tickets. Isso permite máxima concorrência.

  7. Quando todos os tickets estiverem concluídos, execute /code-review no branch do PR. Corrija todos os problemas levantados pela revisão de código em um único subagente implementador.

  8. Marque o PR como pronto para revisão.

  9. Limpe todas as worktrees dos subagentes implementadores.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

mattpocock/ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

mattpocock/caveman

Ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman.

mattpocock/claude-handoff

Hand the current conversation off to a fresh background agent that picks up the work immediately.

mattpocock/codebase-design

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

mattpocock/design-an-interface

Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".

mattpocock/diagnose

Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says "diagnose this" / "debug this", reports a bug, says something is broken/throwing/failing, or describes a performance regression.

mattpocock/diagnosing-bugs

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.

mattpocock/domain-modeling

Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.

mattpocock/edit-article

Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.

mattpocock/git-guardrails-claude-code

Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.

mattpocock/grilling

Grill the user relentlessly about a plan or design. Use when the user wants to stress-test a plan before building, or uses any 'grill' trigger phrases.

mattpocock/grill-me

Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".

mattpocock/grill-with-docs

Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.

mattpocock/handoff

Compact the current conversation into a handoff document for another agent to pick up.

mattpocock/implement

Implement a piece of work based on a PRD or set of issues.

mattpocock/improve-codebase-architecture

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

mattpocock/loop-me

Grill me about specs for the workflows I want to build, within this workspace.

mattpocock/migrate-to-shoehorn

Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.

mattpocock/obsidian-vault

Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.

mattpocock/prototype

Build a throwaway prototype to flesh out a design — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route.

Habilidades Relacionadas