Take a vague idea all the way to a merged PR
The worked example adds CSV export to an app, but any small feature fits. Each step uses a different strength: Pocock for shaping and slicing, pstack for design and adversarial checks, Addy for the launch checklist.
Before you start
- A repo with tests you can run
- The addy, pocock and pstack plugins installed
- New to the hub? Install the plugins first.
-
Set the repo up once
/pocock:setup-matt-pocock-skills
Several Pocock skills publish to an issue tracker, or to local files if you have none. This records which one this repo uses, so the later steps know where to write.
/pocock:setup-matt-pocock-skillsDone when: The agent has written down your tracker and labels. Skip this step in any repo where it has already run.
-
Get interviewed about the idea
The agent questions you until the plan holds up. Decisions you had not noticed you were making come out here, while they are still cheap to change.
/pocock:grill-me I want users to export their data as CSV.Done when: You can state who it is for, what is out of scope, and what happens on the awkward cases, such as very large exports.
-
Turn the conversation into a spec
No further interview: it synthesizes what you just discussed and publishes it to your tracker, so the decisions outlive this chat.
/pocock:to-specDone when: The spec reads correctly to you. Fix it now if it does not.
-
Sketch the shape before any code
Types, signatures and module boundaries come first. Changing a signature here costs a sentence; changing it after implementation costs a rewrite.
/pstack:architect Sketch the types and module structure for the CSV export spec.Done when: You have read the signatures and would be happy to build against them.
-
Slice it into tickets
Produces tracer-bullet tickets: thin vertical slices that each declare what blocks them, so the order of work is explicit.
/pocock:to-ticketsDone when: Each ticket can be finished and checked on its own, and the blocking order makes sense.
-
Implement a ticket
Works test-first where it can, runs typechecks and tests as it goes, reviews its own work, and commits to the current branch. Repeat this for each ticket.
/pocock:implement <ticket reference>Done when: The tests pass and the commit covers only that ticket.
-
Look beyond the diff
A review of the diff only sees what changed. This looks for what the change could break elsewhere, and proves the key safety claim by running real code.
/pstack:blast-radius of the CSV export branchDone when: You have the list of risks, and the fact that makes the change safe has been shown by a run.
-
Try to break it
Adversaries attack the change, and only findings proven by a run survive, so you get real problems rather than a list of maybes. Fix what it finds.
/pstack:interrogate this branchDone when: Every surviving finding is fixed or consciously accepted.
-
Check you are ready to release
A pre-launch checklist covering monitoring, staged rollout and rollback. This is the step most easily skipped when a feature feels finished.
/addy:shipping-and-launch for the CSV exportDone when: You know how you would notice a problem and how you would undo the release.
-
Write the PR
Writes the PR body. Review what it says before the PR goes out.
/pocock:prDone when: A reviewer could understand the change from the description alone.
What you end up with
A feature ready to merge, with a spec, a ticket trail, tests and a rollback plan.