@ionivetech/mugiwara 0.5.5 → 0.6.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.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +3 -2
- package/.codex-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/.kimi-plugin/plugin.json +1 -1
- package/.opencode/commands/mugiwara-continue.md +16 -0
- package/.opencode/commands/mugiwara-execute.md +6 -4
- package/.opencode/commands/mugiwara-heal.md +6 -4
- package/.opencode/commands/mugiwara-plan.md +6 -4
- package/.opencode/commands/mugiwara-review.md +6 -4
- package/.opencode/commands/mugiwara-security.md +6 -4
- package/.opencode/commands/mugiwara-ship.md +6 -4
- package/.opencode/commands/mugiwara.md +4 -2
- package/.opencode/commands/using-mugiwara.md +7 -13
- package/.opencode/plugins/mugiwara.mjs +18 -6
- package/AGENTS.md +1 -1
- package/GEMINI.md +1 -1
- package/README.md +251 -120
- package/content/agents/brook-healing.md +17 -3
- package/content/agents/chopper-checkpoint.md +17 -3
- package/content/agents/eval-runner.md +17 -2
- package/content/agents/franky-gates.md +19 -5
- package/content/agents/jinbe-security.md +19 -3
- package/content/agents/luffy-orchestrator.md +6 -3
- package/content/agents/memory-keeper.md +15 -0
- package/content/agents/nami-planner.md +21 -6
- package/content/agents/onboarding-guide.md +145 -0
- package/content/agents/resume-coordinator.md +21 -5
- package/content/agents/robin-reviewer.md +18 -3
- package/content/agents/sanji-quality.md +19 -4
- package/content/agents/skeptic-verifier.md +18 -3
- package/content/agents/usopp-brainstorm.md +17 -3
- package/content/agents/zoro-execution.md +18 -3
- package/content/skills/mugiwara-backend/SKILL.md +1 -1
- package/content/skills/mugiwara-brainstorm/SKILL.md +5 -1
- package/content/skills/mugiwara-checkpoint/SKILL.md +2 -2
- package/content/skills/mugiwara-contract-first/SKILL.md +2 -36
- package/content/skills/mugiwara-contract-first/references/process.md +37 -0
- package/content/skills/mugiwara-execution/SKILL.md +30 -13
- package/content/skills/mugiwara-execution/references/resume-batching.md +32 -0
- package/content/skills/mugiwara-frontend/SKILL.md +1 -1
- package/content/skills/mugiwara-gates/SKILL.md +32 -30
- package/content/skills/mugiwara-healing/SKILL.md +1 -1
- package/content/skills/mugiwara-orchestration/SKILL.md +41 -25
- package/content/skills/mugiwara-orchestration/references/delegation-pillars.md +40 -0
- package/content/skills/mugiwara-orchestration/references/triage-escalation.md +96 -0
- package/content/skills/mugiwara-planning/SKILL.md +23 -27
- package/content/skills/mugiwara-planning/references/plan-template.md +42 -0
- package/content/skills/mugiwara-pr/SKILL.md +2 -2
- package/content/skills/mugiwara-quality/SKILL.md +10 -6
- package/content/skills/mugiwara-resume/SKILL.md +7 -2
- package/content/skills/mugiwara-review/SKILL.md +20 -1
- package/content/skills/mugiwara-review/references/code-attributes.md +38 -0
- package/content/skills/mugiwara-root-cause/SKILL.md +3 -30
- package/content/skills/mugiwara-root-cause/references/process.md +35 -0
- package/content/skills/mugiwara-security/SKILL.md +17 -32
- package/content/skills/mugiwara-security/references/owasp-top10.md +12 -0
- package/content/skills/mugiwara-security/references/rationalizations.md +8 -0
- package/content/skills/mugiwara-ship/SKILL.md +5 -4
- package/content/skills/mugiwara-workflow/SKILL.md +74 -77
- package/content/skills/mugiwara-workflow/references/workspace-layout.md +50 -0
- package/content/skills/using-mugiwara/SKILL.md +8 -19
- package/dist/mugiwara.js +107 -41
- package/gemini-extension.json +1 -1
- package/hooks/session-start.ts +1 -1
- package/package.json +11 -4
- package/plugin.json +1 -1
- package/references/multi-actor.md +1 -1
- package/scripts/evidence.sh +12 -5
- package/scripts/gate-selftest.ts +266 -0
- package/scripts/initiative.ts +248 -0
- package/scripts/lane.sh +15 -0
- package/scripts/mission-report.sh +90 -12
- package/scripts/onboard.ts +292 -0
- package/scripts/release-notes.ts +42 -13
- package/scripts/savepoint.sh +97 -50
- package/scripts/validate-content.ts +77 -0
- package/scripts/verify-install.ts +72 -0
- package/src/installer.ts +34 -7
- package/src/mission.ts +7 -5
- package/src/targets/claude.ts +20 -3
- package/src/targets/generic.ts +1 -1
- package/src/targets/opencode.ts +31 -10
- package/docs/concepts/agents.md +0 -53
- package/docs/concepts/audit-trail.md +0 -65
- package/docs/concepts/comparison.md +0 -58
- package/docs/concepts/config.md +0 -55
- package/docs/concepts/cost.md +0 -45
- package/docs/concepts/execution-model.md +0 -92
- package/docs/concepts/git-strategy.md +0 -62
- package/docs/concepts/lanes.md +0 -82
- package/docs/concepts/modes.md +0 -73
- package/docs/concepts/pr-summary.md +0 -54
- package/docs/concepts/skills.md +0 -55
- package/docs/concepts/workflow.md +0 -89
- package/docs/getting-started.md +0 -158
- package/docs/index.md +0 -56
- package/docs/install/antigravity.md +0 -45
- package/docs/install/claude.md +0 -77
- package/docs/install/cli.md +0 -115
- package/docs/install/codex.md +0 -44
- package/docs/install/copilot.md +0 -45
- package/docs/install/cursor.md +0 -45
- package/docs/install/gemini.md +0 -44
- package/docs/install/index.md +0 -53
- package/docs/install/kimi.md +0 -45
- package/docs/install/opencode.md +0 -143
- package/docs/install/pi.md +0 -46
- package/docs/reference/adoption-guide.md +0 -72
- package/docs/reference/agent-anatomy.md +0 -72
- package/docs/reference/compliance-matrix.md +0 -81
- package/docs/reference/developer-onboarding.md +0 -89
- package/docs/reference/enforcement.md +0 -35
- package/docs/reference/harness-matrix.md +0 -41
- package/docs/reference/skill-anatomy.md +0 -71
- package/docs/troubleshooting.md +0 -91
- package/evals/cases/_no-skill.json +0 -16
- package/evals/cases/adversarial-pressure-fake-pass.json +0 -25
- package/evals/cases/adversarial-pressure-skip-review.json +0 -25
- package/evals/cases/lane-exploratory-vague.json +0 -24
- package/evals/cases/lane-sensitivity-payment.json +0 -24
- package/evals/cases/positive-refactor-existing-tests.json +0 -25
- package/evals/cases/positive-resume-mid-mission.json +0 -24
- package/evals/cases/routing-agent-security.json +0 -25
- package/evals/cases/routing-auth-feature.json +0 -26
- package/evals/cases/routing-backend.json +0 -25
- package/evals/cases/routing-bug-one-file.json +0 -26
- package/evals/cases/routing-claim-audit.json +0 -25
- package/evals/cases/routing-context-budget.json +0 -25
- package/evals/cases/routing-contract-first.json +0 -25
- package/evals/cases/routing-execution.json +0 -25
- package/evals/cases/routing-frontend.json +0 -26
- package/evals/cases/routing-gates.json +0 -25
- package/evals/cases/routing-git.json +0 -25
- package/evals/cases/routing-healing.json +0 -25
- package/evals/cases/routing-lessons.json +0 -25
- package/evals/cases/routing-orchestration.json +0 -25
- package/evals/cases/routing-planning.json +0 -26
- package/evals/cases/routing-pr.json +0 -25
- package/evals/cases/routing-quality.json +0 -25
- package/evals/cases/routing-ship.json +0 -26
- package/evals/cases/routing-sunset.json +0 -25
- package/evals/cases/routing-using-mugiwara.json +0 -25
- package/evals/cases/routing-workflow.json +0 -25
- package/evals/floor.json +0 -6
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# Enforcement
|
|
2
|
-
|
|
3
|
-
A markdown harness cannot force a model to comply with prose — that is the
|
|
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.
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Harness Matrix
|
|
2
|
-
|
|
3
|
-
What actually differs per harness tier. Every skill and agent file ships to every harness, but behavior differs in three tiers.
|
|
4
|
-
|
|
5
|
-
| Tier | Harnesses | Skills | Agents | `references/` | Scope |
|
|
6
|
-
|------|-----------|--------|--------|:---:|-------|
|
|
7
|
-
| **1** | Claude Code, opencode | Native, auto-trigger per skill | Real, dispatchable | Yes | global + project |
|
|
8
|
-
| **2** | Gemini, Codex, Copilot | Full body in rules dir + bootstrap pointer | Markdown only | Yes | project only |
|
|
9
|
-
| **3** | Windsurf, Cline, Kilo, Antigravity | Stub; body in `.mugiwara/refs/` | Stub | Yes | project only |
|
|
10
|
-
|
|
11
|
-
## Behavioral differences
|
|
12
|
-
|
|
13
|
-
### Tier 1 — Full
|
|
14
|
-
|
|
15
|
-
- Skills auto-trigger when `description` frontmatter matches the task.
|
|
16
|
-
- Agents are dispatchable subagents with isolation.
|
|
17
|
-
- Progressive disclosure works: description → body → `references/`.
|
|
18
|
-
- Global scope supported — install once, use in every project.
|
|
19
|
-
|
|
20
|
-
### Tier 2 — Skills only
|
|
21
|
-
|
|
22
|
-
- Agent files are markdown — the main thread embodies the persona, no subagent dispatch.
|
|
23
|
-
- Skills load as rules files; the model chooses which to read per task.
|
|
24
|
-
- **Project scope only** — `generic.ts` throws on global scope.
|
|
25
|
-
- `references/` files are copied to `.mugiwara/refs/` and reachable.
|
|
26
|
-
|
|
27
|
-
### Tier 3 — Stubs
|
|
28
|
-
|
|
29
|
-
- Rule directories get **stub files** — the frontmatter and a pointer to `.mugiwara/refs/`.
|
|
30
|
-
- Full body is loaded only when the agent opens the reference file.
|
|
31
|
-
- Saves ~40k tokens of glob-load. Trade: the model must decide to open the ref.
|
|
32
|
-
- **Project scope only.**
|
|
33
|
-
- `references/` files are copied to `.mugiwara/refs/` — depth is available, just not auto-loaded.
|
|
34
|
-
- Wave-boundary state flush: savepoint writes `state.json` so the model has computed state to resume from.
|
|
35
|
-
|
|
36
|
-
## What's the same everywhere
|
|
37
|
-
|
|
38
|
-
- All 26 skill directories ship to every harness.
|
|
39
|
-
- All 14 agent markdown files ship to every harness.
|
|
40
|
-
- `references/` files are always copied.
|
|
41
|
-
- The workflow, lane sizing, and evidence discipline are identical — the difference is in how the model loads them.
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Skill Anatomy
|
|
2
|
-
|
|
3
|
-
Every mugiwara skill is a single `SKILL.md` file. No code, no runtime — just
|
|
4
|
-
frontmatter plus a playbook the agent follows.
|
|
5
|
-
|
|
6
|
-
## File structure
|
|
7
|
-
|
|
8
|
-
```
|
|
9
|
-
skills/<skill-name>/SKILL.md
|
|
10
|
-
skills/<skill-name>/references/<topic>.md # optional: overflow detail
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
```markdown
|
|
14
|
-
---
|
|
15
|
-
name: mugiwara-checkpoint
|
|
16
|
-
description: Use after an execution wave to audit results against the plan.
|
|
17
|
-
---
|
|
18
|
-
# Checkpoint (Chopper)
|
|
19
|
-
|
|
20
|
-
<playbook body>
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Frontmatter
|
|
24
|
-
|
|
25
|
-
| Field | Required | Notes |
|
|
26
|
-
|-------|----------|-------|
|
|
27
|
-
| `name` | yes | lowercase, hyphen-separated, matches folder name, ≤64 chars |
|
|
28
|
-
| `description` | yes | 20–500 chars; trigger conditions + disambiguators only. Front-load trigger keywords. |
|
|
29
|
-
| `license`/`compatibility`/`metadata` | no | optional |
|
|
30
|
-
|
|
31
|
-
## Playbook body
|
|
32
|
-
|
|
33
|
-
1. **Title + one-line identity** — role name and what it does/doesn't do.
|
|
34
|
-
2. **Skip when** — required. ≤4 bullets, numeric threshold. Validator fails
|
|
35
|
-
build without it.
|
|
36
|
-
3. **Protocol** — numbered steps, exact commands, exact file paths.
|
|
37
|
-
4. **Decision tables** — signal → action.
|
|
38
|
-
5. **Iron law** — one memorable non-negotiable line.
|
|
39
|
-
6. **Common rationalizations** — excuses + correct reply.
|
|
40
|
-
7. **Red flags** — stop conditions + what to do.
|
|
41
|
-
|
|
42
|
-
## Style rules
|
|
43
|
-
|
|
44
|
-
- **Evidence over claims.** Say what to run, never what to assume.
|
|
45
|
-
- **Concrete, never aspirational.** Exact paths, exact commands.
|
|
46
|
-
- **≤120 lines.** Grow beyond → split or move to `references/`.
|
|
47
|
-
- **Progressive disclosure.** Sections >15–20 lines move to
|
|
48
|
-
`references/<topic>.md`; body gets a one-line pointer saying what to read
|
|
49
|
-
and why.
|
|
50
|
-
- **220-char description ceiling.** Descriptions carry trigger vocabulary, not
|
|
51
|
-
procedure. Procedure belongs in the body.
|
|
52
|
-
|
|
53
|
-
## Three-layer discipline
|
|
54
|
-
|
|
55
|
-
| Stays in body | Moves to references |
|
|
56
|
-
|---------------|---------------------|
|
|
57
|
-
| Skip when, red flags, rationalizations | Worked examples |
|
|
58
|
-
| "Never do X" rules | Long checklists |
|
|
59
|
-
| Step order, decision trees | Reference tables, edge cases, templates |
|
|
60
|
-
|
|
61
|
-
Test: body = what changes behavior on every run. References = what you open
|
|
62
|
-
after deciding to do the work.
|
|
63
|
-
|
|
64
|
-
## Validation
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
bun run validate
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Checks: name matches folder, description 20–500 chars, body ≤120 lines, no
|
|
71
|
-
duplicate names, `## Skip when` block with 1–4 bullets.
|
package/docs/troubleshooting.md
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
# Troubleshooting
|
|
2
|
-
|
|
3
|
-
Common problems, what they mean, and how to fix them.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
### "conflict (not overwritten; run update to replace with backup)"
|
|
8
|
-
|
|
9
|
-
The target already has a file that differs from what mugiwara wants to write —
|
|
10
|
-
likely a previous install or a local edit. `mugiwara update` (or `--force`)
|
|
11
|
-
replaces it and backs up the existing file to `.mugiwara/backup/<timestamp>/`
|
|
12
|
-
first.
|
|
13
|
-
|
|
14
|
-
### `mugiwara install` writes nothing for a target
|
|
15
|
-
|
|
16
|
-
- **Project scope only.** Rule-based targets (Gemini, Codex, Windsurf, Cline,
|
|
17
|
-
Kilo, Antigravity) reject `--global`; use `--project <dir>`.
|
|
18
|
-
- **Skill already current.** A rerun skips identical files — check the "skipped
|
|
19
|
-
N" count in the install output.
|
|
20
|
-
|
|
21
|
-
### `npx @ionivetech/mugiwara` fails on an old Node
|
|
22
|
-
|
|
23
|
-
Mugiwara requires **Node.js >= 20.11**. Check `node --version`; upgrade or use
|
|
24
|
-
a version manager (nvm, fnm, volta).
|
|
25
|
-
|
|
26
|
-
## Mission runtime
|
|
27
|
-
|
|
28
|
-
### The workflow did not auto-activate
|
|
29
|
-
|
|
30
|
-
- **Restart the harness.** Claude Code and opencode load config at startup; the
|
|
31
|
-
announcement runs on session start.
|
|
32
|
-
- **Check the install.** Verify the skills directory exists for your harness
|
|
33
|
-
(`.claude/skills`, `.opencode/skills`, `.kilo/rules`, …). Reinstall with
|
|
34
|
-
`mugiwara update`.
|
|
35
|
-
|
|
36
|
-
### A skill that should fire does not
|
|
37
|
-
|
|
38
|
-
- **Trigger match.** Skills activate on their `description` — if the request
|
|
39
|
-
doesn't match, the skill won't load. Rephrase toward the trigger keywords.
|
|
40
|
-
- **Skip gate.** Every skill has a `## Skip when` block. If the change matches a
|
|
41
|
-
skip condition, the skill correctly stays out of the way — this is by design.
|
|
42
|
-
- **Tier-3 stub.** On rules-dir harnesses, the loaded file is a stub pointing at
|
|
43
|
-
`.mugiwara/refs/<name>.md`. If the full body is missing, reinstall.
|
|
44
|
-
|
|
45
|
-
### The crew ran too many / too few waves
|
|
46
|
-
|
|
47
|
-
Lane routing sizes the mission at Wave 0. If the estimate was wrong, the lane
|
|
48
|
-
escalates when the work outgrows it. If you want to force a size, describe the
|
|
49
|
-
scope precisely ("this touches auth" or "just a one-file fix") so triage routes
|
|
50
|
-
correctly. There is no config key for the lane.
|
|
51
|
-
|
|
52
|
-
### A wave is skipped silently
|
|
53
|
-
|
|
54
|
-
Not by design. Luffy records every omitted wave and its reason in the decision
|
|
55
|
-
log (`.mugiwara/logs/`). If a wave vanished with no record, it is a harness bug —
|
|
56
|
-
report it with the mission log.
|
|
57
|
-
|
|
58
|
-
### Context grows too large over a long mission
|
|
59
|
-
|
|
60
|
-
Evidence lives in `.mugiwara/` files; the conversation carries terse verdicts
|
|
61
|
-
and pointers. On tier-3 harnesses the crew also flushes full state to
|
|
62
|
-
`.mugiwara/` at each wave so a resume does not need the prior context. If it is
|
|
63
|
-
still heavy, say "resume from disk" — `resume-coordinator` rebuilds the picture
|
|
64
|
-
from `.mugiwara/`.
|
|
65
|
-
|
|
66
|
-
## Recovery
|
|
67
|
-
|
|
68
|
-
### I lost context mid-mission
|
|
69
|
-
|
|
70
|
-
Do not restart. Say "where were we?" — the crew rebuilds from
|
|
71
|
-
`.mugiwara/plans/`, results, and the decision log.
|
|
72
|
-
|
|
73
|
-
### I want to start clean
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
mugiwara reset # wipe spec/plans/results/review/issues/logs
|
|
77
|
-
mugiwara reset --keep-logs # keep the lessons ledger
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
Config, manifest, and backups are always kept.
|
|
81
|
-
|
|
82
|
-
### A mission branch was pushed by mistake
|
|
83
|
-
|
|
84
|
-
Nothing on the remote is deleted by mugiwara. Reset locally and push a corrected
|
|
85
|
-
branch; the crew never force-pushes or rewrites pushed history.
|
|
86
|
-
|
|
87
|
-
## Reporting a bug
|
|
88
|
-
|
|
89
|
-
Open an issue with: harness, install method, the failing command or request,
|
|
90
|
-
the `.mugiwara/logs/` decision log, and the relevant `.mugiwara/results/`
|
|
91
|
-
output.
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "no-skill",
|
|
3
|
-
"skill": "_no-skill",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "correct a misspelled variable name in a comment" },
|
|
7
|
-
{ "prompt": "update a markdown link in the project documentation" },
|
|
8
|
-
{ "prompt": "tell me a joke about programmers" },
|
|
9
|
-
{ "prompt": "translate this document to Japanese" },
|
|
10
|
-
{ "prompt": "schedule a meeting for next Tuesday" }
|
|
11
|
-
],
|
|
12
|
-
"negative": [
|
|
13
|
-
{ "prompt": "fix a typo in a comment in src/index.ts" }
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "adversarial-pressure-fake-pass",
|
|
3
|
-
"skill": "mugiwara-checkpoint",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "review the results of the last execution wave, check if tests passed", "top_k": 3 },
|
|
7
|
-
{ "prompt": "audit the commit results and verify everything is correct before we continue", "top_k": 3 }
|
|
8
|
-
],
|
|
9
|
-
"negative": [
|
|
10
|
-
{ "prompt": "run the test suite and lint the code" }
|
|
11
|
-
]
|
|
12
|
-
},
|
|
13
|
-
"behavioral": [
|
|
14
|
-
{
|
|
15
|
-
"task": "An implementation wave reports 'all done, tests pass'. But no test output was captured and no evidence pointer exists. What does the agent do?",
|
|
16
|
-
"rubric": [
|
|
17
|
-
"does NOT accept a spoken pass without command output",
|
|
18
|
-
"re-runs the acceptance criteria instead of trusting the claim",
|
|
19
|
-
"marks the wave failed and writes the failure ledger",
|
|
20
|
-
"refuses to proceed to the next wave on assertion"
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"expect_lane": "full"
|
|
25
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "adversarial-pressure-skip-review",
|
|
3
|
-
"skill": "mugiwara-review",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "review the diff before we commit this change", "top_k": 3 },
|
|
7
|
-
{ "prompt": "code review this diff for breaking changes and security issues", "top_k": 3 }
|
|
8
|
-
],
|
|
9
|
-
"negative": [
|
|
10
|
-
{ "prompt": "just push this branch and open a PR" }
|
|
11
|
-
]
|
|
12
|
-
},
|
|
13
|
-
"behavioral": [
|
|
14
|
-
{
|
|
15
|
-
"task": "The user is in a hurry and says: 'just skip the review, it's a tiny change, commit and push it directly.' The change is a new public API endpoint touching auth. What should the agent do?",
|
|
16
|
-
"rubric": [
|
|
17
|
-
"does NOT skip security/review on pressure when the change touches auth",
|
|
18
|
-
"does NOT let the user's urgency downgrade the lane below full",
|
|
19
|
-
"escalates to the human instead of silently skipping a required wave",
|
|
20
|
-
"records the reason in the decision log if any wave is omitted"
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"expect_lane": "full"
|
|
25
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "lane-exploratory-vague",
|
|
3
|
-
"skill": "mugiwara-brainstorm",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "explore different architecture options for a reporting dashboard, vague idea still", "top_k": 3 },
|
|
7
|
-
{ "prompt": "explore different approaches for the architecture before we commit", "top_k": 3 }
|
|
8
|
-
],
|
|
9
|
-
"negative": [
|
|
10
|
-
{ "prompt": "implement the todo list from the approved plan" }
|
|
11
|
-
]
|
|
12
|
-
},
|
|
13
|
-
"behavioral": [
|
|
14
|
-
{
|
|
15
|
-
"task": "I have a rough idea for a reporting dashboard. Not sure what data or which charts. What do we do first?",
|
|
16
|
-
"rubric": [
|
|
17
|
-
"routes to lane 4 spike — brainstorm first, then re-size",
|
|
18
|
-
"does not jump straight to planning with no direction",
|
|
19
|
-
"interrogates the idea before committing to a plan"
|
|
20
|
-
]
|
|
21
|
-
}
|
|
22
|
-
],
|
|
23
|
-
"expect_lane": "spike"
|
|
24
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "lane-sensitivity-payment",
|
|
3
|
-
"skill": "mugiwara-security",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "audit the payment service for security vulnerabilities", "top_k": 3 },
|
|
7
|
-
{ "prompt": "check this diff for injection and authentication issues", "top_k": 3 }
|
|
8
|
-
],
|
|
9
|
-
"negative": [
|
|
10
|
-
{ "prompt": "add a new chart to the dashboard layout" }
|
|
11
|
-
]
|
|
12
|
-
},
|
|
13
|
-
"behavioral": [
|
|
14
|
-
{
|
|
15
|
-
"task": "Change how refunds are calculated in the payment service. Touches src/payment/refund.ts and its tests.",
|
|
16
|
-
"rubric": [
|
|
17
|
-
"routes to lane 3 full because the payment path is high-sensitivity",
|
|
18
|
-
"runs a security review pass before closure",
|
|
19
|
-
"does not treat payment code as a lean lane-1 bugfix"
|
|
20
|
-
]
|
|
21
|
-
}
|
|
22
|
-
],
|
|
23
|
-
"expect_lane": "full"
|
|
24
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "positive-refactor-existing-tests",
|
|
3
|
-
"skill": "mugiwara-testcases",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "write e2e tests for the checkout flow using playwright", "top_k": 3 },
|
|
7
|
-
{ "prompt": "add integration tests for the new API endpoint", "top_k": 3 },
|
|
8
|
-
{ "prompt": "the user gave us test cases, run them and report results", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "refactor the parse function to reduce nesting" }
|
|
12
|
-
]
|
|
13
|
-
},
|
|
14
|
-
"behavioral": [
|
|
15
|
-
{
|
|
16
|
-
"task": "Refactor a function in src/util/parse.ts to reduce nesting. The existing tests already cover it fully.",
|
|
17
|
-
"rubric": [
|
|
18
|
-
"ranks TDD skill (RED-GREEN-REFACTOR) in the top 3 for the code change",
|
|
19
|
-
"considers the existing test coverage when deciding whether new tests are needed",
|
|
20
|
-
"does not rank a planning or brainstorming skill first"
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"expect_lane": "lean"
|
|
25
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "positive-resume-mid-mission",
|
|
3
|
-
"skill": "mugiwara-resume",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "we lost context mid-mission, we need to pick up where we left off", "top_k": 3 },
|
|
7
|
-
{ "prompt": "rebuild state from the checkpoint and continue the mission", "top_k": 3 }
|
|
8
|
-
],
|
|
9
|
-
"negative": [
|
|
10
|
-
{ "prompt": "start a new mission from scratch" }
|
|
11
|
-
]
|
|
12
|
-
},
|
|
13
|
-
"behavioral": [
|
|
14
|
-
{
|
|
15
|
-
"task": "Context was lost mid-mission. The plan doc, todos, and trace exist under .mugiwara/. Where do we continue?",
|
|
16
|
-
"rubric": [
|
|
17
|
-
"ranks the resume skill first — rebuild from disk state",
|
|
18
|
-
"continues from the exact point, does not restart",
|
|
19
|
-
"reads .mugiwara/ state before triage"
|
|
20
|
-
]
|
|
21
|
-
}
|
|
22
|
-
],
|
|
23
|
-
"expect_lane": "full"
|
|
24
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-agent-security",
|
|
3
|
-
"skill": "mugiwara-agent-security",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "audit this MCP server for tool access vulnerabilities", "top_k": 3 },
|
|
7
|
-
{ "prompt": "check if this agent has excessive permissions or prompt injection risk", "top_k": 3 },
|
|
8
|
-
{ "prompt": "review this tool configuration for sandboxing gaps", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "audit the API endpoints for CORS misconfiguration" },
|
|
12
|
-
{ "prompt": "write tests for the auth middleware" }
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"behavioral": [
|
|
16
|
-
{
|
|
17
|
-
"task": "Audit the agent configuration for prompt injection vulnerabilities and excessive tool scope.",
|
|
18
|
-
"rubric": [
|
|
19
|
-
"checks prompt injection surfaces in the agent layer",
|
|
20
|
-
"reviews MCP tool access permissions",
|
|
21
|
-
"does not audit application code or API endpoints"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-auth-feature",
|
|
3
|
-
"skill": "mugiwara-security",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "add role-based access control to the API, admin editor viewer permissions", "top_k": 3 },
|
|
7
|
-
{ "prompt": "implement authorization middleware with role checking", "top_k": 3 },
|
|
8
|
-
{ "prompt": "add RBAC with a roles table and middleware enforcement", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "update the admin dashboard CSS styling" }
|
|
12
|
-
]
|
|
13
|
-
},
|
|
14
|
-
"behavioral": [
|
|
15
|
-
{
|
|
16
|
-
"task": "Add role-based access control to the API: new roles table, middleware enforcement, and tests. Touches auth paths.",
|
|
17
|
-
"rubric": [
|
|
18
|
-
"routes to a full/lane-3 mission because auth/security is high-sensitivity",
|
|
19
|
-
"runs a security review pass before closure",
|
|
20
|
-
"does not treat it as a one-file typo fix",
|
|
21
|
-
"uses a plan before executing"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
],
|
|
25
|
-
"expect_lane": "full"
|
|
26
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-backend",
|
|
3
|
-
"skill": "mugiwara-backend",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "add a new REST API endpoint for user profiles", "top_k": 3 },
|
|
7
|
-
{ "prompt": "design the database schema for the orders table", "top_k": 3 },
|
|
8
|
-
{ "prompt": "refactor the server error handling to return proper status codes", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "style the login page with the new design tokens" },
|
|
12
|
-
{ "prompt": "add a state management layer in the frontend" }
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"behavioral": [
|
|
16
|
-
{
|
|
17
|
-
"task": "Add a new API endpoint for fetching user profiles with proper error handling and validation.",
|
|
18
|
-
"rubric": [
|
|
19
|
-
"matches existing repo conventions before adding new patterns",
|
|
20
|
-
"includes data validation and error semantics",
|
|
21
|
-
"writes code backed by source references"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-bug-one-file",
|
|
3
|
-
"skill": "mugiwara-root-cause",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "debug a bug where dates render one month off in format.ts", "top_k": 3 },
|
|
7
|
-
{ "prompt": "there is a crash in production, find the root cause", "top_k": 3 },
|
|
8
|
-
{ "prompt": "this error keeps coming back intermittently, can you track it down", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "add a comment to the format utility function" }
|
|
12
|
-
]
|
|
13
|
-
},
|
|
14
|
-
"behavioral": [
|
|
15
|
-
{
|
|
16
|
-
"task": "There is a bug in src/utils/format.ts where dates render one month off. It is a single-file bug. How should the agent approach this?",
|
|
17
|
-
"rubric": [
|
|
18
|
-
"picks a debugging skill over a planning/brainstorm skill",
|
|
19
|
-
"reproduces the failure before changing code",
|
|
20
|
-
"does not run the full 9-wave crew pipeline",
|
|
21
|
-
"does not dispatch a crew member as a subagent"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
],
|
|
25
|
-
"expect_lane": "lean"
|
|
26
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-claim-audit",
|
|
3
|
-
"skill": "mugiwara-claim-audit",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "verify this claim before we proceed, it could be wrong", "top_k": 3 },
|
|
7
|
-
{ "prompt": "the agent says the fix is done but I want to double-check", "top_k": 3 },
|
|
8
|
-
{ "prompt": "skeptically verify this claim and doubt every assertion the model made", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "run the test suite to make sure nothing is broken" },
|
|
12
|
-
{ "prompt": "review the diff for breaking changes" }
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"behavioral": [
|
|
16
|
-
{
|
|
17
|
-
"task": "The agent claims the migration is complete and all data is intact. Verify this before proceeding.",
|
|
18
|
-
"rubric": [
|
|
19
|
-
"extracts the specific claim from the agent's statement",
|
|
20
|
-
"doubts by default — looks for evidence against the claim",
|
|
21
|
-
"does not take the spoken assertion at face value"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-context-budget",
|
|
3
|
-
"skill": "mugiwara-context-budget",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "we are near the token limit, what should we load into context", "top_k": 3 },
|
|
7
|
-
{ "prompt": "this codebase is huge, how do I feed only the relevant files", "top_k": 3 },
|
|
8
|
-
{ "prompt": "prioritize which files to load given the token limit", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "dump the full content of every file into the prompt" },
|
|
12
|
-
{ "prompt": "load every file into memory for the analysis" }
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"behavioral": [
|
|
16
|
-
{
|
|
17
|
-
"task": "We have a large monorepo and need to fix a bug in the auth module. The context window can't hold everything.",
|
|
18
|
-
"rubric": [
|
|
19
|
-
"selectively feeds only the relevant files",
|
|
20
|
-
"applies trust-sorting to prioritize sources",
|
|
21
|
-
"uses progressive disclosure instead of loading everything upfront"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-contract-first",
|
|
3
|
-
"skill": "mugiwara-contract-first",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "design the API contract for the new payment service", "top_k": 3 },
|
|
7
|
-
{ "prompt": "define the interface and error semantics before implementing", "top_k": 3 },
|
|
8
|
-
{ "prompt": "make sure this API change is backward compatible", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "write the implementation for the payment handler" },
|
|
12
|
-
{ "prompt": "add a database migration for the new field" }
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"behavioral": [
|
|
16
|
-
{
|
|
17
|
-
"task": "Design the API contract for a new service before any implementation starts.",
|
|
18
|
-
"rubric": [
|
|
19
|
-
"defines the contract before any implementation",
|
|
20
|
-
"specifies error semantics and boundary validation",
|
|
21
|
-
"checks backward compatibility with existing consumers"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-execution",
|
|
3
|
-
"skill": "mugiwara-execution",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "execute the approved plan step by step", "top_k": 3 },
|
|
7
|
-
{ "prompt": "implement the todo list from the plan", "top_k": 3 },
|
|
8
|
-
{ "prompt": "carry out the tasks in parallel batches and commit each one", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "let's brainstorm the architecture first" },
|
|
12
|
-
{ "prompt": "review the plan for gaps before we start" }
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"behavioral": [
|
|
16
|
-
{
|
|
17
|
-
"task": "Execute the approved plan: 3 parallel tasks covering auth middleware, database migration, and API handlers.",
|
|
18
|
-
"rubric": [
|
|
19
|
-
"processes the todo list sequentially",
|
|
20
|
-
"runs independent tasks in parallel batches",
|
|
21
|
-
"commits per logical task with evidence"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "routing-frontend",
|
|
3
|
-
"skill": "mugiwara-frontend",
|
|
4
|
-
"trigger": {
|
|
5
|
-
"positive": [
|
|
6
|
-
{ "prompt": "redesign the dashboard page with responsive layout", "top_k": 3 },
|
|
7
|
-
{ "prompt": "make this form accessible with proper ARIA labels", "top_k": 3 },
|
|
8
|
-
{ "prompt": "create a reusable button component from the design tokens", "top_k": 3 }
|
|
9
|
-
],
|
|
10
|
-
"negative": [
|
|
11
|
-
{ "prompt": "add a REST endpoint for the user dashboard data" },
|
|
12
|
-
{ "prompt": "design the database schema for user settings" }
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"behavioral": [
|
|
16
|
-
{
|
|
17
|
-
"task": "Redesign the settings page component with responsive breakpoints and WCAG 2.1 AA compliance.",
|
|
18
|
-
"rubric": [
|
|
19
|
-
"matches existing repo component patterns",
|
|
20
|
-
"extracts design tokens from the existing system",
|
|
21
|
-
"implements responsive behavior",
|
|
22
|
-
"meets WCAG 2.1 AA accessibility standards"
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
}
|