architecture-principle…
Architecture principles for manifest-dev: how its maintainer wants skills, wrappers, references, state and the workflow…
Find every implicit and explicit state machine in a codebase, model each one formally, and report every bug the model shows and the code confirms — a bad state that can be reached, a forbidden transition, a state with no way out — with its fix and an offer to turn the findings
Claude Code
$ npx -y skills add doodledood/manifest-dev --skill audit-state-machines --agent claude-code
Codex
$ npx skills add doodledood/manifest-dev --skill audit-state-machines -a codex -y
Cursor
$ npx skills add doodledood/manifest-dev --skill audit-state-machines -a cursor -y
Gemini CLI
$ npx skills add doodledood/manifest-dev --skill audit-state-machines -a gemini-cli -y
GitHub Copilot
$ npx skills add doodledood/manifest-dev --skill audit-state-machines -a github-copilot -y
OpenCode
$ npx skills add doodledood/manifest-dev --skill audit-state-machines -a opencode -y
Windsurf
$ npx skills add doodledood/manifest-dev --skill audit-state-machines -a windsurf -y
name: audit-state-machines description: 'Find every implicit and explicit state machine in a codebase, model each one formally, and report every bug the model shows and the code confirms — a bad state that can be reached, a forbidden transition, a state with no way out — with its fix and an offer to turn the findings into Tickets. Changes no code. Use when the user asks to audit state machines, find implicit state machines, check status or lifecycle logic across an app, or find status or lifecycle bugs that span several files.' argument-hint: '[path or area] [--no-log]' user-invocable: true
Audit a codebase for state-machine bugs. A state machine is a value whose changes follow a lifecycle — a status, or flags whose combinations act as states — and `../review-code/references/code-bugs.md` → *State machines* says how to find one, rebuild it, check it and confirm what the check finds. figure-out runs the audit with its whole investigation discipline; this skill adds the brief below and the offer at the end.
Invoke the figure-out skill with the brief below, the arguments given, `--autonomous` and `--no-docs`. `--no-docs` keeps figure-out's project-document writes out of the audited project; forward `--no-log` when given. With no path or area, the scope is the whole repository. With no codebase in reach, say so and stop.
Brief:
> Audit [the scope] for state machines, implicit and explicit, following `../review-code/references/code-bugs.md` → *State machines*. Every bug you find counts, whether or not anything changed recently: this is an audit, not a review of a change. Machines written as instructions count too, checked as that section says. > > - List every machine in the scope searched: what it tracks, explicit or implicit, its states, and its writers by file and line. Say which parts of the scope you searched and which you did not, with why. On a large repository, record each machine in your log, when one is kept, as you finish it. > - Rank confirmed bugs by consequence. For each, give each site by file and line, the sequence that reaches the bad state, and the model that found it — its saved path, or its scratch path when no log is kept. For a bug in an implicit machine, the fix is to make the machine explicit: one owner of its transitions, and a test or a type that fails when anything else writes the state. > - After the bugs, ranked lower: each implicit machine with no bug but writers in several files, with the recommendation to make it explicit. A machine whose writers are all in one function gets no recommendation. > - For a machine whose model found nothing, say what the model covered; never call the machine correct. > - Write no file in the audited project. Models and scripts stay outside it.
When figure-out returns its read, give the person the read and offer to turn the confirmed bugs and the make-explicit recommendations into Tickets — self-contained work items in the project's tracker or files — recorded as debt, the issues found and not yet fixed. On their yes, invoke the ticket-up skill with those findings. With no person to answer, as when another workflow runs this skill, list the offer in the result and invoke ticket-up only where that caller's assignment authorizes writing Tickets.
Hand your agent a task. Get back work you can trust. manifest-dev is a set of free, open-source skills for coding agents.
Architecture principles for manifest-dev: how its maintainer wants skills, wrappers, references, state and the workflow…
Ship a change to a file setup-project copies or emits into projects (ADR_FORMAT.md, NORTH_STAR_FORMAT.md, the verification…
Design principles for manifest-dev: how its maintainer wants the visual and interaction design guidance the plugin ships, and the…
Harden a manifest-dev task guidance file for one-shot quality — either /define''s quality-gate/Default set or figure-out''s probe…
Analyze Claude Code sessions to learn what went right/wrong and suggest high-confidence improvements to skills. Use when asked to…
The red-flag lists mirrored between figure-out''s and define''s task files, so a change to one side lands on the other. Use when…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.