Write commit messages that hold to Conventional Commits 1.0.0, with the type the change actually earns and a description a stranger can read from the log alone. Use before every git commit, when amending or rewording one, when squashing, and when writing a PR title.
Design the shape of a change before writing it, by generating structurally distinct candidates, judging them against criteria fixed in advance, and recording the decision with its rejected alternatives. Use before implementing anything non-trivial, or when asked to design, architect, or choose an approach.
Implement one work item with the tests that prove it, keeping durable state current and recording the requirement-to-test map, then hand it to a different pass to judge. Use when starting to write code for an item, or when asked to implement, build, or fix something under mstack.
Run a program of work across many changes, tracks and sessions, with isolated worktrees, briefs a stranger could execute, and continuous landing. Use only for multi-session programs; single-session work should use the feature route instead.
Review a finished session for what should change in the workflow itself, deciding for each lesson which document or check should absorb it. Use after closing an item, after something went wrong, or when asked to run a retro or improve the process.
Judge work that already exists against its requirements, its tests and the real diff, using reviewers that did not write the code. Use to review a branch, a PR, or a diff, or when asked whether a change is ready.
Start a task under the mstack workflow. Matches the request to a playbook, copies its steps into the todo list, and routes through understand, design, spec, implement, verify, review and ship. Use for /mstack, or when the user asks to work rigorously, to verify something properly, or to run a task end to end.
Initialize mstack in a repository, creating the durable state directory and seeding the work queue from what the repo already tells you. Use once per repository, when mstack reports no .mstack directory, or when asked to set up or install mstack here.
Take a verified change through review threads, CI and the merge gate to a merged state. Use to open or land a PR, to get a change merged, or when asked to ship or babysit something to green.
Write and adversarially review a specification before any code is written, with stable requirement ids, EARS statements and a task list that maps back to them. Use on the opt-in spec path, when an item is marked sdd, when a change crosses several subsystems, or when asked to write a spec or requirements.
Build a traced mental model of a subsystem before changing it, covering both how it works now and why it ended up this way. Use before designing or fixing anything in unfamiliar code, or when asked how something works, why a decision was made, or to explain a part of the codebase.
Cut the tells that make writing read as machine-generated, in replies, commit messages, PR bodies, docs and comments. Use when writing anything a human will read, or when asked to tighten, clean up, or de-slop prose.
Prove one claim about a change on the surface where it is actually true or false, place the result on the evidence ladder, and record a typed verdict in the ledger. Use after implementing anything, or when asked to verify, prove, or check that something works.