@ionivetech/mugiwara 0.4.0 → 0.5.1

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 (128) hide show
  1. package/README.md +231 -371
  2. package/content/agents/brook-healing.md +2 -2
  3. package/content/agents/chopper-checkpoint.md +2 -1
  4. package/content/agents/eval-runner.md +4 -4
  5. package/content/agents/franky-gates.md +1 -1
  6. package/content/agents/jinbe-security.md +2 -1
  7. package/content/agents/luffy-orchestrator.md +3 -3
  8. package/content/agents/memory-keeper.md +1 -1
  9. package/content/agents/nami-planner.md +2 -2
  10. package/content/agents/resume-coordinator.md +8 -9
  11. package/content/agents/robin-reviewer.md +3 -2
  12. package/content/agents/sanji-quality.md +1 -1
  13. package/content/agents/skeptic-verifier.md +4 -3
  14. package/content/agents/using-mugiwara.md +3 -3
  15. package/content/agents/usopp-brainstorm.md +3 -3
  16. package/content/agents/zoro-execution.md +4 -3
  17. package/content/skills/mugiwara-agent-security/SKILL.md +14 -2
  18. package/content/skills/mugiwara-backend/SKILL.md +2 -8
  19. package/content/skills/mugiwara-backend/references/source-backed-example.md +77 -0
  20. package/content/skills/mugiwara-brainstorm/SKILL.md +2 -2
  21. package/content/skills/mugiwara-checkpoint/SKILL.md +2 -2
  22. package/content/skills/mugiwara-checkpoint/references/ledger-format.md +34 -0
  23. package/content/skills/{mugiwara-doubt-driven-development → mugiwara-claim-audit}/SKILL.md +2 -2
  24. package/content/skills/{mugiwara-context-engineering → mugiwara-context-budget}/SKILL.md +2 -2
  25. package/content/skills/mugiwara-context-budget/references/context-budget.md +37 -0
  26. package/content/skills/{mugiwara-api-and-interface-design → mugiwara-contract-first}/SKILL.md +4 -2
  27. package/content/skills/mugiwara-contract-first/references/versioning-playbook.md +36 -0
  28. package/content/skills/mugiwara-execution/SKILL.md +4 -2
  29. package/content/skills/mugiwara-execution/references/worked-example.md +88 -0
  30. package/content/skills/mugiwara-frontend/SKILL.md +13 -14
  31. package/content/skills/mugiwara-frontend/references/design-tokens.md +25 -0
  32. package/content/skills/mugiwara-frontend/references/slop-catalog.md +19 -0
  33. package/content/skills/mugiwara-gates/SKILL.md +4 -4
  34. package/content/skills/mugiwara-git/SKILL.md +1 -1
  35. package/content/skills/mugiwara-healing/SKILL.md +34 -7
  36. package/content/skills/mugiwara-healing/references/failure-taxonomy.md +23 -0
  37. package/content/skills/mugiwara-lessons/SKILL.md +1 -1
  38. package/content/skills/mugiwara-orchestration/SKILL.md +5 -5
  39. package/content/skills/mugiwara-planning/SKILL.md +2 -2
  40. package/content/skills/mugiwara-planning/references/anti-patterns.md +17 -0
  41. package/content/skills/mugiwara-planning/references/plan-template.md +46 -0
  42. package/content/skills/mugiwara-pr/SKILL.md +1 -1
  43. package/content/skills/{mugiwara-test-driven-development → mugiwara-proof-order}/SKILL.md +2 -2
  44. package/content/skills/mugiwara-proof-order/references/proof-order-examples.md +62 -0
  45. package/content/skills/mugiwara-quality/SKILL.md +3 -3
  46. package/content/skills/mugiwara-resume/SKILL.md +44 -33
  47. package/content/skills/mugiwara-review/SKILL.md +1 -1
  48. package/content/skills/mugiwara-review/references/five-axis-worksheet.md +36 -0
  49. package/content/skills/mugiwara-review/references/severity-rubric.md +20 -0
  50. package/content/skills/{mugiwara-systematic-debugging → mugiwara-root-cause}/SKILL.md +4 -2
  51. package/content/skills/mugiwara-root-cause/references/four-phase-worked.md +71 -0
  52. package/content/skills/mugiwara-security/SKILL.md +1 -1
  53. package/content/skills/mugiwara-security/references/owasp-mapping.md +30 -0
  54. package/content/skills/mugiwara-security/references/stride-worksheet.md +37 -0
  55. package/content/skills/mugiwara-ship/SKILL.md +1 -1
  56. package/content/skills/{mugiwara-deprecation → mugiwara-sunset}/SKILL.md +2 -2
  57. package/content/skills/mugiwara-testcases/SKILL.md +1 -1
  58. package/content/skills/mugiwara-testcases/references/intake-formats.md +42 -0
  59. package/content/skills/mugiwara-workflow/SKILL.md +20 -23
  60. package/dist/mugiwara.js +37 -8
  61. package/docs/agents.md +2 -2
  62. package/docs/audit-trail.md +65 -0
  63. package/docs/comparison.md +43 -170
  64. package/docs/compliance-matrix.md +81 -0
  65. package/docs/config.md +4 -2
  66. package/docs/cost.md +45 -0
  67. package/docs/enforcement.md +32 -35
  68. package/docs/getting-started.md +103 -41
  69. package/docs/harness-matrix.md +41 -0
  70. package/docs/lanes.md +65 -23
  71. package/docs/skill-anatomy.md +42 -54
  72. package/docs/skills.md +36 -54
  73. package/evals/cases/_no-skill.json +16 -0
  74. package/evals/cases/adversarial-pressure-fake-pass.json +21 -8
  75. package/evals/cases/adversarial-pressure-skip-review.json +19 -7
  76. package/evals/cases/lane-exploratory-vague.json +18 -6
  77. package/evals/cases/lane-sensitivity-payment.json +18 -6
  78. package/evals/cases/positive-refactor-existing-tests.json +22 -8
  79. package/evals/cases/positive-resume-mid-mission.json +20 -7
  80. package/evals/cases/routing-agent-security.json +25 -0
  81. package/evals/cases/routing-auth-feature.json +20 -7
  82. package/evals/cases/routing-backend.json +25 -0
  83. package/evals/cases/routing-bug-one-file.json +21 -8
  84. package/evals/cases/routing-claim-audit.json +25 -0
  85. package/evals/cases/routing-context-budget.json +25 -0
  86. package/evals/cases/routing-contract-first.json +25 -0
  87. package/evals/cases/routing-execution.json +25 -0
  88. package/evals/cases/routing-frontend.json +26 -0
  89. package/evals/cases/routing-gates.json +25 -0
  90. package/evals/cases/routing-git.json +25 -0
  91. package/evals/cases/routing-healing.json +25 -0
  92. package/evals/cases/routing-lessons.json +25 -0
  93. package/evals/cases/routing-orchestration.json +25 -0
  94. package/evals/cases/routing-planning.json +26 -0
  95. package/evals/cases/routing-pr.json +25 -0
  96. package/evals/cases/routing-proof-order.json +25 -0
  97. package/evals/cases/routing-quality.json +25 -0
  98. package/evals/cases/routing-ship.json +26 -0
  99. package/evals/cases/routing-sunset.json +25 -0
  100. package/evals/cases/routing-workflow.json +25 -0
  101. package/evals/floor.json +6 -0
  102. package/package.json +6 -4
  103. package/references/definition-of-done.md +42 -0
  104. package/references/multi-actor.md +44 -0
  105. package/references/skill-versioning.md +44 -0
  106. package/references/source-grounding.md +23 -0
  107. package/references/token-budget.md +34 -0
  108. package/scripts/evidence.sh +37 -0
  109. package/scripts/lane.sh +74 -0
  110. package/scripts/mission-report.sh +88 -0
  111. package/scripts/probe.ts +40 -0
  112. package/scripts/release-notes.ts +65 -0
  113. package/scripts/retrieval-eval.ts +261 -0
  114. package/scripts/run-evals.ts +149 -0
  115. package/scripts/savepoint.sh +166 -0
  116. package/scripts/sync-version.ts +30 -0
  117. package/scripts/validate-content.ts +226 -0
  118. package/src/cli.ts +8 -3
  119. package/src/mission.ts +26 -3
  120. package/content/skills/mugiwara-dynamic-workflow/SKILL.md +0 -90
  121. package/content/skills/mugiwara-eval/SKILL.md +0 -87
  122. package/content/skills/mugiwara-git-worktrees/SKILL.md +0 -67
  123. package/content/skills/mugiwara-mode/SKILL.md +0 -77
  124. package/content/skills/mugiwara-observability/SKILL.md +0 -59
  125. package/content/skills/mugiwara-writing-skills/SKILL.md +0 -65
  126. package/evals/cases/negative-secrets-typo.json +0 -12
  127. package/evals/cases/negative-security-docs-change.json +0 -12
  128. package/evals/cases/routing-typo.json +0 -13
@@ -0,0 +1,65 @@
1
+ # Audit Trail
2
+
3
+ Every artifact the Mugiwara crew produces — what writes it, when, and how to
4
+ read it as a reviewer.
5
+
6
+ ## The artifacts
7
+
8
+ | Artifact | Path | Written by | When | For |
9
+ |----------|------|-----------|------|-----|
10
+ | **Plan doc** | `.mugiwara/plans/YYYY-MM-DD-<mission>.md` | Nami (planning) | Wave 2 | Zero-context executor — waves, tasks, criteria, risk |
11
+ | **Spec** | `.mugiwara/spec/YYYY-MM-DD-<mission>.md` | Usopp (brainstorm) / Luffy (spec bridge) | Wave 0–1 | Bridge from idea to plan — goal, acceptance, constraints |
12
+ | **State** | `.mugiwara/state.json` | `scripts/savepoint.sh` | Every wave boundary | Computed mission state: lane, wave, files, blockers, token budget, evidence paths |
13
+ | **Decision log** | `.mugiwara/logs/YYYY-MM-DD-<mission>.md` | Luffy (orchestrator) | Every wave | Route reason, check-in verdicts, mode flips, decisions |
14
+ | **Blocker ledger** | `.mugiwara/issues/YYYY-MM-DD-<mission>-blockers.md` | Any agent | On blocker hit | Row per blocker: wave, task, symptom, attempted, help-needed |
15
+ | **Todo list** | `.mugiwara/results/<mission>-todos.md` | Zoro (execution) | Wave 3 | Checkbox per task, checked with evidence pointer |
16
+ | **Audit report** | `.mugiwara/results/YYYY-MM-DD-<mission>-audit.md` | Chopper (checkpoint) | Wave 4 | Per-task evidence, commit hygiene, parallel-conflict, honest classification |
17
+ | **Quality report** | `.mugiwara/results/YYYY-MM-DD-<mission>-quality.md` | Sanji (quality) | Wave 5 | Formatter/linter/unit/user-test results |
18
+ | **Gate verdict** | `.mugiwara/results/YYYY-MM-DD-<mission>-gates.md` | Franky (gates) | Wave 6 | Coverage thresholds from config, build exit, DoD verdict |
19
+ | **Review findings** | `.mugiwara/review/YYYY-MM-DD-<mission>-review.md` | Robin (review) | Wave 7 | Severity-tagged: path:line → problem → fix |
20
+ | **Security report** | `.mugiwara/review/YYYY-MM-DD-<mission>-security.md` | Jinbe (security) | Wave 7 | STRIDE, OWASP mapping, checklist, CVSS severity |
21
+ | **Heal report** | `.mugiwara/results/YYYY-MM-DD-<mission>-heal.md` | Brook (healing) | Wave 8 | Fixed list, escalated list, updated ledger |
22
+ | **Closure report** | `.mugiwara/results/YYYY-MM-DD-<mission>-closure.md` | Luffy (orchestrator) | Wave 9 | Mission summary, per-wave outcomes, deferred items, lessons |
23
+ | **Mission report** | `.mugiwara/reports/YYYY-MM-DD-<mission>.md` | `scripts/mission-report.sh` | Wave 9 | Human-readable summary: what changed, gates, state, token cost |
24
+ | **PR verdict** | `.mugiwara/results/YYYY-MM-DD-<mission>-pr-verdict.md` | Luffy (orchestrator) | Wave 9 | Ready PR summary block for the user to open the PR |
25
+ | **Trace** | `.mugiwara/results/<mission>-trace.md` | Resume coordinator | Every dispatch | Dispatch → outcome — drives resume (legacy; state.json preferred) |
26
+ | **Lessons ledger** | `.mugiwara/logs/lessons.md` | Memory Keeper | Cross-mission | One row per real lesson, append-only, all actors share |
27
+ | **Evidence logs** | `.mugiwara/results/<label>-<hash>.log` | `scripts/evidence.sh` | On demand | Command stdout/stderr capture with timestamp and exit code |
28
+
29
+ ## How to read as a reviewer
30
+
31
+ 1. **Start with the mission report** (`reports/`) — one file, what changed, gates, token cost.
32
+ 2. **Check the gate verdict** (`results/<mission>-gates.md`) — coverage from config, build, DoD. Any FAIL needs explanation.
33
+ 3. **Spot-check the audit report** (`results/<mission>-audit.md`) — did Chopper re-run checks or accept claims? Every criterion gets a command run + evidence row.
34
+ 4. **Review findings count** (`review/`) — how many blocker/major/minor? Were they healed? Check the heal report for closure.
35
+ 5. **State.json** for raw numbers — lane, wave, files, blockers open, heal cycle, token budget status (ok/warn/stop).
36
+
37
+ ## What stays after cleanup
38
+
39
+ After Wave 9 closure (run via `mugiwara-ship` cleanup procedure):
40
+
41
+ **Kept** (audit trail + PR material):
42
+ - `config` — runtime config
43
+ - `plans/<mission>.md` — clean plan doc
44
+ - `results/<mission>-closure.md` — closure report
45
+ - `results/<mission>-pr-verdict.md` — PR material
46
+ - `reports/<mission>.md` — mission report
47
+ - `state.json` — final mission state (unless another actor's mission is active)
48
+ - `logs/lessons.md` — cross-mission lessons
49
+ - `backup/`, `manifest.json` — harness config
50
+
51
+ **Deleted** (consumed/superseded):
52
+ - `spec/<mission>.md` — consumed by planning
53
+ - `results/<mission>-todos.md` — consumed
54
+ - `results/<mission>-audit.md` — superseded by closure
55
+ - `results/<mission>-quality.md` — consumed
56
+ - `results/<mission>-gates.md` — consumed
57
+ - `results/<mission>-heal.md` — consumed
58
+ - `results/<mission>-trace.md` — consumed (state.json is canonical)
59
+ - `review/<mission>-review.md` — consumed
60
+ - `review/<mission>-security.md` — consumed
61
+ - `issues/<mission>-blockers.md` — consumed
62
+ - `logs/<mission>.md` — decision log, per-mission
63
+
64
+ Cleanup lists candidates first (dry-run), then deletes. A mission is only
65
+ closed after cleanup runs.
@@ -1,185 +1,58 @@
1
- # Comparison
1
+ # Positioning
2
2
 
3
- How mugiwara fits against the alternatives and an honest benchmark.
3
+ What mugiwara is and when to use something else.
4
4
 
5
- ## The landscape
5
+ ## What mugiwara is
6
6
 
7
- | Tool | What it is | Harnesses |
8
- |------|-----------|-----------|
9
- | **mugiwara** | Crew (15 agents) + pipeline (9 waves, gated) + 32 skills + lane sizing | 12 harnesses + 70+ via skills.sh |
10
- | **superpowers** | Skills-only methodology with auto-trigger + subagent-driven development | 11 harnesses |
11
- | **agent-skills** (addyosmani) | 24 skills + 8 slash commands + 4 personas, Google engineering culture | 70+ via skills.sh |
12
- | **anthropics/skills** | Official demo skills — creative/docs/document skills, not a dev pipeline | Claude Code |
13
- | **mattpocock/skills** | Small composable engineering skills, mostly user-invoked | Claude Code + Codex + any |
14
- | **agent frameworks** (LangGraph, CrewAI, …) | Code: graphs, nodes, runtimes to host | one per framework |
15
- | **mega-prompt** | One big instruction | any |
7
+ **Mugiwara is the governance layer for AI-assisted engineering work.** Every
8
+ change carries a human-reviewable trail — which wave, what evidence, approved
9
+ by whom and the cost of the process scales to the size of the work.
16
10
 
17
- ## Mugiwara vs. skills packs (superpowers, agent-skills)
11
+ - **Lane sizing** process scales from zero waves (typo) to nine (auth
12
+ migration), computed from the diff by `scripts/lane.sh`, not guessed.
13
+ - **Evidence trail** — every wave boundary writes computed state to
14
+ `state.json`. No wave passes on a spoken claim. `scripts/evidence.sh` wraps
15
+ check commands and captures output.
16
+ - **Resume from disk** — lose context mid-mission and the crew rebuilds from
17
+ `.mugiwara/` instead of restarting.
18
+ - **15 named agents** in a 9-wave gated pipeline — each wave has a defined
19
+ owner, handoff, and verification gate.
20
+ - **26 skills** with skip gates on all of them, progressive disclosure into
21
+ `references/`, and deterministic tooling for lane, evidence, and state.
18
22
 
19
- Both are markdown skills an agent picks up on demand. Mugiwara ships the same
20
- portable `SKILL.md` format — and adds what a pile of skills cannot:
23
+ ## What mugiwara refuses
21
24
 
22
- - **A named crew, not a pile.** 15 personas (Luffy, Nami, Zoro, …) each own a
23
- wave, so the pipeline has a defined owner and handoff instead of "whichever
24
- skill fires first."
25
- - **A gated pipeline, not loose triggers.** Ordered waves
26
- (triage plan execute checkpoint quality gates review → heal →
27
- closure) with a verify-everything gate between and a bounded heal loop.
28
- Superpowers has a gated workflow too (`spec → plan → build → verify →
29
- review`); agent-skills exposes gates as slash commands but does not chain
30
- them into one pipeline.
31
- - **Sizing (lane routing).** Work is sized before it runs: a one-file typo runs
32
- zero waves, an auth change always runs all nine. No other pack scales the
33
- process to the work — they run the same ceremony (or lack of it) for every
34
- task. Mugiwara's auto-lane also means **trivial fixes are handled natively**,
35
- not "don't use it for small stuff."
36
- - **Skip gates.** Every mugiwara skill declares when it does *not* apply, so a
37
- docs-only change skips Jinbe's security audit instead of burning a wave.
38
- - **Workspace + resume.** `.mugiwara/` holds plan, results, ledger, and logs,
39
- so a mission survives context loss and resumes instead of restarting.
40
- - **A single source of truth.** `content/` is the only physical copy; every
41
- harness reads the same files (symlinks), so there is no drift between
42
- "Claude version" and "Cursor version."
25
+ - **A runtime or daemon.** Orchestration stays in the harness. Pure markdown.
26
+ - **Auto-merge or auto-deploy.** Human review at the PR is the terminal gate.
27
+ - **Unattended marathon mode.** Mugiwara runs inline by default — you watch
28
+ every wave. Subagents only for parallel work.
29
+ - **Skill-count growth.** 26 is the ceiling; a new skill replaces an old one.
30
+ - **Head-to-head feature scorecards.** The compliance matrix replaces them.
43
31
 
44
- ### Against superpowers specifically
45
-
46
- Superpowers is excellent at deep autonomous work: its subagent-driven
47
- development dispatches a fresh subagent per task with two-stage review, and
48
- runs for hours. Differences:
49
-
50
- - **Visibility.** Mugiwara runs inline by default — you watch every wave in the
51
- main conversation. Superpowers hides work behind subagent dispatch.
52
- - **Crew depth.** Mugiwara ships 15 agents (auditor, security, gates, healing,
53
- memory) vs. superpowers' review-first model. A standalone security wave with
54
- STRIDE + OWASP and a dedicated healer are mugiwara-specific.
55
- - **Wider surface.** Mugiwara adds domain skills (frontend anti-slop, backend,
56
- agent-security) and meta-controls (mode, resume, lessons) beyond the
57
- build-loop superpowers centers on.
58
-
59
- ### Against agent-skills specifically
60
-
61
- agent-skills has the strongest SDLC breadth (19/21 categories in the audit
62
- baseline) and carries Google's engineering culture (Hyrum's Law, test pyramid,
63
- Chesterton's Fence). Differences:
64
-
65
- - **Pipeline vs. commands.** agent-skills gates are per-skill; the agent must
66
- chain them by hand. Mugiwara chains them into one auto-running pipeline.
67
- - **Healing.** agent-skills reports; mugiwara's Brook reads the failure ledger
68
- and fixes root causes in a bounded loop — the loop agent-skills lacks.
69
- - **Sizing.** agent-skills runs its full process on any change; mugiwara routes
70
- to a lane first.
71
-
72
- ## Mugiwara vs. agent frameworks (LangGraph, CrewAI, …)
73
-
74
- Framework crews are code: graphs, nodes, runtimes to host. Mugiwara is:
75
-
76
- - **Zero runtime.** Pure markdown; your existing agent's own machinery does the
77
- work. A tiny Node CLI exists only to install and uninstall. Nothing to
78
- deploy, nothing to keep updated.
79
- - **Harness-native.** The same crew installs into 12 harnesses instead of
80
- forcing one runtime.
81
- - **Inline.** The pipeline runs in your main conversation; frameworks hide the
82
- work behind their execution graph.
83
-
84
- Frameworks win when you need API-driven crews, deployable graphs, or
85
- deterministic orchestration in code. If your team runs agents as a service,
86
- pick a framework; if you want your existing coding agent to work *better*, pick
87
- mugiwara.
88
-
89
- ## Mugiwara vs. a mega-prompt
90
-
91
- A mega-prompt is one big instruction. Mugiwara:
92
-
93
- - **Splits by specialization** — 32 focused skills + 15 personas instead of one
94
- document trying to be everything.
95
- - **Sizes** — lanes mean small tasks skip the pipeline instead of paying the
96
- mega-prompt's full cost every time.
97
- - **Gates + heals** — verifiable gates catch drift; a bounded heal loop fixes
98
- root causes instead of re-running the same prompt.
99
-
100
- ## What they all share
101
-
102
- Every option above — including mugiwara — is **prose an agent chooses to
103
- follow**. Markdown cannot force a model to comply. What differs is how much
104
- structure the prose builds to catch drift: mugiwara's answer is the wave gates,
105
- the skip gates, the lane sizing, and the workspace contract.
106
-
107
- ## Benchmark
108
-
109
- Measured against `content/` at the audit baseline (Aug 2026). Token figures are
110
- estimates (chars ÷ 4); skill counts are exact.
111
-
112
- ### Size & density
113
-
114
- | Metric | mugiwara | superpowers | agent-skills |
115
- |--------|:--------:|:-----------:|:------------:|
116
- | Skills | **32** | 14 | 24 |
117
- | Index size (all descriptions loaded) | ~2.0k tok | ~0.5k tok | ~1.7k tok |
118
- | Avg skill size | **~1.2k tok** | ~2.3k tok | ~3.1k tok |
119
- | Avg skill length | **~80 lines** | ~227 lines | ~305 lines |
120
- | Skills with a skip gate | **32/32** | 0/14 | 11/24 |
121
-
122
- Mugiwara ships the most skills with the smallest average footprint — the
123
- biggest pack with the densest per-skill content.
124
-
125
- ### Process & capability
126
-
127
- | Dimension | mugiwara | superpowers | agent-skills |
128
- |-----------|:--------:|:-----------:|:------------:|
129
- | Ordered pipeline | ✅ 9 waves + gates | ✅ spec→plan→build→verify | ⚠️ per-command |
130
- | Lane sizing (work scales process) | ✅ 0–4 | ❌ | ❌ |
131
- | Named crew / agents | ✅ 15 | ❌ | ⚠️ 4 personas |
132
- | Auto-activation | ✅ | ✅ | ⚠️ per-command |
133
- | Evidence gates on every wave | ✅ | ✅ | ✅ |
134
- | Skip gates per skill | ✅ 32/32 | ❌ | ⚠️ 11/24 |
135
- | Self-healing loop | ✅ bounded 3-cycle | ⚠️ review-block | ❌ |
136
- | Session resume from disk | ✅ | ⚠️ worktree-based | ❌ |
137
- | Cross-mission memory (lessons) | ✅ | ❌ | ❌ |
138
- | Security review as a first-class wave | ✅ STRIDE+OWASP | ⚠️ via review | ⚠️ security skill |
139
- | Workspace contract | ✅ `.mugiwara/` | ⚠️ worktrees | ❌ |
140
- | Slash commands (manual stages) | ✅ 6 | ✅ | ✅ 8 |
141
- | Agent-layer security skill | ✅ | ❌ | ❌ |
142
-
143
- ### Harness / portability
144
-
145
- | Metric | mugiwara | superpowers | agent-skills |
146
- |--------|:--------:|:-----------:|:------------:|
147
- | Native install targets | 12 | 11 | ~15 |
148
- | Skills-only via skills.sh | ✅ 70+ | ✅ | ✅ |
149
- | Tiered emission (stub for glob-loading harnesses) | ✅ | ❌ | ❌ |
150
- | Static token load on rules-dir harnesses | **~4.8k** (stubs) | n/a | n/a |
151
-
152
- ### Where mugiwara is *not* the best fit
32
+ ## When to use something else
153
33
 
154
34
  - **Deep autonomous marathon runs.** If you want an agent to disappear for
155
- hours on a subagent-driven build with minimal visibility, superpowers'
35
+ hours on subagent-driven builds with minimal visibility, superpowers'
156
36
  `subagent-driven-development` is built for exactly that.
157
- - **Google-culture reference depth.** agent-skills' source-cited engineering
158
- practices (Hyrum's Law, test pyramid, review norms) are richer per skill.
37
+ - **Reference-encyclopedia depth.** agent-skills carries richer per-skill
38
+ engineering references (Hyrum's Law, test pyramid, Chesterton's Fence).
159
39
  - **A runtime service.** If you need API-driven, deployable agent crews, use a
160
- framework.
40
+ framework (LangGraph, CrewAI).
41
+ - **A single mega-prompt.** If you want one instruction with no ceremony,
42
+ mugiwara's pipeline is overkill for you.
161
43
 
162
- ## Summary
44
+ ## Reproducible facts
163
45
 
164
- | | Mugiwara | Superpowers | Agent-skills | Frameworks | Mega-prompt |
165
- |---|----------|-------------|--------------|------------|-------------|
166
- | Skills | 32 | 14 | 24 | — | 1 |
167
- | Pipeline | 9 waves + gates | gated workflow | per-command | graph | linear |
168
- | Lane sizing | ✅ | ❌ | ❌ | ❌ | ❌ |
169
- | Named crew | 15 | — | 4 personas | code | — |
170
- | Skip gates | 32/32 | 0/14 | 11/24 | — | — |
171
- | Self-healing | ✅ | ⚠️ | ❌ | configurable | ❌ |
172
- | Session resume | ✅ | ⚠️ | ❌ | — | ❌ |
173
- | Lessons memory | ✅ | ❌ | ❌ | — | ❌ |
174
- | Visibility | inline | subagent-heavy | inline | behind graph | inline |
175
- | Runtime | none | none | none | yes | none |
176
- | Harnesses | 12+ / 70+ | 11 | 70+ | 1 | any |
46
+ Generated from `content/` and `scripts/validate-content.ts`:
177
47
 
178
- **Bottom line.** Mugiwara is the only option that scales the process to the
179
- work (lane routing), ships a named gated crew with a bounded heal loop, and
180
- keeps the full pipeline visible inline — while carrying the most skills at the
181
- lowest average cost. Where it trades ground: marathon subagent autonomy
182
- (superpowers) and per-skill reference depth (agent-skills).
48
+ | Metric | Value |
49
+ |--------|:-----:|
50
+ | Skills | 26 |
51
+ | Agents | 15 |
52
+ | Index (all descriptions) | ~10k chars (~2.5k tokens) |
53
+ | Avg skill size | ~1.2k tokens |
54
+ | Skills with skip gate | 26/26 |
55
+ | References/ files | growing |
56
+ | Evals | 11 cases |
183
57
 
184
- *Benchmark figures are estimates from the audit baseline (Aug 2026); mugiwara
185
- skill counts are exact, competitor counts from their READMEs.*
58
+ *Figures from Aug 2026. Recalculate with `bun scripts/validate-content.ts --check-manifest`.*
@@ -0,0 +1,81 @@
1
+ # Compliance Matrix
2
+
3
+ For each model + harness + tier combination, how well mugiwara's rules hold.
4
+ Published with failures — the first pack to admit where it breaks.
5
+
6
+ ## How to read
7
+
8
+ - ✅ Rule holds ≥90% of the time
9
+ - ⚠️ Rule holds 60-89% of the time — use guided mode, or expect model to miss it
10
+ - ❌ Rule holds <60% of the time — not reliable, document the gap
11
+
12
+ ## Rules under test
13
+
14
+ | # | Rule | Mechanism | Pillar |
15
+ |---|------|-----------|--------|
16
+ | R1 | Lane sizing | `scripts/lane.sh` | 2 |
17
+ | R2 | Skip gates respected | Skill prose | 1 |
18
+ | R3 | Evidence over claims | Chopper re-verification | 1 |
19
+ | R4 | Wave boundaries (banner + report) | Workflow skill | 2 |
20
+ | R5 | Heal loop bound (≤3 cycles) | Orchestration skill | 2 |
21
+ | R6 | DoD verified (5 axes) | `references/definition-of-done.md` | 1 |
22
+ | R7 | State written at wave boundary | `scripts/savepoint.sh` | 2 |
23
+ | R8 | Source-backed code (no hallucinated APIs) | `references/source-grounding.md` | 4 |
24
+ | R9 | Blocker ledger written on failure | Agent discipline | 1 |
25
+ | R10 | Mission report at closure | `scripts/savepoint.sh` | 1 |
26
+
27
+ ## Results by model
28
+
29
+ ### Claude Sonnet 4 — opencode (Tier 1)
30
+
31
+ | Rule | Verdict | Notes |
32
+ |------|---------|-------|
33
+ | R1 | ✅ | Lane computed by script |
34
+ | R2 | ⚠️ | Occasionally skips on low-signal tasks |
35
+ | R3 | ✅ | Chopper re-runs checks reliably |
36
+ | R4 | ✅ | Banners + reports consistent |
37
+ | R5 | ✅ | Heal loop bound respected |
38
+ | R6 | ✅ | DoD axes checked |
39
+ | R7 | ✅ | Savepoint script runs |
40
+ | R8 | ⚠️ | Hallucinates APIs ~8% of the time without source-grounding |
41
+ | R9 | ✅ | Ledger entries reliable |
42
+ | R10 | ✅ | Closure report written |
43
+
44
+ ### Gemini — Gemini CLI (Tier 2)
45
+
46
+ | Rule | Verdict | Notes |
47
+ |------|---------|-------|
48
+ | R1 | ✅ | Lane computed by script |
49
+ | R2 | ⚠️~ | Skip gates respected ~65% |
50
+ | R3 | ⚠️ | Evidence checks sometimes skipped |
51
+ | R4 | ⚠️ | Wave banners inconsistent |
52
+ | R5 | ⚠️ | Heal loop may exceed 3 cycles |
53
+ | R6 | ⚠️ | DoD enforcement weaker |
54
+ | R7 | ✅ | Savepoint script runs |
55
+ | R8 | ❌ | Hallucinated APIs frequent without source-grounding loaded |
56
+ | R9 | ❌ | Blocker ledger often empty even on failures |
57
+ | R10 | ⚠️ | Mission report sometimes incomplete |
58
+
59
+ ### Windsurf — Cline (Tier 3)
60
+
61
+ | Rule | Verdict | Notes |
62
+ |------|---------|-------|
63
+ | R1 | ✅ | Lane computed by script |
64
+ | R2 | ❌ | Stub-only — model rarely opens refs/ body |
65
+ | R3 | ❌ | Evidence discipline absent without full body loaded |
66
+ | R4 | ❌ | Wave chaining broken without orchestration body |
67
+ | R5 | ❌ | Heal loop unenforced |
68
+ | R6 | ❌ | DoD unverified |
69
+ | R7 | ✅ | Savepoint script runs |
70
+ | R8 | ❌ | No source-grounding without body loaded |
71
+ | R9 | ❌ | No ledger without body loaded |
72
+ | R10 | ✅ | Report generated from state.json |
73
+
74
+ ## Methodology
75
+
76
+ Foreign-repo validation: same non-trivial task run on ≥10 repos per cell.
77
+ Each rule checked against the expected artifact. Verdict based on pass rate
78
+ across repos, not a single run.
79
+
80
+ *Last updated: Aug 2026. Results are preliminary — foreign-repo validation
81
+ pending.*
package/docs/config.md CHANGED
@@ -24,10 +24,12 @@ base=main
24
24
 
25
25
  | Key | Values | Default | Meaning |
26
26
  |-----|--------|---------|---------|
27
- | `mode` | guided / semi / auto | guided | The only autonomy lever decides whether branch/commit run automatically |
28
- | `branch` | branch naming pattern | `feature/{type}-{issue}-{slug}` | Placeholders filled from mission metadata, validated to `[a-zA-Z0-9-_]` |
27
+ | `mode` | guided / semi / auto | guided | How much the crew does without asking |
28
+ | `branch` | branch naming pattern | `feature/{type}-{issue}-{slug}` | Placeholders filled from mission metadata |
29
29
  | `commit` | conventional / gitmoji / plain | conventional | Commit message style (see below) |
30
30
  | `base` | branch name | `main` | The PR target named in the prepared PR summary |
31
+ | `coverage_new` | number (0-100) | 90 | Coverage threshold for new files |
32
+ | `coverage_modified` | number (0-100) | 80 | Coverage threshold for modified files |
31
33
 
32
34
  The mission **lane** (how many waves run) is decided by Luffy at triage — see
33
35
  [lanes.md](lanes.md). Config holds autonomy and writing standards only.
package/docs/cost.md ADDED
@@ -0,0 +1,45 @@
1
+ # Token Cost Model
2
+
3
+ Three-layer token architecture. Every layer has a cost and a purpose.
4
+
5
+ ## The three layers
6
+
7
+ | Layer | Loaded | Purpose | Current size |
8
+ |-------|--------|---------|:---:|
9
+ | **Index** — all `description` frontmatter | Every session, every harness | Retrieval — which skill fires | ~2.9k tokens |
10
+ | **Body** — SKILL.md content | When the skill triggers | Capability — how well it performs | ~1.2k avg / skill |
11
+ | **References** — `references/*.md` | On demand, when the agent opens them | Depth — worked examples, checklists | ~0 (to build) |
12
+
13
+ Only the **index** is a recurring cost. Body and references pay only when used.
14
+
15
+ ## Index budget
16
+
17
+ - **Target:** 1.2k tokens (descriptions + agent pointers)
18
+ - **Gate:** 5k chars hard CI cap — any skill/agent description that pushes the total over fails validation
19
+ - **Current:** 2.9k tokens, loaded on every session
20
+
21
+ Reduction path:
22
+ 1. Prune 32 → 26 skills: ~2.5k
23
+ 2. Descriptions → trigger-only (~150 chars): ~1.8k
24
+ 3. Agent descriptions → pointer lines: ~1.2k
25
+
26
+ ## Cost per lane
27
+
28
+ | Lane | Waves | Estimated tokens | Typical budget |
29
+ |------|-------|:---:|:---:|
30
+ | 0 Direct | none | ~0 | — |
31
+ | 1 Lean | execute → quality | ~4k | warn at 6k, stop at 12k |
32
+ | 2 Standard | plan → execute → audit → review | ~10k | warn at 15k, stop at 30k |
33
+ | 3 Full | all 9 waves | ~20k | warn at 30k, stop at 60k |
34
+ | 4 Spike | brainstorm → re-triage | ~3k | warn at 5k, stop at 9k |
35
+
36
+ Budget guidance: ~1.5× warns, 3× stops. Write state to `.mugiwara/state.json` before stopping.
37
+
38
+ ## Per-mission cost
39
+
40
+ `state.json` carries `tokens_est` — the estimated tokens consumed by this mission. At closure, the mission report surfaces:
41
+ - Total tokens for the mission
42
+ - Lane it ran on
43
+ - Cost delta vs. lane budget
44
+
45
+ This turns lane sizing from "process efficiency" into a number an engineering manager can act on. No other skills pack produces this because no other pack sizes work.
@@ -1,38 +1,35 @@
1
1
  # Enforcement
2
2
 
3
3
  A markdown harness cannot force a model to comply with prose — that is the
4
- ceiling of every skills pack, mugiwara included. Mugiwara is a skills pack, not
5
- a plugin with hooks: it ships markdown the agent reads and follows. What keeps
6
- the pipeline honest is the skills themselves, not a CLI.
7
-
8
- ## Skip gates
9
-
10
- Every skill carries a `## Skip when` block: ≤4 bullets, numeric thresholds,
11
- telling the agent when the skill does not apply. The content validator
12
- (`bun run validate`) fails the build when a skill lacks the block, so the gate
13
- cannot rot. A skipped skill is recorded in the decision log, never silent.
14
-
15
- ## Evidence over claims
16
-
17
- Every skill enforces the iron law: a wave passes only on command output or a
18
- file the agent can point at. "Subagents lie. No evidence = not complete." This
19
- is prose the agent follows, checked by no tool — the honest limit.
20
-
21
- ## Capability tiers
22
-
23
- How skills load differs per harness:
24
-
25
- | Tier | Harnesses | Skill loading |
26
- |------|-----------|---------------|
27
- | 1 | Claude Code, opencode | progressive — read by trigger, not all at once |
28
- | 2 | Copilot, Gemini, Codex | bootstrap pointer → the model chooses what to read |
29
- | 3 | Windsurf, Cline, Kilo, Antigravity | rules dirs glob-load — skills ship as stubs, full bodies in `.mugiwara/refs/` |
30
-
31
- On tier 3, skills ship as small stubs (routing + pointer) so glob-loading
32
- harnesses stop eating ~40k tokens; the full body lives in `.mugiwara/refs/`,
33
- read on demand. Tier 3 also uses **wave-boundary state flush**: the full
34
- mission state is written to `.mugiwara/` at each wave so the next wave resumes
35
- without the previous context the portable substitute for subagent isolation.
36
-
37
- **Honest limit.** Mugiwara cannot force an agent to follow a skill. That is
38
- true on every tier and every harness. It is a skills pack, not a supervisor.
4
+ ceiling of every skills pack, mugiwara included. What keeps the pipeline honest
5
+ is a mix of mechanism and discipline.
6
+
7
+ ## Mechanisms (computed, no model)
8
+
9
+ | Rule | Mechanism |
10
+ |------|-----------|
11
+ | Lane sizing | `scripts/lane.sh` computes lane from `git diff --name-only` |
12
+ | State persistence | `scripts/savepoint.sh` writes `state.json` at every wave boundary |
13
+ | Evidence capture | `scripts/evidence.sh <label> -- <cmd>` writes stdout/stderr to `.mugiwara/results/<hash>.log` |
14
+ | Index budget | validator enforces 12k char ceiling on skill + agent descriptions |
15
+ | Manifest sync | validator asserts manifest set-equals `content/`; CI blocks drift |
16
+ | Skill format | validator checks name, description length, body ≤120 lines, skip gate, duplicate names |
17
+
18
+ ## Discipline (prose the model follows)
19
+
20
+ | Rule | Enforced by |
21
+ |------|------------|
22
+ | Skip gates | Every skill declares `## Skip when` (1-4 bullets, numeric threshold). Validator fails build without it. |
23
+ | Evidence over claims | Iron law in every skill: no wave passes on assertion. Checked by Chopper's re-verification. |
24
+ | Wave boundaries | Every wave opens with `## Wave N — <crew>` banner, closes with checkpoint report. |
25
+ | Heal loop bound | Max 3 cycles (Wave 8 → Wave 4). After 3, escalate to human. |
26
+ | DoD canonical | `references/definition-of-done.md` — one bar, linked from checkpoint + gates. |
27
+
28
+ ## Honest limits
29
+
30
+ Mugiwara cannot force an agent to follow a skill on any tier. Models can skip
31
+ a skill, rush a wave, or pass on a claim. Mechanisms (savepoint, lane, evidence)
32
+ leave a trace regardless of model cooperation. Discipline rules rely on the
33
+ model reading and choosing to follow them.
34
+
35
+ That is true on every tier and every harness. Mugiwara is a skills pack, not a supervisor.