oh-my-customcode 0.16.4 → 0.17.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 +6 -7
- package/package.json +1 -1
- package/templates/.claude/agents/mgr-sauron.md +16 -19
- package/templates/.claude/agents/mgr-updater.md +1 -0
- package/templates/.claude/agents/sys-memory-keeper.md +16 -1
- package/templates/.claude/hooks/hooks.json +5 -1
- package/templates/.claude/ontology/agents.yaml +1 -13
- package/templates/.claude/ontology/graphs/agent-skill.json +1 -2
- package/templates/.claude/ontology/graphs/full-graph.json +2 -9
- package/templates/.claude/ontology/graphs/routing.json +0 -2
- package/templates/.claude/ontology/skills.yaml +1 -1
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +42 -0
- package/templates/.claude/rules/MUST-sync-verification.md +2 -2
- package/templates/.claude/rules/SHOULD-hud-statusline.md +55 -11
- package/templates/.claude/rules/SHOULD-memory-integration.md +32 -0
- package/templates/.claude/skills/claude-code-bible/SKILL.md +5 -94
- package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +0 -8
- package/templates/.claude/skills/sauron-watch/SKILL.md +61 -49
- package/templates/.claude/skills/secretary-routing/SKILL.md +3 -6
- package/templates/.claude/statusline.sh +152 -0
- package/templates/CLAUDE.md.en +4 -4
- package/templates/CLAUDE.md.ko +4 -4
- package/templates/guides/claude-code/08-testing.md +0 -2
- package/templates/guides/claude-code/09-guardrails.md +0 -2
- package/templates/guides/claude-code/10-monitoring.md +0 -2
- package/templates/manifest.json +2 -2
- package/templates/.claude/agents/mgr-sync-checker.md +0 -38
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ Like oh-my-zsh transformed shell customization, oh-my-customcode makes personali
|
|
|
21
21
|
|
|
22
22
|
| Feature | Description |
|
|
23
23
|
|---------|-------------|
|
|
24
|
-
| **Batteries Included** |
|
|
24
|
+
| **Batteries Included** | 41 agents, 55 skills, 22 guides, 18 rules, 2 hooks, 4 contexts, ontology graph - ready to use out of the box |
|
|
25
25
|
| **Sub-Agent Model** | Supports hierarchical agent orchestration with specialized roles |
|
|
26
26
|
| **Dead Simple Customization** | Create a folder + markdown file = new agent or skill |
|
|
27
27
|
| **Mix and Match** | Use built-in components, create your own, or combine both |
|
|
@@ -85,8 +85,7 @@ Claude Code selects the appropriate model and parallelizes independent tasks (up
|
|
|
85
85
|
```
|
|
86
86
|
/create-agent
|
|
87
87
|
├── mgr-creator:sonnet — agent scaffolding
|
|
88
|
-
|
|
89
|
-
└── mgr-sync-checker:haiku — registry verification
|
|
88
|
+
└── mgr-supplier:haiku — dependency check
|
|
90
89
|
|
|
91
90
|
/code-review
|
|
92
91
|
├── lang-golang-expert:sonnet — Go implementation
|
|
@@ -108,11 +107,11 @@ Claude Code selects the appropriate model and parallelizes independent tasks (up
|
|
|
108
107
|
|
|
109
108
|
## What's Included
|
|
110
109
|
|
|
111
|
-
### Agents (
|
|
110
|
+
### Agents (41)
|
|
112
111
|
|
|
113
112
|
| Category | Count | Agents |
|
|
114
113
|
|----------|-------|--------|
|
|
115
|
-
| **Managers** |
|
|
114
|
+
| **Managers** | 6 | mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron, mgr-claude-code-bible |
|
|
116
115
|
| **System** | 2 | sys-memory-keeper, sys-naggy |
|
|
117
116
|
| **Languages** | 6 | lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java21-expert |
|
|
118
117
|
| **Frontend** | 3 | fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent |
|
|
@@ -123,7 +122,7 @@ Claude Code selects the appropriate model and parallelizes independent tasks (up
|
|
|
123
122
|
| **Architecture** | 2 | arch-documenter, arch-speckit-agent |
|
|
124
123
|
| **Infrastructure** | 2 | infra-docker-expert, infra-aws-expert |
|
|
125
124
|
| **QA** | 3 | qa-planner, qa-writer, qa-engineer |
|
|
126
|
-
| **Total** | **
|
|
125
|
+
| **Total** | **41** | |
|
|
127
126
|
|
|
128
127
|
### Skills (55)
|
|
129
128
|
|
|
@@ -221,7 +220,7 @@ your-project/
|
|
|
221
220
|
├── rules/ # Behavior rules (18 total)
|
|
222
221
|
├── hooks/ # Event hooks (2 total)
|
|
223
222
|
├── contexts/ # Context files (4 total)
|
|
224
|
-
├── agents/ # Agent definitions (
|
|
223
|
+
├── agents/ # Agent definitions (41 flat .md files)
|
|
225
224
|
│ ├── lang-golang-expert.md
|
|
226
225
|
│ ├── be-fastapi-expert.md
|
|
227
226
|
│ ├── mgr-creator.md
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mgr-sauron
|
|
3
|
-
description: Use when you need automated verification of
|
|
3
|
+
description: Use when you need automated verification of R017 compliance, executing mandatory multi-round verification (5 manager rounds + 3 deep review rounds) before commits
|
|
4
4
|
model: sonnet
|
|
5
5
|
memory: project
|
|
6
6
|
effort: high
|
|
@@ -15,26 +15,25 @@ tools:
|
|
|
15
15
|
- Bash
|
|
16
16
|
---
|
|
17
17
|
|
|
18
|
-
You are an automated verification specialist that executes the mandatory
|
|
18
|
+
You are an automated verification specialist that executes the mandatory R017 verification process, acting as the "all-seeing eye" that ensures system integrity through comprehensive multi-round verification.
|
|
19
19
|
|
|
20
20
|
## Core Capabilities
|
|
21
21
|
|
|
22
22
|
1. Execute mgr-supplier:audit automatically
|
|
23
|
-
2. Execute mgr-
|
|
24
|
-
3. Execute mgr-
|
|
25
|
-
4.
|
|
26
|
-
5. Verify
|
|
27
|
-
6. Verify
|
|
28
|
-
7. Verify
|
|
29
|
-
8.
|
|
30
|
-
9.
|
|
31
|
-
10. Generate verification report
|
|
23
|
+
2. Execute mgr-updater:docs automatically
|
|
24
|
+
3. Execute mgr-claude-code-bible:verify (official spec compliance)
|
|
25
|
+
4. Verify workflow alignment
|
|
26
|
+
5. Verify reference integrity (frontmatter, memory fields, skill refs)
|
|
27
|
+
6. Verify philosophy compliance (R006-R011)
|
|
28
|
+
7. Verify Claude-native compatibility
|
|
29
|
+
8. Auto-fix simple issues (count mismatches, missing fields)
|
|
30
|
+
9. Generate verification report
|
|
32
31
|
|
|
33
32
|
## Commands
|
|
34
33
|
|
|
35
34
|
| Command | Description |
|
|
36
35
|
|---------|-------------|
|
|
37
|
-
| `mgr-sauron:watch` | Full
|
|
36
|
+
| `mgr-sauron:watch` | Full R017 verification (5+3 rounds) |
|
|
38
37
|
| `mgr-sauron:quick` | Quick verification (single pass) |
|
|
39
38
|
| `mgr-sauron:report` | Generate verification status report |
|
|
40
39
|
|
|
@@ -43,13 +42,12 @@ You are an automated verification specialist that executes the mandatory R016 ve
|
|
|
43
42
|
### Phase 1: Manager Verification (5 rounds)
|
|
44
43
|
|
|
45
44
|
**Round 1-2: Basic Checks**
|
|
46
|
-
- mgr-supplier:audit (all agents)
|
|
47
|
-
- mgr-sync
|
|
45
|
+
- mgr-supplier:audit (all agents, dependency validation)
|
|
46
|
+
- mgr-updater:docs (documentation sync check)
|
|
48
47
|
|
|
49
48
|
**Round 3-4: Re-verify + Update**
|
|
50
49
|
- Re-run mgr-supplier:audit
|
|
51
|
-
- Re-run mgr-
|
|
52
|
-
- mgr-updater:docs (if changes detected)
|
|
50
|
+
- Re-run mgr-updater:docs (apply any detected changes)
|
|
53
51
|
|
|
54
52
|
**Round 5: Final Count Verification**
|
|
55
53
|
- Agent count: CLAUDE.md vs actual .md files
|
|
@@ -116,7 +114,7 @@ You are an automated verification specialist that executes the mandatory R016 ve
|
|
|
116
114
|
[Round 1/5] mgr-supplier:audit
|
|
117
115
|
- 34 agents checked
|
|
118
116
|
- 3 issues found
|
|
119
|
-
[Round 2/5] mgr-
|
|
117
|
+
[Round 2/5] mgr-updater:docs
|
|
120
118
|
- Documentation sync: OK
|
|
121
119
|
...
|
|
122
120
|
|
|
@@ -155,7 +153,6 @@ Run 'mgr-sauron:watch' for full verification
|
|
|
155
153
|
|
|
156
154
|
Works with:
|
|
157
155
|
- **mgr-supplier**: Dependency validation
|
|
158
|
-
- **mgr-
|
|
159
|
-
- **mgr-updater**: Documentation updates
|
|
156
|
+
- **mgr-updater**: Documentation updates and sync
|
|
160
157
|
- **mgr-claude-code-bible**: Official spec compliance
|
|
161
158
|
- **secretary**: Orchestration coordination
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sys-memory-keeper
|
|
3
|
-
description: Use when you need to manage session memory persistence using claude-mem, save context before compaction, restore context on session start,
|
|
3
|
+
description: Use when you need to manage session memory persistence using claude-mem, save context before compaction, restore context on session start, query past memories, or perform session-end dual-system auto-save
|
|
4
4
|
model: sonnet
|
|
5
5
|
memory: project
|
|
6
6
|
effort: medium
|
|
@@ -41,3 +41,18 @@ Always include project name. Use task-based, temporal, or topic-based queries. A
|
|
|
41
41
|
## Config
|
|
42
42
|
|
|
43
43
|
Provider: claude-mem | Collection: claude_memories | Archive: ~/.claude-mem/archives/
|
|
44
|
+
|
|
45
|
+
## Session-End Auto-Save
|
|
46
|
+
|
|
47
|
+
When triggered by session-end signal from orchestrator:
|
|
48
|
+
|
|
49
|
+
1. **Collect** session summary: completed tasks, key decisions, open items
|
|
50
|
+
2. **Save to claude-mem** (if available): `mcp__claude-mem__save_memory` with project name, session date, and summary
|
|
51
|
+
3. **Verify episodic-memory** (if available): `mcp__episodic-memory__search` to confirm session is indexed
|
|
52
|
+
4. **Report** results to orchestrator: saved/skipped/failed per system
|
|
53
|
+
|
|
54
|
+
### Failure Handling
|
|
55
|
+
|
|
56
|
+
- claude-mem unavailable → skip, report warning
|
|
57
|
+
- episodic-memory unavailable → skip, report warning
|
|
58
|
+
- Both unavailable → warn orchestrator, do not block session end
|
|
@@ -68,9 +68,13 @@
|
|
|
68
68
|
{
|
|
69
69
|
"type": "command",
|
|
70
70
|
"command": "#!/bin/bash\ninput=$(cat)\nagent_type=$(echo \"$input\" | jq -r '.tool_input.subagent_type // \"unknown\"')\nmodel=$(echo \"$input\" | jq -r '.tool_input.model // \"inherit\"')\ndesc=$(echo \"$input\" | jq -r '.tool_input.description // \"\"' | head -c 40)\nresume=$(echo \"$input\" | jq -r '.tool_input.resume // empty')\nif [ -n \"$resume\" ]; then\n echo \"─── [Resume] ${agent_type}:${model} | ${desc} ───\" >&2\nelse\n echo \"─── [Spawn] ${agent_type}:${model} | ${desc} ───\" >&2\nfi\necho \"$input\""
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"type": "command",
|
|
74
|
+
"command": "bash .claude/hooks/scripts/git-delegation-guard.sh"
|
|
71
75
|
}
|
|
72
76
|
],
|
|
73
|
-
"description": "HUD statusline
|
|
77
|
+
"description": "HUD statusline + R010 git delegation guard on Task spawn"
|
|
74
78
|
}
|
|
75
79
|
],
|
|
76
80
|
"PostToolUse": [
|
|
@@ -33,7 +33,7 @@ classes:
|
|
|
33
33
|
agents: [qa-planner, qa-writer, qa-engineer]
|
|
34
34
|
description: "QA and testing"
|
|
35
35
|
ManagerAgent:
|
|
36
|
-
agents: [mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-
|
|
36
|
+
agents: [mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron, mgr-claude-code-bible]
|
|
37
37
|
description: "System management agents"
|
|
38
38
|
SystemAgent:
|
|
39
39
|
agents: [sys-memory-keeper, sys-naggy]
|
|
@@ -485,18 +485,6 @@ agents:
|
|
|
485
485
|
keywords: [git, github, commit, branch, pull-request, conventional-commits, rebase, merge]
|
|
486
486
|
file_patterns: [".git/*", ".github/*"]
|
|
487
487
|
|
|
488
|
-
mgr-sync-checker:
|
|
489
|
-
class: ManagerAgent
|
|
490
|
-
description: "Use when you need to verify documentation and workflow synchronization, ensuring all docs, configs, and workflow definitions remain synchronized with the project structure"
|
|
491
|
-
model: haiku
|
|
492
|
-
memory: local
|
|
493
|
-
effort: low
|
|
494
|
-
skills: [update-docs]
|
|
495
|
-
tools: [Read, Write, Edit, Grep, Glob, Bash]
|
|
496
|
-
summary: "Documentation synchronization validator for project structure consistency"
|
|
497
|
-
keywords: [synchronization, documentation, verification, consistency, agent-count, commands]
|
|
498
|
-
file_patterns: ["CLAUDE.md", ".claude/agents/*.md", "commands/index.yaml"]
|
|
499
|
-
|
|
500
488
|
mgr-sauron:
|
|
501
489
|
class: ManagerAgent
|
|
502
490
|
description: "Use when you need automated verification of R017 compliance, executing mandatory multi-round verification (5 manager rounds + 3 deep review rounds) before commits"
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
"mgr-updater": ["update-external"],
|
|
40
40
|
"mgr-supplier": ["audit-agents"],
|
|
41
41
|
"mgr-gitnerd": [],
|
|
42
|
-
"mgr-sync-checker": ["update-docs"],
|
|
43
42
|
"mgr-sauron": ["sauron-watch"],
|
|
44
43
|
"mgr-claude-code-bible": ["claude-code-bible"],
|
|
45
44
|
"sys-memory-keeper": ["memory-management", "memory-save", "memory-recall"],
|
|
@@ -77,7 +76,7 @@
|
|
|
77
76
|
"create-agent": ["mgr-creator"],
|
|
78
77
|
"update-external": ["mgr-updater"],
|
|
79
78
|
"audit-agents": ["mgr-supplier"],
|
|
80
|
-
"update-docs": ["mgr-
|
|
79
|
+
"update-docs": ["mgr-updater"],
|
|
81
80
|
"sauron-watch": ["mgr-sauron"],
|
|
82
81
|
"claude-code-bible": ["mgr-claude-code-bible"],
|
|
83
82
|
"memory-management": ["sys-memory-keeper"],
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
"mgr-updater": { "type": "Agent", "class": "ManagerAgent" },
|
|
40
40
|
"mgr-supplier": { "type": "Agent", "class": "ManagerAgent" },
|
|
41
41
|
"mgr-gitnerd": { "type": "Agent", "class": "ManagerAgent" },
|
|
42
|
-
"mgr-sync-checker": { "type": "Agent", "class": "ManagerAgent" },
|
|
43
42
|
"mgr-sauron": { "type": "Agent", "class": "ManagerAgent" },
|
|
44
43
|
"mgr-claude-code-bible": { "type": "Agent", "class": "ManagerAgent" },
|
|
45
44
|
"sys-memory-keeper": { "type": "Agent", "class": "SystemAgent" },
|
|
@@ -146,7 +145,6 @@
|
|
|
146
145
|
{ "source": "mgr-creator", "target": "create-agent", "relation": "requires" },
|
|
147
146
|
{ "source": "mgr-updater", "target": "update-external", "relation": "requires" },
|
|
148
147
|
{ "source": "mgr-supplier", "target": "audit-agents", "relation": "requires" },
|
|
149
|
-
{ "source": "mgr-sync-checker", "target": "update-docs", "relation": "requires" },
|
|
150
148
|
{ "source": "mgr-sauron", "target": "sauron-watch", "relation": "requires" },
|
|
151
149
|
{ "source": "mgr-claude-code-bible", "target": "claude-code-bible", "relation": "requires" },
|
|
152
150
|
{ "source": "sys-memory-keeper", "target": "memory-management", "relation": "requires" },
|
|
@@ -164,7 +162,6 @@
|
|
|
164
162
|
{ "source": "secretary-routing", "target": "mgr-updater", "relation": "routes_to" },
|
|
165
163
|
{ "source": "secretary-routing", "target": "mgr-supplier", "relation": "routes_to" },
|
|
166
164
|
{ "source": "secretary-routing", "target": "mgr-gitnerd", "relation": "routes_to" },
|
|
167
|
-
{ "source": "secretary-routing", "target": "mgr-sync-checker", "relation": "routes_to" },
|
|
168
165
|
{ "source": "secretary-routing", "target": "mgr-sauron", "relation": "routes_to" },
|
|
169
166
|
{ "source": "secretary-routing", "target": "mgr-claude-code-bible", "relation": "routes_to" },
|
|
170
167
|
{ "source": "secretary-routing", "target": "sys-memory-keeper", "relation": "routes_to" },
|
|
@@ -352,10 +349,6 @@
|
|
|
352
349
|
"requires": [],
|
|
353
350
|
"routed_by": ["secretary-routing"]
|
|
354
351
|
},
|
|
355
|
-
"mgr-sync-checker": {
|
|
356
|
-
"requires": ["update-docs"],
|
|
357
|
-
"routed_by": ["secretary-routing"]
|
|
358
|
-
},
|
|
359
352
|
"mgr-sauron": {
|
|
360
353
|
"requires": ["sauron-watch"],
|
|
361
354
|
"routed_by": ["secretary-routing"]
|
|
@@ -497,7 +490,7 @@
|
|
|
497
490
|
"depends_on": []
|
|
498
491
|
},
|
|
499
492
|
"update-docs": {
|
|
500
|
-
"required_by": ["mgr-
|
|
493
|
+
"required_by": ["mgr-updater"],
|
|
501
494
|
"depends_on": []
|
|
502
495
|
},
|
|
503
496
|
"sauron-watch": {
|
|
@@ -521,7 +514,7 @@
|
|
|
521
514
|
"depends_on": ["R011"]
|
|
522
515
|
},
|
|
523
516
|
"secretary-routing": {
|
|
524
|
-
"routes_to": ["mgr-creator", "mgr-updater", "mgr-supplier", "mgr-gitnerd", "mgr-
|
|
517
|
+
"routes_to": ["mgr-creator", "mgr-updater", "mgr-supplier", "mgr-gitnerd", "mgr-sauron", "mgr-claude-code-bible", "sys-memory-keeper", "sys-naggy"],
|
|
525
518
|
"depends_on": []
|
|
526
519
|
},
|
|
527
520
|
"dev-lead-routing": {
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
"mgr-updater",
|
|
9
9
|
"mgr-supplier",
|
|
10
10
|
"mgr-gitnerd",
|
|
11
|
-
"mgr-sync-checker",
|
|
12
11
|
"mgr-sauron",
|
|
13
12
|
"mgr-claude-code-bible",
|
|
14
13
|
"sys-memory-keeper",
|
|
@@ -70,7 +69,6 @@
|
|
|
70
69
|
"mgr-updater": "secretary-routing",
|
|
71
70
|
"mgr-supplier": "secretary-routing",
|
|
72
71
|
"mgr-gitnerd": "secretary-routing",
|
|
73
|
-
"mgr-sync-checker": "secretary-routing",
|
|
74
72
|
"mgr-sauron": "secretary-routing",
|
|
75
73
|
"mgr-claude-code-bible": "secretary-routing",
|
|
76
74
|
"sys-memory-keeper": "secretary-routing",
|
|
@@ -448,7 +448,7 @@ skills:
|
|
|
448
448
|
model_invocable: true
|
|
449
449
|
summary: "Routes agent management tasks to appropriate manager agents"
|
|
450
450
|
keywords: [routing, management, agent-creation, git, memory, verification]
|
|
451
|
-
routes_to: [mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-
|
|
451
|
+
routes_to: [mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron, mgr-claude-code-bible, sys-memory-keeper, sys-naggy]
|
|
452
452
|
rule_references: []
|
|
453
453
|
|
|
454
454
|
snowflake-best-practices:
|
|
@@ -30,6 +30,32 @@ The main conversation is the **sole orchestrator**. It uses routing skills to de
|
|
|
30
30
|
╚══════════════════════════════════════════════════════════════════╝
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
+
## Self-Check (Mandatory Before Delegating Tasks)
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
37
|
+
║ BEFORE DELEGATING A TASK TO ANY AGENT, ASK YOURSELF: ║
|
|
38
|
+
║ ║
|
|
39
|
+
║ 1. Does the task prompt contain git commands? ║
|
|
40
|
+
║ (commit, push, revert, merge, rebase, checkout, branch, ║
|
|
41
|
+
║ reset, cherry-pick, tag) ║
|
|
42
|
+
║ YES → The git part MUST go to mgr-gitnerd ║
|
|
43
|
+
║ NO → Proceed ║
|
|
44
|
+
║ ║
|
|
45
|
+
║ 2. Am I bundling git operations with file editing? ║
|
|
46
|
+
║ YES → STOP. Split into separate delegations: ║
|
|
47
|
+
║ - File editing → appropriate specialist ║
|
|
48
|
+
║ - Git operations → mgr-gitnerd ║
|
|
49
|
+
║ NO → Good. Continue. ║
|
|
50
|
+
║ ║
|
|
51
|
+
║ 3. Is the target agent mgr-gitnerd for ALL git operations? ║
|
|
52
|
+
║ YES → Good. Continue. ║
|
|
53
|
+
║ NO → STOP. This is a VIOLATION. Re-route to mgr-gitnerd. ║
|
|
54
|
+
║ ║
|
|
55
|
+
║ If ANY answer is wrong → SPLIT THE TASK ║
|
|
56
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
57
|
+
```
|
|
58
|
+
|
|
33
59
|
## Architecture
|
|
34
60
|
|
|
35
61
|
```
|
|
@@ -72,6 +98,22 @@ Main Conversation (orchestrator)
|
|
|
72
98
|
|
|
73
99
|
✓ CORRECT: Always delegate, no matter how small
|
|
74
100
|
Task(appropriate-agent) → create config file
|
|
101
|
+
|
|
102
|
+
❌ WRONG: Bundling git operations with file editing in non-gitnerd agent
|
|
103
|
+
Main conversation → Task(general-purpose) → "git revert + edit file + git commit"
|
|
104
|
+
Main conversation → Task(lang-typescript-expert) → "fix bug and commit"
|
|
105
|
+
|
|
106
|
+
✓ CORRECT: Separate file editing from git operations
|
|
107
|
+
Main conversation → Task(lang-typescript-expert) → "fix bug" (file edit only)
|
|
108
|
+
Main conversation → Task(mgr-gitnerd) → "git commit" (git operation only)
|
|
109
|
+
|
|
110
|
+
❌ WRONG: Including git commands in non-gitnerd agent prompt for "convenience"
|
|
111
|
+
Task(general-purpose, prompt="revert the last commit, edit the file, then commit the fix")
|
|
112
|
+
|
|
113
|
+
✓ CORRECT: Split into separate delegations
|
|
114
|
+
Task(mgr-gitnerd, prompt="revert the last commit")
|
|
115
|
+
Task(appropriate-expert, prompt="edit the file to fix the issue")
|
|
116
|
+
Task(mgr-gitnerd, prompt="commit the fix")
|
|
75
117
|
```
|
|
76
118
|
|
|
77
119
|
## Session Continuity
|
|
@@ -14,8 +14,8 @@ Every `git push` requires: `mgr-sauron:watch` → all pass → `git push`
|
|
|
14
14
|
|
|
15
15
|
| Round | Actions |
|
|
16
16
|
|-------|---------|
|
|
17
|
-
| 1-2 | mgr-supplier:audit, mgr-sync
|
|
18
|
-
| 3-4 | Re-verify + mgr-updater:docs, fix remaining |
|
|
17
|
+
| 1-2 | mgr-supplier:audit, mgr-updater:docs (sync check), fix issues |
|
|
18
|
+
| 3-4 | Re-verify mgr-supplier:audit + re-run mgr-updater:docs, fix remaining |
|
|
19
19
|
| 5 | Final: all counts match, frontmatter valid, skill refs exist, memory scopes valid, routing patterns updated |
|
|
20
20
|
|
|
21
21
|
Also run: mgr-claude-code-bible:verify (official spec compliance)
|
|
@@ -2,26 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
> **Priority**: SHOULD | **ID**: R012
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Two-System Architecture
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
| Aspect | HUD Events | Statusline API |
|
|
8
|
+
|--------|-----------|----------------|
|
|
9
|
+
| Channel | stderr (hooks) | stdout (dedicated statusline) |
|
|
10
|
+
| Location | Inline in conversation log | Persistent bar at screen bottom |
|
|
11
|
+
| Trigger | PreToolUse (Task matcher) | Message update cycle (~300ms) |
|
|
12
|
+
| Role | Event notifications | Persistent session status |
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## Hook Implementation
|
|
14
|
+
## HUD Events (Hook-based)
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
### Format
|
|
18
17
|
|
|
19
18
|
```
|
|
20
19
|
─── [Spawn] {subagent_type}:{model} | {description} ───
|
|
21
20
|
─── [Resume] {subagent_type}:{model} | {description} ───
|
|
22
21
|
```
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
### When to Display
|
|
24
|
+
|
|
25
|
+
Multi-step tasks, parallel execution, long-running operations. Skip for single brief operations.
|
|
26
|
+
|
|
27
|
+
### Implementation
|
|
28
|
+
|
|
29
|
+
Implemented in `.claude/hooks/hooks.json` (PreToolUse → Task matcher).
|
|
30
|
+
|
|
31
|
+
### Parallel Display
|
|
25
32
|
|
|
26
33
|
```
|
|
27
34
|
─── [Agent] secretary | [Parallel] 4 ───
|
|
@@ -29,4 +36,41 @@ Implemented in `.claude/hooks/hooks.json` (PreToolUse → Task matcher):
|
|
|
29
36
|
[2] Task(lang-golang-expert):haiku → Code review
|
|
30
37
|
```
|
|
31
38
|
|
|
39
|
+
## Statusline API (Command-based)
|
|
40
|
+
|
|
41
|
+
### Format
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
{Cost} | {project} | {branch} | CTX:{usage}%
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Example: `$0.05 | my-project | develop | CTX:42%`
|
|
48
|
+
|
|
49
|
+
### Configuration
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"statusLine": {
|
|
54
|
+
"type": "command",
|
|
55
|
+
"command": ".claude/statusline.sh",
|
|
56
|
+
"padding": 0
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Set in `.claude/settings.local.json`. The command receives JSON via stdin with model, workspace, context window, and cost data.
|
|
62
|
+
|
|
63
|
+
### Color Coding
|
|
64
|
+
|
|
65
|
+
| Element | Condition | Color |
|
|
66
|
+
|---------|-----------|-------|
|
|
67
|
+
| Cost | < $1.00 | Green |
|
|
68
|
+
| Cost | $1.00 - $4.99 | Yellow |
|
|
69
|
+
| Cost | >= $5.00 | Red |
|
|
70
|
+
| Context | < 60% | Green |
|
|
71
|
+
| Context | 60-79% | Yellow |
|
|
72
|
+
| Context | >= 80% | Red |
|
|
73
|
+
|
|
74
|
+
## Integration
|
|
75
|
+
|
|
32
76
|
Integrates with R007 (Agent ID), R008 (Tool ID), R009 (Parallel).
|
|
@@ -37,3 +37,35 @@ Agent frontmatter `memory: project|user|local` enables persistent memory:
|
|
|
37
37
|
- Keep MEMORY.md under 200 lines
|
|
38
38
|
- Do not store sensitive data or duplicate CLAUDE.md content
|
|
39
39
|
- Memory write failures should not block main task
|
|
40
|
+
|
|
41
|
+
## Session-End Auto-Save
|
|
42
|
+
|
|
43
|
+
### Trigger
|
|
44
|
+
|
|
45
|
+
Session-end detected when user says: "끝", "종료", "마무리", "done", "wrap up", "end session", or explicitly requests session save.
|
|
46
|
+
|
|
47
|
+
### Flow
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
User signals session end
|
|
51
|
+
→ Orchestrator delegates to sys-memory-keeper
|
|
52
|
+
→ sys-memory-keeper performs dual-system save:
|
|
53
|
+
1. claude-mem save (if available)
|
|
54
|
+
2. episodic-memory verification (if available)
|
|
55
|
+
→ Reports result to orchestrator
|
|
56
|
+
→ Orchestrator confirms to user
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Dual-System Save
|
|
60
|
+
|
|
61
|
+
| System | Tool | Action | Required |
|
|
62
|
+
|--------|------|--------|----------|
|
|
63
|
+
| claude-mem | `mcp__claude-mem__save_memory` | Save session summary with project, tasks, decisions | No (best-effort) |
|
|
64
|
+
| episodic-memory | `mcp__episodic-memory__search` | Verify session is indexed for future retrieval | No (best-effort) |
|
|
65
|
+
|
|
66
|
+
### Failure Policy
|
|
67
|
+
|
|
68
|
+
- Both saves are **non-blocking**: memory failure MUST NOT prevent session from ending
|
|
69
|
+
- If claude-mem unavailable: skip, log warning
|
|
70
|
+
- If episodic-memory unavailable: skip, log warning
|
|
71
|
+
- If both unavailable: warn user, proceed with session end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: claude-code-bible
|
|
3
|
-
description: Fetch
|
|
3
|
+
description: Fetch Claude Code official documentation. Use when updating local reference docs or checking official spec.
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ Official documentation reference management for Claude Code.
|
|
|
10
10
|
|
|
11
11
|
## Purpose
|
|
12
12
|
|
|
13
|
-
Maintain up-to-date local copies of Claude Code official documentation
|
|
13
|
+
Maintain up-to-date local copies of Claude Code official documentation.
|
|
14
14
|
|
|
15
15
|
## Commands
|
|
16
16
|
|
|
@@ -50,56 +50,6 @@ node .claude/skills/claude-code-bible/scripts/fetch-docs.js --output /path/to/ou
|
|
|
50
50
|
- `0`: Success (or cache is fresh)
|
|
51
51
|
- `1`: Fatal error
|
|
52
52
|
|
|
53
|
-
### /claude-code-bible verify
|
|
54
|
-
|
|
55
|
-
Verify agents and skills against official Claude Code specifications.
|
|
56
|
-
|
|
57
|
-
**What it checks:**
|
|
58
|
-
- Agent structure compliance (frontmatter fields, file format)
|
|
59
|
-
- Skill structure compliance (SKILL.md format, disable-model-invocation usage)
|
|
60
|
-
- Tool usage patterns match official recommendations
|
|
61
|
-
- Workflow patterns align with Claude Code best practices
|
|
62
|
-
- Agent/skill naming conventions follow official guidelines
|
|
63
|
-
|
|
64
|
-
**Usage:**
|
|
65
|
-
```bash
|
|
66
|
-
# Verify all agents and skills
|
|
67
|
-
/claude-code-bible verify
|
|
68
|
-
|
|
69
|
-
# Verify specific agent
|
|
70
|
-
/claude-code-bible verify --agent mgr-creator
|
|
71
|
-
|
|
72
|
-
# Verify specific skill
|
|
73
|
-
/claude-code-bible verify --skill go-best-practices
|
|
74
|
-
|
|
75
|
-
# Verbose output
|
|
76
|
-
/claude-code-bible verify --verbose
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**Verification rules:**
|
|
80
|
-
1. **Agent frontmatter** must include:
|
|
81
|
-
- `name`: kebab-case identifier
|
|
82
|
-
- `description`: one-line summary
|
|
83
|
-
- `model`: sonnet | opus | haiku
|
|
84
|
-
- `tools`: array of allowed tools
|
|
85
|
-
- `skills`: array of skill names
|
|
86
|
-
|
|
87
|
-
2. **Skill frontmatter** must include:
|
|
88
|
-
- `name`: kebab-case identifier
|
|
89
|
-
- `description`: when/why to use this skill
|
|
90
|
-
- `disable-model-invocation`: true (if skill is procedural/scripted)
|
|
91
|
-
|
|
92
|
-
3. **Agent files** should NOT contain:
|
|
93
|
-
- Detailed skill instructions (belongs in .claude/skills/)
|
|
94
|
-
- Reference documentation (belongs in guides/)
|
|
95
|
-
- Implementation scripts (belongs in .claude/skills/{name}/scripts/)
|
|
96
|
-
|
|
97
|
-
4. **Skill files** should contain:
|
|
98
|
-
- Clear purpose statement
|
|
99
|
-
- Usage examples
|
|
100
|
-
- Input/output specifications
|
|
101
|
-
- Integration points with agents
|
|
102
|
-
|
|
103
53
|
## Implementation Notes
|
|
104
54
|
|
|
105
55
|
### Fetch Script (fetch-docs.js)
|
|
@@ -121,60 +71,21 @@ Verify agents and skills against official Claude Code specifications.
|
|
|
121
71
|
- Continues on individual page failures
|
|
122
72
|
- Prints summary of successes and failures
|
|
123
73
|
|
|
124
|
-
### Verify Command (future implementation)
|
|
125
|
-
|
|
126
|
-
The verify command should:
|
|
127
|
-
1. Read official specs from `~/.claude/references/claude-code/`
|
|
128
|
-
2. Parse all agents in `.claude/agents/*.md`
|
|
129
|
-
3. Parse all skills in `.claude/skills/*/SKILL.md`
|
|
130
|
-
4. Check each against official requirements
|
|
131
|
-
5. Report violations with suggestions for fixes
|
|
132
|
-
|
|
133
74
|
## Integration with Other Skills
|
|
134
75
|
|
|
135
|
-
### create-agent
|
|
136
|
-
- Should verify new agents against official spec
|
|
137
|
-
- Use `/claude-code-bible verify --agent <name>` after creation
|
|
138
|
-
|
|
139
76
|
### update-docs
|
|
140
77
|
- Should update local docs first: `/claude-code-bible update`
|
|
141
|
-
- Then verify sync with: `/claude-code-bible verify`
|
|
142
78
|
|
|
143
79
|
### dev-review
|
|
144
80
|
- Can reference official docs for best practices
|
|
145
|
-
- Verify code patterns against Claude Code recommendations
|
|
146
81
|
|
|
147
82
|
## Benefits
|
|
148
83
|
|
|
149
|
-
1. **
|
|
150
|
-
2. **
|
|
151
|
-
3. **
|
|
152
|
-
4. **Automation**: Verify compliance automatically before commits
|
|
153
|
-
5. **Learning**: Reference official patterns when creating new components
|
|
154
|
-
|
|
155
|
-
## Example Workflow
|
|
156
|
-
|
|
157
|
-
```bash
|
|
158
|
-
# 1. Update local docs
|
|
159
|
-
node .claude/skills/claude-code-bible/scripts/fetch-docs.js
|
|
160
|
-
|
|
161
|
-
# 2. Create a new agent
|
|
162
|
-
/create-agent my-new-agent
|
|
163
|
-
|
|
164
|
-
# 3. Verify it matches official spec
|
|
165
|
-
/claude-code-bible verify --agent my-new-agent
|
|
166
|
-
|
|
167
|
-
# 4. Fix any violations
|
|
168
|
-
|
|
169
|
-
# 5. Verify again
|
|
170
|
-
/claude-code-bible verify --agent my-new-agent
|
|
171
|
-
|
|
172
|
-
# 6. Commit when all checks pass
|
|
173
|
-
```
|
|
84
|
+
1. **Up-to-date**: Always have latest documentation locally
|
|
85
|
+
2. **Offline access**: Work with docs even without internet
|
|
86
|
+
3. **Learning**: Reference official patterns when creating new components
|
|
174
87
|
|
|
175
88
|
## Notes
|
|
176
89
|
|
|
177
|
-
- The verify command implementation is left for future work
|
|
178
90
|
- The fetch script is production-ready and can be used immediately
|
|
179
91
|
- Consider running `/claude-code-bible update` weekly to stay current
|
|
180
|
-
- Add this as a pre-commit hook to enforce compliance automatically
|
|
@@ -297,14 +297,6 @@ agents:
|
|
|
297
297
|
supported_actions: [commit, branch, pr, sync, status, push, pull, merge]
|
|
298
298
|
base_confidence: 40
|
|
299
299
|
|
|
300
|
-
mgr-sync-checker:
|
|
301
|
-
keywords:
|
|
302
|
-
korean: [동기화, 싱크, 검증]
|
|
303
|
-
english: [sync, synchronization, check, verify]
|
|
304
|
-
file_patterns: ["index.yaml", "CLAUDE.md", "COMMANDS.md"]
|
|
305
|
-
supported_actions: [check, agents, commands, docs, fix]
|
|
306
|
-
base_confidence: 40
|
|
307
|
-
|
|
308
300
|
mgr-sauron:
|
|
309
301
|
keywords:
|
|
310
302
|
korean: [검증, 전체검증, 무결성, 사우론]
|
|
@@ -1,75 +1,89 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sauron-watch
|
|
3
|
-
description: Full
|
|
3
|
+
description: Full R017 verification (5+3 rounds) before commit
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Sauron Watch Skill
|
|
8
8
|
|
|
9
|
-
Execute full
|
|
9
|
+
Execute full R017 verification process with 5 rounds of manager agent verification and 3 rounds of deep review.
|
|
10
10
|
|
|
11
11
|
## Purpose
|
|
12
12
|
|
|
13
|
-
Ensure complete synchronization of agents,
|
|
13
|
+
Ensure complete synchronization of agents, skills, documentation, and project structure before committing changes.
|
|
14
14
|
|
|
15
15
|
## Workflow
|
|
16
16
|
|
|
17
17
|
### Phase 1: Manager Agent Verification (5 rounds)
|
|
18
18
|
|
|
19
|
-
#### Round 1-2: Basic
|
|
19
|
+
#### Round 1-2: Basic Checks
|
|
20
20
|
```
|
|
21
|
-
□
|
|
22
|
-
□
|
|
21
|
+
□ mgr-supplier:audit - Check all agent dependencies and skill refs
|
|
22
|
+
□ mgr-updater:docs - Verify documentation sync
|
|
23
23
|
□ Fix any issues found
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
#### Round 3-4:
|
|
26
|
+
#### Round 3-4: Re-verify + Update
|
|
27
27
|
```
|
|
28
|
-
□
|
|
29
|
-
□
|
|
30
|
-
□ /update-docs - Check documentation sync
|
|
28
|
+
□ mgr-supplier:audit - Re-verify after fixes
|
|
29
|
+
□ mgr-updater:docs - Re-run and apply any detected changes
|
|
31
30
|
□ Fix any remaining issues
|
|
32
31
|
```
|
|
33
32
|
|
|
34
|
-
#### Round 5: Final Verification
|
|
33
|
+
#### Round 5: Final Count Verification
|
|
35
34
|
```
|
|
36
|
-
□
|
|
37
|
-
□
|
|
38
|
-
□
|
|
39
|
-
□
|
|
35
|
+
□ Agent count matches: CLAUDE.md vs actual .md files
|
|
36
|
+
□ Skill count matches: CLAUDE.md vs actual SKILL.md files
|
|
37
|
+
□ Memory field distribution correct
|
|
38
|
+
□ Hook/context/guide/rule counts match
|
|
39
|
+
□ All frontmatter valid
|
|
40
|
+
□ All skill refs exist
|
|
41
|
+
□ All memory scopes valid (project|user|local)
|
|
42
|
+
□ Routing patterns updated
|
|
40
43
|
```
|
|
41
44
|
|
|
42
45
|
### Phase 2: Deep Review (3 rounds)
|
|
43
46
|
|
|
44
47
|
#### Deep Round 1: Workflow Alignment
|
|
45
48
|
```
|
|
46
|
-
□ Agent
|
|
47
|
-
□
|
|
48
|
-
□
|
|
49
|
-
□ All
|
|
49
|
+
□ Agent workflows match purpose
|
|
50
|
+
□ Command definitions match implementations
|
|
51
|
+
□ Routing skill patterns are valid
|
|
52
|
+
□ All routing skills have complete agent mappings
|
|
50
53
|
```
|
|
51
54
|
|
|
52
55
|
#### Deep Round 2: Reference Verification
|
|
53
56
|
```
|
|
54
|
-
□ All
|
|
55
|
-
□ All
|
|
56
|
-
□
|
|
57
|
+
□ All skill references exist
|
|
58
|
+
□ All agent frontmatter valid
|
|
59
|
+
□ memory field values valid (user | project | local)
|
|
60
|
+
□ No orphaned agents
|
|
57
61
|
□ No circular references
|
|
58
62
|
```
|
|
59
63
|
|
|
60
64
|
#### Deep Round 3: Philosophy Compliance
|
|
61
65
|
```
|
|
62
|
-
□ R006:
|
|
63
|
-
□
|
|
64
|
-
□
|
|
65
|
-
□
|
|
66
|
+
□ R006: Agent design rules (including memory field spec)
|
|
67
|
+
□ R007: Agent identification rules
|
|
68
|
+
□ R008: Tool identification rules
|
|
69
|
+
□ R009: Parallel execution rules
|
|
70
|
+
□ R010: Orchestrator coordination rules
|
|
71
|
+
□ R011: Memory integration (native-first architecture)
|
|
66
72
|
□ All MUST rules enforced, SHOULD rules recommended
|
|
67
73
|
```
|
|
68
74
|
|
|
75
|
+
### Phase 2.5: Documentation Accuracy
|
|
76
|
+
```
|
|
77
|
+
□ Every agent name in CLAUDE.md matches actual filename
|
|
78
|
+
□ All counts cross-verified against filesystem
|
|
79
|
+
□ Every slash command has corresponding skill
|
|
80
|
+
□ Every agent reachable through routing skills
|
|
81
|
+
```
|
|
82
|
+
|
|
69
83
|
### Phase 3: Fix Issues
|
|
70
84
|
```
|
|
71
|
-
□
|
|
72
|
-
□
|
|
85
|
+
□ Auto-fix: count mismatches, missing fields, outdated refs
|
|
86
|
+
□ Report: missing files, invalid scopes, philosophy violations
|
|
73
87
|
□ Re-run verification if major fixes made
|
|
74
88
|
```
|
|
75
89
|
|
|
@@ -84,43 +98,41 @@ Ensure complete synchronization of agents, commands, documentation, and project
|
|
|
84
98
|
```
|
|
85
99
|
[mgr-sauron:watch]
|
|
86
100
|
|
|
87
|
-
Starting full
|
|
101
|
+
Starting full R017 verification...
|
|
88
102
|
|
|
89
103
|
═══════════════════════════════════════════════════════════
|
|
90
104
|
PHASE 1: Manager Agent Verification (5 rounds)
|
|
91
105
|
═══════════════════════════════════════════════════════════
|
|
92
106
|
|
|
93
|
-
[Round 1/5]
|
|
94
|
-
✓
|
|
107
|
+
[Round 1/5] mgr-supplier:audit
|
|
108
|
+
✓ 41 agents checked, 0 issues
|
|
95
109
|
|
|
96
|
-
[Round 2/5]
|
|
97
|
-
✓
|
|
110
|
+
[Round 2/5] mgr-updater:docs
|
|
111
|
+
✓ Documentation sync: OK
|
|
98
112
|
|
|
99
|
-
[Round 3/5]
|
|
100
|
-
✓
|
|
113
|
+
[Round 3/5] Re-verify: mgr-supplier:audit
|
|
114
|
+
✓ All dependencies valid
|
|
101
115
|
|
|
102
|
-
[Round 4/5]
|
|
103
|
-
✓
|
|
104
|
-
✓ Documentation synchronized
|
|
116
|
+
[Round 4/5] Re-verify: mgr-updater:docs
|
|
117
|
+
✓ No changes needed
|
|
105
118
|
|
|
106
|
-
[Round 5/5] Final verification
|
|
107
|
-
✓
|
|
108
|
-
✓
|
|
109
|
-
✓
|
|
110
|
-
✓
|
|
119
|
+
[Round 5/5] Final count verification
|
|
120
|
+
✓ Agents: 41/41 match
|
|
121
|
+
✓ Skills: 55/55 match
|
|
122
|
+
✓ All frontmatter valid
|
|
123
|
+
✓ All skill refs valid
|
|
124
|
+
✓ All memory scopes valid
|
|
111
125
|
|
|
112
126
|
═══════════════════════════════════════════════════════════
|
|
113
127
|
PHASE 2: Deep Review (3 rounds)
|
|
114
128
|
═══════════════════════════════════════════════════════════
|
|
115
129
|
|
|
116
130
|
[Round 1/3] Workflow alignment
|
|
117
|
-
✓
|
|
118
|
-
✓
|
|
119
|
-
✓ Orchestrators have complete manages sections
|
|
131
|
+
✓ All routing skills have complete agent mappings
|
|
132
|
+
✓ Command definitions match implementations
|
|
120
133
|
|
|
121
134
|
[Round 2/3] Reference verification
|
|
122
|
-
✓ All
|
|
123
|
-
✓ All rules referenced
|
|
135
|
+
✓ All skill references valid
|
|
124
136
|
✓ No orphaned agents
|
|
125
137
|
|
|
126
138
|
[Round 3/3] Philosophy compliance
|
|
@@ -140,5 +152,5 @@ Ready to commit. 커밋할까요?
|
|
|
140
152
|
|
|
141
153
|
## Related
|
|
142
154
|
|
|
143
|
-
-
|
|
155
|
+
- R017: Sync Verification Rules
|
|
144
156
|
- mgr-gitnerd: Git operations agent
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: secretary-routing
|
|
3
|
-
description: Routes agent management tasks to the correct manager agent. Use when user requests agent creation, updates, audits, git operations,
|
|
3
|
+
description: Routes agent management tasks to the correct manager agent. Use when user requests agent creation, updates, audits, git operations, or verification.
|
|
4
4
|
user-invocable: false
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
|
|
9
9
|
## Purpose
|
|
10
10
|
|
|
11
|
-
Routes agent management tasks to the appropriate manager agent. This skill contains the coordination logic for orchestrating manager agents (mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-
|
|
11
|
+
Routes agent management tasks to the appropriate manager agent. This skill contains the coordination logic for orchestrating manager agents (mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron).
|
|
12
12
|
|
|
13
13
|
## Manager Agents
|
|
14
14
|
|
|
@@ -18,8 +18,7 @@ Routes agent management tasks to the appropriate manager agent. This skill conta
|
|
|
18
18
|
| mgr-updater | Update external agents | "update agent", "sync" |
|
|
19
19
|
| mgr-supplier | Validate dependencies | "audit", "check deps" |
|
|
20
20
|
| mgr-gitnerd | Git operations | "commit", "push", "pr" |
|
|
21
|
-
| mgr-
|
|
22
|
-
| mgr-sauron | R016 auto-verification | "verify", "full check" |
|
|
21
|
+
| mgr-sauron | R017 auto-verification | "verify", "full check" |
|
|
23
22
|
| mgr-claude-code-bible | Claude Code spec compliance | "spec check", "verify compliance" |
|
|
24
23
|
| sys-memory-keeper | Memory operations | "save memory", "recall", "memory search" |
|
|
25
24
|
| sys-naggy | TODO management | "todo", "track tasks", "task list" |
|
|
@@ -33,7 +32,6 @@ create → mgr-creator
|
|
|
33
32
|
update → mgr-updater
|
|
34
33
|
audit → mgr-supplier
|
|
35
34
|
git → mgr-gitnerd
|
|
36
|
-
sync → mgr-sync-checker
|
|
37
35
|
verify → mgr-sauron
|
|
38
36
|
spec → mgr-claude-code-bible
|
|
39
37
|
memory → sys-memory-keeper
|
|
@@ -73,7 +71,6 @@ When command requires multiple independent operations:
|
|
|
73
71
|
| mgr-updater | sonnet | External sync, web fetch |
|
|
74
72
|
| mgr-supplier | haiku | File scan, validation |
|
|
75
73
|
| mgr-gitnerd | sonnet | Commit message quality |
|
|
76
|
-
| mgr-sync-checker | haiku | Fast verification |
|
|
77
74
|
| mgr-sauron | sonnet | Multi-round verification |
|
|
78
75
|
| mgr-claude-code-bible | sonnet | Spec compliance checks |
|
|
79
76
|
| sys-memory-keeper | sonnet | Memory operations, search |
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# statusline.sh — Claude Code statusline renderer
|
|
3
|
+
#
|
|
4
|
+
# Reads JSON from stdin (Claude Code statusline API, ~300ms intervals)
|
|
5
|
+
# and outputs a formatted status line, e.g.:
|
|
6
|
+
#
|
|
7
|
+
# Opus | my-project | develop | CTX:42% | $0.05
|
|
8
|
+
#
|
|
9
|
+
# JSON input structure:
|
|
10
|
+
# {
|
|
11
|
+
# "model": { "display_name": "claude-opus-4-6" },
|
|
12
|
+
# "workspace": { "current_dir": "/path/to/project" },
|
|
13
|
+
# "context_window": { "used_percentage": 42, "context_window_size": 200000 },
|
|
14
|
+
# "cost": { "total_cost_usd": 0.05 }
|
|
15
|
+
# }
|
|
16
|
+
|
|
17
|
+
# ---------------------------------------------------------------------------
|
|
18
|
+
# 1. Color detection
|
|
19
|
+
# ---------------------------------------------------------------------------
|
|
20
|
+
if [[ -n "${NO_COLOR}" || "${TERM}" == "dumb" ]]; then
|
|
21
|
+
# Colors disabled
|
|
22
|
+
COLOR_RESET=""
|
|
23
|
+
COLOR_OPUS=""
|
|
24
|
+
COLOR_SONNET=""
|
|
25
|
+
COLOR_HAIKU=""
|
|
26
|
+
COLOR_CTX_OK=""
|
|
27
|
+
COLOR_CTX_WARN=""
|
|
28
|
+
COLOR_CTX_CRIT=""
|
|
29
|
+
else
|
|
30
|
+
COLOR_RESET="\033[0m"
|
|
31
|
+
COLOR_OPUS="\033[1;35m" # Magenta bold
|
|
32
|
+
COLOR_SONNET="\033[0;36m" # Cyan
|
|
33
|
+
COLOR_HAIKU="\033[0;32m" # Green
|
|
34
|
+
COLOR_CTX_OK="\033[0;32m" # Green (< 60%)
|
|
35
|
+
COLOR_CTX_WARN="\033[0;33m" # Yellow (60-79%)
|
|
36
|
+
COLOR_CTX_CRIT="\033[0;31m" # Red (>= 80%)
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
# ---------------------------------------------------------------------------
|
|
40
|
+
# 2. jq availability check
|
|
41
|
+
# ---------------------------------------------------------------------------
|
|
42
|
+
if ! command -v jq >/dev/null 2>&1; then
|
|
43
|
+
echo "statusline: jq required"
|
|
44
|
+
exit 0
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
# ---------------------------------------------------------------------------
|
|
48
|
+
# 3. Read stdin into variable
|
|
49
|
+
# ---------------------------------------------------------------------------
|
|
50
|
+
json="$(cat)"
|
|
51
|
+
|
|
52
|
+
# Guard against empty input
|
|
53
|
+
if [[ -z "$json" ]]; then
|
|
54
|
+
echo "statusline: no input"
|
|
55
|
+
exit 0
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
# ---------------------------------------------------------------------------
|
|
59
|
+
# 4. Single jq call — extract all fields as TSV
|
|
60
|
+
# Fields: model_name, project_dir, ctx_pct, ctx_size, cost_usd
|
|
61
|
+
# ---------------------------------------------------------------------------
|
|
62
|
+
IFS=$'\t' read -r model_name project_dir ctx_pct ctx_size cost_usd <<< "$(
|
|
63
|
+
printf '%s' "$json" | jq -r '[
|
|
64
|
+
(.model.display_name // "unknown"),
|
|
65
|
+
(.workspace.current_dir // ""),
|
|
66
|
+
(.context_window.used_percentage // 0),
|
|
67
|
+
(.context_window.context_window_size // 0),
|
|
68
|
+
(.cost.total_cost_usd // 0)
|
|
69
|
+
] | @tsv'
|
|
70
|
+
)"
|
|
71
|
+
|
|
72
|
+
# ---------------------------------------------------------------------------
|
|
73
|
+
# 5. Model display name + color (bash 3.2 compatible case pattern matching)
|
|
74
|
+
# ---------------------------------------------------------------------------
|
|
75
|
+
case "$model_name" in
|
|
76
|
+
*[Oo]pus*) model_display="Opus"; model_color="${COLOR_OPUS}" ;;
|
|
77
|
+
*[Ss]onnet*) model_display="Sonnet"; model_color="${COLOR_SONNET}" ;;
|
|
78
|
+
*[Hh]aiku*) model_display="Haiku"; model_color="${COLOR_HAIKU}" ;;
|
|
79
|
+
*) model_display="$model_name"; model_color="${COLOR_RESET}" ;;
|
|
80
|
+
esac
|
|
81
|
+
|
|
82
|
+
# ---------------------------------------------------------------------------
|
|
83
|
+
# 6. Project name — basename of workspace current_dir
|
|
84
|
+
# ---------------------------------------------------------------------------
|
|
85
|
+
if [[ -n "$project_dir" ]]; then
|
|
86
|
+
project_name="${project_dir##*/}"
|
|
87
|
+
else
|
|
88
|
+
project_name="unknown"
|
|
89
|
+
fi
|
|
90
|
+
|
|
91
|
+
# ---------------------------------------------------------------------------
|
|
92
|
+
# 7. Git branch — read .git/HEAD directly (no subprocess, fast)
|
|
93
|
+
# ---------------------------------------------------------------------------
|
|
94
|
+
git_head_file="${project_dir}/.git/HEAD"
|
|
95
|
+
git_branch=""
|
|
96
|
+
if [[ -f "$git_head_file" ]]; then
|
|
97
|
+
git_head="$(cat "$git_head_file")"
|
|
98
|
+
case "$git_head" in
|
|
99
|
+
"ref: refs/heads/"*)
|
|
100
|
+
# Normal branch: strip the prefix
|
|
101
|
+
git_branch="${git_head#ref: refs/heads/}"
|
|
102
|
+
;;
|
|
103
|
+
*)
|
|
104
|
+
# Detached HEAD: show first 7 chars of commit hash
|
|
105
|
+
git_branch="${git_head:0:7}"
|
|
106
|
+
;;
|
|
107
|
+
esac
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
# ---------------------------------------------------------------------------
|
|
111
|
+
# 8. Context percentage with color
|
|
112
|
+
# ---------------------------------------------------------------------------
|
|
113
|
+
# ctx_pct may arrive as a float (e.g. 42.5); truncate to integer for comparison
|
|
114
|
+
ctx_int="${ctx_pct%%.*}"
|
|
115
|
+
# Ensure it's a valid integer (fallback to 0)
|
|
116
|
+
if ! [[ "$ctx_int" =~ ^[0-9]+$ ]]; then
|
|
117
|
+
ctx_int=0
|
|
118
|
+
fi
|
|
119
|
+
|
|
120
|
+
if [[ "$ctx_int" -ge 80 ]]; then
|
|
121
|
+
ctx_color="${COLOR_CTX_CRIT}"
|
|
122
|
+
elif [[ "$ctx_int" -ge 60 ]]; then
|
|
123
|
+
ctx_color="${COLOR_CTX_WARN}"
|
|
124
|
+
else
|
|
125
|
+
ctx_color="${COLOR_CTX_OK}"
|
|
126
|
+
fi
|
|
127
|
+
|
|
128
|
+
ctx_display="CTX:${ctx_int}%"
|
|
129
|
+
|
|
130
|
+
# ---------------------------------------------------------------------------
|
|
131
|
+
# 9. Cost formatting — always two decimal places
|
|
132
|
+
# ---------------------------------------------------------------------------
|
|
133
|
+
cost_display="$(printf '$%.2f' "$cost_usd")"
|
|
134
|
+
|
|
135
|
+
# ---------------------------------------------------------------------------
|
|
136
|
+
# 10. Assemble and output the status line
|
|
137
|
+
# ---------------------------------------------------------------------------
|
|
138
|
+
# Build segments; omit git branch segment when unavailable
|
|
139
|
+
if [[ -n "$git_branch" ]]; then
|
|
140
|
+
printf "${model_color}%s${COLOR_RESET} | %s | %s | ${ctx_color}%s${COLOR_RESET} | %s\n" \
|
|
141
|
+
"$model_display" \
|
|
142
|
+
"$project_name" \
|
|
143
|
+
"$git_branch" \
|
|
144
|
+
"$ctx_display" \
|
|
145
|
+
"$cost_display"
|
|
146
|
+
else
|
|
147
|
+
printf "${model_color}%s${COLOR_RESET} | %s | ${ctx_color}%s${COLOR_RESET} | %s\n" \
|
|
148
|
+
"$model_display" \
|
|
149
|
+
"$project_name" \
|
|
150
|
+
"$ctx_display" \
|
|
151
|
+
"$cost_display"
|
|
152
|
+
fi
|
package/templates/CLAUDE.md.en
CHANGED
|
@@ -173,7 +173,7 @@ Violation = immediate correction. No exception for "small changes".
|
|
|
173
173
|
project/
|
|
174
174
|
+-- CLAUDE.md # Entry point
|
|
175
175
|
+-- .claude/
|
|
176
|
-
| +-- agents/ # Subagent definitions (
|
|
176
|
+
| +-- agents/ # Subagent definitions (41 files)
|
|
177
177
|
| +-- skills/ # Skills (55 directories)
|
|
178
178
|
| +-- rules/ # Global rules (R000-R018)
|
|
179
179
|
| +-- hooks/ # Hook scripts (memory, HUD)
|
|
@@ -215,9 +215,9 @@ This is the core oh-my-customcode philosophy: **"No expert? CREATE one, connect
|
|
|
215
215
|
| SW Architect | 2 | arch-documenter, arch-speckit-agent |
|
|
216
216
|
| Infra Engineer | 2 | infra-docker-expert, infra-aws-expert |
|
|
217
217
|
| QA Team | 3 | qa-planner, qa-writer, qa-engineer |
|
|
218
|
-
| Manager |
|
|
218
|
+
| Manager | 6 | mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron, mgr-claude-code-bible |
|
|
219
219
|
| System | 2 | sys-memory-keeper, sys-naggy |
|
|
220
|
-
| **Total** | **
|
|
220
|
+
| **Total** | **41** | |
|
|
221
221
|
|
|
222
222
|
## Agent Teams (MUST when enabled)
|
|
223
223
|
|
|
@@ -271,7 +271,7 @@ Install via `/plugin install <name>`:
|
|
|
271
271
|
| obsidian-skills | - | Obsidian markdown support |
|
|
272
272
|
| context7 | claude-plugins-official | Library documentation lookup |
|
|
273
273
|
|
|
274
|
-
###
|
|
274
|
+
### Recommended MCP Servers
|
|
275
275
|
|
|
276
276
|
| Server | Purpose |
|
|
277
277
|
|--------|---------|
|
package/templates/CLAUDE.md.ko
CHANGED
|
@@ -173,7 +173,7 @@ oh-my-customcode로 구동됩니다.
|
|
|
173
173
|
project/
|
|
174
174
|
+-- CLAUDE.md # 진입점
|
|
175
175
|
+-- .claude/
|
|
176
|
-
| +-- agents/ # 서브에이전트 정의 (
|
|
176
|
+
| +-- agents/ # 서브에이전트 정의 (41 파일)
|
|
177
177
|
| +-- skills/ # 스킬 (55 디렉토리)
|
|
178
178
|
| +-- rules/ # 전역 규칙 (R000-R018)
|
|
179
179
|
| +-- hooks/ # 훅 스크립트 (메모리, HUD)
|
|
@@ -215,9 +215,9 @@ project/
|
|
|
215
215
|
| SW Architect | 2 | arch-documenter, arch-speckit-agent |
|
|
216
216
|
| Infra Engineer | 2 | infra-docker-expert, infra-aws-expert |
|
|
217
217
|
| QA Team | 3 | qa-planner, qa-writer, qa-engineer |
|
|
218
|
-
| Manager |
|
|
218
|
+
| Manager | 6 | mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron, mgr-claude-code-bible |
|
|
219
219
|
| System | 2 | sys-memory-keeper, sys-naggy |
|
|
220
|
-
| **총계** | **
|
|
220
|
+
| **총계** | **41** | |
|
|
221
221
|
|
|
222
222
|
## Agent Teams (MUST when enabled)
|
|
223
223
|
|
|
@@ -271,7 +271,7 @@ Claude Code의 Agent Teams 기능이 활성화되어 있으면 (`CLAUDE_CODE_EXP
|
|
|
271
271
|
| obsidian-skills | - | 옵시디언 마크다운 지원 |
|
|
272
272
|
| context7 | claude-plugins-official | 라이브러리 문서 조회 |
|
|
273
273
|
|
|
274
|
-
###
|
|
274
|
+
### 권장 MCP 서버
|
|
275
275
|
|
|
276
276
|
| 서버 | 용도 |
|
|
277
277
|
|------|------|
|
package/templates/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "0.3.0",
|
|
3
|
-
"lastUpdated": "2026-02-
|
|
3
|
+
"lastUpdated": "2026-02-27T06:35:26.589Z",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"name": "rules",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"name": "agents",
|
|
13
13
|
"path": ".claude/agents",
|
|
14
14
|
"description": "AI agent definitions (flat .md files with prefixes)",
|
|
15
|
-
"files":
|
|
15
|
+
"files": 41
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"name": "skills",
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mgr-sync-checker
|
|
3
|
-
description: Use when you need to verify documentation and workflow synchronization, ensuring all docs, configs, and workflow definitions remain synchronized with the project structure
|
|
4
|
-
model: haiku
|
|
5
|
-
memory: local
|
|
6
|
-
effort: low
|
|
7
|
-
skills:
|
|
8
|
-
- update-docs
|
|
9
|
-
tools:
|
|
10
|
-
- Read
|
|
11
|
-
- Write
|
|
12
|
-
- Edit
|
|
13
|
-
- Grep
|
|
14
|
-
- Glob
|
|
15
|
-
- Bash
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
You are a documentation synchronization specialist ensuring all docs, configs, and workflows match the actual project structure.
|
|
19
|
-
|
|
20
|
-
## Capabilities
|
|
21
|
-
|
|
22
|
-
- Agent count verification (CLAUDE.md vs actual)
|
|
23
|
-
- Command registration verification
|
|
24
|
-
- Documentation completeness
|
|
25
|
-
- Intent detection pattern validation
|
|
26
|
-
|
|
27
|
-
## Check Matrix
|
|
28
|
-
|
|
29
|
-
| Source | Target | Checks |
|
|
30
|
-
|--------|--------|--------|
|
|
31
|
-
| `.claude/agents/*.md` | `CLAUDE.md` | Agent counts match |
|
|
32
|
-
| `commands/*/` | `commands/index.yaml` | All registered |
|
|
33
|
-
| `.claude/agents/*.md` | `agent-triggers.yaml` | All have triggers |
|
|
34
|
-
|
|
35
|
-
## Auto-fix
|
|
36
|
-
|
|
37
|
-
Can fix: count mismatches, missing index entries, outdated docs.
|
|
38
|
-
Manual review: missing agents, broken links, structural issues.
|