claude-code-pilot 3.0.0 → 3.1.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/README.md +76 -97
- package/bin/install.js +13 -13
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/src/agents/doc-updater.md +1 -1
- package/src/agents/gan-evaluator.md +209 -0
- package/src/agents/gan-generator.md +131 -0
- package/src/agents/gan-planner.md +99 -0
- package/src/agents/harness-optimizer.md +35 -0
- package/src/agents/loop-operator.md +36 -0
- package/src/agents/opensource-forker.md +198 -0
- package/src/agents/opensource-packager.md +249 -0
- package/src/agents/opensource-sanitizer.md +188 -0
- package/src/agents/performance-optimizer.md +446 -0
- package/src/available-rules/README.md +1 -1
- package/src/commands/{aside.md → ccp/aside.md} +14 -13
- package/src/commands/{build-fix.md → ccp/build-fix.md} +5 -0
- package/src/commands/{checkpoint.md → ccp/checkpoint.md} +12 -7
- package/src/commands/{code-review.md → ccp/code-review.md} +5 -0
- package/src/commands/{context-budget.md → ccp/context-budget.md} +2 -1
- package/src/commands/{cpp-build.md → ccp/cpp-build.md} +6 -5
- package/src/commands/{cpp-review.md → ccp/cpp-review.md} +7 -6
- package/src/commands/{cpp-test.md → ccp/cpp-test.md} +6 -5
- package/src/commands/ccp/docs-update.md +48 -0
- package/src/commands/{docs.md → ccp/docs.md} +4 -3
- package/src/commands/{e2e.md → ccp/e2e.md} +7 -6
- package/src/commands/{eval.md → ccp/eval.md} +10 -5
- package/src/commands/{evolve.md → ccp/evolve.md} +3 -3
- package/src/commands/{go-build.md → ccp/go-build.md} +6 -5
- package/src/commands/{go-review.md → ccp/go-review.md} +7 -6
- package/src/commands/{go-test.md → ccp/go-test.md} +6 -5
- package/src/commands/{gradle-build.md → ccp/gradle-build.md} +1 -0
- package/src/commands/{harness-audit.md → ccp/harness-audit.md} +6 -1
- package/src/commands/{kotlin-build.md → ccp/kotlin-build.md} +6 -5
- package/src/commands/{kotlin-review.md → ccp/kotlin-review.md} +7 -6
- package/src/commands/{kotlin-test.md → ccp/kotlin-test.md} +6 -5
- package/src/commands/{learn.md → ccp/learn.md} +7 -2
- package/src/commands/{model-route.md → ccp/model-route.md} +6 -1
- package/src/commands/{orchestrate.md → ccp/orchestrate.md} +4 -3
- package/src/commands/{plan.md → ccp/plan.md} +6 -5
- package/src/commands/ccp/profile-user.md +46 -0
- package/src/commands/{prompt-optimize.md → ccp/prompt-optimize.md} +3 -2
- package/src/commands/{prune.md → ccp/prune.md} +4 -4
- package/src/commands/{python-review.md → ccp/python-review.md} +7 -6
- package/src/commands/{quality-gate.md → ccp/quality-gate.md} +6 -1
- package/src/commands/{refactor-clean.md → ccp/refactor-clean.md} +5 -0
- package/src/commands/{resume-session.md → ccp/resume-session.md} +9 -8
- package/src/commands/ccp/review.md +37 -0
- package/src/commands/{rules-distill.md → ccp/rules-distill.md} +2 -1
- package/src/commands/{rust-build.md → ccp/rust-build.md} +6 -5
- package/src/commands/{rust-review.md → ccp/rust-review.md} +7 -6
- package/src/commands/{rust-test.md → ccp/rust-test.md} +6 -5
- package/src/commands/{save-session.md → ccp/save-session.md} +2 -1
- package/src/commands/ccp/secure-phase.md +35 -0
- package/src/commands/{sessions.md → ccp/sessions.md} +29 -24
- package/src/commands/{setup-pm.md → ccp/setup-pm.md} +1 -0
- package/src/commands/{setup-refresh.md → ccp/setup-refresh.md} +4 -3
- package/src/commands/{setup.md → ccp/setup.md} +24 -23
- package/src/commands/{skill-create.md → ccp/skill-create.md} +8 -8
- package/src/commands/{skill-health.md → ccp/skill-health.md} +5 -5
- package/src/commands/{tdd.md → ccp/tdd.md} +9 -8
- package/src/commands/{test-coverage.md → ccp/test-coverage.md} +5 -0
- package/src/commands/{tool-guide.md → ccp/tool-guide.md} +2 -1
- package/src/commands/{update-codemaps.md → ccp/update-codemaps.md} +5 -0
- package/src/commands/{update-docs.md → ccp/update-docs.md} +5 -0
- package/src/commands/{verify.md → ccp/verify.md} +5 -0
- package/src/commands/ccp/workstreams.md +68 -0
- package/src/examples/CLAUDE.md +4 -4
- package/src/examples/django-api-CLAUDE.md +5 -5
- package/src/examples/go-microservice-CLAUDE.md +6 -6
- package/src/examples/rust-api-CLAUDE.md +4 -4
- package/src/examples/saas-nextjs-CLAUDE.md +8 -8
- package/src/hooks/session-start.js +1 -1
- package/src/pilot/references/mcp-servers.json +1 -1
- package/src/pilot/workflows/docs-update.md +1165 -0
- package/src/pilot/workflows/help.md +48 -56
- package/src/pilot/workflows/profile-user.md +452 -0
- package/src/pilot/workflows/review.md +244 -0
- package/src/pilot/workflows/secure-phase.md +164 -0
- package/src/rules/common/code-review.md +124 -0
- package/src/rules/zh/README.md +108 -0
- package/src/rules/zh/agents.md +50 -0
- package/src/rules/zh/code-review.md +124 -0
- package/src/rules/zh/coding-style.md +48 -0
- package/src/rules/zh/development-workflow.md +44 -0
- package/src/rules/zh/git-workflow.md +24 -0
- package/src/rules/zh/hooks.md +30 -0
- package/src/rules/zh/patterns.md +31 -0
- package/src/rules/zh/performance.md +55 -0
- package/src/rules/zh/security.md +29 -0
- package/src/rules/zh/testing.md +29 -0
- package/src/skills/autonomous-agent-harness/SKILL.md +267 -0
- package/src/skills/autonomous-loops/SKILL.md +610 -0
- package/src/skills/bun-runtime/SKILL.md +84 -0
- package/src/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/src/skills/context-budget/SKILL.md +3 -3
- package/src/skills/continuous-learning-v2/SKILL.md +4 -4
- package/src/skills/continuous-learning-v2/agents/observer.md +1 -1
- package/src/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/src/skills/design-system/SKILL.md +82 -0
- package/src/skills/eval-harness/SKILL.md +270 -0
- package/src/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/src/skills/gan-style-harness/SKILL.md +278 -0
- package/src/skills/git-workflow/SKILL.md +715 -0
- package/src/skills/hexagonal-architecture/SKILL.md +276 -0
- package/src/skills/iterative-retrieval/SKILL.md +211 -0
- package/src/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/src/skills/nextjs-turbopack/SKILL.md +44 -0
- package/src/skills/nuxt4-patterns/SKILL.md +100 -0
- package/src/skills/opensource-pipeline/SKILL.md +255 -0
- package/src/skills/perl-security/SKILL.md +503 -0
- package/src/skills/project-flow-ops/SKILL.md +111 -0
- package/src/skills/project-guidelines-example/SKILL.md +349 -0
- package/src/skills/prompt-optimizer/SKILL.md +38 -38
- package/src/skills/pytorch-patterns/SKILL.md +396 -0
- package/src/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/src/skills/repo-scan/SKILL.md +78 -0
- package/src/skills/rules-distill/SKILL.md +264 -0
- package/src/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/src/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/src/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/src/skills/token-budget-advisor/SKILL.md +133 -0
- package/src/skills/verification-loop/SKILL.md +1 -1
- package/src/skills/workspace-surface-audit/SKILL.md +125 -0
package/README.md
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
# Claude Code Pilot
|
|
2
2
|
|
|
3
|
-
Universal Claude Code configuration for
|
|
4
|
-
|
|
5
|
-
- **GSD** (Get Shit Done) v1.22.4 — *Methodology*. Spec-driven development with fresh 200k contexts per task. Prevents context rot.
|
|
6
|
-
- **ECC** (Everything Claude Code) v1.8.0 — *Toolbox*. Session persistence, continuous learning, verification, quality gates. Prevents knowledge loss.
|
|
7
|
-
|
|
8
|
-
One command to install. `/setup` wizard auto-configures everything.
|
|
3
|
+
Universal Claude Code configuration for any project. One-command install, auto-setup wizard, 101 commands, 51 agents, 87 skills.
|
|
9
4
|
|
|
10
5
|
## Install
|
|
11
6
|
|
|
@@ -13,117 +8,99 @@ One command to install. `/setup` wizard auto-configures everything.
|
|
|
13
8
|
cd your-project
|
|
14
9
|
npx claude-code-pilot
|
|
15
10
|
claude
|
|
16
|
-
> /setup
|
|
11
|
+
> /ccp:setup
|
|
17
12
|
```
|
|
18
13
|
|
|
14
|
+
The `/ccp:setup` wizard scans your codebase, generates a tailored `CLAUDE.md`, detects your language, and activates the matching rule set.
|
|
15
|
+
|
|
19
16
|
## The Workflow
|
|
20
17
|
|
|
21
18
|
```
|
|
22
|
-
npx claude-code-pilot
|
|
23
|
-
claude
|
|
19
|
+
npx claude-code-pilot <- install (once)
|
|
20
|
+
claude -> /ccp:setup <- wizard scans codebase, generates CLAUDE.md
|
|
24
21
|
|
|
25
22
|
# Development
|
|
26
|
-
/
|
|
27
|
-
/
|
|
28
|
-
/checkpoint create "before
|
|
29
|
-
/
|
|
30
|
-
/verify
|
|
31
|
-
/
|
|
32
|
-
/save-session
|
|
33
|
-
/learn
|
|
23
|
+
/ccp:discuss-phase 1 <- capture requirements
|
|
24
|
+
/ccp:plan-phase 1 <- atomic plans
|
|
25
|
+
/ccp:checkpoint create "before" <- snapshot
|
|
26
|
+
/ccp:execute-phase 1 <- build with fresh contexts
|
|
27
|
+
/ccp:verify <- build, types, lint, tests, security
|
|
28
|
+
/ccp:verify-work 1 <- does it match the spec?
|
|
29
|
+
/ccp:save-session <- persist for next session
|
|
30
|
+
/ccp:learn <- extract reusable patterns
|
|
34
31
|
|
|
35
32
|
# Next session
|
|
36
|
-
/resume-session
|
|
37
|
-
/evolve
|
|
38
|
-
/
|
|
33
|
+
/ccp:resume-session <- load previous context
|
|
34
|
+
/ccp:evolve <- promote instincts to skills
|
|
35
|
+
/ccp:update <- update everything
|
|
39
36
|
```
|
|
40
37
|
|
|
41
|
-
## What's Included (
|
|
38
|
+
## What's Included (~494 files after install)
|
|
39
|
+
|
|
40
|
+
| Category | Count | Description |
|
|
41
|
+
|----------|-------|-------------|
|
|
42
|
+
| `/ccp:` commands | 101 | Development lifecycle, quality gates, session management, learning |
|
|
43
|
+
| Agents | 51 | Planning, execution, review, testing, security, documentation |
|
|
44
|
+
| Skill packs | 87 | Continuous learning, verification, strategic compaction, and more |
|
|
45
|
+
| Hooks | 15 | 14 event + 1 statusLine: safety guards, context management, notifications, session persistence |
|
|
46
|
+
| Common rules | 10 | Always active (coding style, security, testing, performance, etc.) |
|
|
47
|
+
| Chinese language rules | 11 | Always active (zh/ translations of common rules) |
|
|
48
|
+
| Language-specific rule sets | 11 | Activated by `/ccp:setup` (see Language Rules below) |
|
|
49
|
+
| Context modes | 3 | dev, research, review |
|
|
50
|
+
| Reference examples | 6 | CLAUDE.md examples for different project types |
|
|
51
|
+
|
|
52
|
+
### Command Highlights
|
|
42
53
|
|
|
43
|
-
### GSD — Methodology (32 commands, 12 agents)
|
|
44
|
-
| Command | What |
|
|
45
|
-
|---------|------|
|
|
46
|
-
| `/gsd:new-project` | Initialize with roadmap and milestones |
|
|
47
|
-
| `/gsd:discuss-phase N` | Capture requirements |
|
|
48
|
-
| `/gsd:plan-phase N` | Atomic plans (max 3 tasks per subagent) |
|
|
49
|
-
| `/gsd:execute-phase N` | Build in fresh 200k contexts |
|
|
50
|
-
| `/gsd:verify-work N` | Goal-backward verification |
|
|
51
|
-
| `/gsd:quick "task"` | Same quality, lighter process |
|
|
52
|
-
| `/gsd:progress` | Milestone progress |
|
|
53
|
-
| `/gsd:help` | All 32 commands |
|
|
54
|
-
|
|
55
|
-
12 specialized subagents: executor, planner, verifier, debugger, codebase-mapper, roadmapper, etc.
|
|
56
|
-
|
|
57
|
-
### ECC — Toolbox (9 commands, 6 agents, 3 skills)
|
|
58
54
|
| Command | What |
|
|
59
55
|
|---------|------|
|
|
60
|
-
| `/
|
|
61
|
-
| `/
|
|
62
|
-
| `/
|
|
63
|
-
| `/
|
|
64
|
-
| `/
|
|
65
|
-
| `/
|
|
66
|
-
| `/
|
|
67
|
-
| `/
|
|
68
|
-
| `/
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
|
78
|
-
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
| |
|
|
88
|
-
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
| **Persistence** | Atomic commits | Session files with full context |
|
|
95
|
-
|
|
96
|
-
## Hooks (13 total)
|
|
97
|
-
|
|
98
|
-
| Hook | Event | Source |
|
|
99
|
-
|------|-------|--------|
|
|
100
|
-
| Command blocker | PreToolUse:Bash | Kit |
|
|
101
|
-
| File protection | PreToolUse:Write\|Edit | Kit |
|
|
102
|
-
| Context monitor | PostToolUse | GSD |
|
|
103
|
-
| GSD update check | SessionStart | GSD |
|
|
104
|
-
| Kit update check | SessionStart | Kit |
|
|
105
|
-
| Session loader | SessionStart | ECC |
|
|
106
|
-
| Session saver | Stop | ECC |
|
|
107
|
-
| Pre-compact save | PreCompact | ECC |
|
|
108
|
-
| Strategic compact | PreToolUse:Edit\|Write | ECC |
|
|
109
|
-
| Task completed | Stop | Kit |
|
|
110
|
-
| Idle prompt | Notification | Kit |
|
|
111
|
-
| Permission needed | Notification | Kit |
|
|
112
|
-
| Statusline | Always | GSD |
|
|
56
|
+
| `/ccp:setup` | Wizard: scan codebase, generate CLAUDE.md, activate language rules |
|
|
57
|
+
| `/ccp:discuss-phase N` | Capture requirements for a development phase |
|
|
58
|
+
| `/ccp:plan-phase N` | Create atomic plans (max 3 tasks per subagent) |
|
|
59
|
+
| `/ccp:execute-phase N` | Build in fresh 200k contexts, preventing context rot |
|
|
60
|
+
| `/ccp:verify` | 6-phase quality check: build, types, lint, tests, security, diff |
|
|
61
|
+
| `/ccp:checkpoint` | Git-backed snapshots with before/after comparison |
|
|
62
|
+
| `/ccp:save-session` | Persist what worked, what didn't, exact next step |
|
|
63
|
+
| `/ccp:resume-session` | Load previous session context |
|
|
64
|
+
| `/ccp:learn` | Extract reusable patterns from session |
|
|
65
|
+
| `/ccp:evolve` | Promote learned instincts into skills, commands, or agents |
|
|
66
|
+
|
|
67
|
+
Run `/ccp:help` for the full list of all 101 commands.
|
|
68
|
+
|
|
69
|
+
## Hooks (15 total)
|
|
70
|
+
|
|
71
|
+
14 event hooks and 1 statusLine, all registered automatically during install.
|
|
72
|
+
|
|
73
|
+
| Hook | Event | Description |
|
|
74
|
+
|------|-------|-------------|
|
|
75
|
+
| Command blocker | PreToolUse:Bash | Blocks dangerous commands (rm -rf, DROP TABLE, push --force) |
|
|
76
|
+
| File protection | PreToolUse:Write/Edit | Protects .env, lock files, and other sensitive files |
|
|
77
|
+
| Context monitor | PostToolUse | Tracks context window usage |
|
|
78
|
+
| Update check | SessionStart | Checks npm for new CCP versions |
|
|
79
|
+
| Session loader | SessionStart | Loads previous session context |
|
|
80
|
+
| Session saver | Stop | Persists session state on exit |
|
|
81
|
+
| Pre-compact save | PreCompact | Saves context before compaction |
|
|
82
|
+
| Strategic compact | PreToolUse:Edit/Write | Manages context strategically |
|
|
83
|
+
| Task completed | Stop | Desktop notification on task completion |
|
|
84
|
+
| Idle prompt | Notification | Desktop alert when idle |
|
|
85
|
+
| Permission needed | Notification | Desktop alert when permission required |
|
|
86
|
+
| Auto-format | PostToolUse:Write/Edit | Formats code after writes |
|
|
87
|
+
| Agent shield | PreToolUse | Agent safety guardrails |
|
|
88
|
+
| Quality gate | Stop | Final quality verification |
|
|
89
|
+
| Statusline | Always | Shows project status in Claude Code status bar |
|
|
113
90
|
|
|
114
91
|
## Language Rules
|
|
115
92
|
|
|
116
|
-
|
|
93
|
+
10 common rules are always active. 11 language-specific rule sets are available in `available-rules/` and activated by the `/ccp:setup` wizard when it detects your project language.
|
|
117
94
|
|
|
118
|
-
Available: TypeScript, Python, Go, Swift, Kotlin, PHP, Perl.
|
|
95
|
+
Available language rule sets: TypeScript, Python, Go, Swift, Kotlin, PHP, Perl, Java, C++, C#, Rust.
|
|
119
96
|
|
|
120
97
|
## Self-Updating
|
|
121
98
|
|
|
122
|
-
On every session start,
|
|
99
|
+
On every session start, CCP checks npm for new versions. When available, the agent sees a notification prompting an update.
|
|
123
100
|
|
|
124
101
|
```bash
|
|
125
102
|
# From Claude Code:
|
|
126
|
-
/
|
|
103
|
+
/ccp:update
|
|
127
104
|
|
|
128
105
|
# From terminal:
|
|
129
106
|
npx claude-code-pilot@latest --update
|
|
@@ -145,7 +122,9 @@ npx claude-code-pilot [options]
|
|
|
145
122
|
|
|
146
123
|
## Credits
|
|
147
124
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
- **
|
|
151
|
-
- **
|
|
125
|
+
Built on the shoulders of:
|
|
126
|
+
|
|
127
|
+
- **GSD** by [TACHES](https://github.com/glittercowboy/get-shit-done) (MIT) -- spec-driven development methodology
|
|
128
|
+
- **ECC** by [Affaan Mustafa](https://github.com/affaan-m/everything-claude-code) (MIT) -- session persistence and learning toolbox
|
|
129
|
+
- **find-skills** by [Vercel Labs](https://github.com/vercel-labs/skills) -- skill discovery
|
|
130
|
+
- **Context7** by [Upstash](https://github.com/upstash/context7) -- documentation context
|
package/bin/install.js
CHANGED
|
@@ -46,20 +46,20 @@ const pathPrefix = isGlobal ? `${targetDir.replace(/\\/g, '/')}/` : './.claude/'
|
|
|
46
46
|
const projectRoot = isGlobal ? os.homedir() : process.cwd();
|
|
47
47
|
|
|
48
48
|
// --- Templates ---
|
|
49
|
-
const BOOTSTRAP_MARKER = "Run `/setup` to auto-configure";
|
|
49
|
+
const BOOTSTRAP_MARKER = "Run `/ccp:setup` to auto-configure";
|
|
50
50
|
|
|
51
51
|
const BOOTSTRAP_TEMPLATE = `# Project Agent Guide
|
|
52
52
|
|
|
53
|
-
> **First time?** Run \`/setup\` to auto-configure this project.
|
|
53
|
+
> **First time?** Run \`/ccp:setup\` to auto-configure this project.
|
|
54
54
|
> **Update?** Run \`/ccp:update\` to get the latest version.
|
|
55
55
|
|
|
56
|
-
This file will be generated by \`/setup\` with project-specific details.
|
|
56
|
+
This file will be generated by \`/ccp:setup\` with project-specific details.
|
|
57
57
|
|
|
58
58
|
## Claude Code Pilot
|
|
59
59
|
|
|
60
60
|
Spec-driven development with fresh 200k contexts per task:
|
|
61
61
|
|
|
62
|
-
- \`/setup\` -- Auto-configure this project
|
|
62
|
+
- \`/ccp:setup\` -- Auto-configure this project
|
|
63
63
|
- \`/ccp:new-project\` -- Initialize with roadmap and milestones
|
|
64
64
|
- \`/ccp:quick "task"\` -- Lightweight mode for small tasks
|
|
65
65
|
- \`/ccp:discuss-phase N\` -- Capture requirements
|
|
@@ -69,10 +69,10 @@ Spec-driven development with fresh 200k contexts per task:
|
|
|
69
69
|
|
|
70
70
|
## Utilities
|
|
71
71
|
|
|
72
|
-
- \`/verify\` -- Multi-phase verification (build, types, lint, tests, security)
|
|
73
|
-
- \`/checkpoint create "name"\` -- Git-backed snapshots
|
|
74
|
-
- \`/save-session\` -- Persist session state
|
|
75
|
-
- \`/learn\` -- Extract reusable patterns
|
|
72
|
+
- \`/ccp:verify\` -- Multi-phase verification (build, types, lint, tests, security)
|
|
73
|
+
- \`/ccp:checkpoint create "name"\` -- Git-backed snapshots
|
|
74
|
+
- \`/ccp:save-session\` -- Persist session state
|
|
75
|
+
- \`/ccp:learn\` -- Extract reusable patterns
|
|
76
76
|
|
|
77
77
|
## Before ANY Work
|
|
78
78
|
|
|
@@ -409,7 +409,7 @@ function install() {
|
|
|
409
409
|
${fileCount} files, ${hookCount} hooks, ${totalAgents} agents
|
|
410
410
|
|
|
411
411
|
Next:
|
|
412
|
-
${cyan}/setup${reset}
|
|
412
|
+
${cyan}/ccp:setup${reset} -- auto-configure this project
|
|
413
413
|
|
|
414
414
|
Build:
|
|
415
415
|
${cyan}/ccp:new-project${reset} -- initialize with roadmap
|
|
@@ -418,10 +418,10 @@ function install() {
|
|
|
418
418
|
${cyan}/ccp:help${reset} -- all commands
|
|
419
419
|
|
|
420
420
|
Utilities:
|
|
421
|
-
${cyan}/save-session${reset}
|
|
422
|
-
${cyan}/verify${reset}
|
|
423
|
-
${cyan}/checkpoint create "v1"${reset} -- git-backed snapshot
|
|
424
|
-
${cyan}/learn${reset}
|
|
421
|
+
${cyan}/ccp:save-session${reset} -- persist session state
|
|
422
|
+
${cyan}/ccp:verify${reset} -- multi-phase verification
|
|
423
|
+
${cyan}/ccp:checkpoint create "v1"${reset} -- git-backed snapshot
|
|
424
|
+
${cyan}/ccp:learn${reset} -- extract reusable patterns
|
|
425
425
|
`);
|
|
426
426
|
}
|
|
427
427
|
|
package/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: doc-updater
|
|
3
|
-
description: Documentation and codemap specialist. Use PROACTIVELY for updating codemaps and documentation. Runs /update-codemaps and /update-docs, generates docs/CODEMAPS/*, updates READMEs and guides.
|
|
3
|
+
description: Documentation and codemap specialist. Use PROACTIVELY for updating codemaps and documentation. Runs /ccp:update-codemaps and /ccp:update-docs, generates docs/CODEMAPS/*, updates READMEs and guides.
|
|
4
4
|
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
|
5
5
|
model: haiku
|
|
6
6
|
---
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gan-evaluator
|
|
3
|
+
description: "GAN Harness — Evaluator agent. Tests the live running application via Playwright, scores against rubric, and provides actionable feedback to the Generator."
|
|
4
|
+
tools: ["Read", "Write", "Bash", "Grep", "Glob"]
|
|
5
|
+
model: opus
|
|
6
|
+
color: red
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
You are the **Evaluator** in a GAN-style multi-agent harness (inspired by Anthropic's harness design paper, March 2026).
|
|
10
|
+
|
|
11
|
+
## Your Role
|
|
12
|
+
|
|
13
|
+
You are the QA Engineer and Design Critic. You test the **live running application** — not the code, not a screenshot, but the actual interactive product. You score it against a strict rubric and provide detailed, actionable feedback.
|
|
14
|
+
|
|
15
|
+
## Core Principle: Be Ruthlessly Strict
|
|
16
|
+
|
|
17
|
+
> You are NOT here to be encouraging. You are here to find every flaw, every shortcut, every sign of mediocrity. A passing score must mean the app is genuinely good — not "good for an AI."
|
|
18
|
+
|
|
19
|
+
**Your natural tendency is to be generous.** Fight it. Specifically:
|
|
20
|
+
- Do NOT say "overall good effort" or "solid foundation" — these are cope
|
|
21
|
+
- Do NOT talk yourself out of issues you found ("it's minor, probably fine")
|
|
22
|
+
- Do NOT give points for effort or "potential"
|
|
23
|
+
- DO penalize heavily for AI-slop aesthetics (generic gradients, stock layouts)
|
|
24
|
+
- DO test edge cases (empty inputs, very long text, special characters, rapid clicking)
|
|
25
|
+
- DO compare against what a professional human developer would ship
|
|
26
|
+
|
|
27
|
+
## Evaluation Workflow
|
|
28
|
+
|
|
29
|
+
### Step 1: Read the Rubric
|
|
30
|
+
```
|
|
31
|
+
Read gan-harness/eval-rubric.md for project-specific criteria
|
|
32
|
+
Read gan-harness/spec.md for feature requirements
|
|
33
|
+
Read gan-harness/generator-state.md for what was built
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Step 2: Launch Browser Testing
|
|
37
|
+
```bash
|
|
38
|
+
# The Generator should have left a dev server running
|
|
39
|
+
# Use Playwright MCP to interact with the live app
|
|
40
|
+
|
|
41
|
+
# Navigate to the app
|
|
42
|
+
playwright navigate http://localhost:${GAN_DEV_SERVER_PORT:-3000}
|
|
43
|
+
|
|
44
|
+
# Take initial screenshot
|
|
45
|
+
playwright screenshot --name "initial-load"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Step 3: Systematic Testing
|
|
49
|
+
|
|
50
|
+
#### A. First Impression (30 seconds)
|
|
51
|
+
- Does the page load without errors?
|
|
52
|
+
- What's the immediate visual impression?
|
|
53
|
+
- Does it feel like a real product or a tutorial project?
|
|
54
|
+
- Is there a clear visual hierarchy?
|
|
55
|
+
|
|
56
|
+
#### B. Feature Walk-Through
|
|
57
|
+
For each feature in the spec:
|
|
58
|
+
```
|
|
59
|
+
1. Navigate to the feature
|
|
60
|
+
2. Test the happy path (normal usage)
|
|
61
|
+
3. Test edge cases:
|
|
62
|
+
- Empty inputs
|
|
63
|
+
- Very long inputs (500+ characters)
|
|
64
|
+
- Special characters (<script>, emoji, unicode)
|
|
65
|
+
- Rapid repeated actions (double-click, spam submit)
|
|
66
|
+
4. Test error states:
|
|
67
|
+
- Invalid data
|
|
68
|
+
- Network-like failures
|
|
69
|
+
- Missing required fields
|
|
70
|
+
5. Screenshot each state
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### C. Design Audit
|
|
74
|
+
```
|
|
75
|
+
1. Check color consistency across all pages
|
|
76
|
+
2. Verify typography hierarchy (headings, body, captions)
|
|
77
|
+
3. Test responsive: resize to 375px, 768px, 1440px
|
|
78
|
+
4. Check spacing consistency (padding, margins)
|
|
79
|
+
5. Look for:
|
|
80
|
+
- AI-slop indicators (generic gradients, stock patterns)
|
|
81
|
+
- Alignment issues
|
|
82
|
+
- Orphaned elements
|
|
83
|
+
- Inconsistent border radiuses
|
|
84
|
+
- Missing hover/focus/active states
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
#### D. Interaction Quality
|
|
88
|
+
```
|
|
89
|
+
1. Test all clickable elements
|
|
90
|
+
2. Check keyboard navigation (Tab, Enter, Escape)
|
|
91
|
+
3. Verify loading states exist (not instant renders)
|
|
92
|
+
4. Check transitions/animations (smooth? purposeful?)
|
|
93
|
+
5. Test form validation (inline? on submit? real-time?)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Step 4: Score
|
|
97
|
+
|
|
98
|
+
Score each criterion on a 1-10 scale. Use the rubric in `gan-harness/eval-rubric.md`.
|
|
99
|
+
|
|
100
|
+
**Scoring calibration:**
|
|
101
|
+
- 1-3: Broken, embarrassing, would not show to anyone
|
|
102
|
+
- 4-5: Functional but clearly AI-generated, tutorial-quality
|
|
103
|
+
- 6: Decent but unremarkable, missing polish
|
|
104
|
+
- 7: Good — a junior developer's solid work
|
|
105
|
+
- 8: Very good — professional quality, some rough edges
|
|
106
|
+
- 9: Excellent — senior developer quality, polished
|
|
107
|
+
- 10: Exceptional — could ship as a real product
|
|
108
|
+
|
|
109
|
+
**Weighted score formula:**
|
|
110
|
+
```
|
|
111
|
+
weighted = (design * 0.3) + (originality * 0.2) + (craft * 0.3) + (functionality * 0.2)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Step 5: Write Feedback
|
|
115
|
+
|
|
116
|
+
Write feedback to `gan-harness/feedback/feedback-NNN.md`:
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
# Evaluation — Iteration NNN
|
|
120
|
+
|
|
121
|
+
## Scores
|
|
122
|
+
|
|
123
|
+
| Criterion | Score | Weight | Weighted |
|
|
124
|
+
|-----------|-------|--------|----------|
|
|
125
|
+
| Design Quality | X/10 | 0.3 | X.X |
|
|
126
|
+
| Originality | X/10 | 0.2 | X.X |
|
|
127
|
+
| Craft | X/10 | 0.3 | X.X |
|
|
128
|
+
| Functionality | X/10 | 0.2 | X.X |
|
|
129
|
+
| **TOTAL** | | | **X.X/10** |
|
|
130
|
+
|
|
131
|
+
## Verdict: PASS / FAIL (threshold: 7.0)
|
|
132
|
+
|
|
133
|
+
## Critical Issues (must fix)
|
|
134
|
+
1. [Issue]: [What's wrong] → [How to fix]
|
|
135
|
+
2. [Issue]: [What's wrong] → [How to fix]
|
|
136
|
+
|
|
137
|
+
## Major Issues (should fix)
|
|
138
|
+
1. [Issue]: [What's wrong] → [How to fix]
|
|
139
|
+
|
|
140
|
+
## Minor Issues (nice to fix)
|
|
141
|
+
1. [Issue]: [What's wrong] → [How to fix]
|
|
142
|
+
|
|
143
|
+
## What Improved Since Last Iteration
|
|
144
|
+
- [Improvement 1]
|
|
145
|
+
- [Improvement 2]
|
|
146
|
+
|
|
147
|
+
## What Regressed Since Last Iteration
|
|
148
|
+
- [Regression 1] (if any)
|
|
149
|
+
|
|
150
|
+
## Specific Suggestions for Next Iteration
|
|
151
|
+
1. [Concrete, actionable suggestion]
|
|
152
|
+
2. [Concrete, actionable suggestion]
|
|
153
|
+
|
|
154
|
+
## Screenshots
|
|
155
|
+
- [Description of what was captured and key observations]
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Feedback Quality Rules
|
|
159
|
+
|
|
160
|
+
1. **Every issue must have a "how to fix"** — Don't just say "design is generic." Say "Replace the gradient background (#667eea→#764ba2) with a solid color from the spec palette. Add a subtle texture or pattern for depth."
|
|
161
|
+
|
|
162
|
+
2. **Reference specific elements** — Not "the layout needs work" but "the sidebar cards at 375px overflow their container. Set `max-width: 100%` and add `overflow: hidden`."
|
|
163
|
+
|
|
164
|
+
3. **Quantify when possible** — "The CLS score is 0.15 (should be <0.1)" or "3 out of 7 features have no error state handling."
|
|
165
|
+
|
|
166
|
+
4. **Compare to spec** — "Spec requires drag-and-drop reordering (Feature #4). Currently not implemented."
|
|
167
|
+
|
|
168
|
+
5. **Acknowledge genuine improvements** — When the Generator fixes something well, note it. This calibrates the feedback loop.
|
|
169
|
+
|
|
170
|
+
## Browser Testing Commands
|
|
171
|
+
|
|
172
|
+
Use Playwright MCP or direct browser automation:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# Navigate
|
|
176
|
+
npx playwright test --headed --browser=chromium
|
|
177
|
+
|
|
178
|
+
# Or via MCP tools if available:
|
|
179
|
+
# mcp__playwright__navigate { url: "http://localhost:3000" }
|
|
180
|
+
# mcp__playwright__click { selector: "button.submit" }
|
|
181
|
+
# mcp__playwright__fill { selector: "input[name=email]", value: "test@example.com" }
|
|
182
|
+
# mcp__playwright__screenshot { name: "after-submit" }
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
If Playwright MCP is not available, fall back to:
|
|
186
|
+
1. `curl` for API testing
|
|
187
|
+
2. Build output analysis
|
|
188
|
+
3. Screenshot via headless browser
|
|
189
|
+
4. Test runner output
|
|
190
|
+
|
|
191
|
+
## Evaluation Mode Adaptation
|
|
192
|
+
|
|
193
|
+
### `playwright` mode (default)
|
|
194
|
+
Full browser interaction as described above.
|
|
195
|
+
|
|
196
|
+
### `screenshot` mode
|
|
197
|
+
Take screenshots only, analyze visually. Less thorough but works without MCP.
|
|
198
|
+
|
|
199
|
+
### `code-only` mode
|
|
200
|
+
For APIs/libraries: run tests, check build, analyze code quality. No browser.
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# Code-only evaluation
|
|
204
|
+
npm run build 2>&1 | tee /tmp/build-output.txt
|
|
205
|
+
npm test 2>&1 | tee /tmp/test-output.txt
|
|
206
|
+
npx eslint . 2>&1 | tee /tmp/lint-output.txt
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Score based on: test pass rate, build success, lint issues, code coverage, API response correctness.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gan-generator
|
|
3
|
+
description: "GAN Harness — Generator agent. Implements features according to the spec, reads evaluator feedback, and iterates until quality threshold is met."
|
|
4
|
+
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
|
5
|
+
model: opus
|
|
6
|
+
color: green
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
You are the **Generator** in a GAN-style multi-agent harness (inspired by Anthropic's harness design paper, March 2026).
|
|
10
|
+
|
|
11
|
+
## Your Role
|
|
12
|
+
|
|
13
|
+
You are the Developer. You build the application according to the product spec. After each build iteration, the Evaluator will test and score your work. You then read the feedback and improve.
|
|
14
|
+
|
|
15
|
+
## Key Principles
|
|
16
|
+
|
|
17
|
+
1. **Read the spec first** — Always start by reading `gan-harness/spec.md`
|
|
18
|
+
2. **Read feedback** — Before each iteration (except the first), read the latest `gan-harness/feedback/feedback-NNN.md`
|
|
19
|
+
3. **Address every issue** — The Evaluator's feedback items are not suggestions. Fix them all.
|
|
20
|
+
4. **Don't self-evaluate** — Your job is to build, not to judge. The Evaluator judges.
|
|
21
|
+
5. **Commit between iterations** — Use git so the Evaluator can see clean diffs.
|
|
22
|
+
6. **Keep the dev server running** — The Evaluator needs a live app to test.
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
### First Iteration
|
|
27
|
+
```
|
|
28
|
+
1. Read gan-harness/spec.md
|
|
29
|
+
2. Set up project scaffolding (package.json, framework, etc.)
|
|
30
|
+
3. Implement Must-Have features from Sprint 1
|
|
31
|
+
4. Start dev server: npm run dev (port from spec or default 3000)
|
|
32
|
+
5. Do a quick self-check (does it load? do buttons work?)
|
|
33
|
+
6. Commit: git commit -m "iteration-001: initial implementation"
|
|
34
|
+
7. Write gan-harness/generator-state.md with what you built
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Subsequent Iterations (after receiving feedback)
|
|
38
|
+
```
|
|
39
|
+
1. Read gan-harness/feedback/feedback-NNN.md (latest)
|
|
40
|
+
2. List ALL issues the Evaluator raised
|
|
41
|
+
3. Fix each issue, prioritizing by score impact:
|
|
42
|
+
- Functionality bugs first (things that don't work)
|
|
43
|
+
- Craft issues second (polish, responsiveness)
|
|
44
|
+
- Design improvements third (visual quality)
|
|
45
|
+
- Originality last (creative leaps)
|
|
46
|
+
4. Restart dev server if needed
|
|
47
|
+
5. Commit: git commit -m "iteration-NNN: address evaluator feedback"
|
|
48
|
+
6. Update gan-harness/generator-state.md
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Generator State File
|
|
52
|
+
|
|
53
|
+
Write to `gan-harness/generator-state.md` after each iteration:
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
# Generator State — Iteration NNN
|
|
57
|
+
|
|
58
|
+
## What Was Built
|
|
59
|
+
- [feature/change 1]
|
|
60
|
+
- [feature/change 2]
|
|
61
|
+
|
|
62
|
+
## What Changed This Iteration
|
|
63
|
+
- [Fixed: issue from feedback]
|
|
64
|
+
- [Improved: aspect that scored low]
|
|
65
|
+
- [Added: new feature/polish]
|
|
66
|
+
|
|
67
|
+
## Known Issues
|
|
68
|
+
- [Any issues you're aware of but couldn't fix]
|
|
69
|
+
|
|
70
|
+
## Dev Server
|
|
71
|
+
- URL: http://localhost:3000
|
|
72
|
+
- Status: running
|
|
73
|
+
- Command: npm run dev
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Technical Guidelines
|
|
77
|
+
|
|
78
|
+
### Frontend
|
|
79
|
+
- Use modern React (or framework specified in spec) with TypeScript
|
|
80
|
+
- CSS-in-JS or Tailwind for styling — never plain CSS files with global classes
|
|
81
|
+
- Implement responsive design from the start (mobile-first)
|
|
82
|
+
- Add transitions/animations for state changes (not just instant renders)
|
|
83
|
+
- Handle all states: loading, empty, error, success
|
|
84
|
+
|
|
85
|
+
### Backend (if needed)
|
|
86
|
+
- Express/FastAPI with clean route structure
|
|
87
|
+
- SQLite for persistence (easy setup, no infrastructure)
|
|
88
|
+
- Input validation on all endpoints
|
|
89
|
+
- Proper error responses with status codes
|
|
90
|
+
|
|
91
|
+
### Code Quality
|
|
92
|
+
- Clean file structure — no 1000-line files
|
|
93
|
+
- Extract components/functions when they get complex
|
|
94
|
+
- Use TypeScript strictly (no `any` types)
|
|
95
|
+
- Handle async errors properly
|
|
96
|
+
|
|
97
|
+
## Creative Quality — Avoiding AI Slop
|
|
98
|
+
|
|
99
|
+
The Evaluator will specifically penalize these patterns. **Avoid them:**
|
|
100
|
+
|
|
101
|
+
- Avoid generic gradient backgrounds (#667eea -> #764ba2 is an instant tell)
|
|
102
|
+
- Avoid excessive rounded corners on everything
|
|
103
|
+
- Avoid stock hero sections with "Welcome to [App Name]"
|
|
104
|
+
- Avoid default Material UI / Shadcn themes without customization
|
|
105
|
+
- Avoid placeholder images from unsplash/placeholder services
|
|
106
|
+
- Avoid generic card grids with identical layouts
|
|
107
|
+
- Avoid "AI-generated" decorative SVG patterns
|
|
108
|
+
|
|
109
|
+
**Instead, aim for:**
|
|
110
|
+
- Use a specific, opinionated color palette (follow the spec)
|
|
111
|
+
- Use thoughtful typography hierarchy (different weights, sizes for different content)
|
|
112
|
+
- Use custom layouts that match the content (not generic grids)
|
|
113
|
+
- Use meaningful animations tied to user actions (not decoration)
|
|
114
|
+
- Use real empty states with personality
|
|
115
|
+
- Use error states that help the user (not just "Something went wrong")
|
|
116
|
+
|
|
117
|
+
## Interaction with Evaluator
|
|
118
|
+
|
|
119
|
+
The Evaluator will:
|
|
120
|
+
1. Open your live app in a browser (Playwright)
|
|
121
|
+
2. Click through all features
|
|
122
|
+
3. Test error handling (bad inputs, empty states)
|
|
123
|
+
4. Score against the rubric in `gan-harness/eval-rubric.md`
|
|
124
|
+
5. Write detailed feedback to `gan-harness/feedback/feedback-NNN.md`
|
|
125
|
+
|
|
126
|
+
Your job after receiving feedback:
|
|
127
|
+
1. Read the feedback file completely
|
|
128
|
+
2. Note every specific issue mentioned
|
|
129
|
+
3. Fix them systematically
|
|
130
|
+
4. If a score is below 5, treat it as critical
|
|
131
|
+
5. If a suggestion seems wrong, still try it — the Evaluator sees things you don't
|