CommunityProgramación y desarrollogithub.com

mattpocock/implement-spec

Implementa una especificación en código utilizando subagentes concurrentes y un flujo basado en tickets.

¿Qué es implement-spec?

Esta habilidad permite implementar una especificación completa en código de forma estructurada y concurrente. Está diseñada para herramientas como Claude Code, Coder o Codex que soporten subagentes. El proceso comienza con la lectura de la especificación y sus tickets asociados, los cuales forman un grafo de tareas con relaciones de bloqueo. A partir de este grafo, se identifica un "frente" de tickets listos para ser tomados. Se pueden lanzar subagentes exploradores para investigar el código base o documentación externa, guardando sus notas fuera del repositorio. Luego, subagentes implementadores trabajan en paralelo—cada uno en su propio worktree y rama—para ejecutar tickets. Una vez que un implementador termina, un subagente fusionador integra su trabajo en la rama principal del PR. Si esto libera nuevos tickets del frente, se lanzan más implementadores, maximizando la concurrencia. Al final, se ejecuta una revisión de código automatizada y se corrigen los problemas antes de marcar el PR como listo para revisión. Finalmente, se limpian los worktrees de los implementadores. La comunicación entre subagentes es mínima y se realiza principalmente a través de punteros de contexto (especificación, tickets, notas de investigación, commits anteriores), evitando duplicación de información.

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

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Se te ha proporcionado una especificación. Esta especificación debe tener tickets asociados, que describen cómo implementar la especificación.

El objetivo es un PR que implemente la especificación completa en una sola rama.

Los tickets no son una lista de pasos. Son un grafo de tareas con relaciones de bloqueo entre ellos. Esto significa que siempre hay un frente de tickets que están listos para ser tomados.

La comunicación hacia y desde los subagentes debe ser escasa. Comunícate principalmente a través de punteros de contexto: hacia la especificación, los tickets, las notas de investigación y los commits anteriores. No dupliques información que ya esté disponible a través de punteros.

Los subagentes implementadores deben ejecutarse en segundo plano cuando sea posible para lograr la máxima concurrencia.

Pasos

  1. Lee la especificación y los tickets. Lee lo suficiente para comprender el grafo de tareas.

  2. (opcional) Usa un subagente de exploración para realizar cualquier exploración requerida por los tickets: archivos relevantes del código base o documentación externa. Asegúrate de que el subagente de exploración pueda guardar archivos; debe guardar sus notas markdown en un directorio fuera del repositorio, accesible para todos los subagentes futuros. Esto permite que los subagentes implementadores se centren en la implementación en lugar de la exploración.

  3. Crea una rama y un PR borrador. El PR debe marcarse como que 'cierra' el issue de la especificación y los tickets.

  4. Usa subagentes implementadores para implementar cada ticket. Cada subagente implementador debe trabajar en su propio worktree, en su propia rama.

  5. Una vez que un subagente implementador completa su trabajo, fusiona su trabajo a la rama del PR con un subagente fusionador.

  6. Si esto cambia el frente de tickets disponibles, lanza más subagentes implementadores para trabajar en los nuevos tickets. Esto permite la máxima concurrencia.

  7. Una vez que todos los tickets estén completos, ejecuta /code-review en la rama del PR. Corrige todos los problemas planteados por la revisión de código en un solo subagente implementador.

  8. Marca el PR como listo para revisión.

  9. Limpia todos los worktrees de los 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.

Skills relacionados