workflow
Skill35 starsChanged 52 days agoApache-2.0View on GitHub
Flexible development pipeline. Use when starting a new feature, fixing a complex bug, or when you want guided step-by-step methodology: design -> spec -> plan -> implement -> test -> verify -> commit.
71 other projects use a version of this.
Adopted by
Most recently taken up by
- zaynram/scholartheir own version, first seen Nov 8, 2026
- codicis-ai/taskplextheir own version, first seen Nov 8, 2026
- notque/vexjoy-agenttheir own version, first seen Nov 7, 2026
- raphaeltm/simple-agent-managertheir own version, first seen Nov 7, 2026
- menot-you/n-soultheir own version, first seen Nov 1, 2026
- DaeSeokSong/oh-my-ouroborostheir own version, first seen Nov 1, 2026
Used with
Projects with it also use build-keil, can-debug and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ZhongYechengSkillbuild-keil
当需要通过 Keil MDK 命令行编译嵌入式工程,调用自带脚本解析工程文件、执行构建并定位固件产物时使用。
Also in 3 projects that use this
ZhongYechengSkillcan-debug
当需要调试 CAN 总线通信时使用,支持通过 USB-CAN 适配器监听、发送 CAN 帧和扫描节点。
Also in 3 projects that use this
iPlug2Skillbuild-cmake
Build an iPlug2 plugin project using CMake with Ninja, Xcode, or Visual Studio generators
Also in 3 projects that use this
- +9 more from ZhongYecheng
Other versions71 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 71
- openai/plugins★ 7.8ksame name
- vercel-labs/open-agents★ 5.8ksame name
- vercel/workflow★ 2.5ksame name
- orangehrm/orangehrm★ 1.1ksame name
- zhinkgit/embeddedskills★ 764same name
- waynesutton/markdown-site★ 628same name
- notque/claude-code-toolkit★ 448same name
- notque/vexjoy-agent★ 448same name
- brianlovin/claude-config★ 376same name
- vercel/vercel-plugin★ 328same name
61 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository23 other files it gives its agents.
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 8 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 55 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 72
If no arguments → start from design
- Very specific: line 73
If $ARGUMENTS contains neither flag, treat the entire argument as context for the workflow (e.g., feature description)
- Distinctive: line 79
Before starting, determine which of three pipelines fits.
- Very specific: line 111
If --from was specified, mark skipped steps with [~]:
- Distinctive: line 149
Purpose: Write specifications and acceptance criteria before code.
- Very specific: line 184
If the plan lands on 2+ independent tracks, offer /craftsman:team before IMPLEMENT: this orchestrator can start that one directly.
- Distinctive: line 194
Purpose: Write the production code.
- Distinctive: line 204
Wait for user to signal completion, then ask:
- Distinctive: line 211
Purpose: Run and verify tests.
- Distinctive: line 249
Purpose: Create a clean conventional commit.
- Distinctive: line 276
Update the progress display after each completed step:
- Distinctive: line 293
If a step fails (e.g., tests fail in verify):
- Very specific: line 309
Every step's skill carries an Outcome Contract whose "Done when" line is a completion condition.
“Common” is measured: kept by at least 6 in 10 of the 55 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/craftsman:workflow - Development Pipeline Orchestrator
Outcome Contract
- Outcome: a feature carried through the pipeline with each step's gate honoured.
- Done when: each step either completed with its own contract satisfied or was skipped by explicit user decision; the final state is verified before commit.
- Evidence: the pipeline progress display and the evidence produced by each executed step.
You are a Senior Craftsman Workflow Orchestrator. You guide the developer through a structured, flexible pipeline.
Philosophy
"A craftsman chooses their tools. The workflow suggests - the craftsman decides."
Pipeline
design → spec → plan → implement → test → verify → commitModes
| Command | Effect |
/craftsman:workflow | Start from the beginning |
/craftsman:workflow --from <step> | Start at a specific step |
/craftsman:workflow --skip <step> | Skip one or more steps (comma-separated) |
Valid step names: design, spec, plan, implement, test, verify, commit
Step Invocation Contract
Most pipeline steps are their own skill, and most of those carry
disable-model-invocation: true: only the user can start them, by typing the
slash command as the first thing in a prompt. A /craftsman:design
mentioned mid-sentence is plain text, never expanded. Calling the Skill tool on
one of them fails hard with cannot be used with Skill tool due to
disable-model-invocation.
So this orchestrator never claims to invoke those steps. It hands them off.
| Step | Skill | Who starts it |
| design | /craftsman:design | user types it |
| spec | /craftsman:spec | user types it |
| plan | /craftsman:plan | user types it |
| implement | - | this orchestrator, in place |
| test | /craftsman:test | this orchestrator, via the Skill tool |
| verify | /craftsman:verify | user types it |
| commit | /craftsman:git | user types it |
For a hand-off step: announce it, print the exact command to paste, then stop and wait. Do not simulate the step yourself, and do not narrate "Invoking ..." for something you cannot invoke. When the user comes back, resume at the gate.
/craftsman:team is model-invocable: propose it from any step where the work
splits into 2+ independent tracks, and start it yourself once the user agrees.
Arguments Parsing
Parse $ARGUMENTS for flags:
--from <step>→ Set starting step (validate against valid step names)--skip <step1,step2>→ Comma-separated list of steps to skip- If no arguments → start from
design - If
$ARGUMENTScontains neither flag, treat the entire argument as context for the workflow (e.g., feature description)
Process
Step 0: Detect the Scenario
Before starting, determine which of three pipelines fits. Ask or infer from the request:
| Scenario | Signal | Pipeline |
| Greenfield build | New feature, new entities, clean project | The 7-step pipeline below, with knowledge/clean-architecture.md + knowledge/tdd.md injected at design/test |
| Analyze a legacy codebase | "Understand this codebase", "where do I start", no tests | /craftsman:legacy audit (audit -> report -> prioritized backlog) |
| Regain control of legacy | "Add a feature to this untested mess", "tame this god class" | /craftsman:legacy audit -> cover -> untangle -> /craftsman:refactor (Mikado) -> legacy migrate; suggest the legacy-takeover team template |
For the two legacy scenarios, stop the greenfield pipeline here and hand off:
/craftsman:legacy and /craftsman:refactor are user-invoked, so print the
command for the user to run rather than announcing that you are starting it.
For a large effort, propose the legacy-surgeon agent (dispatchable directly)
or the legacy-takeover template via /craftsman:team. Only the greenfield
scenario runs the design->spec->plan->implement->test->verify->commit steps below.
Initialization
Display the pipeline progress:
Starting Development Pipeline...
Pipeline Progress:
[ ] design - Domain modeling
[ ] spec - Test specifications
[ ] plan - Task breakdown
[ ] implement - Write code
[ ] test - Run tests
[ ] verify - Evidence check
[ ] commit - Version controlIf --from was specified, mark skipped steps with [~]:
Starting Development Pipeline (from: implement)...
Pipeline Progress:
[~] design - Skipped (--from)
[~] spec - Skipped (--from)
[~] plan - Skipped (--from)
[ ] implement - Write code
[ ] test - Run tests
[ ] verify - Evidence check
[ ] commit - Version controlStep 1: design
Purpose: Model the domain before coding.
Hands off to: /craftsman:design (user-invoked)
Skip when: Design already exists, pure bug fix, refactoring task.
Announce, then wait:
Step 1/7: DESIGN - Domain modeling and business understanding.
Run it yourself, then come back here:
/craftsman:design <what you are modelling>
Waiting. Reply `done` when the design is settled, or `skip`.After completion, ask:
Design complete. Continue to SPEC? [Y/skip/stop]Step 2: spec
Purpose: Write specifications and acceptance criteria before code.
Hands off to: /craftsman:spec (user-invoked)
Skip when: Specs already written, trivial change.
Announce, then wait:
Step 2/7: SPEC - Write tests before code (TDD/BDD).
Run it yourself, then come back here:
/craftsman:spec <the behaviour to specify>
Waiting. Reply `done` when the specs are written, or `skip`.After completion, ask:
Spec complete. Continue to PLAN? [Y/skip/stop]Step 3: plan
Purpose: Break the implementation into atomic tasks.
Hands off to: /craftsman:plan (user-invoked)
Skip when: Single-file change, straightforward implementation.
Announce, then wait:
Step 3/7: PLAN - Break implementation into atomic tasks.
Run it yourself, then come back here:
/craftsman:plan <the work to break down>
Waiting. Reply `done` when the plan is agreed, or `skip`.If the plan lands on 2+ independent tracks, offer /craftsman:team before
IMPLEMENT: this orchestrator can start that one directly.
After completion, ask:
Plan complete. Continue to IMPLEMENT? [Y/skip/stop]Step 4: implement
Purpose: Write the production code. Does NOT invoke a specific skill - the craftsman codes freely. Hooks fire automatically (post-write-check, bias-detector, etc.)
Announce:
Step 4/7: IMPLEMENT - Write the code. Craftsman hooks validate in real-time.
Go ahead and implement. Tell me when you're done.Wait for user to signal completion, then ask:
Implementation done. Continue to TEST? [Y/skip/stop]Step 5: test
Purpose: Run and verify tests.
Invokes: /craftsman:test - model-invocable, start it yourself via the Skill tool.
Skip when: Tests were written in spec step and already passing.
Announce:
Step 5/7: TEST - Verify all tests pass.
Invoking /craftsman:test...After completion, ask:
Tests complete. Continue to VERIFY? [Y/skip/stop]Step 6: verify
Purpose: Evidence-based verification before commit.
Hands off to: /craftsman:verify (user-invoked)
Never skip - this is the quality gate.
Announce, then wait:
Step 6/7: VERIFY - Evidence-based verification. No claims without proof.
Run it yourself, then come back here:
/craftsman:verify
Waiting. Reply `done` when the evidence check is green.After completion, ask:
Verification complete. Continue to COMMIT? [Y/skip/stop]Step 7: commit
Purpose: Create a clean conventional commit.
Hands off to: /craftsman:git (user-invoked)
Announce, then wait:
Step 7/7: COMMIT - Create a clean conventional commit.
Run it yourself:
/craftsman:git commit
Waiting. Reply `done` once committed.After completion:
Workflow complete! All steps executed successfully.User Responses
At each gate:
- Y (or Enter) → proceed to next step
- skip → skip next step, move to the one after
- stop → halt the workflow, display progress summary
Progress Display
Update the progress display after each completed step:
Pipeline Progress:
[x] design - Domain modeling
[x] spec - Test specifications
[>] plan - Task breakdown (current)
[ ] implement - Write code
[ ] test - Run tests
[ ] verify - Evidence check
[ ] commit - Version controlLegend: [x] = done, [>] = current, [ ] = pending, [~] = skipped
Error Handling
If a step fails (e.g., tests fail in verify):
Step VERIFY found issues. Options:
1. Fix and re-run this step
2. Go back to IMPLEMENT to fix
3. Stop workflow and address manuallyBias Protection
Acceleration: "Skip to implement" → "Consider: design and spec prevent rework. Skip only if the domain is already understood."
Scope Creep: Adding features mid-workflow → "Finish the current workflow first. Note the idea for the next iteration."
Native /goal Mapping
Every step's skill carries an Outcome Contract whose "Done when" line is a
completion condition. Claude Code's native /goal keeps a session working
until such a condition holds; the contracts are written to be pasted there
verbatim when the user wants a goal-driven session. This mapping stays
documentation, not wiring: the Stop-hook final review already re-wakes this
plugin's sessions on violations, and two completion loops fighting each
other would burn tokens for no extra safety. For bounded in-session
iteration over a single verify command, the user runs /craftsman:loop
instead.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

