@ionivetech/mugiwara 0.1.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/.opencode/commands/mugiwara-execute.md +11 -0
  2. package/.opencode/commands/mugiwara-heal.md +11 -0
  3. package/.opencode/commands/mugiwara-mode.md +6 -0
  4. package/.opencode/commands/mugiwara-plan.md +11 -0
  5. package/.opencode/commands/mugiwara-review.md +11 -0
  6. package/.opencode/commands/mugiwara-security.md +11 -0
  7. package/.opencode/commands/mugiwara-ship.md +11 -0
  8. package/.opencode/commands/mugiwara.md +11 -0
  9. package/.opencode/plugins/mugiwara.mjs +221 -0
  10. package/README.md +351 -324
  11. package/content/agents/brook-healing.md +8 -2
  12. package/content/agents/chopper-checkpoint.md +9 -4
  13. package/content/agents/eval-runner.md +5 -1
  14. package/content/agents/franky-gates.md +9 -4
  15. package/content/agents/jinbe-security.md +5 -1
  16. package/content/agents/luffy-orchestrator.md +15 -8
  17. package/content/agents/memory-keeper.md +4 -0
  18. package/content/agents/nami-planner.md +12 -5
  19. package/content/agents/resume-coordinator.md +5 -1
  20. package/content/agents/robin-reviewer.md +6 -2
  21. package/content/agents/sanji-quality.md +7 -3
  22. package/content/agents/skeptic-verifier.md +6 -2
  23. package/content/agents/using-mugiwara.md +16 -8
  24. package/content/agents/usopp-brainstorm.md +9 -3
  25. package/content/agents/zoro-execution.md +16 -11
  26. package/content/skills/mugiwara-api-and-interface-design/SKILL.md +87 -0
  27. package/content/skills/mugiwara-backend/SKILL.md +12 -0
  28. package/content/skills/mugiwara-brainstorm/SKILL.md +28 -1
  29. package/content/skills/mugiwara-checkpoint/SKILL.md +8 -6
  30. package/content/skills/mugiwara-context-engineering/SKILL.md +59 -0
  31. package/content/skills/mugiwara-deprecation/SKILL.md +77 -0
  32. package/content/skills/mugiwara-doubt-driven-development/SKILL.md +65 -0
  33. package/content/skills/mugiwara-dynamic-workflow/SKILL.md +3 -3
  34. package/content/skills/mugiwara-execution/SKILL.md +36 -15
  35. package/content/skills/mugiwara-frontend/SKILL.md +58 -56
  36. package/content/skills/mugiwara-frontend/references/checklist.md +37 -0
  37. package/content/skills/mugiwara-gates/SKILL.md +8 -0
  38. package/content/skills/mugiwara-git/SKILL.md +10 -0
  39. package/content/skills/mugiwara-git-worktrees/SKILL.md +62 -0
  40. package/content/skills/mugiwara-healing/SKILL.md +21 -3
  41. package/content/skills/mugiwara-mode/SKILL.md +72 -0
  42. package/content/skills/mugiwara-orchestration/SKILL.md +44 -8
  43. package/content/skills/mugiwara-planning/SKILL.md +57 -34
  44. package/content/skills/mugiwara-pr/SKILL.md +62 -0
  45. package/content/skills/mugiwara-quality/SKILL.md +29 -2
  46. package/content/skills/mugiwara-resume/SKILL.md +6 -4
  47. package/content/skills/mugiwara-security/SKILL.md +38 -1
  48. package/content/skills/mugiwara-ship/SKILL.md +24 -1
  49. package/content/skills/mugiwara-systematic-debugging/SKILL.md +77 -0
  50. package/content/skills/mugiwara-test-driven-development/SKILL.md +84 -0
  51. package/content/skills/mugiwara-testcases/SKILL.md +52 -0
  52. package/content/skills/mugiwara-workflow/SKILL.md +42 -13
  53. package/content/skills/mugiwara-writing-skills/SKILL.md +60 -0
  54. package/dist/mugiwara.js +42 -26
  55. package/docs/adoption-guide.md +72 -0
  56. package/docs/agent-anatomy.md +72 -0
  57. package/docs/agents.md +51 -0
  58. package/docs/claude-setup.md +43 -0
  59. package/docs/codex-setup.md +26 -0
  60. package/docs/comparison.md +63 -0
  61. package/docs/config.md +50 -0
  62. package/docs/copilot-setup.md +29 -0
  63. package/docs/cursor-setup.md +25 -0
  64. package/docs/developer-onboarding.md +85 -0
  65. package/docs/execution-model.md +92 -0
  66. package/docs/gemini-setup.md +27 -0
  67. package/docs/getting-started.md +96 -0
  68. package/docs/git-strategy.md +62 -0
  69. package/docs/index.md +50 -0
  70. package/docs/modes.md +74 -0
  71. package/docs/opencode-setup.md +54 -0
  72. package/docs/pr-summary.md +54 -0
  73. package/docs/rule-based-setup.md +31 -0
  74. package/docs/skill-anatomy.md +78 -0
  75. package/docs/skills.md +73 -0
  76. package/docs/windsurf-setup.md +18 -0
  77. package/docs/workflow.md +80 -0
  78. package/hooks/hooks.json +15 -0
  79. package/hooks/session-start.ts +8 -0
  80. package/package.json +20 -2
  81. package/src/targets/claude.ts +18 -1
  82. package/src/targets/codex.ts +1 -1
  83. package/src/targets/gemini.ts +1 -1
package/README.md CHANGED
@@ -2,75 +2,96 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@ionivetech%2fmugiwara)](https://www.npmjs.com/package/@ionivetech/mugiwara)
4
4
  [![License: MIT](https://img.shields.io/github/license/ionivetech/mugiwara)](https://github.com/ionivetech/mugiwara/blob/main/LICENSE)
5
- [![npm downloads](https://img.shields.io/npm/dm/@ionivetech%2fmugiwara)](https://www.npmjs.com/package/@ionivetech/mugiwara)
6
- [![CI](https://img.shields.io/github/actions/workflow/status/ionivetech/mugiwara/ci.yml?branch=main&label=ci)](https://github.com/ionivetech/mugiwara/actions)
7
- [![TypeScript](https://img.shields.io/badge/types-TypeScript-3178c6)](https://github.com/ionivetech/mugiwara)
8
- [![Bun](https://img.shields.io/badge/bundler-Bun-black)](https://bun.sh)
9
- [![GitHub](https://img.shields.io/badge/GitHub-ionivetech%2Fmugiwara-181717?logo=github)](https://github.com/ionivetech/mugiwara)
10
5
 
11
- The Straw Hat crew of AI agents and skills.
6
+ The Straw Hat crew of AI agents and skills — a complete software development
7
+ workflow for your coding agent.
12
8
 
13
- Zero runtime: pure markdown your existing AI agent runs with its own subagent
14
- machinery no daemons, no plugins to keep updated, nothing to host.
9
+ Skills encode the workflows, quality gates, and best practices a senior
10
+ engineering team applies to software, packaged so your agent follows them
11
+ consistently across every phase of development. The crew **auto-activates**:
12
+ give a non-trivial request and the pipeline runs inline in your main
13
+ conversation — with checkpoint reports at every stage, nothing hidden behind a
14
+ subagent click.
15
15
 
16
- ## Why Mugiwara
16
+ ```
17
+ TRIAGE PLAN BUILD VERIFY REVIEW SHIP
18
+ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
19
+ │ Luffy │ ──▶ │ Nami │ ──▶ │ Zoro │ ──▶ │ Chopper │ ──▶ │ Robin + │ ──▶ │ push + │
20
+ │ 5-way │ │ waves + │ │ TDD per │ │ Sanji + │ │ Jinbe │ │ ready PR │
21
+ │ triage │ │ tasks │ │ task │ │ Franky │ │ review+ │ │ summary │
22
+ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
23
+ ```
17
24
 
18
- - 🧭 **A named crew.** Ten specialist agents Luffy orchestrates, Nami plans,
19
- Zoro executes, Chopper audits, Brook heals each with a narrow job.
20
- - 📦 **No runtime.** Ships markdown only: native skills and agents for
21
- Claude Code, opencode, Copilot, Gemini CLI, Codex, Windsurf, Cline,
22
- Kilo Code, and Antigravity.
23
- - 🔁 **Wave pipeline.** brainstorm → plan → execute → audit → quality → gates
24
- → review → security → heal → closure. Failure loops back through healing
25
- (max 3 cycles), never ships broken.
25
+ Zero runtime: pure markdown your existing AI agent runs with its own subagent
26
+ machinery no daemons, no plugins to keep updated, nothing to host. 32 skills,
27
+ 15 agents, and per-stage commands, ready for Claude Code, opencode, Gemini CLI,
28
+ Codex, Cursor, Copilot, Kimi, pi, Windsurf, Cline, Kilo Code, and Antigravity.
29
+
30
+ ## Philosophy
31
+
32
+ - 🧭 **Skills are the product, agents are the engine.** Skills are the
33
+ user-facing surface — they auto-activate, they ship to any harness, and you
34
+ never need to learn an agent name. The named agents are opencode-native
35
+ enforcement underneath: permission isolation, role lenses, parallel review.
36
+ Pick mugiwara up the same way you'd pick up a skills pack.
37
+ - 🧑‍🚀 **The crew runs in the main thread.** No crew member is dispatched as a
38
+ hidden subagent. You watch the pipeline happen, you can interrupt any time,
39
+ and every wave shows a checkpoint report — never a narration of every tool call.
40
+ - ⚖️ **Mode owns autonomy, config owns writing standards.** Whether branch,
41
+ commit, and PR run automatically is decided by one lever: the mode
42
+ (guided / semi / auto). The config only shapes HOW those artifacts are
43
+ written when they are created.
26
44
  - 🛡 **Evidence over claims.** No wave passes on assertion — the owning agent
27
45
  shows output. No evidence, not complete.
28
- - **One-command install.** `npx`, `npm -g`, curl, or PowerShell interactive
29
- wizard or fully scriptable with flags.
30
- - 🧪 **Everything validated.** Coverage gates, build gates, OWASP security
31
- review, doubt-driven diff review, Definition of Done.
46
+ - 📦 **No runtime.** Ships markdown only: native skills and agents for
47
+ Claude Code, opencode, Copilot, Gemini CLI, Codex, Cursor, Kimi, pi,
48
+ Windsurf, Cline, Kilo Code, and Antigravity.
32
49
 
33
- ### The crew — 15 agents
50
+ ## The crew — 15 agents
34
51
 
35
- Each agent is a focused specialist. Agents are dispatched by your AI tool's
36
- subagent machinery and may call the crew's shared skills.
52
+ Each agent is a focused specialist. The main thread embodies each crew role
53
+ inline using its skill; agents may also be summoned directly by your AI tool's
54
+ agent machinery and may call the crew's shared skills.
37
55
 
38
56
  | Agent | Crew member | Role |
39
57
  |-------|-------------|------|
40
- | `using-mugiwara` | Front Door | Start here: routes any request to the right crew member — no agent names to remember |
41
- | `luffy-orchestrator` | Luffy | Main gateway: 5-way triage, background check-ins, work splitting, decision log, closure |
58
+ | `using-mugiwara` | Front Door | Optional router: explains the crew, routes any request to the right crew member — no agent names to remember |
59
+ | `luffy-orchestrator` | Luffy | Captain: 5-way triage, check-ins, work splitting, decision log, detailed closure |
42
60
  | `usopp-brainstorm` | Usopp | Critical brainstorming friend: facts over hype, options + trade-offs, no over-engineering |
43
- | `nami-planner` | Nami | Interview-first planner: full-context scan, wave structure, anti-patterns, parallel-safe plans |
44
- | `zoro-execution` | Zoro | Execute plans: todo list first, parallel/sequential subagent dispatch, evidence per task |
61
+ | `nami-planner` | Nami | Interview-first planner: full-context scan, waves-first plans, file-level dependency edges, break points |
62
+ | `zoro-execution` | Zoro | Execute plans inline: todo list first, sequential tasks in the main thread, parallel batches via worker subagents, evidence per task |
45
63
  | `chopper-checkpoint` | Chopper | Verify-everything audit of wave results; writes the failure ledger (never fixes code) |
46
- | `sanji-quality` | Sanji | Discover the stack, then format/lint/test; integration tests only with consent |
64
+ | `sanji-quality` | Sanji | Discover the stack, then format/lint/test; integration and optional e2e tests only with consent |
47
65
  | `franky-gates` | Franky | Binary gates: coverage ≥90/80, build exit 0, Definition of Done |
48
66
  | `robin-reviewer` | Robin | Doubt-driven diff review: breaking-change first, five-axis, severity-tagged findings |
49
- | `jinbe-security` | Jinbe | Security review: OWASP, secrets, injection, auth, dependencies, untrusted-data doctrine |
50
- | `brook-healing` | Brook | Reads the blocker ledger, Stop-the-Line root-cause fixes, ≤3 heal cycles |
67
+ | `jinbe-security` | Jinbe | Security review: STRIDE first, OWASP, secrets, injection, auth, dependencies, untrusted-data doctrine |
68
+ | `brook-healing` | Brook | Reads the blocker ledger, Stop-the-Line root-cause fixes, worker subagents for fast re-verification, ≤3 heal cycles |
51
69
  | `skeptic-verifier` | Skeptic | Adversarial verification: doubt every output/plan/verdict, find what's wrong, do NOT validate |
52
- | `eval-runner` | Eval Runner | Test engineer for the harness itself: task suites, judge-agent rubric comparison, fix the skill not the eval |
70
+ | `eval-runner` | Eval Runner | Test engineer for the harness itself: task suites, judge-agent rubric comparison |
53
71
  | `resume-coordinator` | Resume Coordinator | Rebuild the picture from `.mugiwara/` state after context loss; continue, never restart |
54
72
  | `memory-keeper` | Memory Keeper | Institutional memory: surface past lessons at mission start, capture new ones at closure |
55
73
 
56
- ### The techniques — 21 skills
74
+ ## The techniques — 32 skills
57
75
 
58
76
  | Skill | Purpose |
59
77
  |-------|---------|
60
- | `mugiwara-workflow` | The harness entry point: gateway triage, wave pipeline, workspace layout, blocker protocol, cleanup |
61
- | `mugiwara-orchestration` | Luffy's captain behavior: 5-way classifier, check-ins, work splitting, decision log, closure |
78
+ | `mugiwara-workflow` | The harness entry point: inline execution model, gateway triage, wave pipeline, checkpoint reports, workspace layout, blocker protocol |
79
+ | `mugiwara-orchestration` | Luffy's captain behavior: 5-way classifier, check-ins, work splitting, decision log, detailed closure |
80
+ | `mugiwara-mode` | Runtime levels guided / semi / auto via `.mugiwara/config`: mode owns autonomy, config owns writing standards, consent invariants, gated auto-GO, push + ready-PR terminal |
62
81
  | `mugiwara-brainstorm` | Usopp's critical sparring: interrogate, research facts, cut over-engineering, recommend |
63
- | `mugiwara-planning` | Interview-first, full-context scan, wave plans with parallel/sequential markers + anti-patterns |
64
- | `mugiwara-execution` | Todo list, parallel batches + sequential chains, 6-field subagent delegation, one task one commit |
65
- | `mugiwara-checkpoint` | Verify-everything audit of every acceptance criterion; failure rows to the blocker ledger |
66
- | `mugiwara-quality` | Discover the project's real tooling; formatter, linter, unit + consent-gated integration tests |
67
- | `mugiwara-gates` | Coverage ≥90% new / ≥80% modified files, build validation, Definition of Done |
82
+ | `mugiwara-planning` | Interview-first, waves-first plans with file-level dependency edges, break points, parallel-safe waves + anti-patterns |
83
+ | `mugiwara-execution` | Todo list, sequential tasks inline + parallel worker batches, one commit per logical task, checkpoint-report batching |
84
+ | `mugiwara-checkpoint` | Verify-everything audit of every acceptance criterion deduped and scoped to the wave's diff |
85
+ | `mugiwara-quality` | Discover the project's real tooling; formatter, linter, unit tests, optional e2e gate (only when the repo has e2e AND changes touch e2e) |
86
+ | `mugiwara-gates` | Coverage ≥90% new / ≥80% modified files, build validation, Definition of Done; optional e2e position after quality |
87
+ | `mugiwara-testcases` | User-test intake (ATDD): accepted formats, immutable-gold rule, declarative-AC routing, consent, failure adjudication |
68
88
  | `mugiwara-review` | Doubt-driven review: breaking-change analysis, five-axis, severity-tagged findings |
69
- | `mugiwara-security` | OWASP-driven security review, untrusted-data doctrine, severity by exploitability × impact |
70
- | `mugiwara-healing` | Reads the ledger, Stop-the-Line + Prove-It root-cause fixes, rollback prep |
71
- | `mugiwara-frontend` | Anti-slop frontend: audit-first redesigns, design-system extraction, slop list |
89
+ | `mugiwara-security` | STRIDE-first security review, OWASP Top 10 mapping, authn/authz, secrets, dependency audit, boundary system, untrusted-data doctrine |
90
+ | `mugiwara-healing` | Reads the ledger, Stop-the-Line + Prove-It root-cause fixes, worker subagents (reviewer/security/re-run), rollback prep |
91
+ | `mugiwara-deprecation` | Sunset & migration discipline: keep-or-retire gate, cutover playbooks, safe schema changes |
92
+ | `mugiwara-frontend` | Anti-slop frontend: audit-first redesigns, component architecture, design systems, state, responsive, WCAG 2.1 AA |
72
93
  | `mugiwara-git` | Atomic commits, save-points, multi-commit splitting, bisect/blame debugging |
73
- | `mugiwara-ship` | GO/NO-GO ship gate: pre-launch checklist, feature flags, rollback plan |
94
+ | `mugiwara-pr` | Terminal: push + verdict file with a ready PR summary block; never creates a PR, stop-at-PR invariant |
74
95
  | `mugiwara-dynamic-workflow` | Runtime workflow patterns: fan-out-and-synthesize, tournament, loop-until-done, classify-and-act, adversarial verification |
75
96
  | `mugiwara-agent-security` | Secure the agent layer: prompt injection, memory poisoning, excessive agency, secret handling, sandboxing |
76
97
  | `mugiwara-backend` | Backend/server code: repo standards first, API design, data integrity, error handling, correctness, performance, server-side security |
@@ -78,78 +99,179 @@ subagent machinery and may call the crew's shared skills.
78
99
  | `mugiwara-observability` | Trace the crew: structured logs, OTel-compatible spans, session correlation, end-of-mission summary |
79
100
  | `mugiwara-resume` | Session resume: rebuild state from `.mugiwara/` after compaction/loss; never restart |
80
101
  | `mugiwara-lessons` | Cross-mission memory: actionable lessons ledger, read at triage, written at closure |
102
+ | `mugiwara-writing-skills` | Meta-skill: how mugiwara authors skills — anatomy, ≤120-line rule, progressive disclosure, anti-rationalization |
103
+ | `mugiwara-systematic-debugging` | 4-phase root-cause discipline: reproduce → localize → reduce → fix + guard; stop-the-line, prove-it first |
104
+ | `mugiwara-test-driven-development` | RED-GREEN-REFACTOR, proof-of-when, test pyramid, one test = one behavior |
105
+ | `mugiwara-api-and-interface-design` | Contract-first design, error semantics, boundary validation, backward compatibility, versioning |
106
+ | `mugiwara-doubt-driven-development` | Adversarial fresh-context verification of in-flight decisions: claim → extract → doubt → reconcile → stop |
107
+ | `mugiwara-git-worktrees` | Isolated parallel branches via `git worktree`, branch hygiene, safe cleanup |
108
+ | `mugiwara-context-engineering` | Token/context management: feed selectively, trust-sort sources, progressive disclosure, rules files |
81
109
 
82
110
  ### Every capability, always
83
111
 
84
- Every install ships the full crew — all 21 skills and 15 agents, including
112
+ Every install ships the full crew — all 32 skills and 15 agents, including
85
113
  the anti-slop `mugiwara-frontend`, `mugiwara-backend`, and `mugiwara-agent-security`
86
114
  skills. No project-type selection: you get every capability, and the harness
87
115
  routes each task to the right skill.
88
116
 
89
117
  ## How it works
90
118
 
91
- Every mission starts with `using-mugiwara` the easy-to-remember front door
92
- that routes you to the right crew member (no agent names to memorize). It
93
- feeds the **Luffy gateway**, which classifies the request (trivial / explicit /
94
- exploratory / open-ended / ambiguous) and routes it: exploratory ideas go to
95
- Usopp's brainstorm, clear work goes straight to Nami's planning. You can also
96
- summon any crew member directly. From there the mission runs as a **wave
97
- pipeline** owned by one crew member per wave.
119
+ **The workflow auto-activates.** At session start the crew is announced; when
120
+ you give a non-trivial request, the pipeline runs by itself you do not need
121
+ to call `/using-mugiwara`. It remains an optional explicit router if you want
122
+ to hand-route a mission.
123
+
124
+ From there the mission runs as a **wave pipeline** owned by one crew member
125
+ per wave, executed inline in your main conversation.
98
126
 
99
127
  ```mermaid
100
128
  flowchart TD
101
- A[User request] --> F[using-mugiwara<br/>front door]
102
- F --> B{Luffy gateway<br/>5-way triage}
103
- B -- exploratory --> C[Usopp brainstorm<br/>.mugiwara/spec/]
104
- B -- clear work --> D[Nami plan<br/>.mugiwara/plans/]
105
- C --> D
106
- D --> E[Zoro execute<br/>parallel / sequential]
107
- E --> F[Chopper audit<br/>failure ledger]
108
- F --> G[Sanji quality]
109
- G --> H[Franky gates]
110
- H --> I[Robin + Jinbe review<br/>parallel]
111
- I -- pass --> J[Luffy closure<br/>ship gate]
112
- I -- fail --> K[Brook heal<br/>max 3 cycles]
113
- K --> F
114
- J --> L[.mugiwara/ cleanup]
129
+ U[User request] --> G{Luffy triage}
130
+ G -- exploratory --> B[Usopp brainstorm]
131
+ G -- clear work --> N[Nami plan]
132
+ B --> N
133
+ N --> Z[Zoro execute]
134
+ Z --> CP[Chopper audit]
135
+ CP --> SQ[Sanji quality]
136
+ SQ --> FG[Franky gates]
137
+ FG --> RJ[Robin + Jinbe review]
138
+ RJ -- pass --> LC[Luffy closure]
139
+ RJ -- fail --> BH[Brook heal]
140
+ BH --> CP
141
+ LC --> CL[push + ready PR summary]
115
142
  ```
116
143
 
117
- The same pipeline as a portable table (renders anywhere markdown does):
118
-
119
144
  | Wave | Owner | Skill | Output |
120
145
  |------|-------|-------|--------|
121
146
  | 0 Triage | Luffy | `mugiwara-orchestration` | 5-way route decision + reason |
122
147
  | 1 Brainstorm | Usopp | `mugiwara-brainstorm` | refined direction, options, recommendation |
123
- | 2 Planning | Nami | `mugiwara-planning` | plan doc: waves, tasks, acceptance criteria |
148
+ | 2 Planning | Nami | `mugiwara-planning` | plan doc: waves, tasks, file-level dependency edges, acceptance |
124
149
  | 3 Execution | Zoro | `mugiwara-execution` | implemented tasks with evidence |
125
150
  | 4 Checkpoint | Chopper | `mugiwara-checkpoint` | audit report + failure ledger |
126
- | 5 Quality | Sanji | `mugiwara-quality` | formatter/linter/test results |
151
+ | 5 Quality | Sanji | `mugiwara-quality` | formatter/linter/test results (+ optional e2e) |
127
152
  | 6 Gates | Franky | `mugiwara-gates` | coverage + build verdict |
128
153
  | 7 Review | Robin ∥ Jinbe | `mugiwara-review` + `mugiwara-security` | severity-tagged findings (parallel) |
129
- | 8 Healing | Brook | `mugiwara-healing` | fixes; loops back to Wave 4, max 3 cycles |
130
- | 9 Closure | Luffy | `mugiwara-orchestration` | closure report appended to the plan |
154
+ | 8 Healing | Brook | `mugiwara-healing` | fixes via worker subagents; loops to Wave 4, max 3 cycles |
155
+ | 9 Closure | Luffy | `mugiwara-orchestration` | detailed summary + push + ready PR summary (see Modes) |
156
+
157
+ ### Checkpoint reports
158
+
159
+ You see progress as **checkpoint reports**, not a firehose: a wave banner
160
+ (`## Wave N — <crew> (<skill>)`), one compact report per crew member at each
161
+ stage boundary (what ran / result / evidence pointer), a progress summary per
162
+ wave, and a pause when something fails or gets risky. Subagents are used only
163
+ where they genuinely help: independent `[PARALLEL]` task batches, Brook's
164
+ reviewer/security re-verification workers, and background checks.
165
+
166
+ ## Manual stages
167
+
168
+ Want to drive the stages yourself? Every stage has a slash command that loads
169
+ the skill, runs the crew role inline, and bridges state from `.mugiwara/`:
170
+
171
+ | Command | Runs | Reads state from |
172
+ |---------|------|------------------|
173
+ | `/mugiwara-plan` | Nami | `.mugiwara/spec/` |
174
+ | `/mugiwara-execute` | Zoro | `.mugiwara/plans/` |
175
+ | `/mugiwara-review` | Robin | `.mugiwara/results/` + diff |
176
+ | `/mugiwara-security` | Jinbe | `.mugiwara/results/` + diff |
177
+ | `/mugiwara-heal` | Brook | `.mugiwara/issues/` |
178
+ | `/mugiwara-ship` | Luffy | plan + results |
179
+
180
+ You can jump into any stage — e.g. run `/mugiwara-plan` first, then
181
+ `/mugiwara-execute` later when you're ready.
182
+
183
+ ## Modes
184
+
185
+ The crew runs at one of three autonomy levels, set in `.mugiwara/config`
186
+ (project, overrides global `~/.mugiwara/config`):
187
+
188
+ ```
189
+ mode=guided
190
+ branch=feature/{type}-{issue}-{slug}
191
+ commit=conventional
192
+ base=main
193
+ ```
194
+
195
+ | Level | Plan GO | Branch/commit | Ambiguities | Check-ins |
196
+ |-------|---------|---------------|-------------|-----------|
197
+ | **guided** | ask the user | ask the user | ask the user | ask the user |
198
+ | **semi** | present plan for user GO | auto | self-answer + log | log, no pause |
199
+ | **auto** | gated auto-GO | auto | self-answer + log | log, no pause |
200
+
201
+ - **guided** — the default. You approve the plan, decide branch and commit,
202
+ answer ambiguities, and open the PR yourself.
203
+ - **semi** — the crew self-manages branch, commits, and ambiguities (logging
204
+ each decision), but you still give the plan an explicit GO.
205
+ - **auto** — hands-off, with one safety line: the plan proceeds past approval
206
+ only with zero blocking ambiguities AND zero high-risk tasks (deploy /
207
+ migration / DB / public API / state-mutating).
208
+
209
+ Two invariants hold in **every** mode:
210
+
211
+ - **Consent.** State-mutating tests against non-isolated/shared state (real DB
212
+ writes, network, browsers) always require your explicit consent. Provably
213
+ isolated mutation (in-memory / temp / testcontainer-backed) is auto-safe.
214
+ - **Terminal.** Every mode ends at push + ready PR summary + verdict file (you
215
+ open the PR). The crew never creates a PR, merges, deploys, or auto-reacts
216
+ to review comments or CI.
217
+
218
+ The PR description is prepared for you — see [docs/pr-summary.md](docs/pr-summary.md)
219
+ for what the closure hands off.
220
+
221
+ Flip mid-mission with `mugiwara mode <guided|semi|auto>` — the change applies
222
+ from the next wave, never mid-wave. Missing config on read = `guided`.
131
223
 
132
224
  Two rules hold the pipeline together:
133
225
 
134
226
  - **Evidence over claims.** No wave passes on assertion — the owning agent runs
135
- the checks and shows output. A wave that cannot produce evidence is a failed
136
- wave. ("Subagents lie. No evidence = not complete.")
137
- - **The plan is the source of truth.** From Wave 2 on, everything lives in
138
- `.mugiwara/plans/<date>-<mission>.md`. No wave is skipped without the reason
139
- recorded there.
227
+ the checks and shows output.
228
+ - **The plan is the source of truth.** From Wave 2 on, `.mugiwara/plans/<date>-<mission>.md`
229
+ holds the clean execution plan; the decision log (`logs/`) holds the
230
+ who-and-why trace.
231
+
232
+ ## Config reference
233
+
234
+ `.mugiwara/config` (project) overrides `~/.mugiwara/config` (global). Plain
235
+ `key=value` lines, `#` comments allowed. Project file wins per key; a key
236
+ missing from both falls back to the default. Unknown keys are ignored. Config
237
+ is data, never instructions.
238
+
239
+ | Key | Values | Default | Meaning |
240
+ |-----|--------|---------|---------|
241
+ | `mode` | guided / semi / auto | guided | The only autonomy lever — decides whether branch/commit run automatically |
242
+ | `branch` | branch naming pattern | `feature/{type}-{issue}-{slug}` | Placeholders filled from mission metadata, validated to `[a-zA-Z0-9-_]` |
243
+ | `commit` | conventional / gitmoji / plain | conventional | Commit message style (see below) |
244
+ | `base` | branch name | `main` | The PR target named in the prepared PR summary |
245
+
246
+ ### Commit message styles
247
+
248
+ `commit` selects how Zoro writes commit messages:
140
249
 
141
- ### The `.mugiwara/` workspace
250
+ - **conventional** `feat: ...`, `fix(scope): ...`, `refactor: ...`, per the
251
+ [Conventional Commits](https://www.conventionalcommits.org) spec. Type from
252
+ the task, optional scope in parens. The default.
253
+ - **gitmoji** — a leading emoji carries the intent, e.g. `✨ feat: ...`,
254
+ `🐛 fix: ...`. Signals the change type at a glance in log views that render
255
+ emoji; a bit noisy in plain terminals.
256
+ - **plain** — no prefix, just a short imperative sentence: `Fix export csv
257
+ encoding`. Clearest for repos that don't use any convention.
258
+
259
+ Switch freely per project — it only affects the message format, never the
260
+ one-logical-task-one-commit rule.
261
+
262
+ ## The `.mugiwara/` workspace
142
263
 
143
264
  Every mission works inside `.mugiwara/` at the repo root:
144
265
 
145
266
  ```
146
267
  .mugiwara/
268
+ ├── config # mode + writing standards (gitignored; project overrides global)
147
269
  ├── spec/ # brainstorm output: YYYY-MM-DD-<mission>.md
148
- ├── plans/ # plan docs — single source of truth from Wave 2
149
- ├── results/ # wave results: audits, test output, gate verdicts, todos
270
+ ├── plans/ # plan docs — clean, Nami-only, single source of truth from Wave 2
271
+ ├── results/ # wave results: audits, test output, gate verdicts, todos, closure report
150
272
  ├── review/ # review + security findings
151
273
  ├── issues/ # blocker + failure ledger: YYYY-MM-DD-<mission>-blockers.md
152
- └── logs/ # Luffy's decision log
274
+ └── logs/ # Luffy's decision + check-in log per mission (deleted at cleanup)
153
275
  ```
154
276
 
155
277
  **Blocker protocol:** any crew member that hits a blocker appends a row
@@ -158,330 +280,235 @@ Every mission works inside `.mugiwara/` at the repo root:
158
280
  workaround. Brook reads the ledger in Wave 8 and heals what it lists.
159
281
 
160
282
  **Cleanup:** at closure, Luffy deletes the superseded intermediate markdown
161
- files (consumed results, review, and issues reports). The plan doc and closure
162
- report stay.
163
-
164
- The owning agent creates the folder it needs on first write. Mission artifacts
165
- never land outside `.mugiwara/`.
283
+ files (consumed results, review, issues, and per-mission decision logs). The
284
+ plan doc and the closure report stay.
166
285
 
167
286
  ## Install
168
287
 
169
- Requires **Node.js >= 20.11**. Bun is optional — you only need it to build
170
- from source.
288
+ ### Via your AI agent
171
289
 
172
- ### npx
290
+ <details>
291
+ <summary><strong>Claude Code</strong> — agents + skills + SessionStart hook</summary>
173
292
 
174
- ```bash
175
- # npx — run without installing (recommended)
176
- npx @ionivetech/mugiwara@latest
293
+ **Install**
177
294
 
178
- # interactive wizard (scope, target agent)
179
- # non-interactive: global Claude Code install, no prompts
180
- npx @ionivetech/mugiwara@latest --global --target claude --yes
181
-
182
- # non-interactive: project install for opencode + GitHub Copilot
183
- npx @ionivetech/mugiwara@latest --project ./my-app --target opencode,copilot --yes
295
+ ```bash
296
+ /plugin marketplace add ionivetech/mugiwara
297
+ /plugin install mugiwara
184
298
  ```
185
299
 
186
- ### npm global install
300
+ **Update**re-install from the marketplace (or `mugiwara update` via CLI).
187
301
 
188
- ```bash
189
- # npm — global install, run `mugiwara` anywhere
190
- npm install -g @ionivetech/mugiwara
191
- ```
302
+ **Uninstall** — `/plugin uninstall mugiwara`, or `mugiwara uninstall` via CLI.
303
+ </details>
192
304
 
193
- ### curl — macOS / Linux
305
+ <details>
306
+ <summary><strong>opencode</strong> — native skills + agents via plugin</summary>
194
307
 
195
- ```bash
196
- # curl — macOS/Linux one-liner
197
- curl -fsSL https://raw.githubusercontent.com/ionivetech/mugiwara/main/scripts/install.sh | bash
308
+ **Install** — add to `opencode.json`:
309
+
310
+ ```json
311
+ { "plugin": ["@ionivetech/mugiwara"] }
198
312
  ```
199
313
 
200
- ### PowerShell Windows
314
+ Or from the git repo directly:
201
315
 
202
- ```powershell
203
- # PowerShell Windows one-liner
204
- irm https://raw.githubusercontent.com/ionivetech/mugiwara/main/scripts/install.ps1 | iex
316
+ ```json
317
+ { "plugin": ["mugiwara@git+https://github.com/ionivetech/mugiwara.git"] }
205
318
  ```
206
319
 
207
- The `install.sh` / `install.ps1` scripts check your Node version, then run the
208
- same CLI (`npx -y @ionivetech/mugiwara@latest`), forwarding any flags you pass.
320
+ **Update** bump the package version in the `plugin` array (or `mugiwara update`).
321
+
322
+ **Uninstall** — remove the entry from the array.
323
+ </details>
209
324
 
210
- ### skills.sh — skills only, any agent
325
+ <details>
326
+ <summary><strong>GitHub Copilot CLI</strong> — same marketplace</summary>
211
327
 
212
- The 21 skills also ship in the standard [agentskills.io](https://agentskills.io)
213
- layout (`skills/<name>/SKILL.md`), so you can install just the skills into
214
- Claude Code, opencode, Copilot, Cursor, Codex, Gemini CLI, and 70+ other agents
215
- via the [skills.sh](https://skills.sh) CLI:
328
+ **Install**
216
329
 
217
330
  ```bash
218
- npx skills add ionivetech/mugiwara
331
+ copilot plugin marketplace add ionivetech/mugiwara
332
+ copilot plugin install mugiwara
219
333
  ```
220
334
 
221
- Skills only the agents (Luffy, Nami, Zoro, …) are harness-specific and install
222
- via the mugiwara CLI or Claude plugin above. `mugiwara skills` lists the
223
- installable set.
224
-
225
- ### Requirements
226
-
227
- | Dependency | Required for | Version |
228
- |------------|--------------|---------|
229
- | Node.js | running the CLI and the built artifact | >= 20.11 |
230
- | Bun | building from source, running tests | optional |
335
+ > Copilot caveat: skills install and function; the agents are Claude-native
336
+ > `.md` files and are best consumed via the CLI install path, which writes
337
+ > Copilot-native `.instructions.md` skills.
231
338
 
232
- ## Quickstart
339
+ **Update** — `copilot plugin update mugiwara`. **Uninstall** — `copilot plugin uninstall mugiwara`.
340
+ </details>
233
341
 
234
- ```console
235
- $ npx @ionivetech/mugiwara@latest --global --target claude --yes
236
- mugiwara — installing crew for: claude
237
- ✓ claude 15 agents, 21 skills → ~/.claude/skills + ~/.claude/agents
238
- ✓ manifest wrote ~/.mugiwara/manifest.json
239
- ✓ done 24 files written
342
+ <details>
343
+ <summary><strong>Gemini CLI</strong> extension</summary>
240
344
 
241
- $ # now just ask your Claude Code session
242
- > add dark mode to the settings page
345
+ **Install**
243
346
 
244
- Wave 0 Luffy triage → route: plan (requirements mostly clear)
245
- Wave 2 Nami plan → .mugiwara/plans/2026-08-10-dark-mode.md (3 waves)
246
- Wave 3 Zoro execute→ 3 tasks, evidence shown per task
247
- Wave 4 Chopper audit → FAIL: toggle does not persist (ledger written)
248
- Wave 8 Brook heal → fixed persistence + tests, looped back → PASS
249
- Wave 9 Luffy closure→ report appended to plan, intermediate files cleaned
347
+ ```bash
348
+ gemini extensions install https://github.com/ionivetech/mugiwara
250
349
  ```
251
350
 
252
- You never drive the sequence you answer Nami's clarifying questions up front
253
- and review Brook's rollback note if a fix is risky.
351
+ **Update**`gemini extensions update mugiwara`.
352
+ **Uninstall** `gemini extensions remove mugiwara`.
353
+ </details>
254
354
 
255
- ## Commands and flags
355
+ <details>
356
+ <summary><strong>Codex</strong> — plugin</summary>
256
357
 
257
- ### Commands
258
-
259
- | Command | Effect |
260
- |---------|--------|
261
- | `mugiwara install` | Install the crew (default; wizard when flags are missing) |
262
- | `mugiwara update` | Replace installed files, backing up differences to `.mugiwara/backup/<timestamp>/` first (project root, or `~` for global) |
263
- | `mugiwara uninstall` | Remove exactly what the install manifest recorded |
264
- | `mugiwara list` | Show installations (project + global manifests) |
265
- | `mugiwara skills` | List the installable skills (agentskills.io) + skills.sh install command |
266
- | `mugiwara --help` | Print usage and flags |
267
- | `mugiwara --version` | Print the package version |
268
-
269
- ### Flags
270
-
271
- | Flag | Meaning |
272
- |------|---------|
273
- | `--global` | Install user-wide (writes to your home directory) |
274
- | `--project <dir>` | Install into a project directory (default: current directory) |
275
- | `--target <ids\|all>` | Comma-separated target IDs, or `all`. Valid: `claude, opencode, copilot, gemini, codex, windsurf, cline, kilo, antigravity` |
276
- | `--yes`, `-y` | Non-interactive. Requires `--global` or `--project`, and `--target` |
277
- | `--force` | Overwrite files that differ (conflicting files are backed up first) |
278
- | `--dry-run` | Print the actions without writing anything |
358
+ **Install**
279
359
 
280
360
  ```bash
281
- # non-interactive install requires scope + target, or it errors out
282
- npx @ionivetech/mugiwara@latest --project ./app --target claude --yes
283
-
284
- # preview what an install would write, without touching the disk
285
- npx @ionivetech/mugiwara@latest --global --target all --yes --dry-run
286
-
287
- # global installs skip targets that only support project scope (with a note)
288
- npx @ionivetech/mugiwara@latest --global --target all --yes
361
+ codex plugin marketplace add ionivetech/mugiwara
362
+ codex plugin add mugiwara@mugiwara
289
363
  ```
290
364
 
291
- ### Install manifest
365
+ **Update** `codex plugin update mugiwara`. **Uninstall** — `codex plugin remove mugiwara`.
366
+ </details>
292
367
 
293
- Every install writes `.mugiwara/manifest.json` (in the project dir, or `~` for
294
- global). The manifest records the version, scope, targets, and the exact
295
- list of written files — which is what `update` and `uninstall` use to operate
296
- safely.
368
+ <details>
369
+ <summary><strong>Cursor</strong> plugin</summary>
297
370
 
298
- ## Targets
299
-
300
- All nine supported targets. **Native** targets get first-class skills and
301
- agents; the rest get markdown rule files the tool picks up from a conventions
302
- directory. Targets marked *project only* are skipped (with a note) when you
303
- install with `--global`.
371
+ **Install**
304
372
 
305
- | Target | Scope | Installs as |
306
- |--------|-------|-------------|
307
- | Claude Code | global + project | Native skills (`SKILL.md`) + agents in `.claude/skills` / `.claude/agents` (`~/.claude` globally) |
308
- | opencode | global + project | Native skills + agents in `.opencode/skills` / `.opencode/agents` (`~/.config/opencode` globally) |
309
- | GitHub Copilot | global + project | Skills as `.instructions.md` files + agents in `instructions/` / `agents/` (`.github` project, `~/.copilot` global) |
310
- | Gemini CLI | project only | Markdown rules in `.gemini/mugiwara/` + `GEMINI.md` pointer |
311
- | Codex | project only | Markdown rules in `.codex/mugiwara/` + `AGENTS.md` pointer |
312
- | Windsurf | project only | Rules files in `.devin/rules` |
313
- | Cline | project only | Rules files in `.clinerules` |
314
- | Kilo Code | project only | Rules files in `.kilo/rules` + `kilo.jsonc` pointer |
315
- | Antigravity | project only | Rules files in `.agents/rules` |
373
+ ```
374
+ /add-plugin mugiwara
375
+ ```
316
376
 
317
- For rule-based targets, skills land as `mugiwara-*.md` and agents as
318
- `agent-<name>.md`. Targets with a bootstrap file (`Gemini`, `Codex`, `Kilo`)
319
- create it if it doesn't exist and otherwise tell you the line to add, so your
320
- tool points at the crew.
377
+ **Update** — re-run `/add-plugin mugiwara`. **Uninstall** `/remove-plugin mugiwara`.
378
+ </details>
321
379
 
322
- ## Claude Code plugin install
380
+ <details>
381
+ <summary><strong>Kimi Code</strong> — plugin</summary>
323
382
 
324
- Mugiwara also ships as a **Claude Code plugin** with a marketplace — the
325
- primary target. The plugin bundles the 15 agents + 21 skills as copies at the
326
- repo root (`agents/`, `skills/`) plus a `SessionStart` hook that announces the
327
- crew. Regenerate the copies from `content/` with `.claude-plugin/sync.sh`.
383
+ **Install**
328
384
 
329
- ```bash
330
- # Claude Code (fully supported)
331
- /plugin marketplace add ionivetech/mugiwara
332
- /plugin install mugiwara
333
385
  ```
334
-
335
- GitHub Copilot CLI can read the same `.claude-plugin/` marketplace and consume
336
- the skills as native Copilot skills:
337
-
338
- ```bash
339
- # GitHub Copilot CLI (skills + marketplace readable)
340
- copilot plugin marketplace add ionivetech/mugiwara
341
- copilot plugin install mugiwara
386
+ /plugins install https://github.com/ionivetech/mugiwara
342
387
  ```
343
388
 
344
- > **Copilot caveat.** The agents are **Claude-native `.md` files** — they will
345
- > not auto-discover in Copilot and may need `.agent.md` conversion to work as
346
- > Copilot plugin agents. Skills install and function; agents are best consumed
347
- > through the regular CLI install path (which writes Copilot-native
348
- > `.instructions.md` skills and `.md` agents).
389
+ **Update** `/plugins update mugiwara`. **Uninstall**`/plugins remove mugiwara`.
390
+ </details>
349
391
 
350
- ## FAQ / troubleshooting
392
+ <details>
393
+ <summary><strong>pi</strong> — package</summary>
351
394
 
352
- **Why is the content so short?** The skills are dense instructions, not prose.
353
- Each agent/skill file is one flat-frontmatter markdown doc, body ≤120 lines —
354
- short enough for your AI tool to read fully and act on. Density beats verbosity:
355
- the harness doesn't ship essays, it ships protocols.
395
+ **Install**
356
396
 
357
- **Do I need Bun?** No. The runtime is plain Node.js >= 20.11 — the built
358
- artifact (`dist/mugiwara.js`) runs on Node. Bun is only for building from
359
- source and running tests.
360
-
361
- **How is Mugiwara different from a framework like CrewAI?** CrewAI is a
362
- runtime you program against. Mugiwara is content-only: markdown skills and
363
- agents your existing AI tool loads natively and executes with its own subagent
364
- machinery. There is no runtime, no SDK, nothing to host.
397
+ ```bash
398
+ pi install git:github.com/ionivetech/mugiwara
399
+ ```
365
400
 
366
- **Does it work on Windows?** YesPowerShell one-liner
367
- (`irm ...install.ps1 | iex`), and the CLI itself runs anywhere Node >= 20.11
368
- does.
401
+ **Update** `pi update mugiwara`. **Uninstall**`pi remove mugiwara`.
402
+ </details>
369
403
 
370
- **How do I uninstall?** `mugiwara uninstall` removes exactly what the install
371
- manifest recorded nothing more, nothing less. For a plugin install, remove it
372
- from the plugin marketplace/manager instead.
404
+ <details>
405
+ <summary><strong>npx / npm / curl / PowerShell</strong> the mugiwara CLI</summary>
373
406
 
374
- **Why is the npm package `@ionivetech/mugiwara` and not `mugiwara`?**
375
- `mugiwara` is taken on npm. The package is scoped as `@ionivetech/mugiwara`;
376
- all install methods above already point at the scoped name.
407
+ Requires **Node.js >= 20.11**. Bun is optional only needed to build from source.
377
408
 
378
- **Where does a plugin install put files?** At the repo root of the plugin
379
- itself (`agents/`, `skills/`), plus a `SessionStart` hook — it does not copy
380
- into your project's `.claude/`. The CLI install is what writes into your
381
- project or home directory.
409
+ **Install**
382
410
 
383
- **How do updates work?** `mugiwara update` replaces installed files, backing up
384
- differences to `.mugiwara/backup/<timestamp>/` first. Plugin installs update
385
- through the plugin marketplace when the repo publishes new content.
411
+ ```bash
412
+ # run without installing (wizard)
413
+ npx @ionivetech/mugiwara@latest
386
414
 
387
- ## Development
415
+ # non-interactive: global Claude Code install, no prompts
416
+ npx @ionivetech/mugiwara@latest --global --target claude --yes
388
417
 
389
- ### Prerequisites
418
+ # non-interactive: project install for opencode + GitHub Copilot
419
+ npx @ionivetech/mugiwara@latest --project ./my-app --target opencode,copilot --yes
390
420
 
391
- - **Bun**the build and test toolchain
392
- - **Node.js >= 20.11** — the built artifact runs on plain Node
421
+ # npmglobal install, run `mugiwara` anywhere
422
+ npm install -g @ionivetech/mugiwara
423
+ ```
393
424
 
394
425
  ```bash
395
- bun install # install dev dependencies
396
- bun run build # bundle src/cli.ts → dist/mugiwara.js (Bun, ESM, node target)
397
- bun run test # vitest suites
398
- bun run typecheck # tsc --noEmit
399
- bun run validate # bun scripts/validate-content.ts — content schema lint
400
- node dist/mugiwara.js --version # smoke-test the built CLI
426
+ # curl macOS / Linux one-liner
427
+ curl -fsSL https://raw.githubusercontent.com/ionivetech/mugiwara/main/scripts/install.sh | bash
401
428
  ```
402
429
 
403
- `bun run build` runs automatically on `npm pack` / `npm publish` (via
404
- `prepack`).
430
+ ```powershell
431
+ # PowerShell — Windows one-liner
432
+ irm https://raw.githubusercontent.com/ionivetech/mugiwara/main/scripts/install.ps1 | iex
433
+ ```
405
434
 
406
- ### Project layout
435
+ **Update** `mugiwara update` (or `npm update -g @ionivetech/mugiwara`).
407
436
 
408
- ```
409
- mugiwara/
410
- ├── src/ # TypeScript: CLI, installer, target adapters
411
- │ └── targets/ # one adapter per AI agent (claude, opencode, gemini, ...)
412
- ├── test/ # vitest suites
413
- ├── content/ # single source of truth for the crew
414
- │ ├── skills/ # 21 skills (one dir per skill, SKILL.md inside)
415
- │ └── agents/ # 15 agents (<name>.md)
416
- ├── scripts/ # install.sh, install.ps1, validate-content.ts
417
- ├── hooks/ # Claude Code SessionStart hook (hooks.json + session-start.ts)
418
- ├── .claude-plugin/ # Claude plugin + marketplace metadata; sync.sh copies
419
- ├── agents/ # plugin copies of content/agents/ (generated by sync.sh)
420
- ├── skills/ # plugin copies of content/skills/ (generated by sync.sh)
421
- ├── dist/ # bundled CLI output (generated, gitignored)
422
- ├── docs/ # specs, plans, research
423
- └── package.json
437
+ **Uninstall** — `mugiwara uninstall` (removes exactly what the manifest recorded; or `npm uninstall -g @ionivetech/mugiwara`).
438
+ </details>
439
+
440
+ **Skills only, any agent** all 32 skills ship in the standard
441
+ [agentskills.io](https://agentskills.io) layout (`skills/<name>/SKILL.md`), so
442
+ you can install just the skills into Claude Code, opencode, Copilot, Cursor,
443
+ Codex, Gemini CLI, and 70+ other agents via [skills.sh](https://skills.sh):
444
+
445
+ ```bash
446
+ npx skills add ionivetech/mugiwara
424
447
  ```
425
448
 
426
- ### Adding a skill
449
+ ## CLI commands and flags
427
450
 
428
- 1. Create `content/skills/<name>/SKILL.md` — flat frontmatter (`name`,
429
- `description`), body ≤ 120 lines.
430
- 2. Reference it from at least one agent's `skills` field in
431
- `content/agents/*.md`.
432
- 3. Run `bun run validate` to confirm it passes the schema.
433
- 4. Re-sync the plugin copies with `.claude-plugin/sync.sh`.
451
+ ### Commands
434
452
 
435
- ### Adding an agent
453
+ | Command | Effect |
454
+ |---------|--------|
455
+ | `mugiwara install` | Install the crew (default; wizard when flags are missing) |
456
+ | `mugiwara update` | Replace installed files, backing up differences to `.mugiwara/backup/<timestamp>/` first |
457
+ | `mugiwara uninstall` | Remove exactly what the install manifest recorded |
458
+ | `mugiwara list` | Show installations (project + global manifests) |
459
+ | `mugiwara skills` | List the installable skills (agentskills.io) + skills.sh install command |
460
+ | `mugiwara --help` | Print usage and flags |
461
+ | `mugiwara --version` | Print the package version |
436
462
 
437
- 1. Create `content/agents/<name>.md` with a `skills` field listing the skills
438
- it calls.
439
- 2. Run `bun run validate`.
440
- 3. Re-sync with `.claude-plugin/sync.sh`.
463
+ ### Flags
441
464
 
442
- ## Content schema
465
+ | Flag | Meaning |
466
+ |------|---------|
467
+ | `--global` | Install user-wide (writes to your home directory) |
468
+ | `--project <dir>` | Install into a project directory (default: current directory) |
469
+ | `--target <ids\|all>` | Comma-separated target IDs, or `all`. Valid: `claude, opencode, copilot, gemini, codex, windsurf, cline, kilo, antigravity` |
470
+ | `--yes`, `-y` | Non-interactive. Requires `--global` or `--project`, and `--target` |
471
+ | `--force` | Overwrite files that differ (conflicting files are backed up first) |
472
+ | `--dry-run` | Print the actions without writing anything |
443
473
 
444
- Every skill and agent is a single markdown file with **flat frontmatter** — no
445
- nested fields:
474
+ Every install writes `.mugiwara/manifest.json` recording the version, scope,
475
+ targets, and the exact written files — which is what `update` and `uninstall`
476
+ use to operate safely.
446
477
 
447
- ```yaml
448
- ---
449
- name: mugiwara-example
450
- description: Use when <trigger condition> — <what it does, how it behaves>.
451
- ---
478
+ ## Targets
452
479
 
453
- <body>
454
- ```
480
+ | Target | Scope | Installs as |
481
+ |--------|-------|-------------|
482
+ | Claude Code | global + project | Native skills (`SKILL.md`) + agents in `.claude/skills` / `.claude/agents` |
483
+ | opencode | global + project | Native skills + agents in `.opencode/skills` / `.opencode/agents` |
484
+ | GitHub Copilot | global + project | Skills as `.instructions.md` files + agents in `instructions/` / `agents/` |
485
+ | Gemini CLI | project only | Markdown rules in `.gemini/mugiwara/` + `GEMINI.md` pointer |
486
+ | Codex | project only | Markdown rules in `.codex/mugiwara/` + `AGENTS.md` pointer |
487
+ | Windsurf | project only | Rules files in `.devin/rules` |
488
+ | Cline | project only | Rules files in `.clinerules` |
489
+ | Kilo Code | project only | Rules files in `.kilo/rules` + `kilo.jsonc` pointer |
490
+ | Antigravity | project only | Rules files in `.agents/rules` |
455
491
 
456
- | Rule | Detail |
457
- |------|--------|
458
- | Naming | `name` must equal the directory (skills) or file (agents) name |
459
- | Description | `description` 20–500 characters for skills, ≥20 for agents |
460
- | Trigger phrasing | Descriptions start with "Use when …" (skills) or "Dispatch when …" (agents) so your AI tool auto-selects the right one |
461
- | Skill body | ≤ 120 lines |
462
- | Agent `skills` | Every agent must list the skills it calls, comma-separated; each must exist |
463
- | References | Every skill except `mugiwara-workflow` must be referenced by at least one agent |
464
- | Uniqueness | No duplicate `name` across skills and agents |
492
+ ## Plugin manifests
465
493
 
466
- Run `bun run validate` before opening a PR it checks all of this and exits
467
- non-zero on any violation.
494
+ Mugiwara ships native plugin manifests at the repo root so each harness's own
495
+ installer can pick it up: `.claude-plugin/`, `.opencode/plugins/mugiwara.mjs`,
496
+ `gemini-extension.json` + `GEMINI.md`, `.codex-plugin/plugin.json`,
497
+ `.cursor-plugin/plugin.json`, `.kimi-plugin/plugin.json`, and the `"pi"` entry
498
+ in `package.json`. All manifests are skills-only and mirror `content/` as the
499
+ source of truth. The opencode plugin also registers the 15 agents. Versions
500
+ sync from `package.json` via `bun run sync-version`.
468
501
 
469
502
  ## Contributing
470
503
 
471
- Open an issue or pull request on GitHub. If you add content (skills/agents),
472
- follow the [content schema](#content-schema) and run `bun run validate` before
473
- opening the PR.
504
+ Open an issue or pull request on GitHub.
474
505
 
475
506
  ## Resources
476
507
 
508
+ - Docs: [docs/index.md](docs/index.md) — adoption guide, per-harness installs, crew & skill references
477
509
  - GitHub: <https://github.com/ionivetech/mugiwara>
478
510
  - npm: <https://www.npmjs.com/package/@ionivetech/mugiwara>
479
- - Star history: <https://star-history.com/#ionivetech/mugiwara>
480
511
 
481
512
  ## License
482
513
 
483
514
  MIT. Copyright (c) 2026 ionive. See [LICENSE](LICENSE).
484
-
485
- ---
486
-
487
- [![Star History Chart](https://api.star-history.com/svg?repos=ionivetech/mugiwara&type=Date)](https://star-history.com/#ionivetech/mugiwara)