@lvlup-sw/exarchos 2.4.3 → 2.5.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/plugin.json +7 -2
- package/AGENTS.md +2 -2
- package/README.md +70 -57
- package/agents/.gitkeep +0 -0
- package/agents/fixer.md +62 -0
- package/agents/implementer.md +68 -0
- package/agents/reviewer.md +50 -0
- package/commands/ideate.md +1 -1
- package/commands/plan.md +1 -1
- package/commands/review.md +58 -0
- package/dist/exarchos.js +583 -146
- package/hooks/hooks.json +8 -0
- package/package.json +12 -4
- package/scripts/sync-versions.sh +31 -22
- package/skills/brainstorming/SKILL.md +16 -0
- package/skills/brainstorming/references/design-template.md +9 -0
- package/skills/debug/SKILL.md +41 -0
- package/skills/debug/references/hotfix-track.md +12 -49
- package/skills/debug/references/investigation-checklist.md +3 -3
- package/skills/debug/references/thorough-track.md +12 -42
- package/skills/delegation/SKILL.md +104 -37
- package/skills/delegation/references/agent-teams-saga.md +4 -1
- package/skills/delegation/references/fix-mode.md +46 -6
- package/skills/delegation/references/implementer-prompt.md +29 -1
- package/skills/delegation/references/parallel-strategy.md +1 -1
- package/skills/delegation/references/state-management.md +33 -0
- package/skills/delegation/references/workflow-steps.md +6 -10
- package/skills/delegation/references/worktree-enforcement.md +13 -7
- package/skills/git-worktrees/SKILL.md +6 -9
- package/skills/implementation-planning/SKILL.md +32 -27
- package/skills/implementation-planning/references/task-template.md +20 -0
- package/skills/implementation-planning/references/testing-strategy-guide.md +22 -1
- package/skills/implementation-planning/references/worked-example.md +2 -2
- package/skills/quality-review/SKILL.md +103 -10
- package/skills/quality-review/references/auto-transition.md +1 -1
- package/skills/quality-review/references/axiom-integration.md +135 -0
- package/skills/refactor/SKILL.md +32 -39
- package/skills/refactor/phases/polish-implement.md +2 -2
- package/skills/refactor/phases/polish-validate.md +1 -1
- package/skills/refactor/references/doc-update-checklist.md +2 -3
- package/skills/refactor/references/explore-checklist.md +4 -6
- package/skills/refactor/references/overhaul-track.md +20 -50
- package/skills/refactor/references/polish-track.md +18 -46
- package/skills/shared/prompts/context-reading.md +7 -7
- package/skills/shared/references/mcp-tool-guidance.md +14 -1
- package/skills/shared/references/tdd.md +17 -0
- package/skills/shepherd/SKILL.md +38 -10
- package/skills/shepherd/references/fix-strategies.md +1 -2
- package/skills/shepherd/references/shepherd-event-schemas.md +56 -0
- package/skills/spec-review/SKILL.md +46 -10
- package/skills/spec-review/references/worked-example.md +1 -1
- package/skills/synthesis/SKILL.md +32 -10
- package/skills/synthesis/references/github-native-stacking.md +3 -4
- package/skills/synthesis/references/synthesis-steps.md +11 -13
- package/skills/workflow-state/SKILL.md +11 -3
- package/skills/workflow-state/references/mcp-tool-reference.md +5 -5
- package/skills/workflow-state/references/phase-transitions.md +6 -3
- package/.claude-plugin/marketplace.json +0 -34
- package/scripts/assess-refactor-scope.sh +0 -239
- package/scripts/check-coderabbit.sh +0 -288
- package/scripts/check-context-economy.sh +0 -405
- package/scripts/check-coverage-thresholds.sh +0 -194
- package/scripts/check-operational-resilience.sh +0 -306
- package/scripts/check-polish-scope.sh +0 -245
- package/scripts/check-post-merge.sh +0 -185
- package/scripts/check-pr-comments.sh +0 -127
- package/scripts/check-task-decomposition.sh +0 -451
- package/scripts/check-tdd-compliance.sh +0 -265
- package/scripts/check-workflow-determinism.sh +0 -312
- package/scripts/debug-review-gate.sh +0 -201
- package/scripts/extract-fix-tasks.sh +0 -179
- package/scripts/extract-task.sh +0 -67
- package/scripts/generate-traceability.sh +0 -209
- package/scripts/investigation-timer.sh +0 -171
- package/scripts/needs-schema-sync.sh +0 -174
- package/scripts/new-project.sh +0 -103
- package/scripts/post-delegation-check.sh +0 -317
- package/scripts/pre-synthesis-check.sh +0 -475
- package/scripts/reconcile-state.sh +0 -346
- package/scripts/review-diff.sh +0 -63
- package/scripts/review-verdict.sh +0 -169
- package/scripts/security-scan.sh +0 -248
- package/scripts/select-debug-track.sh +0 -186
- package/scripts/setup-worktree.sh +0 -323
- package/scripts/spec-coverage-check.sh +0 -230
- package/scripts/static-analysis-gate.sh +0 -261
- package/scripts/validate-companion.sh +0 -161
- package/scripts/validate-pr-body.sh +0 -158
- package/scripts/validate-pr-stack.sh +0 -146
- package/scripts/verify-delegation-saga.sh +0 -240
- package/scripts/verify-doc-links.sh +0 -211
- package/scripts/verify-ideate-artifacts.sh +0 -296
- package/scripts/verify-plan-coverage.sh +0 -408
- package/scripts/verify-provenance-chain.sh +0 -310
- package/scripts/verify-review-triage.sh +0 -219
- package/scripts/verify-worktree-baseline.sh +0 -159
- package/scripts/verify-worktree.sh +0 -84
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "exarchos",
|
|
3
|
-
"description": "
|
|
4
|
-
"version": "2.
|
|
3
|
+
"description": "A local-first SDLC workflow harness — structured, durable state for coding agents, with convergence gates, agent teams, and full audit trail.",
|
|
4
|
+
"version": "2.5.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "LevelUp Software"
|
|
7
7
|
},
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
"audit-trail",
|
|
19
19
|
"code-review"
|
|
20
20
|
],
|
|
21
|
+
"agents": [
|
|
22
|
+
"./agents/implementer.md",
|
|
23
|
+
"./agents/fixer.md",
|
|
24
|
+
"./agents/reviewer.md"
|
|
25
|
+
],
|
|
21
26
|
"commands": "./commands/",
|
|
22
27
|
"skills": "./skills/",
|
|
23
28
|
"mcpServers": {
|
package/AGENTS.md
CHANGED
|
@@ -11,7 +11,7 @@ Exarchos is local agent governance for Claude Code. It provides event-sourced SD
|
|
|
11
11
|
- **Testing:** Vitest (co-located `*.test.ts`), bash integration tests (co-located `*.test.sh`)
|
|
12
12
|
- **MCP Framework:** `@modelcontextprotocol/sdk` + `zod`
|
|
13
13
|
- **Build:** `tsc` for type checking, `bun build` for bundling MCP server and CLI
|
|
14
|
-
- **Tools:** Claude Code CLI,
|
|
14
|
+
- **Tools:** Claude Code CLI, GitHub CLI (`gh`) for PRs
|
|
15
15
|
|
|
16
16
|
## Code Organization
|
|
17
17
|
|
|
@@ -48,7 +48,7 @@ Single server at `servers/exarchos-mcp/` exposing 5 composite tools:
|
|
|
48
48
|
|
|
49
49
|
## Known Tech Debt
|
|
50
50
|
|
|
51
|
-
- `docs/follow-ups/`
|
|
51
|
+
- `docs/follow-ups/` contains 73+ design/plan files, many likely completed — needs per-file triage
|
|
52
52
|
- Some design docs reference completed/superseded features (Jules integration, pre-Exarchos architecture)
|
|
53
53
|
|
|
54
54
|
## Scan Preferences
|
package/README.md
CHANGED
|
@@ -2,73 +2,54 @@
|
|
|
2
2
|
<img src="exarchos-logo.svg" alt="Exarchos" width="280" />
|
|
3
3
|
|
|
4
4
|
**Your agents forget. Exarchos doesn't.**<br>
|
|
5
|
-
|
|
5
|
+
A local-first SDLC workflow harness — structured, durable state for coding agents.
|
|
6
6
|
|
|
7
7
|
[](https://github.com/lvlup-sw/exarchos/actions/workflows/ci.yml)
|
|
8
8
|
[](https://www.npmjs.com/package/@lvlup-sw/exarchos)
|
|
9
9
|
[](LICENSE)
|
|
10
10
|
[](https://nodejs.org)
|
|
11
11
|
|
|
12
|
-
[Install](#install) · [What
|
|
12
|
+
[Install](#install) · [What you get](#what-you-get) · [Architecture](#agent-first-architecture) · [Workflows](#workflows) · [Docs](https://lvlup-sw.github.io/exarchos/)
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
What to record:
|
|
19
|
-
1. Mid-feature workflow: show /checkpoint saving state
|
|
20
|
-
2. New session: show /rehydrate restoring phase, tasks, artifact pointers
|
|
21
|
-
3. Agent continues exactly where it left off
|
|
22
|
-
Tools: vhs (https://github.com/charmbracelet/vhs) or asciinema + agg
|
|
23
|
-
Specs: 720px wide, 15-20s, dark terminal, no typing delays > 50ms
|
|
24
|
-
See docs/assets/PRODUCTION-GUIDE.md for full instructions
|
|
17
|
+
## You already manage this by hand
|
|
25
18
|
|
|
26
|
-
|
|
27
|
-
<a href="docs/assets/demo-rehydrate.gif">
|
|
28
|
-
<img src="docs/assets/demo-rehydrate.gif" alt="Checkpoint a workflow mid-feature, rehydrate in a new session — full awareness restored in ~2k tokens" width="720" />
|
|
29
|
-
</a>
|
|
30
|
-
<br>
|
|
31
|
-
<sub>Checkpoint mid-feature. Rehydrate next day. Full workflow restored in ~2k tokens.</sub>
|
|
32
|
-
</div>
|
|
33
|
-
-->
|
|
34
|
-
|
|
35
|
-
## You probably already do this
|
|
36
|
-
|
|
37
|
-
You have a plan.md. Maybe a spec file per feature. You iterate with Claude, tell it to execute, commit the artifacts alongside the code. It works.
|
|
38
|
-
|
|
39
|
-
Until context compaction wipes the session halfway through. Or the agent drifts from the spec and you don't catch it until review. Or you come back tomorrow and spend 30 minutes re-explaining what the agent already knew.
|
|
40
|
-
|
|
41
|
-
Developers keep reinventing this on their own: iterate on a plan file, execute it, commit the artifacts. Skill-based workflow tools try to systematize it with markdown files loaded into context. But they're stateless. Nothing persists across context compaction, suggestions get ignored as conversations grow, and there's no verification that the agent followed through.
|
|
42
|
-
|
|
43
|
-
The plan-file workflow is the right instinct. Markdown files just can't persist state across sessions, enforce phase gates, or prove that the agent actually did what you asked.
|
|
19
|
+
A plan file per feature, CLAUDE.md updated between sessions, summaries written out before `/clear` so the next context window has something to work with. Maybe you enforce your own phases — design, plan, implement, review. It works. It's also manual, and nothing holds the agent to it once the window gets long enough that your instructions start getting ignored.
|
|
44
20
|
|
|
45
21
|
## Your plan.md workflow, with teeth
|
|
46
22
|
|
|
47
|
-
Exarchos
|
|
23
|
+
Exarchos is a local-first SDLC workflow harness. It gives your agent structured, durable state that lives outside the context window. Phase transitions are enforced by a state machine. Deterministic convergence gates run as TypeScript checks against your diff and git history, not prompts. You approve the design, you approve the merge — everything between runs on its own.
|
|
48
24
|
|
|
49
|
-
|
|
25
|
+
`/clear` whenever you want. `/rehydrate` when you're back. State persists.
|
|
26
|
+
|
|
27
|
+
It ships as a Claude Code plugin and a standalone MCP server with a CLI adapter. Install it and run `/ideate`.
|
|
50
28
|
|
|
51
29
|
<div align="center">
|
|
52
30
|
<a href="docs/assets/architecture.svg">
|
|
53
|
-
<img src="docs/assets/architecture.svg" alt="Exarchos architecture: workflow pipeline,
|
|
31
|
+
<img src="docs/assets/architecture.svg" alt="Exarchos architecture: workflow pipeline, state machine, agent teams in worktrees, quality gates" width="720" />
|
|
54
32
|
</a>
|
|
55
33
|
<br>
|
|
56
|
-
<sub>
|
|
34
|
+
<sub>Architecture: workflow phases, agent dispatch, convergence gates.</sub>
|
|
57
35
|
</div>
|
|
58
36
|
|
|
59
37
|
## Install
|
|
60
38
|
|
|
39
|
+
**Claude Code plugin:**
|
|
61
40
|
```bash
|
|
62
|
-
|
|
63
|
-
/plugin marketplace add lvlup-sw/exarchos
|
|
41
|
+
/plugin marketplace add lvlup-sw/.github
|
|
64
42
|
/plugin install exarchos@lvlup-sw
|
|
65
43
|
```
|
|
66
44
|
|
|
67
|
-
|
|
45
|
+
**Standalone MCP server:**
|
|
46
|
+
```bash
|
|
47
|
+
npx @lvlup-sw/exarchos mcp
|
|
48
|
+
```
|
|
68
49
|
|
|
69
|
-
**
|
|
50
|
+
**Interactive installer** (installs Exarchos + optional companions):
|
|
70
51
|
```bash
|
|
71
|
-
npx
|
|
52
|
+
npx create-exarchos
|
|
72
53
|
```
|
|
73
54
|
|
|
74
55
|
<details>
|
|
@@ -80,47 +61,79 @@ npm install && npm run build
|
|
|
80
61
|
claude --plugin-dir .
|
|
81
62
|
```
|
|
82
63
|
|
|
83
|
-
Requires Node.js >= 20.
|
|
64
|
+
Requires Node.js >= 20.
|
|
84
65
|
</details>
|
|
85
66
|
|
|
86
67
|
## What you get
|
|
87
68
|
|
|
88
|
-
|
|
69
|
+
Three workflow types (feature, debug, refactor) with enforced phase transitions. You approve the design and you approve the merge. Everything between auto-continues.
|
|
70
|
+
|
|
71
|
+
**Checkpoint and resume.** `/checkpoint` saves mid-task. `/rehydrate` restores it in ~2-3k tokens.
|
|
72
|
+
|
|
73
|
+
**Typed agent teams.** Implementer, fixer, reviewer — each with scoped tools, hooks, and worktree isolation. Fixers resume failed tasks with full context instead of starting over.
|
|
74
|
+
|
|
75
|
+
**Runbooks.** Machine-readable orchestration sequences served via MCP. Agents request the steps for a given phase, get back ordered tool calls with schemas and gate semantics. Any MCP client can use them.
|
|
76
|
+
|
|
77
|
+
**Two-stage review.** Spec compliance first (does it match the design?), then code quality (is it well-written?). Deterministic convergence gates, not prompts.
|
|
78
|
+
|
|
79
|
+
**Audit trail.** Every transition, gate result, and agent action goes into an append-only event log. When something breaks, trace what happened.
|
|
89
80
|
|
|
90
|
-
**
|
|
81
|
+
**Token-efficient.** Lazy schema registration keeps MCP startup under 500 tokens. Field projection trims state queries by 90%. Review sends diffs, not full files.
|
|
91
82
|
|
|
92
|
-
|
|
83
|
+
### Agent-first architecture
|
|
93
84
|
|
|
94
|
-
|
|
85
|
+
Exarchos ships as a single binary (`exarchos`) with an `mcp` subcommand. Claude Code spawns it as a stdio MCP server and talks to it with structured JSON. Four composite tools cover the surface:
|
|
95
86
|
|
|
96
|
-
|
|
87
|
+
| Tool | What it does |
|
|
88
|
+
|------|-------------|
|
|
89
|
+
| `exarchos_workflow` | Workflow lifecycle: init, get, set, cancel, cleanup, reconcile |
|
|
90
|
+
| `exarchos_event` | Append-only event store: append, query, batch |
|
|
91
|
+
| `exarchos_orchestrate` | Team coordination: task dispatch, review triage, runbooks, agent specs |
|
|
92
|
+
| `exarchos_view` | CQRS projections: pipeline status, task boards, stack health |
|
|
97
93
|
|
|
98
|
-
|
|
94
|
+
All four tools support lazy schema loading via `describe`. At startup, only slim descriptions and action enums are registered. Full schemas load on demand.
|
|
99
95
|
|
|
100
|
-
|
|
96
|
+
Every tool input is a Zod-validated discriminated union keyed on `action`. The same `dispatch()` function backs both the MCP transport and the CLI, so `exarchos workflow get --featureId my-feature` from a terminal returns the same result the agent gets.
|
|
101
97
|
|
|
98
|
+
Structured input over natural language. Strict schema validation over loose parsing. One binary, same behavior whether an agent or a human is driving it.
|
|
102
99
|
|
|
103
100
|
### Integrations
|
|
104
101
|
|
|
105
102
|
| Component | Source | Purpose |
|
|
106
103
|
|-----------|--------|---------|
|
|
107
|
-
|
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
| **Microsoft Learn** | [Dev companion](companion/) | Official Azure/.NET documentation |
|
|
104
|
+
| Exarchos | Core plugin | Workflow state, event log, team coordination, convergence gates |
|
|
105
|
+
| Serena | Optional companion (`npx create-exarchos`) | Semantic code analysis |
|
|
106
|
+
| Context7 | Optional companion (`npx create-exarchos`) | Up-to-date library documentation |
|
|
107
|
+
| Microsoft Learn | Optional companion (`npx create-exarchos`) | Azure and .NET documentation |
|
|
112
108
|
|
|
113
109
|
## Workflows
|
|
114
110
|
|
|
115
111
|
> Commands shown in short form (`/ideate`). As a plugin, they're namespaced: `/exarchos:ideate`, `/exarchos:plan`, etc.
|
|
116
112
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
|
120
|
-
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
|
|
|
113
|
+
**Start a workflow:**
|
|
114
|
+
|
|
115
|
+
| When you need to... | Command | What it does |
|
|
116
|
+
|:---------------------|:--------|:-------------|
|
|
117
|
+
| Build a feature | `/ideate` | Design exploration, TDD plan, parallel implementation |
|
|
118
|
+
| Fix a bug | `/debug` | Triage, investigate, fix, validate (hotfix or thorough) |
|
|
119
|
+
| Improve code | `/refactor` | Assess scope, brief, implement (polish or full overhaul) |
|
|
120
|
+
|
|
121
|
+
**Lifecycle commands:**
|
|
122
|
+
|
|
123
|
+
| Command | What it does |
|
|
124
|
+
|:--------|:-------------|
|
|
125
|
+
| `/plan` | Create TDD implementation plan from a design doc |
|
|
126
|
+
| `/delegate` | Dispatch tasks to agent teammates in worktrees |
|
|
127
|
+
| `/review` | Run two-stage review (spec compliance + code quality) |
|
|
128
|
+
| `/synthesize` | Create PR from feature branch |
|
|
129
|
+
| `/shepherd` | Push PRs through CI and reviews to merge readiness |
|
|
130
|
+
| `/cleanup` | Resolve merged workflow to completed state |
|
|
131
|
+
| `/checkpoint` | Save workflow state for later resumption |
|
|
132
|
+
| `/rehydrate` | Restore workflow state after compaction or session break |
|
|
133
|
+
| `/reload` | Re-inject context after degradation |
|
|
134
|
+
| `/autocompact` | Toggle autocompact or set threshold |
|
|
135
|
+
| `/tag` | Attribute current session to a feature or project |
|
|
136
|
+
| `/tdd` | Plan implementation using strict Red-Green-Refactor |
|
|
124
137
|
|
|
125
138
|
## Build & test
|
|
126
139
|
|
package/agents/.gitkeep
ADDED
|
File without changes
|
package/agents/fixer.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exarchos-fixer
|
|
3
|
+
description: |
|
|
4
|
+
Use this agent when a task has failed and needs diagnosis and repair with adversarial verification.
|
|
5
|
+
|
|
6
|
+
<example>
|
|
7
|
+
Context: A delegated task failed its quality gates or tests
|
|
8
|
+
user: "Task-005 failed TDD compliance — fix it"
|
|
9
|
+
assistant: "I'll dispatch the exarchos-fixer agent to diagnose and repair the failure."
|
|
10
|
+
<commentary>
|
|
11
|
+
Failed task requiring root cause analysis and targeted fix triggers the fixer agent.
|
|
12
|
+
</commentary>
|
|
13
|
+
</example>
|
|
14
|
+
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
|
15
|
+
model: opus
|
|
16
|
+
color: red
|
|
17
|
+
disallowedTools: ["Agent"]
|
|
18
|
+
skills:
|
|
19
|
+
- tdd-patterns
|
|
20
|
+
hooks:
|
|
21
|
+
PostToolUse:
|
|
22
|
+
- matcher: "Bash"
|
|
23
|
+
hooks:
|
|
24
|
+
- type: command
|
|
25
|
+
command: "npm run test:run"
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
You are a fixer agent. Your job is to diagnose and repair failures.
|
|
29
|
+
|
|
30
|
+
## Failure Context
|
|
31
|
+
{{failureContext}}
|
|
32
|
+
|
|
33
|
+
## Task
|
|
34
|
+
{{taskDescription}}
|
|
35
|
+
|
|
36
|
+
## Files
|
|
37
|
+
{{filePaths}}
|
|
38
|
+
|
|
39
|
+
## Adversarial Verification Protocol
|
|
40
|
+
1. Reproduce the failure first — confirm you can see it fail
|
|
41
|
+
2. Identify root cause — do not guess, trace the actual error
|
|
42
|
+
3. Apply minimal fix — change only what is necessary
|
|
43
|
+
4. Verify fix — run the failing test and confirm it passes
|
|
44
|
+
5. Run full test suite — ensure no regressions
|
|
45
|
+
6. If fix introduces new failures, revert and try again
|
|
46
|
+
|
|
47
|
+
Rules:
|
|
48
|
+
- NEVER apply a fix without first reproducing the failure
|
|
49
|
+
- NEVER suppress or skip failing tests
|
|
50
|
+
- Prefer targeted fixes over broad changes
|
|
51
|
+
- Document what caused the failure and why the fix works
|
|
52
|
+
|
|
53
|
+
## Completion Report
|
|
54
|
+
When done, output a JSON completion report:
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"status": "complete",
|
|
58
|
+
"implements": ["<design requirement IDs>"],
|
|
59
|
+
"tests": [{"name": "<test name>", "file": "<path>"}],
|
|
60
|
+
"files": ["<created/modified files>"]
|
|
61
|
+
}
|
|
62
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exarchos-implementer
|
|
3
|
+
description: |
|
|
4
|
+
Use this agent when dispatching TDD implementation tasks to a subagent in an isolated worktree.
|
|
5
|
+
|
|
6
|
+
<example>
|
|
7
|
+
Context: Orchestrator is dispatching a task from an implementation plan
|
|
8
|
+
user: "Implement the agent spec handler (task-003)"
|
|
9
|
+
assistant: "I'll dispatch the exarchos-implementer agent to implement this task using TDD in an isolated worktree."
|
|
10
|
+
<commentary>
|
|
11
|
+
Implementation task requiring test-first development triggers the implementer agent.
|
|
12
|
+
</commentary>
|
|
13
|
+
</example>
|
|
14
|
+
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
|
15
|
+
model: opus
|
|
16
|
+
color: blue
|
|
17
|
+
disallowedTools: ["Agent"]
|
|
18
|
+
isolation: worktree
|
|
19
|
+
memory: project
|
|
20
|
+
skills:
|
|
21
|
+
- tdd-patterns
|
|
22
|
+
- testing-patterns
|
|
23
|
+
hooks:
|
|
24
|
+
PostToolUse:
|
|
25
|
+
- matcher: "Bash"
|
|
26
|
+
hooks:
|
|
27
|
+
- type: command
|
|
28
|
+
command: "npm run test:run"
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
You are a TDD implementer agent working in an isolated worktree.
|
|
32
|
+
|
|
33
|
+
## Worktree Verification
|
|
34
|
+
Before making ANY file changes:
|
|
35
|
+
1. Run: `pwd`
|
|
36
|
+
2. Verify the path contains `.worktrees/`
|
|
37
|
+
3. If NOT in worktree: STOP and report error
|
|
38
|
+
|
|
39
|
+
## Task
|
|
40
|
+
{{taskDescription}}
|
|
41
|
+
|
|
42
|
+
## Requirements
|
|
43
|
+
{{requirements}}
|
|
44
|
+
|
|
45
|
+
## Files
|
|
46
|
+
{{filePaths}}
|
|
47
|
+
|
|
48
|
+
## TDD Protocol (Red-Green-Refactor)
|
|
49
|
+
1. **RED**: Write a failing test that defines the expected behavior
|
|
50
|
+
2. **GREEN**: Write the minimum code to make the test pass
|
|
51
|
+
3. **REFACTOR**: Clean up while keeping tests green
|
|
52
|
+
|
|
53
|
+
Rules:
|
|
54
|
+
- NEVER write implementation before its test
|
|
55
|
+
- Each test must fail before writing implementation
|
|
56
|
+
- Run tests after each change to verify state
|
|
57
|
+
- Keep commits atomic: one logical change per commit
|
|
58
|
+
|
|
59
|
+
## Completion Report
|
|
60
|
+
When done, output a JSON completion report:
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"status": "complete",
|
|
64
|
+
"implements": ["<design requirement IDs>"],
|
|
65
|
+
"tests": [{"name": "<test name>", "file": "<path>"}],
|
|
66
|
+
"files": ["<created/modified files>"]
|
|
67
|
+
}
|
|
68
|
+
```
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exarchos-reviewer
|
|
3
|
+
description: |
|
|
4
|
+
Use this agent when performing read-only code review for quality, design compliance, and test coverage.
|
|
5
|
+
|
|
6
|
+
<example>
|
|
7
|
+
Context: Feature implementation is complete and needs review
|
|
8
|
+
user: "Review the agent spec handler for code quality"
|
|
9
|
+
assistant: "I'll dispatch the exarchos-reviewer agent to analyze code quality and design compliance."
|
|
10
|
+
<commentary>
|
|
11
|
+
Code review request triggers the reviewer agent for read-only analysis.
|
|
12
|
+
</commentary>
|
|
13
|
+
</example>
|
|
14
|
+
tools: ["Read", "Grep", "Glob", "Bash"]
|
|
15
|
+
model: opus
|
|
16
|
+
color: green
|
|
17
|
+
disallowedTools: ["Write", "Edit", "Agent"]
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
You are a code reviewer agent. You analyze code for quality, correctness, and design compliance.
|
|
21
|
+
|
|
22
|
+
## Review Scope
|
|
23
|
+
{{reviewScope}}
|
|
24
|
+
|
|
25
|
+
## Design Requirements
|
|
26
|
+
{{designRequirements}}
|
|
27
|
+
|
|
28
|
+
## Review Protocol
|
|
29
|
+
1. Read all changed files in scope
|
|
30
|
+
2. Check design requirement compliance
|
|
31
|
+
3. Verify test coverage for new code
|
|
32
|
+
4. Check for common anti-patterns
|
|
33
|
+
5. Produce structured review verdict
|
|
34
|
+
|
|
35
|
+
Rules:
|
|
36
|
+
- You have READ-ONLY access — do not modify any files
|
|
37
|
+
- Bash is restricted to read-only commands only (e.g., git diff, git log, test runners in dry-run mode). NEVER use Bash to create, edit, or delete files.
|
|
38
|
+
- Be specific in findings — include file paths and line references
|
|
39
|
+
- Categorize findings: critical, warning, suggestion
|
|
40
|
+
|
|
41
|
+
## Completion Report
|
|
42
|
+
When done, output a JSON completion report:
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"status": "complete",
|
|
46
|
+
"implements": ["<design requirement IDs>"],
|
|
47
|
+
"tests": [{"name": "<test name>", "file": "<path>"}],
|
|
48
|
+
"files": ["<reviewed files>"]
|
|
49
|
+
}
|
|
50
|
+
```
|
package/commands/ideate.md
CHANGED
|
@@ -52,7 +52,7 @@ After user selects approach:
|
|
|
52
52
|
|
|
53
53
|
## State Management
|
|
54
54
|
|
|
55
|
-
Initialize workflow state at the start using `mcp__plugin_exarchos_exarchos__exarchos_workflow` with `action: "init"` and
|
|
55
|
+
Initialize workflow state at the start using `mcp__plugin_exarchos_exarchos__exarchos_workflow` with `action: "init"`, `featureId`, and `workflowType: "feature"`.
|
|
56
56
|
|
|
57
57
|
After saving design, update state using `mcp__plugin_exarchos_exarchos__exarchos_workflow` with `action: "set"`:
|
|
58
58
|
- Set `artifacts.design` to the design path
|
package/commands/plan.md
CHANGED
|
@@ -85,7 +85,7 @@ Save plan to `docs/plans/YYYY-MM-DD-<feature>.md` and capture the path as `$PLAN
|
|
|
85
85
|
Before planning, check if plan already exists:
|
|
86
86
|
1. Read state file for `.artifacts.plan`
|
|
87
87
|
2. If plan file exists and is valid, skip planning
|
|
88
|
-
3. Auto-chain directly to
|
|
88
|
+
3. Auto-chain directly to plan-review
|
|
89
89
|
|
|
90
90
|
## Auto-Chain
|
|
91
91
|
|
package/commands/review.md
CHANGED
|
@@ -21,6 +21,7 @@ Review runs AFTER delegation completes -- reviews the branch stack diff.
|
|
|
21
21
|
|
|
22
22
|
- **Stage 1 (spec compliance):** `@skills/spec-review/SKILL.md`
|
|
23
23
|
- **Stage 2 (code quality):** `@skills/quality-review/SKILL.md`
|
|
24
|
+
- **Plugin integration:** `@skills/quality-review/references/axiom-integration.md`
|
|
24
25
|
|
|
25
26
|
Reviews MUST be dispatched to subagents (not run inline). Use the branch stack diff to reduce context by 80-90%:
|
|
26
27
|
|
|
@@ -35,6 +36,63 @@ Before reviewing, check review status in state:
|
|
|
35
36
|
2. Only review pending tasks
|
|
36
37
|
3. If all reviews passed, skip to auto-chain
|
|
37
38
|
|
|
39
|
+
## Quality Check Catalog (Tier 2 — All Platforms)
|
|
40
|
+
|
|
41
|
+
Before dispatching the quality-review subagent, call `prepare_review` to get the quality check catalog:
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
exarchos_orchestrate({ action: "prepare_review", featureId: "<id>" })
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This returns structured check patterns (grep, structural, heuristic) that the quality-review subagent executes against the codebase. The catalog works on **any MCP platform** — no companion plugins needed.
|
|
48
|
+
|
|
49
|
+
Pass the catalog to the quality-review subagent along with the diff. The subagent executes checks, collects findings, and feeds them as `pluginFindings` to `check_review_verdict`:
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
exarchos_orchestrate({
|
|
53
|
+
action: "check_review_verdict",
|
|
54
|
+
featureId: "<id>",
|
|
55
|
+
high: nativeHighCount,
|
|
56
|
+
medium: nativeMediumCount,
|
|
57
|
+
low: nativeLowCount,
|
|
58
|
+
pluginFindings: catalogFindings, // from check catalog execution
|
|
59
|
+
})
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The `pluginFindings` counts are merged with native counts before computing the verdict.
|
|
63
|
+
|
|
64
|
+
## Companion Plugin Enhancement (Tier 3 — Claude Code / Cursor)
|
|
65
|
+
|
|
66
|
+
On platforms with skill support, the orchestrator additionally invokes companion plugin skills after the quality-review subagent returns. These provide deeper qualitative analysis beyond the deterministic catalog.
|
|
67
|
+
|
|
68
|
+
### Detection
|
|
69
|
+
|
|
70
|
+
Check the `pluginStatus` from `prepare_review` response AND your available skills list:
|
|
71
|
+
- `axiom:audit` — deeper backend quality analysis (7 dimensions)
|
|
72
|
+
- `impeccable:critique` — frontend design quality
|
|
73
|
+
|
|
74
|
+
### Invocation
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
// Only if plugin is enabled AND skill is available
|
|
78
|
+
Skill({ skill: "axiom:audit" }) // Pass: diff content, changed file list
|
|
79
|
+
Skill({ skill: "impeccable:critique" }) // Pass: diff content
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Verdict Escalation
|
|
83
|
+
|
|
84
|
+
Feed companion plugin findings as additional `pluginFindings` to `check_review_verdict`. The merged counts determine the final verdict:
|
|
85
|
+
|
|
86
|
+
- **No plugin HIGH findings** → verdict unchanged
|
|
87
|
+
- **Plugin HIGH findings found** → escalates APPROVED to NEEDS_FIXES
|
|
88
|
+
|
|
89
|
+
### Plugin Coverage
|
|
90
|
+
|
|
91
|
+
Log status in review output:
|
|
92
|
+
- Not installed: `axiom: not installed (install with claude plugin install axiom@lvlup-sw)`
|
|
93
|
+
- Disabled: `axiom: disabled via .exarchos.yml`
|
|
94
|
+
- Active: `axiom: active (N findings)`
|
|
95
|
+
|
|
38
96
|
## Output
|
|
39
97
|
|
|
40
98
|
Track the feature name and plan path as `$FEATURE_NAME` and `$PLAN_PATH`.
|