oh-my-customcode 0.156.3 → 0.158.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.
Files changed (44) hide show
  1. package/README.md +5 -7
  2. package/dist/cli/index.js +1 -1
  3. package/dist/index.js +1 -1
  4. package/package.json +1 -1
  5. package/templates/.claude/agents/arch-speckit-agent.md +1 -1
  6. package/templates/.claude/agents/sys-memory-keeper.md +3 -39
  7. package/templates/.claude/hooks/hooks.json +1 -1
  8. package/templates/.claude/hooks/scripts/plugin-cache-check.sh +1 -1
  9. package/templates/.claude/ontology/agents.yaml +4 -4
  10. package/templates/.claude/ontology/graphs/agent-skill.json +199 -68
  11. package/templates/.claude/ontology/graphs/full-graph.json +1240 -330
  12. package/templates/.claude/ontology/graphs/skill-rule.json +30 -13
  13. package/templates/.claude/ontology/rules.yaml +3 -3
  14. package/templates/.claude/ontology/skills.yaml +0 -31
  15. package/templates/.claude/profiles/data-eng.json +0 -1
  16. package/templates/.claude/profiles/harness-dev.json +0 -1
  17. package/templates/.claude/profiles/minimal.json +1 -2
  18. package/templates/.claude/profiles/web-app.json +1 -2
  19. package/templates/.claude/rules/SHOULD-memory-integration.md +9 -87
  20. package/templates/.claude/skills/agent-eval-framework/SKILL.md +2 -3
  21. package/templates/.claude/skills/crg-integration/SKILL.md +1 -10
  22. package/templates/.claude/skills/dev-review/SKILL.md +1 -2
  23. package/templates/.claude/skills/goal/SKILL.md +1 -1
  24. package/templates/.claude/skills/instinct-extractor/SKILL.md +0 -2
  25. package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +0 -19
  26. package/templates/.claude/skills/peer-messaging/SKILL.md +0 -2
  27. package/templates/.claude/skills/semble-integration/SKILL.md +0 -1
  28. package/templates/CLAUDE.md +3 -20
  29. package/templates/CLAUDE.md.en +2 -18
  30. package/templates/CLAUDE.md.ko +2 -18
  31. package/templates/guides/agent-design/ralph-loop-pattern.md +2 -2
  32. package/templates/guides/agent-eval/README.md +15 -35
  33. package/templates/guides/claude-code/15-version-compatibility.md +7 -7
  34. package/templates/guides/external-tools/ecc-absorption-decisions.md +2 -2
  35. package/templates/guides/harness-engineering/README.md +2 -2
  36. package/templates/guides/middleware-patterns/README.md +3 -5
  37. package/templates/guides/skill-promotion/instinct-extraction.md +1 -1
  38. package/templates/guides/token-efficiency/crg.md +7 -8
  39. package/templates/manifest.json +3 -3
  40. package/templates/.claude/skills/memory-management/SKILL.md +0 -240
  41. package/templates/.claude/skills/memory-recall/SKILL.md +0 -172
  42. package/templates/.claude/skills/memory-save/SKILL.md +0 -128
  43. package/templates/guides/agentmemory-migration/measure-step-zero.md +0 -120
  44. package/templates/guides/agentmemory-migration/phase-1-coexist.md +0 -261
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  **[한국어 문서 (Korean)](./README_ko.md)**
15
15
 
16
- 49 agents. 121 skills. 23 rules. One command.
16
+ 49 agents. 118 skills. 23 rules. One command.
17
17
 
18
18
  ```bash
19
19
  npm install -g oh-my-customcode && cd your-project && omcustom init
@@ -132,7 +132,7 @@ Each agent declares its tools, model, memory scope, and limitations in YAML fron
132
132
 
133
133
  ---
134
134
 
135
- ### Skills (121)
135
+ ### Skills (118)
136
136
 
137
137
  | Category | Count | Includes |
138
138
  |----------|-------|----------|
@@ -201,8 +201,6 @@ All commands are invoked inside the Claude Code conversation.
201
201
 
202
202
  | Command | What it does |
203
203
  |---------|-------------|
204
- | `/memory-save` | Save session context |
205
- | `/memory-recall` | Search and recall memories |
206
204
  | `/omcustom:monitoring-setup` | OTel monitoring toggle |
207
205
  | `/omcustom:loop` | Auto-continue background agent workflows (3-continue safety limit) |
208
206
  | `/omcustom:lists` | Show all commands |
@@ -222,7 +220,7 @@ Key rules: R010 (orchestrator never writes files), R009 (parallel execution mand
222
220
 
223
221
  ---
224
222
 
225
- ### Guides (58)
223
+ ### Guides (57)
226
224
 
227
225
  Reference documentation covering best practices, architecture decisions, and integration patterns. Located in `guides/` at project root, covering topics from agent design to CI/CD to observability.
228
226
 
@@ -272,14 +270,14 @@ your-project/
272
270
  ├── CLAUDE.md # Entry point
273
271
  ├── .claude/
274
272
  │ ├── agents/ # 49 agent definitions
275
- │ ├── skills/ # 121 skill modules
273
+ │ ├── skills/ # 118 skill modules
276
274
  │ ├── rules/ # 22 governance rules (R000-R021)
277
275
  │ ├── hooks/ # 15 lifecycle hook scripts
278
276
  │ ├── schemas/ # Tool input validation schemas
279
277
  │ ├── specs/ # Extracted canonical specs
280
278
  │ ├── contexts/ # 4 shared context files
281
279
  │ └── ontology/ # Knowledge graph for RAG
282
- └── guides/ # 58 reference documents
280
+ └── guides/ # 57 reference documents
283
281
  ```
284
282
 
285
283
  ---
package/dist/cli/index.js CHANGED
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.156.3",
2337
+ version: "0.158.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
package/dist/index.js CHANGED
@@ -2031,7 +2031,7 @@ var package_default = {
2031
2031
  workspaces: [
2032
2032
  "packages/*"
2033
2033
  ],
2034
- version: "0.156.3",
2034
+ version: "0.158.0",
2035
2035
  description: "Batteries-included agent harness for Claude Code",
2036
2036
  type: "module",
2037
2037
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.156.3",
6
+ "version": "0.158.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -60,7 +60,7 @@ When writing acceptance criteria, use the EARS (Easy Approach to Requirements Sy
60
60
  | Ubiquitous | The `<system>` shall `<action>` | The validator shall reject invalid frontmatter |
61
61
  | Event-driven | When `<event>`, the `<system>` shall `<action>` | When a new agent is created, the routing skill shall update its pattern table |
62
62
  | State-driven | While `<state>`, the `<system>` shall `<action>` | While ecomode is active, agents shall use concise output format |
63
- | Optional | Where `<condition>`, the `<system>` shall `<action>` | Where the user has MCP configured, the orchestrator shall attempt claude-mem save |
63
+ | Optional | Where `<condition>`, the `<system>` shall `<action>` | Where the agent has memory enabled, the orchestrator shall persist session findings to native MEMORY.md |
64
64
  | Complex | When `<event>` while `<state>` where `<condition>`, the `<system>` shall `<action>`, resulting in `<result>` | When session ends while Agent Teams is active where tasks remain incomplete, the orchestrator shall log incomplete tasks, resulting in a task summary |
65
65
 
66
66
  **Usage**: Apply EARS format in spec output's `invariants` and `acceptance_criteria` sections. This ensures testable, unambiguous requirements.
@@ -5,10 +5,6 @@ model: sonnet
5
5
  domain: universal
6
6
  memory: project
7
7
  effort: medium
8
- skills:
9
- - memory-management
10
- - memory-save
11
- - memory-recall
12
8
  tools:
13
9
  - Read
14
10
  - Write
@@ -23,42 +19,14 @@ limitations:
23
19
  permissionMode: bypassPermissions
24
20
  ---
25
21
 
26
- ## Mandatory: .claude/ 경로 처리 (R010 Universal /tmp Script Bypass)
27
-
28
- ALL tool calls targeting `.claude/` paths MUST go through `/tmp/*.sh` script via Bash. This includes Write, Edit, and write-Bash. Direct `Write(".claude/...")` or `Edit(".claude/...")` triggers user approval prompts that block unattended automation, regardless of `bypassPermissions` mode or allow rules.
29
-
30
- Pattern:
31
- 1. Write tool → `/tmp/fix-{topic}-$$.sh` containing heredoc/sed/cp targeting `.claude/`
32
- 2. Bash tool → `bash /tmp/fix-{topic}-$$.sh`
33
-
34
- Read tool on `.claude/` paths is exempt (sensitive-path bypass for read-only). For `templates/.claude/` paths, the same pattern applies (also sensitive).
35
-
36
- Reference: R010 (.claude/rules/MUST-orchestrator-coordination.md), #1046, #1052, #1062.
37
-
38
- You are a session memory management specialist ensuring context survives across session compactions using claude-mem.
22
+ You are a session memory management specialist ensuring context survives across session compactions using native auto-memory (MEMORY.md).
39
23
 
40
24
  ## Capabilities
41
25
 
42
26
  - Save session context before compaction
43
27
  - Restore context on session start
44
- - Query memories by project and semantic search
45
- - Tag memories with project, session, and task info
46
-
47
- ## Save Operation
48
-
49
- Collect tasks, decisions, open items, code changes. Format with metadata (project, session, tags, timestamp). Store via chroma_add_documents.
50
-
51
- ## Recall Operation
52
-
53
- Build semantic query with project prefix + keywords + optional date. Search via chroma_query_documents. Filter by relevance, return summary.
54
-
55
- ## Query Guidelines
56
-
57
- Always include project name. Use task-based, temporal, or topic-based queries. Avoid complex where filters (they fail in Chroma).
58
-
59
- ## Config
60
-
61
- Provider: claude-mem | Collection: claude_memories | Archive: ~/.claude-mem/archives/
28
+ - Update MEMORY.md with session learnings and behaviors
29
+ - Maintain confidence decay, metrics, and user model in native memory
62
30
 
63
31
  ## Session-End Auto-Save
64
32
 
@@ -73,9 +41,6 @@ When triggered by session-end signal from orchestrator:
73
41
  - Existing behaviors observed again → promote confidence level
74
42
  - Contradicted behaviors → flag for review or demote
75
43
  3. **Update native auto-memory** (MEMORY.md) with session learnings + behaviors
76
- 4. **Return formatted summary** to orchestrator for MCP persistence (claude-mem, episodic-memory)
77
-
78
- > **Note**: MCP tools (claude-mem, episodic-memory) are orchestrator-scoped and cannot be called from subagents. The orchestrator handles MCP saves directly after receiving the formatted summary.
79
44
 
80
45
  ### Confidence Decay Check
81
46
 
@@ -132,4 +97,3 @@ After metrics aggregation, extract user model data:
132
97
  ### Failure Handling
133
98
 
134
99
  - MEMORY.md update failure → report error to orchestrator
135
- - MCP persistence is orchestrator's responsibility — not handled here
@@ -591,7 +591,7 @@
591
591
  "hooks": [
592
592
  {
593
593
  "type": "prompt",
594
- "prompt": "Session-end memory checkpoint (R011 enforcement). Check if the session-end memory save workflow was completed: 1) sys-memory-keeper was delegated to update MEMORY.md 2) claude-mem save was attempted via ToolSearch + mcp__plugin_claude-mem_mcp-search__save_memory. Note: episodic-memory auto-indexes after session \u2014 no manual action needed. Decision rules (evaluate in order): 1. If session had no explicit session-end signal (quick question, no memory work): APPROVE immediately. 2. If BOTH steps were already attempted (success or failure both count): APPROVE. 3. If MCP tools unavailable after ToolSearch attempt: APPROVE with note. 4. If steps were NOT yet performed: PERFORM THEM NOW (maximum 1 attempt each): a. Delegate to sys-memory-keeper to update MEMORY.md \u2014 call Agent tool with sys-memory-keeper. b. Attempt claude-mem save \u2014 ToolSearch for save_memory tool, then call it. c. After completion (success or failure), APPROVE stop. IMPORTANT: Do NOT block indefinitely. After 1 attempt per step, always APPROVE. IMPORTANT: Do NOT loop \u2014 if you already performed these steps in this same stop hook evaluation, APPROVE."
594
+ "prompt": "Session-end memory checkpoint (R011 enforcement). Check if the session-end memory save workflow was completed: 1) sys-memory-keeper was delegated to update MEMORY.md. Note: episodic-memory auto-indexes after session \u2014 no manual action needed. Decision rules (evaluate in order): 1. If session had no explicit session-end signal (quick question, no memory work): APPROVE immediately. 2. If the step was already attempted (success or failure both count): APPROVE. 3. If the step was NOT yet performed: PERFORM IT NOW (maximum 1 attempt): a. Delegate to sys-memory-keeper to update MEMORY.md \u2014 call Agent tool with sys-memory-keeper. b. After completion (success or failure), APPROVE stop. IMPORTANT: Do NOT block indefinitely. After 1 attempt, always APPROVE. IMPORTANT: Do NOT loop \u2014 if you already performed this step in this same stop hook evaluation, APPROVE."
595
595
  }
596
596
  ],
597
597
  "description": "Enforce R011 session-end memory saves \u2014 auto-perform if not yet done (episodic-memory auto-indexes)"
@@ -2,7 +2,7 @@
2
2
  # plugin-cache-check.sh — SessionStart advisory hook
3
3
  # Detects shared plugin caches with package.json but missing node_modules.
4
4
  # Always exit 0 (non-blocking). Output advisory to stderr only.
5
- # Issue: #1207 — claude-mem v13.3.0 plugin node_modules missing (zod/v3 module error)
5
+ # Issue: #1207 — plugin cache missing node_modules (e.g. zod/v3 module error)
6
6
 
7
7
  set -euo pipefail
8
8
 
@@ -523,14 +523,14 @@ agents:
523
523
 
524
524
  sys-memory-keeper:
525
525
  class: SystemAgent
526
- description: "Use when you need to manage session memory persistence using claude-mem, save context before compaction, restore context on session start, or query past memories"
526
+ description: "Use when you need to manage session memory persistence using native auto memory, save context before compaction, restore context on session start, or query past memories"
527
527
  model: sonnet
528
528
  memory: project
529
529
  effort: medium
530
- skills: [memory-management, memory-save, memory-recall]
530
+ skills: []
531
531
  tools: [Read, Write, Edit, Grep, Glob, Bash]
532
- summary: "Session memory manager for context persistence with claude-mem"
533
- keywords: [memory, persistence, claude-mem, context, session, recall, chroma, semantic-search]
532
+ summary: "Session memory manager for context persistence using native agent memory"
533
+ keywords: [memory, persistence, context, session, recall, native-auto-memory]
534
534
  file_patterns: []
535
535
 
536
536
  sys-naggy:
@@ -2,88 +2,217 @@
2
2
  "description": "Agent to Skill dependency mapping",
3
3
  "version": "1.0.0",
4
4
  "edges": {
5
- "lang-golang-expert": ["go-best-practices"],
6
- "lang-python-expert": ["python-best-practices"],
7
- "lang-rust-expert": ["rust-best-practices"],
8
- "lang-kotlin-expert": ["kotlin-best-practices"],
9
- "lang-typescript-expert": ["typescript-best-practices"],
5
+ "lang-golang-expert": [
6
+ "go-best-practices"
7
+ ],
8
+ "lang-python-expert": [
9
+ "python-best-practices"
10
+ ],
11
+ "lang-rust-expert": [
12
+ "rust-best-practices"
13
+ ],
14
+ "lang-kotlin-expert": [
15
+ "kotlin-best-practices"
16
+ ],
17
+ "lang-typescript-expert": [
18
+ "typescript-best-practices"
19
+ ],
10
20
  "lang-java21-expert": [],
11
- "be-fastapi-expert": ["fastapi-best-practices"],
12
- "be-springboot-expert": ["springboot-best-practices"],
13
- "be-go-backend-expert": ["go-backend-best-practices"],
21
+ "be-fastapi-expert": [
22
+ "fastapi-best-practices"
23
+ ],
24
+ "be-springboot-expert": [
25
+ "springboot-best-practices"
26
+ ],
27
+ "be-go-backend-expert": [
28
+ "go-backend-best-practices"
29
+ ],
14
30
  "be-express-expert": [],
15
31
  "be-nestjs-expert": [],
16
- "fe-vercel-agent": ["react-best-practices", "web-design-guidelines", "vercel-deploy"],
32
+ "fe-vercel-agent": [
33
+ "react-best-practices",
34
+ "web-design-guidelines",
35
+ "vercel-deploy"
36
+ ],
17
37
  "fe-vuejs-agent": [],
18
38
  "fe-svelte-agent": [],
19
- "fe-flutter-agent": ["flutter-best-practices"],
20
- "de-airflow-expert": ["airflow-best-practices"],
21
- "de-dbt-expert": ["dbt-best-practices"],
22
- "de-spark-expert": ["spark-best-practices"],
23
- "de-kafka-expert": ["kafka-best-practices"],
24
- "de-snowflake-expert": ["snowflake-best-practices"],
25
- "de-pipeline-expert": ["pipeline-architecture-patterns"],
26
- "db-postgres-expert": ["postgres-best-practices"],
27
- "db-redis-expert": ["redis-best-practices"],
28
- "db-supabase-expert": ["supabase-postgres-best-practices"],
29
- "tool-npm-expert": ["npm-audit", "npm-publish", "npm-version"],
30
- "tool-optimizer": ["optimize-analyze", "optimize-bundle", "optimize-report"],
39
+ "fe-flutter-agent": [
40
+ "flutter-best-practices"
41
+ ],
42
+ "de-airflow-expert": [
43
+ "airflow-best-practices"
44
+ ],
45
+ "de-dbt-expert": [
46
+ "dbt-best-practices"
47
+ ],
48
+ "de-spark-expert": [
49
+ "spark-best-practices"
50
+ ],
51
+ "de-kafka-expert": [
52
+ "kafka-best-practices"
53
+ ],
54
+ "de-snowflake-expert": [
55
+ "snowflake-best-practices"
56
+ ],
57
+ "de-pipeline-expert": [
58
+ "pipeline-architecture-patterns"
59
+ ],
60
+ "db-postgres-expert": [
61
+ "postgres-best-practices"
62
+ ],
63
+ "db-redis-expert": [
64
+ "redis-best-practices"
65
+ ],
66
+ "db-supabase-expert": [
67
+ "supabase-postgres-best-practices"
68
+ ],
69
+ "tool-npm-expert": [
70
+ "npm-audit",
71
+ "npm-publish",
72
+ "npm-version"
73
+ ],
74
+ "tool-optimizer": [
75
+ "optimize-analyze",
76
+ "optimize-bundle",
77
+ "optimize-report"
78
+ ],
31
79
  "tool-bun-expert": [],
32
80
  "arch-documenter": [],
33
81
  "arch-speckit-agent": [],
34
- "infra-docker-expert": ["docker-best-practices"],
35
- "infra-aws-expert": ["aws-best-practices"],
82
+ "infra-docker-expert": [
83
+ "docker-best-practices"
84
+ ],
85
+ "infra-aws-expert": [
86
+ "aws-best-practices"
87
+ ],
36
88
  "qa-planner": [],
37
89
  "qa-writer": [],
38
90
  "qa-engineer": [],
39
- "mgr-creator": ["create-agent"],
40
- "mgr-updater": ["update-external"],
41
- "mgr-supplier": ["audit-agents"],
91
+ "mgr-creator": [
92
+ "create-agent"
93
+ ],
94
+ "mgr-updater": [
95
+ "update-external"
96
+ ],
97
+ "mgr-supplier": [
98
+ "audit-agents"
99
+ ],
42
100
  "mgr-gitnerd": [],
43
- "mgr-sauron": ["sauron-watch"],
44
- "mgr-claude-code-bible": ["claude-code-bible"],
45
- "sys-memory-keeper": ["memory-management", "memory-save", "memory-recall"],
101
+ "mgr-sauron": [
102
+ "sauron-watch"
103
+ ],
104
+ "mgr-claude-code-bible": [
105
+ "claude-code-bible"
106
+ ],
107
+ "sys-memory-keeper": [],
46
108
  "sys-naggy": []
47
109
  },
48
110
  "reverse": {
49
- "go-best-practices": ["lang-golang-expert"],
50
- "python-best-practices": ["lang-python-expert"],
51
- "rust-best-practices": ["lang-rust-expert"],
52
- "kotlin-best-practices": ["lang-kotlin-expert"],
53
- "typescript-best-practices": ["lang-typescript-expert"],
54
- "fastapi-best-practices": ["be-fastapi-expert"],
55
- "springboot-best-practices": ["be-springboot-expert"],
56
- "go-backend-best-practices": ["be-go-backend-expert"],
57
- "react-best-practices": ["fe-vercel-agent"],
58
- "web-design-guidelines": ["fe-vercel-agent"],
59
- "vercel-deploy": ["fe-vercel-agent"],
60
- "flutter-best-practices": ["fe-flutter-agent"],
61
- "airflow-best-practices": ["de-airflow-expert"],
62
- "dbt-best-practices": ["de-dbt-expert"],
63
- "spark-best-practices": ["de-spark-expert"],
64
- "kafka-best-practices": ["de-kafka-expert"],
65
- "snowflake-best-practices": ["de-snowflake-expert"],
66
- "pipeline-architecture-patterns": ["de-pipeline-expert"],
67
- "postgres-best-practices": ["db-postgres-expert"],
68
- "redis-best-practices": ["db-redis-expert"],
69
- "supabase-postgres-best-practices": ["db-supabase-expert"],
70
- "npm-audit": ["tool-npm-expert"],
71
- "npm-publish": ["tool-npm-expert"],
72
- "npm-version": ["tool-npm-expert"],
73
- "optimize-analyze": ["tool-optimizer"],
74
- "optimize-bundle": ["tool-optimizer"],
75
- "optimize-report": ["tool-optimizer"],
76
- "docker-best-practices": ["infra-docker-expert"],
77
- "aws-best-practices": ["infra-aws-expert"],
78
- "create-agent": ["mgr-creator"],
79
- "update-external": ["mgr-updater"],
80
- "audit-agents": ["mgr-supplier"],
81
- "update-docs": ["mgr-updater"],
82
- "sauron-watch": ["mgr-sauron"],
83
- "claude-code-bible": ["mgr-claude-code-bible"],
84
- "memory-management": ["sys-memory-keeper"],
85
- "memory-save": ["sys-memory-keeper"],
86
- "memory-recall": ["sys-memory-keeper"],
111
+ "go-best-practices": [
112
+ "lang-golang-expert"
113
+ ],
114
+ "python-best-practices": [
115
+ "lang-python-expert"
116
+ ],
117
+ "rust-best-practices": [
118
+ "lang-rust-expert"
119
+ ],
120
+ "kotlin-best-practices": [
121
+ "lang-kotlin-expert"
122
+ ],
123
+ "typescript-best-practices": [
124
+ "lang-typescript-expert"
125
+ ],
126
+ "fastapi-best-practices": [
127
+ "be-fastapi-expert"
128
+ ],
129
+ "springboot-best-practices": [
130
+ "be-springboot-expert"
131
+ ],
132
+ "go-backend-best-practices": [
133
+ "be-go-backend-expert"
134
+ ],
135
+ "react-best-practices": [
136
+ "fe-vercel-agent"
137
+ ],
138
+ "web-design-guidelines": [
139
+ "fe-vercel-agent"
140
+ ],
141
+ "vercel-deploy": [
142
+ "fe-vercel-agent"
143
+ ],
144
+ "flutter-best-practices": [
145
+ "fe-flutter-agent"
146
+ ],
147
+ "airflow-best-practices": [
148
+ "de-airflow-expert"
149
+ ],
150
+ "dbt-best-practices": [
151
+ "de-dbt-expert"
152
+ ],
153
+ "spark-best-practices": [
154
+ "de-spark-expert"
155
+ ],
156
+ "kafka-best-practices": [
157
+ "de-kafka-expert"
158
+ ],
159
+ "snowflake-best-practices": [
160
+ "de-snowflake-expert"
161
+ ],
162
+ "pipeline-architecture-patterns": [
163
+ "de-pipeline-expert"
164
+ ],
165
+ "postgres-best-practices": [
166
+ "db-postgres-expert"
167
+ ],
168
+ "redis-best-practices": [
169
+ "db-redis-expert"
170
+ ],
171
+ "supabase-postgres-best-practices": [
172
+ "db-supabase-expert"
173
+ ],
174
+ "npm-audit": [
175
+ "tool-npm-expert"
176
+ ],
177
+ "npm-publish": [
178
+ "tool-npm-expert"
179
+ ],
180
+ "npm-version": [
181
+ "tool-npm-expert"
182
+ ],
183
+ "optimize-analyze": [
184
+ "tool-optimizer"
185
+ ],
186
+ "optimize-bundle": [
187
+ "tool-optimizer"
188
+ ],
189
+ "optimize-report": [
190
+ "tool-optimizer"
191
+ ],
192
+ "docker-best-practices": [
193
+ "infra-docker-expert"
194
+ ],
195
+ "aws-best-practices": [
196
+ "infra-aws-expert"
197
+ ],
198
+ "create-agent": [
199
+ "mgr-creator"
200
+ ],
201
+ "update-external": [
202
+ "mgr-updater"
203
+ ],
204
+ "audit-agents": [
205
+ "mgr-supplier"
206
+ ],
207
+ "update-docs": [
208
+ "mgr-updater"
209
+ ],
210
+ "sauron-watch": [
211
+ "mgr-sauron"
212
+ ],
213
+ "claude-code-bible": [
214
+ "mgr-claude-code-bible"
215
+ ],
87
216
  "secretary-routing": [],
88
217
  "dev-lead-routing": [],
89
218
  "de-lead-routing": [],
@@ -98,5 +227,7 @@
98
227
  "result-aggregation": [],
99
228
  "status": [],
100
229
  "writing-clearly-and-concisely": []
101
- }
230
+ },
231
+ "nodes": [],
232
+ "links": []
102
233
  }