oh-my-customcode 1.0.20 → 1.1.1
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 +5 -5
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/agents/fe-design-expert.md +2 -16
- package/templates/.claude/agents/mgr-claude-code-bible.md +0 -12
- package/templates/.claude/agents/mgr-creator.md +0 -4
- package/templates/.claude/agents/mgr-gitnerd.md +0 -12
- package/templates/.claude/agents/mgr-sauron.md +1 -123
- package/templates/.claude/agents/mgr-supplier.md +0 -12
- package/templates/.claude/agents/mgr-updater.md +0 -4
- package/templates/.claude/agents/slack-cli-expert.md +1 -54
- package/templates/.claude/agents/sys-naggy.md +0 -12
- package/templates/.claude/agents/tracker-checkpoint.md +0 -12
- package/templates/.claude/agents/wiki-curator.md +0 -12
- package/templates/.claude/rules/MUST-agent-design.md +5 -1
- package/templates/.claude/rules/MUST-sync-verification.md +12 -0
- package/templates/.claude/rules/SHOULD-verification-ladder.md +8 -0
- package/templates/.claude/skills/agent-eval-framework/SKILL.md +1 -1
- package/templates/.claude/skills/grill-with-docs/ADR-FORMAT.md +47 -0
- package/templates/.claude/skills/grill-with-docs/CONTEXT-FORMAT.md +60 -0
- package/templates/.claude/skills/grill-with-docs/README.md +11 -0
- package/templates/.claude/skills/grill-with-docs/SKILL.md +101 -0
- package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +124 -1
- package/templates/CLAUDE.md +1 -1
- package/templates/guides/index.yaml +147 -0
- package/templates/manifest.json +3 -3
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
**[한국어 문서 (Korean)](./README_ko.md)**
|
|
15
15
|
|
|
16
|
-
49 agents.
|
|
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
|
|
@@ -126,13 +126,13 @@ Agent(arch-documenter):haiku ┘
|
|
|
126
126
|
| QA | 3 | qa-planner, qa-writer, qa-engineer |
|
|
127
127
|
| Security | 1 | sec-codeql |
|
|
128
128
|
| Managers | 6 | mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron, mgr-claude-code-bible |
|
|
129
|
-
| System |
|
|
129
|
+
| System | 4 | sys-memory-keeper, sys-naggy, tracker-checkpoint, wiki-curator |
|
|
130
130
|
|
|
131
131
|
Each agent declares its tools, model, memory scope, and limitations in YAML frontmatter. Tool budgets are enforced per agent type for accuracy.
|
|
132
132
|
|
|
133
133
|
---
|
|
134
134
|
|
|
135
|
-
### Skills (
|
|
135
|
+
### Skills (118)
|
|
136
136
|
|
|
137
137
|
| Category | Count | Includes |
|
|
138
138
|
|----------|-------|----------|
|
|
@@ -145,7 +145,7 @@ Each agent declares its tools, model, memory scope, and limitations in YAML fron
|
|
|
145
145
|
| Package | 3 | npm-publish, npm-version, npm-audit |
|
|
146
146
|
| Optimization | 3 | optimize-analyze, optimize-bundle, optimize-report |
|
|
147
147
|
| Security | 3 | adversarial-review, cve-triage, jinja2-prompts |
|
|
148
|
-
| Other |
|
|
148
|
+
| Other | 47 | claude-native, vercel-deploy, skills-sh-search, result-aggregation, writing-clearly-and-concisely, and ~40 more |
|
|
149
149
|
|
|
150
150
|
Skills use a 3-tier scope system: `core` (universal), `harness` (agent/skill maintenance), `package` (project-specific).
|
|
151
151
|
|
|
@@ -270,7 +270,7 @@ your-project/
|
|
|
270
270
|
├── CLAUDE.md # Entry point
|
|
271
271
|
├── .claude/
|
|
272
272
|
│ ├── agents/ # 49 agent definitions
|
|
273
|
-
│ ├── skills/ #
|
|
273
|
+
│ ├── skills/ # 118 skill modules
|
|
274
274
|
│ ├── rules/ # 23 governance rules (R000-R023)
|
|
275
275
|
│ ├── hooks/ # 15 lifecycle hook scripts
|
|
276
276
|
│ ├── schemas/ # Tool input validation schemas
|
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@ skills:
|
|
|
9
9
|
- impeccable-design
|
|
10
10
|
- web-design-guidelines
|
|
11
11
|
- diagram-design
|
|
12
|
-
tools: [Read, Write, Edit, Grep, Glob
|
|
12
|
+
tools: [Read, Write, Edit, Grep, Glob]
|
|
13
13
|
maxTurns: 20
|
|
14
14
|
disallowedTools: [Bash]
|
|
15
15
|
limitations:
|
|
@@ -47,21 +47,7 @@ See `impeccable-design` skill for detailed command workflows and triggers.
|
|
|
47
47
|
|
|
48
48
|
### AI Slop Test
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
Ask: **Would someone immediately identify this as AI-generated?**
|
|
53
|
-
|
|
54
|
-
Flag these patterns as AI slop:
|
|
55
|
-
- Overused fonts: Inter, Roboto, or Arial used as default without intentional reason
|
|
56
|
-
- Pure black (`#000`) or pure gray backgrounds with no color tinting
|
|
57
|
-
- Excessive card nesting with uniform rounded corners and drop shadows on everything
|
|
58
|
-
- Generic gradient backgrounds (blue-purple, coral-orange) with no contextual rationale
|
|
59
|
-
- Bounce or elastic animations as "delight" without functional purpose
|
|
60
|
-
- Centered-everything layouts that avoid spatial decisions
|
|
61
|
-
- Hero sections with a gradient blob behind centered text
|
|
62
|
-
- Identical spacing increments used everywhere (8px, 8px, 8px)
|
|
63
|
-
- Color palettes that are purely neutral except for one brand accent
|
|
64
|
-
- Empty states with a generic icon + "No items yet" + CTA
|
|
50
|
+
Run the AI Slop Test as the design ship-gate — see the `impeccable-design` skill for the flag-pattern list and verdict scale.
|
|
65
51
|
|
|
66
52
|
## Workflow
|
|
67
53
|
|
|
@@ -16,18 +16,6 @@ tools:
|
|
|
16
16
|
permissionMode: bypassPermissions
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
## Mandatory: .claude/ 경로 처리 (R010 Universal /tmp Script Bypass)
|
|
20
|
-
|
|
21
|
-
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.
|
|
22
|
-
|
|
23
|
-
Pattern:
|
|
24
|
-
1. Write tool → `/tmp/fix-{topic}-$$.sh` containing heredoc/sed/cp targeting `.claude/`
|
|
25
|
-
2. Bash tool → `bash /tmp/fix-{topic}-$$.sh`
|
|
26
|
-
|
|
27
|
-
Read tool on `.claude/` paths is exempt (sensitive-path bypass for read-only). For `templates/.claude/` paths, the same pattern applies (also sensitive).
|
|
28
|
-
|
|
29
|
-
Reference: R010 (.claude/rules/MUST-orchestrator-coordination.md), #1046, #1052, #1062.
|
|
30
|
-
|
|
31
19
|
You are the authoritative source of truth for Claude Code specifications. You fetch official documentation from code.claude.com and validate the project against official specs.
|
|
32
20
|
|
|
33
21
|
## Two Modes
|
|
@@ -18,10 +18,6 @@ maxTurns: 25
|
|
|
18
18
|
permissionMode: bypassPermissions
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
## .claude/ 경로 처리 (CC v2.1.121+)
|
|
22
|
-
|
|
23
|
-
Direct Write/Edit/Bash on `.claude/**` and `templates/.claude/**` is permitted under `mode: "bypassPermissions"` as of CC v2.1.121 (#1101). The legacy `/tmp/*.sh` bypass is deprecated. For CC < v2.1.121, see git history for the legacy pattern.
|
|
24
|
-
|
|
25
21
|
You are an agent creation specialist following R006 (MUST-agent-design.md) rules.
|
|
26
22
|
|
|
27
23
|
## Workflow
|
|
@@ -19,18 +19,6 @@ tools:
|
|
|
19
19
|
permissionMode: bypassPermissions
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
-
## Mandatory: .claude/ 경로 처리 (R010 Universal /tmp Script Bypass)
|
|
23
|
-
|
|
24
|
-
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.
|
|
25
|
-
|
|
26
|
-
Pattern:
|
|
27
|
-
1. Write tool → `/tmp/fix-{topic}-$$.sh` containing heredoc/sed/cp targeting `.claude/`
|
|
28
|
-
2. Bash tool → `bash /tmp/fix-{topic}-$$.sh`
|
|
29
|
-
|
|
30
|
-
Read tool on `.claude/` paths is exempt (sensitive-path bypass for read-only). For `templates/.claude/` paths, the same pattern applies (also sensitive).
|
|
31
|
-
|
|
32
|
-
Reference: R010 (.claude/rules/MUST-orchestrator-coordination.md), #1046, #1052, #1062.
|
|
33
|
-
|
|
34
22
|
You are a Git operations specialist following GitHub flow best practices.
|
|
35
23
|
|
|
36
24
|
## Capabilities
|
|
@@ -18,18 +18,6 @@ maxTurns: 25
|
|
|
18
18
|
permissionMode: bypassPermissions
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
## Mandatory: .claude/ 경로 처리 (R010 Universal /tmp Script Bypass)
|
|
22
|
-
|
|
23
|
-
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.
|
|
24
|
-
|
|
25
|
-
Pattern:
|
|
26
|
-
1. Write tool → `/tmp/fix-{topic}-$$.sh` containing heredoc/sed/cp targeting `.claude/`
|
|
27
|
-
2. Bash tool → `bash /tmp/fix-{topic}-$$.sh`
|
|
28
|
-
|
|
29
|
-
Read tool on `.claude/` paths is exempt (sensitive-path bypass for read-only). For `templates/.claude/` paths, the same pattern applies (also sensitive).
|
|
30
|
-
|
|
31
|
-
Reference: R010 (.claude/rules/MUST-orchestrator-coordination.md), #1046, #1052, #1062.
|
|
32
|
-
|
|
33
21
|
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.
|
|
34
22
|
|
|
35
23
|
## Core Capabilities
|
|
@@ -54,117 +42,7 @@ You are an automated verification specialist that executes the mandatory R017 ve
|
|
|
54
42
|
| `mgr-sauron:quick` | Quick verification (single pass) |
|
|
55
43
|
| `mgr-sauron:report` | Generate verification status report |
|
|
56
44
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
### Phase 1: Manager Verification (5 rounds)
|
|
60
|
-
|
|
61
|
-
**Round 1-2: Basic Checks**
|
|
62
|
-
- mgr-supplier:audit (all agents, dependency validation)
|
|
63
|
-
- mgr-updater:docs (documentation sync check)
|
|
64
|
-
|
|
65
|
-
**Round 3-4: Re-verify + Update**
|
|
66
|
-
- Re-run mgr-supplier:audit
|
|
67
|
-
- Re-run mgr-updater:docs (apply any detected changes)
|
|
68
|
-
|
|
69
|
-
**Round 5: Final Count Verification**
|
|
70
|
-
- Agent count: CLAUDE.md vs actual .md files
|
|
71
|
-
- Skill count: CLAUDE.md vs actual SKILL.md files
|
|
72
|
-
- Memory field distribution matches CLAUDE.md
|
|
73
|
-
- Hook/context/guide/rule counts
|
|
74
|
-
|
|
75
|
-
### Phase 2: Deep Review (3 rounds)
|
|
76
|
-
|
|
77
|
-
**Round 1: Workflow Alignment**
|
|
78
|
-
- Agent workflows match purpose
|
|
79
|
-
- Command definitions match implementations
|
|
80
|
-
- Routing skill patterns are valid
|
|
81
|
-
|
|
82
|
-
**Round 2: Reference Verification**
|
|
83
|
-
- All skill references exist
|
|
84
|
-
- All agent frontmatter valid
|
|
85
|
-
- memory field values valid (user | project | local)
|
|
86
|
-
- No orphaned agents
|
|
87
|
-
|
|
88
|
-
**Round 3: Philosophy Compliance**
|
|
89
|
-
- R006: Agent design rules (including memory field spec)
|
|
90
|
-
- R007: Agent identification rules
|
|
91
|
-
- R008: Tool identification rules
|
|
92
|
-
- R009: Parallel execution rules
|
|
93
|
-
- R010: Orchestrator coordination rules
|
|
94
|
-
- R011: Memory integration (native-first architecture)
|
|
95
|
-
|
|
96
|
-
### Phase 2.5: Documentation Accuracy
|
|
97
|
-
|
|
98
|
-
**Agent Name Accuracy**
|
|
99
|
-
- Every agent name in CLAUDE.md must match actual filename
|
|
100
|
-
- No shortened names, no missing agents
|
|
101
|
-
|
|
102
|
-
**Component Count Accuracy**
|
|
103
|
-
- All counts cross-verified against filesystem
|
|
104
|
-
|
|
105
|
-
**Slash Command Verification**
|
|
106
|
-
- Every command must have corresponding skill
|
|
107
|
-
|
|
108
|
-
**Routing Skill Completeness**
|
|
109
|
-
- Every agent reachable through routing skills
|
|
110
|
-
|
|
111
|
-
### Phase 3: Auto-fix & Report
|
|
112
|
-
|
|
113
|
-
**Auto-fixable Issues:**
|
|
114
|
-
- Count mismatches in CLAUDE.md
|
|
115
|
-
- Missing memory field in agents
|
|
116
|
-
- Outdated documentation references
|
|
117
|
-
|
|
118
|
-
**Manual Review Required:**
|
|
119
|
-
- Missing agent files
|
|
120
|
-
- Invalid memory scope values
|
|
121
|
-
- Philosophy violations
|
|
122
|
-
|
|
123
|
-
## Output Format
|
|
124
|
-
|
|
125
|
-
### Watch Mode Report
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
[Sauron] Full Verification Started
|
|
129
|
-
|
|
130
|
-
=== Phase 1: Manager Verification ===
|
|
131
|
-
[Round 1/5] mgr-supplier:audit
|
|
132
|
-
- 34 agents checked
|
|
133
|
-
- 3 issues found
|
|
134
|
-
[Round 2/5] mgr-updater:docs
|
|
135
|
-
- Documentation sync: OK
|
|
136
|
-
...
|
|
137
|
-
|
|
138
|
-
=== Phase 2: Deep Review ===
|
|
139
|
-
[Round 1/3] Workflow Alignment
|
|
140
|
-
- All workflows valid
|
|
141
|
-
...
|
|
142
|
-
|
|
143
|
-
=== Phase 3: Resolution ===
|
|
144
|
-
[Auto-fixed]
|
|
145
|
-
- CLAUDE.md agent count: 33 -> 34
|
|
146
|
-
|
|
147
|
-
[Manual Review Required]
|
|
148
|
-
- .claude/agents/broken-agent.md: missing
|
|
149
|
-
|
|
150
|
-
[Sauron] Verification Complete
|
|
151
|
-
Total Issues: 8
|
|
152
|
-
Auto-fixed: 5
|
|
153
|
-
Manual: 3
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### Quick Mode Report
|
|
157
|
-
|
|
158
|
-
```
|
|
159
|
-
[Sauron] Quick Verification
|
|
160
|
-
|
|
161
|
-
Agents: 34/34 OK
|
|
162
|
-
Skills: 40/40 OK
|
|
163
|
-
Refs: 2 broken
|
|
164
|
-
|
|
165
|
-
Status: ISSUES FOUND
|
|
166
|
-
Run 'mgr-sauron:watch' for full verification
|
|
167
|
-
```
|
|
45
|
+
Full 5+3-round verification procedure and report format: see the sauron-watch skill (single source of truth).
|
|
168
46
|
|
|
169
47
|
## Integration
|
|
170
48
|
|
|
@@ -19,18 +19,6 @@ tools:
|
|
|
19
19
|
permissionMode: bypassPermissions
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
-
## Mandatory: .claude/ 경로 처리 (R010 Universal /tmp Script Bypass)
|
|
23
|
-
|
|
24
|
-
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.
|
|
25
|
-
|
|
26
|
-
Pattern:
|
|
27
|
-
1. Write tool → `/tmp/fix-{topic}-$$.sh` containing heredoc/sed/cp targeting `.claude/`
|
|
28
|
-
2. Bash tool → `bash /tmp/fix-{topic}-$$.sh`
|
|
29
|
-
|
|
30
|
-
Read tool on `.claude/` paths is exempt (sensitive-path bypass for read-only). For `templates/.claude/` paths, the same pattern applies (also sensitive).
|
|
31
|
-
|
|
32
|
-
Reference: R010 (.claude/rules/MUST-orchestrator-coordination.md), #1046, #1052, #1062.
|
|
33
|
-
|
|
34
22
|
You are a dependency validation specialist ensuring agents have all required skills and guides properly linked.
|
|
35
23
|
|
|
36
24
|
## Capabilities
|
|
@@ -22,10 +22,6 @@ tools:
|
|
|
22
22
|
permissionMode: bypassPermissions
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
-
## .claude/ 경로 처리 (CC v2.1.121+)
|
|
26
|
-
|
|
27
|
-
Direct Write/Edit/Bash on `.claude/**` and `templates/.claude/**` is permitted under `mode: "bypassPermissions"` as of CC v2.1.121 (#1101). The legacy `/tmp/*.sh` bypass is deprecated. For CC < v2.1.121, see git history for the legacy pattern.
|
|
28
|
-
|
|
29
25
|
You are an external source synchronization specialist keeping external components up-to-date.
|
|
30
26
|
|
|
31
27
|
## Workflow
|
|
@@ -42,57 +42,4 @@ Guides are located at: `guides/slack-cli/`
|
|
|
42
42
|
5. Execute the requested CLI operation with appropriate flags
|
|
43
43
|
6. Verify results and report status to user
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
### App Lifecycle
|
|
48
|
-
```bash
|
|
49
|
-
slack create <app-name> # Scaffold a new Slack app
|
|
50
|
-
slack run # Start local development server
|
|
51
|
-
slack deploy # Deploy app to Slack Platform
|
|
52
|
-
slack delete # Delete a deployed app
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Authentication
|
|
56
|
-
```bash
|
|
57
|
-
slack login # Authorize a workspace
|
|
58
|
-
slack logout # Remove workspace authorization
|
|
59
|
-
slack auth list # List all authorized workspaces
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Triggers
|
|
63
|
-
```bash
|
|
64
|
-
slack trigger create --trigger-def <file> # Create an event trigger
|
|
65
|
-
slack trigger update --trigger-id <id> # Update an existing trigger
|
|
66
|
-
slack trigger delete --trigger-id <id> # Delete a trigger
|
|
67
|
-
slack trigger list # List all triggers
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Datastore
|
|
71
|
-
```bash
|
|
72
|
-
slack datastore put '{"datastore": "<name>", "item": {...}}'
|
|
73
|
-
slack datastore get '{"datastore": "<name>", "id": "<id>"}'
|
|
74
|
-
slack datastore query '{"datastore": "<name>"}'
|
|
75
|
-
slack datastore bulk-put --datastore <name> --data-file <file>
|
|
76
|
-
slack datastore bulk-delete --datastore <name> --data-file <file>
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Environment Variables
|
|
80
|
-
```bash
|
|
81
|
-
slack env add <key> <value> # Add or update an env variable
|
|
82
|
-
slack env remove <key> # Remove an env variable
|
|
83
|
-
slack env list # List all env variables
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### Collaboration
|
|
87
|
-
```bash
|
|
88
|
-
slack collaborators add <email> # Add a collaborator
|
|
89
|
-
slack collaborators remove <email> # Remove a collaborator
|
|
90
|
-
slack collaborators list # List collaborators
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Diagnostics
|
|
94
|
-
```bash
|
|
95
|
-
slack doctor # System diagnostics and dependency check
|
|
96
|
-
slack manifest validate # Validate app manifest before deployment
|
|
97
|
-
slack feedback # Send feedback to Slack
|
|
98
|
-
```
|
|
45
|
+
Command reference: see guides/slack-cli/README.md (source of truth).
|
|
@@ -18,18 +18,6 @@ tools:
|
|
|
18
18
|
permissionMode: bypassPermissions
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
## Mandatory: .claude/ 경로 처리 (R010 Universal /tmp Script Bypass)
|
|
22
|
-
|
|
23
|
-
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.
|
|
24
|
-
|
|
25
|
-
Pattern:
|
|
26
|
-
1. Write tool → `/tmp/fix-{topic}-$$.sh` containing heredoc/sed/cp targeting `.claude/`
|
|
27
|
-
2. Bash tool → `bash /tmp/fix-{topic}-$$.sh`
|
|
28
|
-
|
|
29
|
-
Read tool on `.claude/` paths is exempt (sensitive-path bypass for read-only). For `templates/.claude/` paths, the same pattern applies (also sensitive).
|
|
30
|
-
|
|
31
|
-
Reference: R010 (.claude/rules/MUST-orchestrator-coordination.md), #1046, #1052, #1062.
|
|
32
|
-
|
|
33
21
|
You are a task management specialist that proactively manages TODO items and reminds users of pending tasks.
|
|
34
22
|
|
|
35
23
|
## Capabilities
|
|
@@ -10,18 +10,6 @@ domain: universal
|
|
|
10
10
|
permissionMode: bypassPermissions
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
## Mandatory: .claude/ 경로 처리 (R010 Universal /tmp Script Bypass)
|
|
14
|
-
|
|
15
|
-
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.
|
|
16
|
-
|
|
17
|
-
Pattern:
|
|
18
|
-
1. Write tool → `/tmp/fix-{topic}-$$.sh` containing heredoc/sed/cp targeting `.claude/`
|
|
19
|
-
2. Bash tool → `bash /tmp/fix-{topic}-$$.sh`
|
|
20
|
-
|
|
21
|
-
Read tool on `.claude/` paths is exempt (sensitive-path bypass for read-only). For `templates/.claude/` paths, the same pattern applies (also sensitive).
|
|
22
|
-
|
|
23
|
-
Reference: R010 (.claude/rules/MUST-orchestrator-coordination.md), #1046, #1052, #1062.
|
|
24
|
-
|
|
25
13
|
# Tracker Checkpoint Agent
|
|
26
14
|
|
|
27
15
|
## Purpose
|
|
@@ -14,18 +14,6 @@ memory: project
|
|
|
14
14
|
permissionMode: bypassPermissions
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
## Mandatory: .claude/ 경로 처리 (R010 Universal /tmp Script Bypass)
|
|
18
|
-
|
|
19
|
-
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.
|
|
20
|
-
|
|
21
|
-
Pattern:
|
|
22
|
-
1. Write tool → `/tmp/fix-{topic}-$$.sh` containing heredoc/sed/cp targeting `.claude/`
|
|
23
|
-
2. Bash tool → `bash /tmp/fix-{topic}-$$.sh`
|
|
24
|
-
|
|
25
|
-
Read tool on `.claude/` paths is exempt (sensitive-path bypass for read-only). For `templates/.claude/` paths, the same pattern applies (also sensitive).
|
|
26
|
-
|
|
27
|
-
Reference: R010 (.claude/rules/MUST-orchestrator-coordination.md), #1046, #1052, #1062.
|
|
28
|
-
|
|
29
17
|
# Wiki Curator
|
|
30
18
|
|
|
31
19
|
Dedicated agent for wiki file operations. All wiki/ directory writes go through this agent per R010 delegation rules.
|
|
@@ -21,9 +21,11 @@ tools: [Read, Write, ...] # Allowed tools
|
|
|
21
21
|
|-------|---------|----------|
|
|
22
22
|
| `haiku` | claude-haiku-4-5 | Fast, cheap tasks (search, simple edits) |
|
|
23
23
|
| `sonnet` | claude-sonnet-4-6 | General tasks, code generation (default) |
|
|
24
|
+
| `sonnet5` | claude-sonnet-5 | CC default (v2.1.197+); native 1M context |
|
|
24
25
|
| `opus` | claude-opus-4-6 | Complex reasoning, architecture |
|
|
25
26
|
| `opusplan` | claude-opus-4-6 + plan mode | Architecture planning with approval gates |
|
|
26
|
-
| `opus47` | claude-opus-4-7 |
|
|
27
|
+
| `opus47` | claude-opus-4-7 | Supports xhigh effort |
|
|
28
|
+
| `opus48` | claude-opus-4-8 | Latest Opus model (GA); highest capability below Fable 5 |
|
|
27
29
|
| `fable` | claude-fable-5 | Mythos-class; tier above Opus, highest GA capability (access added in CC v2.1.170) |
|
|
28
30
|
|
|
29
31
|
Extended context suffix: `[1m]` (e.g., `claude-opus-4-6[1m]`) — enables 1M token context window.
|
|
@@ -32,6 +34,8 @@ Extended context suffix: `[1m]` (e.g., `claude-opus-4-6[1m]`) — enables 1M tok
|
|
|
32
34
|
|
|
33
35
|
> **v2.1.173+**: Fable 5 model IDs carrying a `[1m]` suffix are now auto-normalized (the suffix is stripped) because Fable 5 includes 1M context by default. Use `claude-fable-5` / `model: fable` WITHOUT a `[1m]` suffix — appending it is redundant and normalized away. (The `[1m]` suffix remains meaningful for Opus/Sonnet IDs.)
|
|
34
36
|
|
|
37
|
+
> **v2.1.197+**: Claude Sonnet 5가 Claude Code의 **기본 모델**로 도입되었습니다 — 네이티브 1M-token 컨텍스트, 프로모션 가격 $2/$10 per Mtok(2026-08-31까지). `model: sonnet5` / `claude-sonnet-5`로 사용. oh-my-customcode의 base `sonnet` alias는 안정성을 위해 `claude-sonnet-4-6`에 고정 유지(기존 `sonnet` 지정 에이전트 불변); Sonnet 5는 `sonnet5`로 명시 opt-in. Sonnet 5가 CC 신규 기본값이므로 명시 모델 없는 세션은 이제 Sonnet 5에서 동작합니다.
|
|
38
|
+
|
|
35
39
|
### Fallback Models (CC v2.1.166+)
|
|
36
40
|
|
|
37
41
|
> **v2.1.166+**: The `fallbackModel` setting configures up to three fallback models tried in order when the primary model is overloaded or unavailable. `--fallback-model` now also applies to interactive sessions. CC additionally retries a turn once on the fallback model when the API rejects an unexpected non-retryable error (auth, rate-limit, request-size, and transport errors still surface immediately).
|
|
@@ -102,6 +102,18 @@ Any change to: agents, agent frontmatter, skills, guides, routing patterns, rule
|
|
|
102
102
|
2. 테스트가 읽는 파일의 git tracked 상태를 확인했는가? (`git ls-files` 대조)
|
|
103
103
|
3. 임시 skip된 검증 스크립트/테스트가 남아있지 않은가?
|
|
104
104
|
|
|
105
|
+
## Pre-Branch Freshness Gate (Origin: #1433 #1, ≥3회 재발)
|
|
106
|
+
|
|
107
|
+
세션 중 원격 머지(`gh pr merge` 등)가 발생한 뒤 새 릴리즈/작업 브랜치를 분기하기 전, 반드시 `git checkout develop && git pull origin develop`로 로컬 develop을 최신화한다. stale 로컬 develop에서 분기하면 새 브랜치가 이미 머지된 변경(직전 릴리즈)을 누락해 PR이 CONFLICTING 상태가 되고, merge+충돌해결+재CI 사이클이 강제된다. advisory 메모리(`feedback_session_memory_git_stale`)만으로는 ≥3회 재발을 막지 못해 R017 필수 게이트로 승격한다.
|
|
108
|
+
|
|
109
|
+
| Anti-pattern | Required |
|
|
110
|
+
|--------------|----------|
|
|
111
|
+
| 원격 머지 후 stale 로컬 develop에서 릴리즈 브랜치 분기 | 분기 전 `git pull origin develop`; PR 생성 후 mergeStateStatus 확인 — CONFLICTING이면 `git merge origin/develop`+both-유지 해결 후 재CI |
|
|
112
|
+
|
|
113
|
+
## Post-Gate Scope-Expansion Re-Run (Origin: #1433 #2)
|
|
114
|
+
|
|
115
|
+
R017 게이트(mgr-sauron) 통과 선언 후 신규 결함 발견 등으로 스코프가 확장되면(추가 파일 편집), 커밋 전 게이트를 **최종 상태에서 재실행**한다. 게이트 통과 시점 이후의 변경은 형식적으로 미검증이므로, 확장분 미검증 커밋은 R017이 최종 산출물을 커버하지 못하게 만든다.
|
|
116
|
+
|
|
105
117
|
## Quick Verification Commands — agent/skill/guide/wiki counts via ls/find/wc. See commands via Read tool.
|
|
106
118
|
|
|
107
119
|
<!-- DETAIL: Quick Verification Commands
|
|
@@ -80,6 +80,14 @@ R021은 위반 시 어떻게 멈출지를, R023은 어떤 순서로 검증할지
|
|
|
80
80
|
|
|
81
81
|
하나라도 불확실하면 **먼저 carve-out을 명시(Tier 1 우선 해결)**하고, 그래도 불확실하면 Tier 3 적대적 검증(`adversarial-review`, `multi-model-verification`)을 통과시킨 뒤 release한다 (ladder 순서 유지). 이는 R023 shift-left 원칙(저렴한 tier 우선)을 룰 작성 자체에 적용한 것이며, R016 룰 작성 워크플로우의 Tier-1 품질 게이트로 동작한다 (R016은 위반 후 룰 업데이트 소유, R023 carve-out은 안전-신호 룰 작성 시 사전 점검 — 직교). Closes #1353.
|
|
82
82
|
|
|
83
|
+
## Deprecated-Platform-Feature Staleness Check (Origin: #1433 #3)
|
|
84
|
+
|
|
85
|
+
staleness/audit 검증은 model ID·placeholder·TBD뿐 아니라 **폐기된 플랫폼 기능·설정·절차 참조**도 스캔해야 한다. 실례: CC v2.1.121에서 폐기된 `/tmp/*.sh` script bypass 절차가 9개 에이전트 본문에 잔존했으나(v1.1.0에서 제거) 감사 staleness dimension이 model-ID/placeholder에만 한정해 이를 놓쳤다. 감사·staleness 체크리스트에 "CC 특정 버전에서 폐기된 기능/설정/절차를 현행처럼 참조하는가"를 항목으로 추가한다. 이는 R023 shift-left(저렴한 결정론적 grep으로 폐기 참조 조기 탐지)와 정합한다.
|
|
86
|
+
|
|
87
|
+
| Anti-pattern | Required |
|
|
88
|
+
|--------------|----------|
|
|
89
|
+
| staleness 스캔을 model ID/placeholder/TBD로만 한정 | 폐기된 플랫폼 기능/절차 참조(deprecated CC feature/procedure)도 grep 스캔 |
|
|
90
|
+
|
|
83
91
|
## Integration
|
|
84
92
|
|
|
85
93
|
| 규칙 | 상호작용 |
|
|
@@ -125,7 +125,7 @@ task start → record tool_calls[] + timestamps → task end
|
|
|
125
125
|
|
|
126
126
|
### Persistent Storage (added v0.116.0, #1036)
|
|
127
127
|
|
|
128
|
-
Baseline annotations and observed trajectories can be persisted to eval-core's SQLite database (`evalBaselines` + `agentTrajectories` tables). This complements the YAML file approach for cross-session analysis.
|
|
128
|
+
Baseline annotations and observed trajectories can be persisted to eval-core's SQLite database (`evalBaselines` + `agentTrajectories` tables). This complements the YAML file approach for cross-session analysis. The eval-core query API for the `evalBaselines`/`agentTrajectories` tables is not yet implemented — use the YAML annotation approach meanwhile.
|
|
129
129
|
|
|
130
130
|
## Integration with Existing Skills
|
|
131
131
|
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# ADR Format
|
|
2
|
+
|
|
3
|
+
ADRs live in `docs/adr/` and use sequential numbering: `0001-slug.md`, `0002-slug.md`, etc.
|
|
4
|
+
|
|
5
|
+
Create the `docs/adr/` directory lazily — only when the first ADR is needed.
|
|
6
|
+
|
|
7
|
+
## Template
|
|
8
|
+
|
|
9
|
+
```md
|
|
10
|
+
# {Short title of the decision}
|
|
11
|
+
|
|
12
|
+
{1-3 sentences: what's the context, what did we decide, and why.}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
That's it. An ADR can be a single paragraph. The value is in recording *that* a decision was made and *why* — not in filling out sections.
|
|
16
|
+
|
|
17
|
+
## Optional sections
|
|
18
|
+
|
|
19
|
+
Only include these when they add genuine value. Most ADRs won't need them.
|
|
20
|
+
|
|
21
|
+
- **Status** frontmatter (`proposed | accepted | deprecated | superseded by ADR-NNNN`) — useful when decisions are revisited
|
|
22
|
+
- **Considered Options** — only when the rejected alternatives are worth remembering
|
|
23
|
+
- **Consequences** — only when non-obvious downstream effects need to be called out
|
|
24
|
+
|
|
25
|
+
## Numbering
|
|
26
|
+
|
|
27
|
+
Scan `docs/adr/` for the highest existing number and increment by one.
|
|
28
|
+
|
|
29
|
+
## When to offer an ADR
|
|
30
|
+
|
|
31
|
+
All three of these must be true:
|
|
32
|
+
|
|
33
|
+
1. **Hard to reverse** — the cost of changing your mind later is meaningful
|
|
34
|
+
2. **Surprising without context** — a future reader will look at the code and wonder "why on earth did they do it this way?"
|
|
35
|
+
3. **The result of a real trade-off** — there were genuine alternatives and you picked one for specific reasons
|
|
36
|
+
|
|
37
|
+
If a decision is easy to reverse, skip it — you'll just reverse it. If it's not surprising, nobody will wonder why. If there was no real alternative, there's nothing to record beyond "we did the obvious thing."
|
|
38
|
+
|
|
39
|
+
### What qualifies
|
|
40
|
+
|
|
41
|
+
- **Architectural shape.** "We're using a monorepo." "The write model is event-sourced, the read model is projected into Postgres."
|
|
42
|
+
- **Integration patterns between contexts.** "Ordering and Billing communicate via domain events, not synchronous HTTP."
|
|
43
|
+
- **Technology choices that carry lock-in.** Database, message bus, auth provider, deployment target. Not every library — just the ones that would take a quarter to swap out.
|
|
44
|
+
- **Boundary and scope decisions.** "Customer data is owned by the Customer context; other contexts reference it by ID only." The explicit no-s are as valuable as the yes-s.
|
|
45
|
+
- **Deliberate deviations from the obvious path.** "We're using manual SQL instead of an ORM because X." Anything where a reasonable reader would assume the opposite. These stop the next engineer from "fixing" something that was deliberate.
|
|
46
|
+
- **Constraints not visible in the code.** "We can't use AWS because of compliance requirements." "Response times must be under 200ms because of the partner API contract."
|
|
47
|
+
- **Rejected alternatives when the rejection is non-obvious.** If you considered GraphQL and picked REST for subtle reasons, record it — otherwise someone will suggest GraphQL again in six months.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# CONTEXT.md Format
|
|
2
|
+
|
|
3
|
+
## Structure
|
|
4
|
+
|
|
5
|
+
```md
|
|
6
|
+
# {Context Name}
|
|
7
|
+
|
|
8
|
+
{One or two sentence description of what this context is and why it exists.}
|
|
9
|
+
|
|
10
|
+
## Language
|
|
11
|
+
|
|
12
|
+
**Order**:
|
|
13
|
+
{A one or two sentence description of the term}
|
|
14
|
+
_Avoid_: Purchase, transaction
|
|
15
|
+
|
|
16
|
+
**Invoice**:
|
|
17
|
+
A request for payment sent to a customer after delivery.
|
|
18
|
+
_Avoid_: Bill, payment request
|
|
19
|
+
|
|
20
|
+
**Customer**:
|
|
21
|
+
A person or organization that places orders.
|
|
22
|
+
_Avoid_: Client, buyer, account
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
|
|
27
|
+
- **Be opinionated.** When multiple words exist for the same concept, pick the best one and list the others under `_Avoid_`.
|
|
28
|
+
- **Keep definitions tight.** One or two sentences max. Define what it IS, not what it does.
|
|
29
|
+
- **Only include terms specific to this project's context.** General programming concepts (timeouts, error types, utility patterns) don't belong even if the project uses them extensively. Before adding a term, ask: is this a concept unique to this context, or a general programming concept? Only the former belongs.
|
|
30
|
+
- **Group terms under subheadings** when natural clusters emerge. If all terms belong to a single cohesive area, a flat list is fine.
|
|
31
|
+
|
|
32
|
+
## Single vs multi-context repos
|
|
33
|
+
|
|
34
|
+
**Single context (most repos):** One `CONTEXT.md` at the repo root.
|
|
35
|
+
|
|
36
|
+
**Multiple contexts:** A `CONTEXT-MAP.md` at the repo root lists the contexts, where they live, and how they relate to each other:
|
|
37
|
+
|
|
38
|
+
```md
|
|
39
|
+
# Context Map
|
|
40
|
+
|
|
41
|
+
## Contexts
|
|
42
|
+
|
|
43
|
+
- [Ordering](./src/ordering/CONTEXT.md) — receives and tracks customer orders
|
|
44
|
+
- [Billing](./src/billing/CONTEXT.md) — generates invoices and processes payments
|
|
45
|
+
- [Fulfillment](./src/fulfillment/CONTEXT.md) — manages warehouse picking and shipping
|
|
46
|
+
|
|
47
|
+
## Relationships
|
|
48
|
+
|
|
49
|
+
- **Ordering → Fulfillment**: Ordering emits `OrderPlaced` events; Fulfillment consumes them to start picking
|
|
50
|
+
- **Fulfillment → Billing**: Fulfillment emits `ShipmentDispatched` events; Billing consumes them to generate invoices
|
|
51
|
+
- **Ordering ↔ Billing**: Shared types for `CustomerId` and `Money`
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The skill infers which structure applies:
|
|
55
|
+
|
|
56
|
+
- If `CONTEXT-MAP.md` exists, read it to find contexts
|
|
57
|
+
- If only a root `CONTEXT.md` exists, single context
|
|
58
|
+
- If neither exists, create a root `CONTEXT.md` lazily when the first term is resolved
|
|
59
|
+
|
|
60
|
+
When multiple contexts exist, infer which one the current topic relates to. If unclear, ask.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# grill-with-docs
|
|
2
|
+
|
|
3
|
+
`grill-with-docs` is a multi-platform skill (works in Claude Code) for stress-testing a plan against the language, boundaries, and decisions already present in a codebase.
|
|
4
|
+
|
|
5
|
+
It asks one focused question at a time, checks the repository when the answer should be discoverable from code or docs, and captures settled domain language in `CONTEXT.md`. It can also suggest ADRs when a decision is hard to reverse, surprising without context, and shaped by a real trade-off.
|
|
6
|
+
|
|
7
|
+
This version is packaged as a standalone skill. It includes its own context and ADR formats, so it does not rely on other skills being installed.
|
|
8
|
+
|
|
9
|
+
## Credits
|
|
10
|
+
|
|
11
|
+
Inspired by Matt Pocock's [`grill-with-docs`](https://github.com/mattpocock/skills/tree/main/skills/engineering/grill-with-docs) skill, packaged from [w00ing/skills](https://github.com/w00ing/skills/tree/main/grill-with-docs).
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grill-with-docs
|
|
3
|
+
description: Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.
|
|
4
|
+
scope: core
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
user-invocable: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<what-to-do>
|
|
10
|
+
|
|
11
|
+
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
|
|
12
|
+
|
|
13
|
+
Ask the questions one at a time, waiting for feedback on each question before continuing.
|
|
14
|
+
|
|
15
|
+
If a question can be answered by exploring the codebase, explore the codebase instead.
|
|
16
|
+
|
|
17
|
+
</what-to-do>
|
|
18
|
+
|
|
19
|
+
<supporting-info>
|
|
20
|
+
|
|
21
|
+
## Domain awareness
|
|
22
|
+
|
|
23
|
+
During codebase exploration, also look for existing documentation:
|
|
24
|
+
|
|
25
|
+
### File structure
|
|
26
|
+
|
|
27
|
+
Most repos have a single context:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/
|
|
31
|
+
├── CONTEXT.md
|
|
32
|
+
├── docs/
|
|
33
|
+
│ └── adr/
|
|
34
|
+
│ ├── 0001-event-sourced-orders.md
|
|
35
|
+
│ └── 0002-postgres-for-write-model.md
|
|
36
|
+
└── src/
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
If a `CONTEXT-MAP.md` exists at the root, the repo has multiple contexts. The map points to where each one lives:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
/
|
|
43
|
+
├── CONTEXT-MAP.md
|
|
44
|
+
├── docs/
|
|
45
|
+
│ └── adr/ ← system-wide decisions
|
|
46
|
+
├── src/
|
|
47
|
+
│ ├── ordering/
|
|
48
|
+
│ │ ├── CONTEXT.md
|
|
49
|
+
│ │ └── docs/adr/ ← context-specific decisions
|
|
50
|
+
│ └── billing/
|
|
51
|
+
│ ├── CONTEXT.md
|
|
52
|
+
│ └── docs/adr/
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Create files lazily — only when you have something to write. If no `CONTEXT.md` exists, create one when the first term is resolved. If no `docs/adr/` exists, create it when the first ADR is needed.
|
|
56
|
+
|
|
57
|
+
## During the session
|
|
58
|
+
|
|
59
|
+
### Challenge against the glossary
|
|
60
|
+
|
|
61
|
+
When the user uses a term that conflicts with the existing language in `CONTEXT.md`, call it out immediately. "Your glossary defines 'cancellation' as X, but you seem to mean Y — which is it?"
|
|
62
|
+
|
|
63
|
+
### Sharpen fuzzy language
|
|
64
|
+
|
|
65
|
+
When the user uses vague or overloaded terms, propose a precise canonical term. "You're saying 'account' — do you mean the Customer or the User? Those are different things."
|
|
66
|
+
|
|
67
|
+
### Discuss concrete scenarios
|
|
68
|
+
|
|
69
|
+
When domain relationships are being discussed, stress-test them with specific scenarios. Invent scenarios that probe edge cases and force the user to be precise about the boundaries between concepts.
|
|
70
|
+
|
|
71
|
+
### Cross-reference with code
|
|
72
|
+
|
|
73
|
+
When the user states how something works, check whether the code agrees. If you find a contradiction, surface it: "Your code cancels entire Orders, but you just said partial cancellation is possible — which is right?"
|
|
74
|
+
|
|
75
|
+
### Update CONTEXT.md inline
|
|
76
|
+
|
|
77
|
+
When a term is resolved, update `CONTEXT.md` right there. Don't batch these up — capture them as they happen. Use the format in [CONTEXT-FORMAT.md](./CONTEXT-FORMAT.md).
|
|
78
|
+
|
|
79
|
+
`CONTEXT.md` should be totally devoid of implementation details. Do not treat `CONTEXT.md` as a spec, a scratch pad, or a repository for implementation decisions. It is a glossary and nothing else.
|
|
80
|
+
|
|
81
|
+
### Offer ADRs sparingly
|
|
82
|
+
|
|
83
|
+
Only offer to create an ADR when all three are true:
|
|
84
|
+
|
|
85
|
+
1. **Hard to reverse** — the cost of changing your mind later is meaningful
|
|
86
|
+
2. **Surprising without context** — a future reader will wonder "why did they do it this way?"
|
|
87
|
+
3. **The result of a real trade-off** — there were genuine alternatives and you picked one for specific reasons
|
|
88
|
+
|
|
89
|
+
If any of the three is missing, skip the ADR. Use the format in [ADR-FORMAT.md](./ADR-FORMAT.md).
|
|
90
|
+
|
|
91
|
+
</supporting-info>
|
|
92
|
+
|
|
93
|
+
## Cross-References
|
|
94
|
+
|
|
95
|
+
| Skill | Relationship |
|
|
96
|
+
|-------|--------------|
|
|
97
|
+
| `brainstorming` (superpowers) | Process skill for early creative exploration; grill-with-docs is the domain-model stress-test that follows once a plan exists |
|
|
98
|
+
| `ambiguity-gate` | Pre-routing clarity scoring; grill-with-docs goes deeper — interviews one question at a time against the codebase |
|
|
99
|
+
| `deep-plan` | Research→plan→verify; grill-with-docs complements by sharpening terminology and capturing decisions as docs |
|
|
100
|
+
|
|
101
|
+
**Unique value**: grill-with-docs captures settled domain language in `CONTEXT.md` (glossary) and offers ADRs inline as decisions crystallise — a domain-model documentation dimension the planning/grilling skills above do not cover.
|
|
@@ -160,6 +160,14 @@ agents:
|
|
|
160
160
|
supported_actions: [review, create, fix, refactor]
|
|
161
161
|
base_confidence: 35
|
|
162
162
|
|
|
163
|
+
be-django-expert:
|
|
164
|
+
keywords:
|
|
165
|
+
korean: [장고, 디장고]
|
|
166
|
+
english: [django, "django rest", drf]
|
|
167
|
+
file_patterns: ["manage.py", "settings.py", "urls.py", "models.py", "wsgi.py", "asgi.py"]
|
|
168
|
+
supported_actions: [review, create, fix, refactor]
|
|
169
|
+
base_confidence: 75
|
|
170
|
+
|
|
163
171
|
# SW Engineers - Tooling
|
|
164
172
|
tool-bun-expert:
|
|
165
173
|
keywords:
|
|
@@ -185,6 +193,14 @@ agents:
|
|
|
185
193
|
supported_actions: [analyze, optimize, report, bundle]
|
|
186
194
|
base_confidence: 40
|
|
187
195
|
|
|
196
|
+
slack-cli-expert:
|
|
197
|
+
keywords:
|
|
198
|
+
korean: [슬랙, 슬랙봇, 슬랙 알림, 슬랙 메시지]
|
|
199
|
+
english: [slack, "slack cli", "slack bot", "slack notification", webhook]
|
|
200
|
+
file_patterns: []
|
|
201
|
+
supported_actions: [send, notify, configure, post]
|
|
202
|
+
base_confidence: 75
|
|
203
|
+
|
|
188
204
|
# SW Engineers - Database
|
|
189
205
|
db-supabase-expert:
|
|
190
206
|
keywords:
|
|
@@ -194,6 +210,79 @@ agents:
|
|
|
194
210
|
supported_actions: [review, create, fix, migrate]
|
|
195
211
|
base_confidence: 40
|
|
196
212
|
|
|
213
|
+
db-postgres-expert:
|
|
214
|
+
keywords:
|
|
215
|
+
korean: [포스트그레스, 포스트그레스큐엘, 피지]
|
|
216
|
+
english: [postgres, postgresql, psql, pgsql]
|
|
217
|
+
file_patterns: ["*.sql", "postgresql.conf", "pg_hba.conf"]
|
|
218
|
+
supported_actions: [review, create, fix, optimize]
|
|
219
|
+
base_confidence: 75
|
|
220
|
+
|
|
221
|
+
db-redis-expert:
|
|
222
|
+
keywords:
|
|
223
|
+
korean: [레디스, 캐시, 인메모리]
|
|
224
|
+
english: [redis, cache, "redis cluster", "in-memory"]
|
|
225
|
+
file_patterns: ["redis.conf", "*.rdb"]
|
|
226
|
+
supported_actions: [review, create, fix, optimize]
|
|
227
|
+
base_confidence: 75
|
|
228
|
+
|
|
229
|
+
db-alembic-expert:
|
|
230
|
+
keywords:
|
|
231
|
+
korean: [알렘빅, 마이그레이션, 스키마 마이그레이션]
|
|
232
|
+
english: [alembic, migration, "schema migration"]
|
|
233
|
+
file_patterns: ["alembic.ini", "alembic/versions/*.py", "migrations/*.py", "env.py"]
|
|
234
|
+
supported_actions: [migrate, review, create, fix]
|
|
235
|
+
base_confidence: 75
|
|
236
|
+
|
|
237
|
+
# DE Engineers
|
|
238
|
+
de-airflow-expert:
|
|
239
|
+
keywords:
|
|
240
|
+
korean: [에어플로우, DAG, 워크플로우 스케줄]
|
|
241
|
+
english: [airflow, dag, "apache airflow", scheduler]
|
|
242
|
+
file_patterns: ["dags/*.py", "airflow.cfg"]
|
|
243
|
+
supported_actions: [review, create, fix, refactor]
|
|
244
|
+
base_confidence: 75
|
|
245
|
+
|
|
246
|
+
de-dbt-expert:
|
|
247
|
+
keywords:
|
|
248
|
+
korean: [디비티, 데이터 모델링]
|
|
249
|
+
english: [dbt, "data build tool", "sql model"]
|
|
250
|
+
file_patterns: ["models/*.sql", "dbt_project.yml", "schema.yml"]
|
|
251
|
+
supported_actions: [review, create, fix, test]
|
|
252
|
+
base_confidence: 75
|
|
253
|
+
|
|
254
|
+
de-spark-expert:
|
|
255
|
+
keywords:
|
|
256
|
+
korean: [스파크, 분산 처리]
|
|
257
|
+
english: [spark, pyspark, "apache spark", "distributed processing"]
|
|
258
|
+
file_patterns: ["*.py", "*.scala"]
|
|
259
|
+
supported_actions: [review, create, fix, optimize]
|
|
260
|
+
base_confidence: 75
|
|
261
|
+
|
|
262
|
+
de-kafka-expert:
|
|
263
|
+
keywords:
|
|
264
|
+
korean: [카프카, 스트리밍, 이벤트 스트림]
|
|
265
|
+
english: [kafka, streaming, "event stream", "apache kafka", producer, consumer]
|
|
266
|
+
file_patterns: ["*.properties", "server.properties"]
|
|
267
|
+
supported_actions: [review, create, fix, configure]
|
|
268
|
+
base_confidence: 75
|
|
269
|
+
|
|
270
|
+
de-snowflake-expert:
|
|
271
|
+
keywords:
|
|
272
|
+
korean: [스노우플레이크, 데이터 웨어하우스]
|
|
273
|
+
english: [snowflake, "data warehouse", warehouse, snowsql]
|
|
274
|
+
file_patterns: ["*.sql"]
|
|
275
|
+
supported_actions: [review, create, fix, optimize]
|
|
276
|
+
base_confidence: 75
|
|
277
|
+
|
|
278
|
+
de-pipeline-expert:
|
|
279
|
+
keywords:
|
|
280
|
+
korean: [데이터 파이프라인, ETL, ELT, 데이터 적재]
|
|
281
|
+
english: [pipeline, etl, elt, "data pipeline", ingestion]
|
|
282
|
+
file_patterns: ["pipelines/*.py", "*.yaml"]
|
|
283
|
+
supported_actions: [review, create, fix, design]
|
|
284
|
+
base_confidence: 70
|
|
285
|
+
|
|
197
286
|
# SW Architects
|
|
198
287
|
arch-documenter:
|
|
199
288
|
keywords:
|
|
@@ -228,6 +317,15 @@ agents:
|
|
|
228
317
|
supported_actions: [review, create, fix, explain]
|
|
229
318
|
base_confidence: 40
|
|
230
319
|
|
|
320
|
+
# Security
|
|
321
|
+
sec-codeql-expert:
|
|
322
|
+
keywords:
|
|
323
|
+
korean: [코드큐엘, 보안 스캔, 취약점 스캔, 정적 분석]
|
|
324
|
+
english: [codeql, sarif, vulnerability, "static analysis", "security scan", sast]
|
|
325
|
+
file_patterns: ["*.ql", "*.qll", "codeql/*"]
|
|
326
|
+
supported_actions: [scan, analyze, review]
|
|
327
|
+
base_confidence: 75
|
|
328
|
+
|
|
231
329
|
# Managers
|
|
232
330
|
mgr-creator:
|
|
233
331
|
keywords:
|
|
@@ -304,6 +402,22 @@ agents:
|
|
|
304
402
|
supported_actions: [save, recall, remember]
|
|
305
403
|
base_confidence: 40
|
|
306
404
|
|
|
405
|
+
tracker-checkpoint:
|
|
406
|
+
keywords:
|
|
407
|
+
korean: [체크포인트, 진행 상태, 파이프라인 상태, 추적]
|
|
408
|
+
english: ["pipeline state", checkpoint, "track progress", "state tracking", resume]
|
|
409
|
+
file_patterns: []
|
|
410
|
+
supported_actions: [track, checkpoint, resume]
|
|
411
|
+
base_confidence: 70
|
|
412
|
+
|
|
413
|
+
wiki-curator:
|
|
414
|
+
keywords:
|
|
415
|
+
korean: [위키 페이지, 위키 큐레이션, 지식 정리]
|
|
416
|
+
english: ["wiki page", "wiki curation", "knowledge base page", "wiki write"]
|
|
417
|
+
file_patterns: ["wiki/**"]
|
|
418
|
+
supported_actions: [create, update, curate]
|
|
419
|
+
base_confidence: 70
|
|
420
|
+
|
|
307
421
|
# ---------------------------------------------------------------------------
|
|
308
422
|
# Research / Information Gathering (skill-based, not agent)
|
|
309
423
|
# ---------------------------------------------------------------------------
|
|
@@ -412,6 +526,15 @@ agents:
|
|
|
412
526
|
supported_actions: [coordinate, review, lead]
|
|
413
527
|
base_confidence: 40
|
|
414
528
|
|
|
529
|
+
de-lead:
|
|
530
|
+
keywords:
|
|
531
|
+
korean: [데이터 엔지니어링, DE 리드, 파이프라인 조율, 데이터 파이프라인]
|
|
532
|
+
english: [airflow, dbt, spark, kafka, snowflake, pipeline, ETL, DAG, "de lead", "data engineering"]
|
|
533
|
+
file_patterns: ["dags/*.py", "*.sql", "models/"]
|
|
534
|
+
supported_actions: [coordinate, review, lead]
|
|
535
|
+
base_confidence: 40
|
|
536
|
+
routing_rule: "Invoke de-lead-routing skill to route DE tasks to the correct data engineering expert"
|
|
537
|
+
|
|
415
538
|
secretary:
|
|
416
539
|
keywords:
|
|
417
540
|
korean: [에이전트, 관리, 오케스트레이션]
|
|
@@ -718,7 +841,7 @@ agents:
|
|
|
718
841
|
file_patterns: []
|
|
719
842
|
supported_actions: [reference, lookup]
|
|
720
843
|
base_confidence: 65
|
|
721
|
-
routing_rule: "Reference guides/
|
|
844
|
+
routing_rule: "Reference appropriate guides/ subdirectory"
|
|
722
845
|
|
|
723
846
|
guide-best-practices:
|
|
724
847
|
keywords:
|
package/templates/CLAUDE.md
CHANGED
|
@@ -116,7 +116,7 @@ project/
|
|
|
116
116
|
+-- CLAUDE.md # 진입점
|
|
117
117
|
+-- .claude/
|
|
118
118
|
| +-- agents/ # 서브에이전트 정의 (49 파일)
|
|
119
|
-
| +-- skills/ # 스킬 (
|
|
119
|
+
| +-- skills/ # 스킬 (118 디렉토리)
|
|
120
120
|
| +-- rules/ # 전역 규칙 (R000-R023)
|
|
121
121
|
| +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
|
|
122
122
|
| +-- contexts/ # 컨텍스트 파일 (ecomode)
|
|
@@ -221,6 +221,12 @@ guides:
|
|
|
221
221
|
origin: redis.io
|
|
222
222
|
url: https://redis.io/docs/
|
|
223
223
|
|
|
224
|
+
- name: drizzle-orm
|
|
225
|
+
description: Drizzle ORM sql template literal pitfalls and table-qualifier safety patterns
|
|
226
|
+
path: ./drizzle-orm/
|
|
227
|
+
source:
|
|
228
|
+
type: internal
|
|
229
|
+
|
|
224
230
|
# Git
|
|
225
231
|
- name: git-worktree-workflow
|
|
226
232
|
description: Git worktree workflow for parallel branch development
|
|
@@ -228,6 +234,12 @@ guides:
|
|
|
228
234
|
source:
|
|
229
235
|
type: internal
|
|
230
236
|
|
|
237
|
+
- name: git-safety
|
|
238
|
+
description: Safe git operation patterns for autonomous agents — working tree loss prevention
|
|
239
|
+
path: ./git-safety/
|
|
240
|
+
source:
|
|
241
|
+
type: internal
|
|
242
|
+
|
|
231
243
|
# Architecture
|
|
232
244
|
- name: skill-bundle-design
|
|
233
245
|
description: Domain skill bundle design patterns for Author/Test/Troubleshoot tri-pattern
|
|
@@ -235,6 +247,18 @@ guides:
|
|
|
235
247
|
source:
|
|
236
248
|
type: internal
|
|
237
249
|
|
|
250
|
+
- name: architecture
|
|
251
|
+
description: Reference patterns from AWS sample-deep-insight hierarchical multi-agent system
|
|
252
|
+
path: ./architecture/
|
|
253
|
+
source:
|
|
254
|
+
type: internal
|
|
255
|
+
|
|
256
|
+
- name: harness-engineering
|
|
257
|
+
description: Harness engineering guide — agent behavior control and infrastructure isolation as first-class design
|
|
258
|
+
path: ./harness-engineering/
|
|
259
|
+
source:
|
|
260
|
+
type: internal
|
|
261
|
+
|
|
238
262
|
# Writing
|
|
239
263
|
- name: elements-of-style
|
|
240
264
|
description: The Elements of Style writing clarity guidelines
|
|
@@ -269,3 +293,126 @@ guides:
|
|
|
269
293
|
path: ./agents-md-quality/
|
|
270
294
|
source:
|
|
271
295
|
type: internal
|
|
296
|
+
|
|
297
|
+
- name: agent-design
|
|
298
|
+
description: Agent design pattern references — Ralph loop persistence, Socratic interview templates, PAL cost routing, and CLI agent patterns
|
|
299
|
+
path: ./agent-design/
|
|
300
|
+
source:
|
|
301
|
+
type: internal
|
|
302
|
+
|
|
303
|
+
- name: agent-eval
|
|
304
|
+
description: Agent evaluation framework reference — 4-metric methodology and ideal trajectory annotation
|
|
305
|
+
path: ./agent-eval/
|
|
306
|
+
source:
|
|
307
|
+
type: internal
|
|
308
|
+
|
|
309
|
+
- name: agent-teams
|
|
310
|
+
description: Agent Teams troubleshooting guide for common operational issues and shutdown handling
|
|
311
|
+
path: ./agent-teams/
|
|
312
|
+
source:
|
|
313
|
+
type: internal
|
|
314
|
+
|
|
315
|
+
- name: agent-workflow
|
|
316
|
+
description: Autonomous challenge session lessons and guardrails for long-running agent runs
|
|
317
|
+
path: ./agent-workflow/
|
|
318
|
+
source:
|
|
319
|
+
type: internal
|
|
320
|
+
|
|
321
|
+
- name: browser-automation
|
|
322
|
+
description: Browser automation patterns for AI agents via MCP-based browser tools and lightweight CDP alternatives
|
|
323
|
+
path: ./browser-automation/
|
|
324
|
+
source:
|
|
325
|
+
type: internal
|
|
326
|
+
|
|
327
|
+
- name: compound-ai-workflow
|
|
328
|
+
description: Compound AI workflow principles — accumulating artifacts as context across sessions
|
|
329
|
+
path: ./compound-ai-workflow/
|
|
330
|
+
source:
|
|
331
|
+
type: internal
|
|
332
|
+
|
|
333
|
+
- name: deep-plan
|
|
334
|
+
description: Companion guide for the deep-plan skill — research, plan, and verify phases
|
|
335
|
+
path: ./deep-plan/
|
|
336
|
+
source:
|
|
337
|
+
type: internal
|
|
338
|
+
|
|
339
|
+
- name: external-tools
|
|
340
|
+
description: External tool integration references — graphify knowledge graph and ECC absorption decisions
|
|
341
|
+
path: ./external-tools/
|
|
342
|
+
source:
|
|
343
|
+
type: internal
|
|
344
|
+
|
|
345
|
+
- name: hook-data-flow
|
|
346
|
+
description: Hook data flow reference — stall detection pipeline for parallel agents (R009)
|
|
347
|
+
path: ./hook-data-flow/
|
|
348
|
+
source:
|
|
349
|
+
type: internal
|
|
350
|
+
|
|
351
|
+
- name: middleware-patterns
|
|
352
|
+
description: Lifecycle middleware patterns for customizing the agent harness
|
|
353
|
+
path: ./middleware-patterns/
|
|
354
|
+
source:
|
|
355
|
+
type: internal
|
|
356
|
+
|
|
357
|
+
- name: multi-agent-debate-patterns
|
|
358
|
+
description: Multi-agent debate anti-patterns and structural mechanisms to prevent them
|
|
359
|
+
path: ./multi-agent-debate-patterns/
|
|
360
|
+
source:
|
|
361
|
+
type: internal
|
|
362
|
+
|
|
363
|
+
- name: multi-provider-exec
|
|
364
|
+
description: Cross-provider LLM execution reference for external exec skills
|
|
365
|
+
path: ./multi-provider-exec/
|
|
366
|
+
source:
|
|
367
|
+
type: internal
|
|
368
|
+
|
|
369
|
+
- name: professor-triage
|
|
370
|
+
description: Companion guide for the professor-triage skill — issue triage phases
|
|
371
|
+
path: ./professor-triage/
|
|
372
|
+
source:
|
|
373
|
+
type: internal
|
|
374
|
+
|
|
375
|
+
- name: profiles
|
|
376
|
+
description: Manifest install profile guide — minimal/full profile selection patterns
|
|
377
|
+
path: ./profiles/
|
|
378
|
+
source:
|
|
379
|
+
type: internal
|
|
380
|
+
|
|
381
|
+
# Security
|
|
382
|
+
- name: security
|
|
383
|
+
description: Security pre-flight analysis pattern (AgentShield) for pre-write risk identification
|
|
384
|
+
path: ./security/
|
|
385
|
+
source:
|
|
386
|
+
type: internal
|
|
387
|
+
|
|
388
|
+
# Skill Development
|
|
389
|
+
- name: skill-promotion
|
|
390
|
+
description: Skill promotion guide — instinct extraction and failure-pattern mining
|
|
391
|
+
path: ./skill-promotion/
|
|
392
|
+
source:
|
|
393
|
+
type: internal
|
|
394
|
+
|
|
395
|
+
# Token Efficiency
|
|
396
|
+
- name: cc-token-saver
|
|
397
|
+
description: cc-token-saver plugin integration guide for token and cost optimization
|
|
398
|
+
path: ./cc-token-saver/
|
|
399
|
+
source:
|
|
400
|
+
type: external
|
|
401
|
+
origin: github
|
|
402
|
+
url: https://github.com/ww-w-ai/cc-token-saver
|
|
403
|
+
license: Apache-2.0
|
|
404
|
+
|
|
405
|
+
- name: token-efficiency
|
|
406
|
+
description: Token-efficient context retrieval integration — CRG and Semble MCP wrappers
|
|
407
|
+
path: ./token-efficiency/
|
|
408
|
+
source:
|
|
409
|
+
type: internal
|
|
410
|
+
|
|
411
|
+
# Tooling
|
|
412
|
+
- name: slack-cli
|
|
413
|
+
description: Slack CLI reference for creating and managing Slack apps from the command line
|
|
414
|
+
path: ./slack-cli/
|
|
415
|
+
source:
|
|
416
|
+
type: external
|
|
417
|
+
origin: slack.dev
|
|
418
|
+
url: https://docs.slack.dev/tools/slack-cli/
|
package/templates/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
3
|
-
"lastUpdated": "2026-
|
|
2
|
+
"version": "1.1.1",
|
|
3
|
+
"lastUpdated": "2026-07-01T00:00:00.000Z",
|
|
4
4
|
"omcustomMinClaudeCode": "2.1.121",
|
|
5
5
|
"omcustomMinClaudeCodeReason": "Sensitive-path direct Write/Edit on .claude/** under bypassPermissions (R010 deprecation, #1101)",
|
|
6
6
|
"components": [
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"name": "skills",
|
|
21
21
|
"path": ".claude/skills",
|
|
22
22
|
"description": "Reusable skill modules (includes slash commands)",
|
|
23
|
-
"files":
|
|
23
|
+
"files": 118
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"name": "guides",
|