mattpocock/implement-spec

Implémente une spécification complète dans le code en gérant les dépendances entre les tickets et en maximisant la concurrence grâce à des sous-agents.

Qu'est-ce que implement-spec ?

Ce skill orchestre l'implémentation d'une spécification technique (spec) en la décomposant en tickets organisés sous forme de graphe de tâches, avec des relations de blocage. Il permet de travailler sur plusieurs tickets simultanément en utilisant des **sous-agents implémenteurs** exécutés en arrière-plan (background) pour un maximum de concurrence. Une fois qu'un sous-agent termine son ticket, un **sous-agent de fusion** intègre son travail dans une branche PR principale. Le système met à jour la **frontière** des tickets disponibles après chaque fusion pour lancer de nouveaux implémenteurs. Il supporte également une phase d'exploration initiale (facultative) via un **sous-agent d'exploration** qui sauvegarde ses notes dans un répertoire accessible à tous. Le processus se termine par un `/code-review` sur la branche PR, une correction des problèmes, puis le marquage de la PR comme prête pour la relecture et le nettoyage des worktrees.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Une spécification vous a été fournie. Cette spécification doit être associée à des tickets qui décrivent comment l'implémenter.

L'objectif est une PR qui implémente l'intégralité de la spécification sur une seule branche.

Les tickets ne sont pas une liste d'étapes. Ils forment un graphe de tâches avec des relations de blocage entre eux. Cela signifie qu'il existe toujours une frontière de tickets prêts à être pris en charge.

Les communications vers et depuis les sous-agents doivent être peu fréquentes. Communiquez principalement par le biais de pointeurs de contexte : vers la spécification, les tickets, les notes de recherche et les commits précédents. Ne dupliquez pas les informations déjà disponibles via les pointeurs.

Les sous-agents implémenteurs doivent être exécutés en arrière-plan autant que possible pour une concurrence maximale.

Étapes

  1. Lisez la spécification et les tickets. Lisez suffisamment pour comprendre le graphe de tâches.

  2. (facultatif) Utilisez un sous-agent d'exploration pour mener toute exploration requise par les tickets – fichiers pertinents du code source ou documentation externe. Assurez-vous que le sous-agent d'exploration peut sauvegarder des fichiers – il doit sauvegarder ses notes markdown dans un répertoire en dehors du dépôt, accessible à tous les sous-agents futurs. Cela permet aux sous-agents implémenteurs de se concentrer sur l'implémentation plutôt que sur l'exploration.

  3. Créez une branche et une PR de brouillon. La PR doit être marquée comme 'clôturant' le ticket de spécification et les tickets.

  4. Utilisez des sous-agents implémenteurs pour implémenter chaque ticket. Chaque sous-agent implémenteur doit travailler dans son propre worktree, sur sa propre branche.

  5. Une fois qu'un sous-agent implémenteur a terminé, fusionnez son travail sur la branche PR avec un sous-agent de fusion.

  6. Si cela modifie la frontière des tickets disponibles, lancez d'autres sous-agents implémenteurs pour travailler sur les nouveaux tickets. Cela permet une concurrence maximale.

  7. Une fois tous les tickets terminés, lancez /code-review sur la branche PR. Corrigez tous les problèmes soulevés par la revue de code dans un seul sous-agent implémenteur.

  8. Marquez la PR comme prête pour la relecture.

  9. Nettoyez tous les worktrees des sous-agents implémenteurs.

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 associés