oh-my-customcode 0.100.1 → 0.102.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 +5 -5
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/hooks/hooks.json +10 -0
- package/templates/.claude/hooks/scripts/playwright-compress.sh +50 -0
- package/templates/.claude/rules/SHOULD-ontology-rag-routing.md +37 -20
- package/templates/.claude/skills/de-lead-routing/SKILL.md +11 -1
- package/templates/.claude/skills/design-shotgun/SKILL.md +104 -0
- package/templates/.claude/skills/dev-lead-routing/SKILL.md +17 -1
- package/templates/.claude/skills/intent-detection/SKILL.md +15 -0
- package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +320 -0
- package/templates/.claude/skills/playwright-compress/SKILL.md +68 -0
- package/templates/.claude/skills/product-strategy/SKILL.md +82 -0
- package/templates/.claude/skills/qa-lead-routing/SKILL.md +10 -1
- package/templates/.claude/skills/secretary-routing/SKILL.md +18 -2
- package/templates/CLAUDE.md +2 -2
- package/templates/guides/browser-automation/01-browser-automation-patterns.md +68 -0
- package/templates/guides/claude-code/14-token-efficiency.md +187 -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
|
-
48 agents.
|
|
16
|
+
48 agents. 112 skills. 22 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 (
|
|
135
|
+
### Skills (112)
|
|
136
136
|
|
|
137
137
|
| Category | Count | Includes |
|
|
138
138
|
|----------|-------|----------|
|
|
@@ -222,7 +222,7 @@ Key rules: R010 (orchestrator never writes files), R009 (parallel execution mand
|
|
|
222
222
|
|
|
223
223
|
---
|
|
224
224
|
|
|
225
|
-
### Guides (
|
|
225
|
+
### Guides (40)
|
|
226
226
|
|
|
227
227
|
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
228
|
|
|
@@ -272,14 +272,14 @@ your-project/
|
|
|
272
272
|
├── CLAUDE.md # Entry point
|
|
273
273
|
├── .claude/
|
|
274
274
|
│ ├── agents/ # 48 agent definitions
|
|
275
|
-
│ ├── skills/ #
|
|
275
|
+
│ ├── skills/ # 112 skill modules
|
|
276
276
|
│ ├── rules/ # 22 governance rules (R000-R021)
|
|
277
277
|
│ ├── hooks/ # 15 lifecycle hook scripts
|
|
278
278
|
│ ├── schemas/ # Tool input validation schemas
|
|
279
279
|
│ ├── specs/ # Extracted canonical specs
|
|
280
280
|
│ ├── contexts/ # 4 shared context files
|
|
281
281
|
│ └── ontology/ # Knowledge graph for RAG
|
|
282
|
-
└── guides/ #
|
|
282
|
+
└── guides/ # 40 reference documents
|
|
283
283
|
```
|
|
284
284
|
|
|
285
285
|
---
|
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -475,6 +475,16 @@
|
|
|
475
475
|
}
|
|
476
476
|
],
|
|
477
477
|
"description": "Advisory reminder to sync skill counts in 6 locations when a SKILL.md is created/modified (R021)"
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"matcher": "mcp_tool_name matches \"mcp__playwright__.*\" || mcp_tool_name matches \"mcp__claude-in-chrome__.*\"",
|
|
481
|
+
"hooks": [
|
|
482
|
+
{
|
|
483
|
+
"type": "command",
|
|
484
|
+
"command": "bash .claude/hooks/scripts/playwright-compress.sh"
|
|
485
|
+
}
|
|
486
|
+
],
|
|
487
|
+
"description": "Layer 4: Compress Playwright/Chrome MCP output via Haiku summarization"
|
|
478
488
|
}
|
|
479
489
|
],
|
|
480
490
|
"Stop": [
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Layer 4: Playwright/Chrome MCP Output Intelligence Compression
|
|
3
|
+
# Reduces MCP tool output by 94-96% using Haiku summarization
|
|
4
|
+
# Preserves ref= values for interactive flow continuity
|
|
5
|
+
# Source: adapted from treesoop/claude-native-plugin (MIT)
|
|
6
|
+
|
|
7
|
+
set -euo pipefail
|
|
8
|
+
|
|
9
|
+
input=$(cat)
|
|
10
|
+
tool_output=$(echo "$input" | jq -r '.tool_output // ""')
|
|
11
|
+
|
|
12
|
+
# Skip if output is small (< 3000 chars)
|
|
13
|
+
output_len=${#tool_output}
|
|
14
|
+
if [ "$output_len" -lt 3000 ]; then
|
|
15
|
+
echo "$input"
|
|
16
|
+
exit 0
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
# Extract ref= values to preserve
|
|
20
|
+
refs=$(echo "$tool_output" | grep -oE 'ref="[^"]*"' | sort -u || true)
|
|
21
|
+
|
|
22
|
+
# Summarize using Haiku via subscription auth
|
|
23
|
+
summary=$(echo "$tool_output" | claude -p --model haiku "Summarize this browser page content concisely. Preserve ALL ref= attribute values exactly as they appear. Focus on: page structure, interactive elements with their ref values, visible text content, and any error messages." 2>/dev/null) || {
|
|
24
|
+
# Fallback: return original on failure
|
|
25
|
+
echo "$input"
|
|
26
|
+
exit 0
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
# Verify ref= preservation
|
|
30
|
+
if [ -n "$refs" ]; then
|
|
31
|
+
missing_refs=""
|
|
32
|
+
while IFS= read -r ref; do
|
|
33
|
+
if ! echo "$summary" | grep -qF "$ref"; then
|
|
34
|
+
missing_refs="$missing_refs $ref"
|
|
35
|
+
fi
|
|
36
|
+
done <<< "$refs"
|
|
37
|
+
|
|
38
|
+
# Append missing refs if any
|
|
39
|
+
if [ -n "$missing_refs" ]; then
|
|
40
|
+
summary="$summary
|
|
41
|
+
|
|
42
|
+
[Preserved refs]:$missing_refs"
|
|
43
|
+
fi
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
# Return compressed output
|
|
47
|
+
compressed_len=${#summary}
|
|
48
|
+
savings=$(( (output_len - compressed_len) * 100 / output_len ))
|
|
49
|
+
echo "$input" | jq --arg summary "$summary" --arg savings "${savings}% reduced (${output_len}→${compressed_len} chars)" \
|
|
50
|
+
'.tool_output = $summary | .["updatedMCPToolOutput"] = $summary'
|
|
@@ -1,49 +1,66 @@
|
|
|
1
|
-
# [SHOULD]
|
|
1
|
+
# [SHOULD] Routing Enrichment Rules
|
|
2
2
|
|
|
3
3
|
> **Priority**: SHOULD | **ID**: R019
|
|
4
4
|
|
|
5
5
|
## Core Rule
|
|
6
6
|
|
|
7
|
-
Routing skills SHOULD use
|
|
7
|
+
Routing skills SHOULD use enrichment layers to improve agent/skill/guide selection accuracy. Two enrichment sources are available — they complement each other and both are advisory only.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Enrichment Layers
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
### Layer 1: Ontology-RAG (MCP-based)
|
|
12
|
+
|
|
13
|
+
When the `ontology-rag` MCP server is available, routing skills call `get_agent_for_task(query)` to get `suggested_skills` from the ontology graph. Inject suggestions into the spawned agent's prompt.
|
|
12
14
|
|
|
13
15
|
```
|
|
14
16
|
Static routing → agent selected
|
|
15
17
|
↓
|
|
16
|
-
get_agent_for_task(original_query)
|
|
18
|
+
get_agent_for_task(original_query) [MCP]
|
|
17
19
|
↓
|
|
18
20
|
Extract suggested_skills
|
|
19
21
|
↓
|
|
20
|
-
Prepend to spawned agent prompt
|
|
21
|
-
|
|
22
|
+
Prepend to spawned agent prompt
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Layer 2: Wiki-RAG (wiki index-based)
|
|
26
|
+
|
|
27
|
+
When routing confidence is below 90%, query `wiki/index.yaml` for relevant agent/skill/guide pages. Inject findings as supplementary routing signals.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Static routing → ambiguous (confidence < 90%)
|
|
31
|
+
↓
|
|
32
|
+
wiki/index.yaml search for matching pages
|
|
33
|
+
↓
|
|
34
|
+
Extract agent/skill/guide suggestions
|
|
35
|
+
↓
|
|
36
|
+
Inject as suggested_context in agent prompt
|
|
22
37
|
```
|
|
23
38
|
|
|
24
39
|
## Failure Handling
|
|
25
40
|
|
|
26
41
|
| Scenario | Action |
|
|
27
42
|
|----------|--------|
|
|
28
|
-
| MCP server unavailable | Skip silently, proceed
|
|
29
|
-
|
|
|
30
|
-
|
|
|
43
|
+
| MCP server unavailable | Skip silently, proceed without ontology enrichment |
|
|
44
|
+
| wiki/index.yaml missing | Skip silently, proceed without wiki enrichment |
|
|
45
|
+
| Either returns empty | Proceed with unmodified prompt |
|
|
46
|
+
| Parsing error | Skip silently, log warning |
|
|
31
47
|
|
|
32
|
-
**
|
|
48
|
+
**Enrichment failure MUST NOT block or delay routing.** Both layers are advisory only.
|
|
33
49
|
|
|
34
50
|
## Scope
|
|
35
51
|
|
|
36
|
-
| Applies to |
|
|
37
|
-
|
|
38
|
-
| secretary-routing |
|
|
39
|
-
| dev-lead-routing |
|
|
40
|
-
| de-lead-routing |
|
|
41
|
-
| qa-lead-routing |
|
|
52
|
+
| Applies to | Ontology-RAG | Wiki-RAG |
|
|
53
|
+
|------------|:------------:|:--------:|
|
|
54
|
+
| secretary-routing | ✓ | ✓ |
|
|
55
|
+
| dev-lead-routing | ✓ | ✓ |
|
|
56
|
+
| de-lead-routing | ✓ | ✓ |
|
|
57
|
+
| qa-lead-routing | ✓ | ✓ |
|
|
42
58
|
|
|
43
59
|
## Interaction with Other Rules
|
|
44
60
|
|
|
45
61
|
| Rule | Interaction |
|
|
46
62
|
|------|-------------|
|
|
47
|
-
| R010 | Orchestrator calls
|
|
48
|
-
| R015 |
|
|
49
|
-
| R009 |
|
|
63
|
+
| R010 | Orchestrator calls enrichment tools; subagent receives enriched prompt |
|
|
64
|
+
| R015 | Enrichment does not change R015 confidence thresholds — display behavior unchanged |
|
|
65
|
+
| R009 | Each enrichment call adds ~300 tokens; no parallelism impact |
|
|
66
|
+
| R022 | Wiki-RAG depends on up-to-date wiki pages — stale wiki reduces enrichment quality |
|
|
@@ -84,12 +84,22 @@ For **new pipeline code**, **DAG scaffolding**, or **SQL model generation**:
|
|
|
84
84
|
### Step 3: Expert Selection
|
|
85
85
|
Route to appropriate DE expert based on tool/framework detection.
|
|
86
86
|
|
|
87
|
-
> **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"
|
|
87
|
+
> **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
|
|
88
88
|
|
|
89
89
|
### Step 4: Ontology-RAG Enrichment (R019)
|
|
90
90
|
|
|
91
91
|
If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
|
|
92
92
|
|
|
93
|
+
### Step 4b: Wiki-RAG Enrichment
|
|
94
|
+
|
|
95
|
+
For ambiguous routing (confidence < 90%), query the wiki for context:
|
|
96
|
+
|
|
97
|
+
1. Search `wiki/index.yaml` for DE-related pages matching the request
|
|
98
|
+
2. Inject relevant skill/guide suggestions into the spawned agent's prompt
|
|
99
|
+
3. Particularly useful for cross-domain DE tasks (e.g., Kafka + Spark)
|
|
100
|
+
|
|
101
|
+
Advisory only — skip silently if wiki unavailable.
|
|
102
|
+
|
|
93
103
|
### Step 5: Soul Injection (R006)
|
|
94
104
|
|
|
95
105
|
If the selected agent has `soul: true` in frontmatter, read and prepend `.claude/agents/souls/{agent-name}.soul.md` content to the prompt. Skip silently if file doesn't exist.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-shotgun
|
|
3
|
+
description: Generate 4-6 parallel design mockups for rapid visual comparison — adapted from gstack /design-shotgun pattern
|
|
4
|
+
scope: core
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
user-invocable: true
|
|
7
|
+
argument-hint: "<component/page description>"
|
|
8
|
+
effort: high
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Design Shotgun — Parallel Mockup Generation
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Generates 4-6 independent design variations simultaneously, then presents them side-by-side for comparison. Prevents premature convergence on a single design direction.
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/design-shotgun "landing page hero section"
|
|
21
|
+
/design-shotgun "dashboard settings panel"
|
|
22
|
+
/design-shotgun "mobile navigation menu"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Workflow
|
|
26
|
+
|
|
27
|
+
### Phase 1: Brief Analysis
|
|
28
|
+
|
|
29
|
+
Parse the design brief to extract:
|
|
30
|
+
- Component type (page, section, widget, modal)
|
|
31
|
+
- Constraints (brand colors, existing design system, accessibility requirements)
|
|
32
|
+
- Target platform (web, mobile, responsive)
|
|
33
|
+
|
|
34
|
+
### Phase 2: Parallel Generation (R009)
|
|
35
|
+
|
|
36
|
+
Spawn 4 parallel agents, each generating a distinct design approach:
|
|
37
|
+
|
|
38
|
+
| Agent | Style Direction | Focus |
|
|
39
|
+
|-------|----------------|-------|
|
|
40
|
+
| 1 | Minimal | Maximum whitespace, essential elements only |
|
|
41
|
+
| 2 | Data-dense | Information-rich, compact layout |
|
|
42
|
+
| 3 | Visual | Hero imagery, bold typography, emotional |
|
|
43
|
+
| 4 | Conventional | Industry-standard patterns, familiar UX |
|
|
44
|
+
|
|
45
|
+
Each agent generates:
|
|
46
|
+
- HTML mockup (self-contained, inline CSS)
|
|
47
|
+
- Design rationale (2-3 sentences)
|
|
48
|
+
- Accessibility notes
|
|
49
|
+
|
|
50
|
+
### Phase 3: Comparison Board
|
|
51
|
+
|
|
52
|
+
Present all mockups with side-by-side comparison:
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
## Design Shotgun Results: {component}
|
|
56
|
+
|
|
57
|
+
### Variation 1: Minimal
|
|
58
|
+
Rationale: {why}
|
|
59
|
+
[HTML mockup code]
|
|
60
|
+
|
|
61
|
+
### Variation 2: Data-dense
|
|
62
|
+
Rationale: {why}
|
|
63
|
+
[HTML mockup code]
|
|
64
|
+
|
|
65
|
+
### Variation 3: Visual
|
|
66
|
+
Rationale: {why}
|
|
67
|
+
[HTML mockup code]
|
|
68
|
+
|
|
69
|
+
### Variation 4: Conventional
|
|
70
|
+
Rationale: {why}
|
|
71
|
+
[HTML mockup code]
|
|
72
|
+
|
|
73
|
+
## Comparison
|
|
74
|
+
| Criteria | V1 | V2 | V3 | V4 |
|
|
75
|
+
|----------|----|----|----|----|
|
|
76
|
+
| Readability | ★★★ | ★★ | ★★ | ★★★ |
|
|
77
|
+
| Visual impact | ★ | ★★ | ★★★ | ★★ |
|
|
78
|
+
| Information density | ★ | ★★★ | ★★ | ★★ |
|
|
79
|
+
| Accessibility | ★★★ | ★★ | ★★ | ★★★ |
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Phase 4: Selection & Refinement
|
|
83
|
+
|
|
84
|
+
User selects preferred variation(s). Selected design can be:
|
|
85
|
+
- Refined with follow-up iterations
|
|
86
|
+
- Combined with elements from other variations
|
|
87
|
+
- Handed to fe-design-expert for production implementation
|
|
88
|
+
|
|
89
|
+
## Integration
|
|
90
|
+
|
|
91
|
+
| Component | Role |
|
|
92
|
+
|-----------|------|
|
|
93
|
+
| R009 | 4 parallel agents for mockup generation |
|
|
94
|
+
| impeccable-design | Quality baseline for generated mockups |
|
|
95
|
+
| fe-design-expert | Production refinement after selection |
|
|
96
|
+
| web-design-guidelines | Accessibility and UX compliance |
|
|
97
|
+
|
|
98
|
+
## Permission Mode
|
|
99
|
+
|
|
100
|
+
When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
|
|
101
|
+
|
|
102
|
+
## Source
|
|
103
|
+
|
|
104
|
+
Adapted from [garrytan/gstack](https://github.com/garrytan/gstack) /design-shotgun pattern.
|
|
@@ -20,6 +20,7 @@ context: fork
|
|
|
20
20
|
| Architect | arch-documenter, arch-speckit-agent |
|
|
21
21
|
| Security | sec-codeql-expert |
|
|
22
22
|
| Infra | infra-docker-expert, infra-aws-expert |
|
|
23
|
+
| Slack | slack-cli-expert |
|
|
23
24
|
|
|
24
25
|
## File Extension Mapping
|
|
25
26
|
|
|
@@ -74,6 +75,7 @@ context: fork
|
|
|
74
75
|
| security, codeql, cve, vulnerability, sarif, sast, security audit | sec-codeql-expert |
|
|
75
76
|
| architecture, adr, openapi, swagger, diagram | arch-documenter |
|
|
76
77
|
| spec, specification, tdd, requirements | arch-speckit-agent |
|
|
78
|
+
| slack, slack-cli, slack app, slack deploy, slack trigger, slack datastore | slack-cli-expert |
|
|
77
79
|
|
|
78
80
|
## Model Selection
|
|
79
81
|
|
|
@@ -121,12 +123,26 @@ For **new file creation**, **boilerplate**, or **test code generation**:
|
|
|
121
123
|
### Step 3: Expert Agent Selection
|
|
122
124
|
Route to appropriate language/framework expert based on file extension and keyword mapping.
|
|
123
125
|
|
|
124
|
-
> **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"
|
|
126
|
+
> **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
|
|
125
127
|
|
|
126
128
|
### Step 4: Ontology-RAG Enrichment (R019)
|
|
127
129
|
|
|
128
130
|
If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
|
|
129
131
|
|
|
132
|
+
### Step 4b: Wiki-RAG Enrichment
|
|
133
|
+
|
|
134
|
+
For ambiguous routing (confidence < 90%), query the wiki for context:
|
|
135
|
+
|
|
136
|
+
1. Search `wiki/index.yaml` for agent/skill pages matching detected keywords
|
|
137
|
+
2. If wiki suggests a specific skill or guide for the task, inject as `suggested_context` in the agent prompt
|
|
138
|
+
3. This helps agents receive relevant guide references automatically
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
wiki-rag query: "{user_request}" → wiki agent/skill pages → suggested_context injection
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Advisory only — skip silently if wiki unavailable.
|
|
145
|
+
|
|
130
146
|
### Step 5: Soul Injection (R006)
|
|
131
147
|
|
|
132
148
|
If the selected agent has `soul: true` in frontmatter, read and prepend `.claude/agents/souls/{agent-name}.soul.md` content to the prompt. Skip silently if file doesn't exist.
|
|
@@ -175,6 +175,21 @@ Each agent defines:
|
|
|
175
175
|
- weights (scoring factors)
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
+
### With Skill Triggers
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
Skill triggers are defined in agent-triggers.yaml alongside agent triggers.
|
|
182
|
+
Each skill trigger has a `routing_rule` field that specifies which skill to invoke.
|
|
183
|
+
|
|
184
|
+
When a skill trigger matches with confidence >= 70%:
|
|
185
|
+
1. Display the intent detection output with skill name
|
|
186
|
+
2. Invoke the skill via Skill tool instead of spawning an agent
|
|
187
|
+
3. If confidence < 70%, list skill options for user selection
|
|
188
|
+
|
|
189
|
+
Skill triggers use the `skill-` prefix in their YAML key to distinguish
|
|
190
|
+
from agent triggers.
|
|
191
|
+
```
|
|
192
|
+
|
|
178
193
|
## Error Handling
|
|
179
194
|
|
|
180
195
|
### No Match (< 30% confidence)
|
|
@@ -436,3 +436,323 @@ agents:
|
|
|
436
436
|
file_patterns: []
|
|
437
437
|
supported_actions: [optimize, compress, proxy]
|
|
438
438
|
base_confidence: 85
|
|
439
|
+
|
|
440
|
+
# ---------------------------------------------------------------------------
|
|
441
|
+
# Skill Triggers — route user intent to skill invocation
|
|
442
|
+
# ---------------------------------------------------------------------------
|
|
443
|
+
|
|
444
|
+
# Development workflow skills
|
|
445
|
+
skill-tdd:
|
|
446
|
+
keywords:
|
|
447
|
+
korean: [TDD, 테스트 주도, 테스트 먼저]
|
|
448
|
+
english: [tdd, "test driven", "test first", "write tests first"]
|
|
449
|
+
file_patterns: []
|
|
450
|
+
supported_actions: [implement, test, develop]
|
|
451
|
+
base_confidence: 80
|
|
452
|
+
routing_rule: "Invoke superpowers:test-driven-development skill"
|
|
453
|
+
|
|
454
|
+
skill-sdd:
|
|
455
|
+
keywords:
|
|
456
|
+
korean: [SDD, 스펙 주도, 스펙 기반]
|
|
457
|
+
english: [sdd, "spec driven", specification, "spec first"]
|
|
458
|
+
file_patterns: ["sdd/**"]
|
|
459
|
+
supported_actions: [plan, spec, design]
|
|
460
|
+
base_confidence: 80
|
|
461
|
+
routing_rule: "Invoke sdd-dev skill"
|
|
462
|
+
|
|
463
|
+
skill-structured-dev:
|
|
464
|
+
keywords:
|
|
465
|
+
korean: [구조화 개발, 6단계, 단계별]
|
|
466
|
+
english: ["structured dev", "6 stage", "stage-based"]
|
|
467
|
+
file_patterns: []
|
|
468
|
+
supported_actions: [implement, develop]
|
|
469
|
+
base_confidence: 75
|
|
470
|
+
routing_rule: "Invoke structured-dev-cycle skill"
|
|
471
|
+
|
|
472
|
+
# Review and verification skills
|
|
473
|
+
skill-deep-verify:
|
|
474
|
+
keywords:
|
|
475
|
+
korean: [딥검증, 릴리즈 검증, 다각도 검증]
|
|
476
|
+
english: ["deep verify", "release verify", "multi-angle"]
|
|
477
|
+
file_patterns: []
|
|
478
|
+
supported_actions: [verify, review, check]
|
|
479
|
+
base_confidence: 80
|
|
480
|
+
routing_rule: "Invoke deep-verify skill"
|
|
481
|
+
|
|
482
|
+
skill-adversarial-review:
|
|
483
|
+
keywords:
|
|
484
|
+
korean: [보안 리뷰, 적대적 리뷰, 공격자 관점]
|
|
485
|
+
english: ["security review", adversarial, "attacker mindset", "trust boundary"]
|
|
486
|
+
file_patterns: []
|
|
487
|
+
supported_actions: [review, audit, security]
|
|
488
|
+
base_confidence: 80
|
|
489
|
+
routing_rule: "Invoke adversarial-review skill"
|
|
490
|
+
|
|
491
|
+
skill-code-review:
|
|
492
|
+
keywords:
|
|
493
|
+
korean: [코드 리뷰, 베스트 프랙티스 리뷰]
|
|
494
|
+
english: ["code review", "best practice review", "dev review"]
|
|
495
|
+
file_patterns: []
|
|
496
|
+
supported_actions: [review, check]
|
|
497
|
+
base_confidence: 70
|
|
498
|
+
routing_rule: "Invoke dev-review skill"
|
|
499
|
+
|
|
500
|
+
# Planning skills
|
|
501
|
+
skill-deep-plan:
|
|
502
|
+
keywords:
|
|
503
|
+
korean: [딥플랜, 연구 계획, 검증 계획]
|
|
504
|
+
english: ["deep plan", "research plan", "validated plan"]
|
|
505
|
+
file_patterns: []
|
|
506
|
+
supported_actions: [plan, research, design]
|
|
507
|
+
base_confidence: 80
|
|
508
|
+
routing_rule: "Invoke deep-plan skill"
|
|
509
|
+
|
|
510
|
+
skill-release-plan:
|
|
511
|
+
keywords:
|
|
512
|
+
korean: [릴리즈 계획, 배포 계획]
|
|
513
|
+
english: ["release plan", "deployment plan"]
|
|
514
|
+
file_patterns: []
|
|
515
|
+
supported_actions: [plan, release]
|
|
516
|
+
base_confidence: 85
|
|
517
|
+
routing_rule: "Invoke release-plan skill"
|
|
518
|
+
|
|
519
|
+
# Pipeline and automation skills
|
|
520
|
+
skill-pipeline:
|
|
521
|
+
keywords:
|
|
522
|
+
korean: [파이프라인, 자동 개발, 자동화]
|
|
523
|
+
english: [pipeline, "auto dev", automation]
|
|
524
|
+
file_patterns: ["workflows/*.yaml"]
|
|
525
|
+
supported_actions: [run, execute, automate]
|
|
526
|
+
base_confidence: 85
|
|
527
|
+
routing_rule: "Invoke pipeline skill"
|
|
528
|
+
|
|
529
|
+
skill-evaluator-optimizer:
|
|
530
|
+
keywords:
|
|
531
|
+
korean: [평가, 최적화 루프, 루브릭, 반복 개선]
|
|
532
|
+
english: [evaluator, optimizer, rubric, "iterative improvement", "ralph loop", "ralph wiggum"]
|
|
533
|
+
file_patterns: []
|
|
534
|
+
supported_actions: [evaluate, optimize, iterate]
|
|
535
|
+
base_confidence: 80
|
|
536
|
+
routing_rule: "Invoke evaluator-optimizer skill"
|
|
537
|
+
|
|
538
|
+
# Analysis and triage skills
|
|
539
|
+
skill-professor-triage:
|
|
540
|
+
keywords:
|
|
541
|
+
korean: [트리아지, 이슈 분석, 프로페서]
|
|
542
|
+
english: [triage, "issue analysis", professor, "cross analysis"]
|
|
543
|
+
file_patterns: []
|
|
544
|
+
supported_actions: [analyze, triage, assess]
|
|
545
|
+
base_confidence: 85
|
|
546
|
+
routing_rule: "Invoke professor-triage skill"
|
|
547
|
+
|
|
548
|
+
skill-scout:
|
|
549
|
+
keywords:
|
|
550
|
+
korean: [스카우트, URL 평가, 외부 분석]
|
|
551
|
+
english: [scout, "url analysis", "external evaluation"]
|
|
552
|
+
file_patterns: []
|
|
553
|
+
supported_actions: [scout, analyze, evaluate]
|
|
554
|
+
base_confidence: 85
|
|
555
|
+
routing_rule: "Invoke scout skill"
|
|
556
|
+
|
|
557
|
+
skill-idea:
|
|
558
|
+
keywords:
|
|
559
|
+
korean: [아이디어, 이슈 제안]
|
|
560
|
+
english: [idea, "issue proposal", "feature idea"]
|
|
561
|
+
file_patterns: []
|
|
562
|
+
supported_actions: [propose, ideate, suggest]
|
|
563
|
+
base_confidence: 80
|
|
564
|
+
routing_rule: "Invoke idea skill"
|
|
565
|
+
|
|
566
|
+
# Wiki and knowledge skills
|
|
567
|
+
skill-wiki:
|
|
568
|
+
keywords:
|
|
569
|
+
korean: [위키, 지식 베이스, 위키 생성]
|
|
570
|
+
english: [wiki, "knowledge base", "wiki generate", "wiki ingest"]
|
|
571
|
+
file_patterns: ["wiki/**"]
|
|
572
|
+
supported_actions: [generate, ingest, lint, update]
|
|
573
|
+
base_confidence: 85
|
|
574
|
+
routing_rule: "Invoke wiki skill"
|
|
575
|
+
|
|
576
|
+
skill-wiki-rag:
|
|
577
|
+
keywords:
|
|
578
|
+
korean: [위키 검색, 프로젝트 질문, 아키텍처 질문, 어떻게 작동]
|
|
579
|
+
english: ["wiki search", "how does", "which agent", "what rule", architecture, workflow]
|
|
580
|
+
file_patterns: []
|
|
581
|
+
supported_actions: [search, query, ask]
|
|
582
|
+
base_confidence: 75
|
|
583
|
+
routing_rule: "Invoke wiki-rag skill"
|
|
584
|
+
|
|
585
|
+
# Token and optimization skills
|
|
586
|
+
skill-token-efficiency:
|
|
587
|
+
keywords:
|
|
588
|
+
korean: [토큰 효율, 토큰 감사, 토큰 절감]
|
|
589
|
+
english: ["token efficiency", "token audit", "token saving", "token defense"]
|
|
590
|
+
file_patterns: []
|
|
591
|
+
supported_actions: [audit, optimize, monitor]
|
|
592
|
+
base_confidence: 85
|
|
593
|
+
routing_rule: "Invoke token-efficiency-audit skill"
|
|
594
|
+
|
|
595
|
+
skill-simplify:
|
|
596
|
+
keywords:
|
|
597
|
+
korean: [단순화, 코드 정리, 중복 제거]
|
|
598
|
+
english: [simplify, cleanup, deduplicate, "reduce complexity"]
|
|
599
|
+
file_patterns: []
|
|
600
|
+
supported_actions: [simplify, clean, reduce]
|
|
601
|
+
base_confidence: 75
|
|
602
|
+
routing_rule: "Invoke simplify skill"
|
|
603
|
+
|
|
604
|
+
# Memory skills
|
|
605
|
+
skill-memory-save:
|
|
606
|
+
keywords:
|
|
607
|
+
korean: [메모리 저장, 기억해, 저장해]
|
|
608
|
+
english: ["save memory", "remember this", "store this"]
|
|
609
|
+
file_patterns: []
|
|
610
|
+
supported_actions: [save, store, remember]
|
|
611
|
+
base_confidence: 85
|
|
612
|
+
routing_rule: "Invoke memory-management skill"
|
|
613
|
+
|
|
614
|
+
skill-memory-recall:
|
|
615
|
+
keywords:
|
|
616
|
+
korean: [메모리 검색, 기억 찾기, 회상]
|
|
617
|
+
english: ["recall memory", "search memory", "find memory", "what did we"]
|
|
618
|
+
file_patterns: []
|
|
619
|
+
supported_actions: [recall, search, find]
|
|
620
|
+
base_confidence: 85
|
|
621
|
+
routing_rule: "Invoke memory-recall skill"
|
|
622
|
+
|
|
623
|
+
# Harness management skills
|
|
624
|
+
skill-analysis:
|
|
625
|
+
keywords:
|
|
626
|
+
korean: [프로젝트 분석, 하네스 분석, 에이전트 분석]
|
|
627
|
+
english: ["project analysis", "harness analysis", "agent analysis", "analyze project"]
|
|
628
|
+
file_patterns: []
|
|
629
|
+
supported_actions: [analyze, configure, optimize]
|
|
630
|
+
base_confidence: 80
|
|
631
|
+
routing_rule: "Invoke analysis skill"
|
|
632
|
+
|
|
633
|
+
skill-adaptive-harness:
|
|
634
|
+
keywords:
|
|
635
|
+
korean: [하네스 최적화, 에이전트 비활성화, 프로젝트 프로필]
|
|
636
|
+
english: ["harness optimize", "deactivate agents", "project profile", "adaptive harness"]
|
|
637
|
+
file_patterns: []
|
|
638
|
+
supported_actions: [optimize, profile, adapt]
|
|
639
|
+
base_confidence: 80
|
|
640
|
+
routing_rule: "Invoke adaptive-harness skill"
|
|
641
|
+
|
|
642
|
+
# Worker-reviewer skills
|
|
643
|
+
skill-worker-reviewer:
|
|
644
|
+
keywords:
|
|
645
|
+
korean: [워커 리뷰어, 반복 리뷰, 리뷰 사이클]
|
|
646
|
+
english: ["worker reviewer", "review cycle", "iterative review"]
|
|
647
|
+
file_patterns: []
|
|
648
|
+
supported_actions: [review, iterate, cycle]
|
|
649
|
+
base_confidence: 75
|
|
650
|
+
routing_rule: "Invoke worker-reviewer-pipeline skill"
|
|
651
|
+
|
|
652
|
+
skill-agora:
|
|
653
|
+
keywords:
|
|
654
|
+
korean: [아고라, 합의, 적대적 합의, 다중 LLM]
|
|
655
|
+
english: [agora, consensus, "adversarial consensus", "multi llm"]
|
|
656
|
+
file_patterns: []
|
|
657
|
+
supported_actions: [debate, consensus, verify]
|
|
658
|
+
base_confidence: 85
|
|
659
|
+
routing_rule: "Invoke agora skill"
|
|
660
|
+
|
|
661
|
+
# Debugging skill
|
|
662
|
+
skill-debugging:
|
|
663
|
+
keywords:
|
|
664
|
+
korean: [디버깅, 버그 찾기, 재현]
|
|
665
|
+
english: [debug, "find bug", reproduce, "root cause"]
|
|
666
|
+
file_patterns: []
|
|
667
|
+
supported_actions: [debug, reproduce, diagnose]
|
|
668
|
+
base_confidence: 80
|
|
669
|
+
routing_rule: "Invoke systematic-debugging skill"
|
|
670
|
+
|
|
671
|
+
skill-stuck-recovery:
|
|
672
|
+
keywords:
|
|
673
|
+
korean: [멈춤, 루프, 무한 반복, 복구]
|
|
674
|
+
english: [stuck, loop, "infinite loop", recovery, "not progressing"]
|
|
675
|
+
file_patterns: []
|
|
676
|
+
supported_actions: [recover, unstick, diagnose]
|
|
677
|
+
base_confidence: 85
|
|
678
|
+
routing_rule: "Invoke stuck-recovery skill"
|
|
679
|
+
|
|
680
|
+
# CVE and security skills
|
|
681
|
+
skill-cve-triage:
|
|
682
|
+
keywords:
|
|
683
|
+
korean: [CVE, 취약점, 보안 취약점]
|
|
684
|
+
english: [cve, vulnerability, "security vulnerability", "cve triage"]
|
|
685
|
+
file_patterns: []
|
|
686
|
+
supported_actions: [triage, analyze, patch]
|
|
687
|
+
base_confidence: 85
|
|
688
|
+
routing_rule: "Invoke cve-triage skill"
|
|
689
|
+
|
|
690
|
+
skill-npm-audit:
|
|
691
|
+
keywords:
|
|
692
|
+
korean: [npm 감사, 의존성 보안, 패키지 취약점]
|
|
693
|
+
english: ["npm audit", "dependency security", "package vulnerability"]
|
|
694
|
+
file_patterns: ["package.json", "package-lock.json"]
|
|
695
|
+
supported_actions: [audit, scan, fix]
|
|
696
|
+
base_confidence: 85
|
|
697
|
+
routing_rule: "Invoke npm-audit skill"
|
|
698
|
+
|
|
699
|
+
# Best practices skills (framework-specific)
|
|
700
|
+
skill-best-practices:
|
|
701
|
+
keywords:
|
|
702
|
+
korean: [베스트 프랙티스, 모범 사례, 패턴]
|
|
703
|
+
english: ["best practices", "best practice", pattern, convention]
|
|
704
|
+
file_patterns: []
|
|
705
|
+
supported_actions: [review, apply, check]
|
|
706
|
+
base_confidence: 60
|
|
707
|
+
routing_rule: "Route to language/framework specific best-practices skill based on file context"
|
|
708
|
+
|
|
709
|
+
# Monitoring skill
|
|
710
|
+
skill-monitoring:
|
|
711
|
+
keywords:
|
|
712
|
+
korean: [모니터링, 텔레메트리, 사용량 추적]
|
|
713
|
+
english: [monitoring, telemetry, "usage tracking", opentelemetry]
|
|
714
|
+
file_patterns: []
|
|
715
|
+
supported_actions: [setup, enable, disable, configure]
|
|
716
|
+
base_confidence: 80
|
|
717
|
+
routing_rule: "Invoke monitoring-setup skill"
|
|
718
|
+
|
|
719
|
+
# Deployment skill
|
|
720
|
+
skill-vercel-deploy:
|
|
721
|
+
keywords:
|
|
722
|
+
korean: [버셀 배포, 프리뷰, 프로덕션 배포]
|
|
723
|
+
english: ["vercel deploy", preview, "production deploy"]
|
|
724
|
+
file_patterns: ["vercel.json"]
|
|
725
|
+
supported_actions: [deploy, preview, promote]
|
|
726
|
+
base_confidence: 85
|
|
727
|
+
routing_rule: "Invoke vercel-deploy skill"
|
|
728
|
+
|
|
729
|
+
# ---------------------------------------------------------------------------
|
|
730
|
+
# Guide Reference Triggers — route user questions to relevant guides
|
|
731
|
+
# ---------------------------------------------------------------------------
|
|
732
|
+
|
|
733
|
+
guide-claude-code:
|
|
734
|
+
keywords:
|
|
735
|
+
korean: [클로드 코드, CC 가이드, 에이전트 가이드, 스킬 가이드, 훅 가이드]
|
|
736
|
+
english: ["claude code", "cc guide", "agent guide", "skill guide", "hook guide"]
|
|
737
|
+
file_patterns: []
|
|
738
|
+
supported_actions: [explain, reference, lookup]
|
|
739
|
+
base_confidence: 70
|
|
740
|
+
routing_rule: "Reference guides/claude-code/ directory"
|
|
741
|
+
|
|
742
|
+
guide-development:
|
|
743
|
+
keywords:
|
|
744
|
+
korean: [개발 가이드, 코딩 가이드, 개발 패턴]
|
|
745
|
+
english: ["dev guide", "coding guide", "development pattern"]
|
|
746
|
+
file_patterns: []
|
|
747
|
+
supported_actions: [reference, lookup]
|
|
748
|
+
base_confidence: 65
|
|
749
|
+
routing_rule: "Reference guides/development/ directory"
|
|
750
|
+
|
|
751
|
+
guide-best-practices:
|
|
752
|
+
keywords:
|
|
753
|
+
korean: [참조 가이드, 레퍼런스]
|
|
754
|
+
english: ["reference guide", "best practice guide"]
|
|
755
|
+
file_patterns: []
|
|
756
|
+
supported_actions: [reference, lookup]
|
|
757
|
+
base_confidence: 60
|
|
758
|
+
routing_rule: "Reference appropriate guides/ subdirectory"
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: playwright-compress
|
|
3
|
+
description: PostToolUse hook that compresses Playwright MCP tool output using Haiku summarization — Layer 4 of the token defense stack
|
|
4
|
+
scope: core
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
user-invocable: false
|
|
7
|
+
disable-model-invocation: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Playwright MCP Output Compression (Layer 4)
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
Reduces Playwright MCP tool output tokens by 94-96% using intelligent Haiku summarization while preserving `ref=` values for interactive flow continuity.
|
|
15
|
+
|
|
16
|
+
## Architecture
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
MCP tool response (37K+ chars)
|
|
20
|
+
↓ PostToolUse hook
|
|
21
|
+
↓ playwright-compress.sh
|
|
22
|
+
↓ claude -p --model haiku (summarize)
|
|
23
|
+
↓ updatedMCPToolOutput (1.4K-1.9K chars)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Token Defense Stack Position
|
|
27
|
+
|
|
28
|
+
| Layer | Component | Mechanism | Scope |
|
|
29
|
+
|-------|-----------|-----------|-------|
|
|
30
|
+
| 1 | cc-token-saver | Time-based budget alerts | Session |
|
|
31
|
+
| 2 | R013 Ecomode | Context-aware output compression | Agent |
|
|
32
|
+
| 3 | MAX_MCP_OUTPUT_TOKENS | Hard truncation (lossy) | Setting |
|
|
33
|
+
| **4** | **playwright-compress** | **Intelligent summarization (lossless ref=)** | **Hook** |
|
|
34
|
+
|
|
35
|
+
## Behavior
|
|
36
|
+
|
|
37
|
+
- **Trigger**: PostToolUse on `mcp__playwright__.*` tools
|
|
38
|
+
- **Skip condition**: Output < 3000 characters (not worth compressing)
|
|
39
|
+
- **ref= preservation**: All `ref=` attribute values are extracted and preserved in the summary
|
|
40
|
+
- **Fallback**: If Haiku summarization fails, original output is returned unchanged
|
|
41
|
+
- **Auth**: Uses Claude subscription auth (`claude -p`), no API key needed
|
|
42
|
+
|
|
43
|
+
## Integration
|
|
44
|
+
|
|
45
|
+
| Rule | Interaction |
|
|
46
|
+
|------|-------------|
|
|
47
|
+
| R001 | No external data transmission — uses local `claude -p` |
|
|
48
|
+
| R013 | Complements Ecomode (Layer 2) with MCP-specific compression |
|
|
49
|
+
| R021 | Advisory PostToolUse hook — never blocks |
|
|
50
|
+
|
|
51
|
+
## Hook Configuration
|
|
52
|
+
|
|
53
|
+
Configured in `.claude/hooks/hooks.json` PostToolUse section:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"matcher": "mcp_tool_name matches \"mcp__playwright__.*\" || mcp_tool_name matches \"mcp__claude-in-chrome__.*\"",
|
|
58
|
+
"hooks": [{
|
|
59
|
+
"type": "command",
|
|
60
|
+
"command": "bash .claude/hooks/scripts/playwright-compress.sh"
|
|
61
|
+
}],
|
|
62
|
+
"description": "Layer 4: Compress Playwright/Chrome MCP output via Haiku summarization"
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Source
|
|
67
|
+
|
|
68
|
+
Adapted from [treesoop/claude-native-plugin](https://github.com/treesoop/claude-native-plugin) playwright-optimizer (MIT).
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-strategy
|
|
3
|
+
description: YC-style product strategy assessment with forced questions and CEO scope modes — adapted from gstack /office-hours pattern
|
|
4
|
+
scope: core
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
user-invocable: true
|
|
7
|
+
argument-hint: "[product/feature name]"
|
|
8
|
+
effort: high
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Product Strategy Assessment
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Forces rigorous product thinking by applying YC's 6 mandatory questions before any major feature decision. Prevents "build first, think later" anti-pattern.
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/product-strategy "new authentication system"
|
|
21
|
+
/product-strategy "API rate limiting redesign"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
### Phase 1: YC Forced Questions
|
|
27
|
+
|
|
28
|
+
Before any implementation planning, answer ALL 6 questions. Incomplete answers block Phase 2.
|
|
29
|
+
|
|
30
|
+
| # | Question | Must Answer |
|
|
31
|
+
|---|----------|-------------|
|
|
32
|
+
| 1 | **Who is the user?** | Specific persona, not "everyone" |
|
|
33
|
+
| 2 | **What problem does this solve?** | Observable behavior, not assumed need |
|
|
34
|
+
| 3 | **How do they solve it today?** | Current workaround — if none exists, question the need |
|
|
35
|
+
| 4 | **Why is this solution better?** | Measurable improvement, not "it's newer" |
|
|
36
|
+
| 5 | **What's the smallest version that validates the hypothesis?** | MVP scope — ruthlessly cut |
|
|
37
|
+
| 6 | **How will you know it worked?** | Success metric, measurable within 2 weeks |
|
|
38
|
+
|
|
39
|
+
### Phase 2: CEO Scope Mode Assessment
|
|
40
|
+
|
|
41
|
+
Categorize the feature into one of 4 modes:
|
|
42
|
+
|
|
43
|
+
| Mode | Signal | Action |
|
|
44
|
+
|------|--------|--------|
|
|
45
|
+
| **Expansion** | Strong user signal + clear gap | Full implementation, invest aggressively |
|
|
46
|
+
| **Selective** | Mixed signals, some demand | Targeted implementation, measure before expanding |
|
|
47
|
+
| **Hold** | Low signal, maintenance only | Keep working, no new investment |
|
|
48
|
+
| **Reduction** | Negative signal, cost > value | Phase out, redirect resources |
|
|
49
|
+
|
|
50
|
+
### Phase 3: Output
|
|
51
|
+
|
|
52
|
+
Generate structured assessment:
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
## Product Strategy: {feature}
|
|
56
|
+
|
|
57
|
+
### YC Assessment
|
|
58
|
+
1. User: {answer}
|
|
59
|
+
2. Problem: {answer}
|
|
60
|
+
3. Current solution: {answer}
|
|
61
|
+
4. Why better: {answer}
|
|
62
|
+
5. MVP: {answer}
|
|
63
|
+
6. Success metric: {answer}
|
|
64
|
+
|
|
65
|
+
### Scope Mode: {Expansion|Selective|Hold|Reduction}
|
|
66
|
+
Rationale: {why this mode}
|
|
67
|
+
|
|
68
|
+
### Recommendation
|
|
69
|
+
{Go / No-Go / Needs more data}
|
|
70
|
+
Next step: {specific action}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Integration
|
|
74
|
+
|
|
75
|
+
| Rule | Interaction |
|
|
76
|
+
|------|-------------|
|
|
77
|
+
| R010 | Orchestrator invokes skill; no file writes |
|
|
78
|
+
| R015 | Transparent assessment — user sees all reasoning |
|
|
79
|
+
|
|
80
|
+
## Source
|
|
81
|
+
|
|
82
|
+
Adapted from [garrytan/gstack](https://github.com/garrytan/gstack) /office-hours + /plan-ceo-review patterns.
|
|
@@ -45,12 +45,21 @@ quality_analysis → qa-planner + qa-engineer (parallel)
|
|
|
45
45
|
full_qa_cycle → all agents (sequential)
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
> **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"
|
|
48
|
+
> **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
|
|
49
49
|
|
|
50
50
|
### Ontology-RAG Enrichment (R019)
|
|
51
51
|
|
|
52
52
|
If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
|
|
53
53
|
|
|
54
|
+
### Wiki-RAG Enrichment
|
|
55
|
+
|
|
56
|
+
For ambiguous routing (confidence < 90%), query the wiki for context:
|
|
57
|
+
|
|
58
|
+
1. Search `wiki/index.yaml` for QA-related pages matching the request
|
|
59
|
+
2. Inject relevant skill/guide suggestions into the spawned agent's prompt
|
|
60
|
+
|
|
61
|
+
Advisory only — skip silently if wiki unavailable.
|
|
62
|
+
|
|
54
63
|
### Step 5: Soul Injection (R006)
|
|
55
64
|
|
|
56
65
|
If the selected agent has `soul: true` in frontmatter, read and prepend `.claude/agents/souls/{agent-name}.soul.md` content to the prompt. Skip silently if file doesn't exist.
|
|
@@ -16,7 +16,7 @@ Routes agent management tasks to the appropriate manager agent. This skill conta
|
|
|
16
16
|
|
|
17
17
|
| Agent | Purpose | Triggers |
|
|
18
18
|
|-------|---------|----------|
|
|
19
|
-
| mgr-creator | Create new agents | "create agent", "new agent" |
|
|
19
|
+
| mgr-creator | Create new agents, skills, guides | "create agent", "new agent", "create skill", "new skill", "create guide", "new guide" |
|
|
20
20
|
| mgr-updater | Update external agents | "update agent", "sync" |
|
|
21
21
|
| mgr-supplier | Validate dependencies | "audit", "check deps" |
|
|
22
22
|
| mgr-gitnerd | Git operations | "commit", "push", "pr" |
|
|
@@ -44,6 +44,8 @@ Before routing via Task tool, evaluate Agent Teams eligibility first:
|
|
|
44
44
|
User Input → Routing → Manager Agent
|
|
45
45
|
|
|
46
46
|
create → mgr-creator
|
|
47
|
+
create skill → mgr-creator
|
|
48
|
+
create guide → mgr-creator
|
|
47
49
|
update → mgr-updater
|
|
48
50
|
audit → mgr-supplier
|
|
49
51
|
git → mgr-gitnerd
|
|
@@ -64,6 +66,20 @@ batch → multiple (parallel)
|
|
|
64
66
|
|
|
65
67
|
If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
|
|
66
68
|
|
|
69
|
+
### Step 4b: Wiki-RAG Enrichment
|
|
70
|
+
|
|
71
|
+
If the user's request is ambiguous or confidence is below 90%, query the wiki for additional context:
|
|
72
|
+
|
|
73
|
+
1. Search `wiki/index.yaml` for pages matching the detected domain keywords
|
|
74
|
+
2. Extract relevant agent/skill/guide recommendations from wiki pages
|
|
75
|
+
3. Inject findings into the routing decision as supplementary signals
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
wiki-rag query: "{user_request}" → wiki pages → agent/skill/guide suggestions
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Wiki-RAG enrichment is advisory — it supplements but does not override keyword matching. Skip silently if wiki/index.yaml doesn't exist.
|
|
82
|
+
|
|
67
83
|
### Step 5: Soul Injection (R006)
|
|
68
84
|
|
|
69
85
|
If the selected agent has `soul: true` in frontmatter, read and prepend `.claude/agents/souls/{agent-name}.soul.md` content to the prompt. Skip silently if file doesn't exist.
|
|
@@ -80,7 +96,7 @@ If the selected agent has `soul: true` in frontmatter, read and prepend `.claude
|
|
|
80
96
|
5. Report result to user
|
|
81
97
|
```
|
|
82
98
|
|
|
83
|
-
> **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"
|
|
99
|
+
> **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
|
|
84
100
|
|
|
85
101
|
### 2. Batch/Parallel Task Routing
|
|
86
102
|
|
package/templates/CLAUDE.md
CHANGED
|
@@ -114,11 +114,11 @@ project/
|
|
|
114
114
|
+-- CLAUDE.md # 진입점
|
|
115
115
|
+-- .claude/
|
|
116
116
|
| +-- agents/ # 서브에이전트 정의 (48 파일)
|
|
117
|
-
| +-- skills/ # 스킬 (
|
|
117
|
+
| +-- skills/ # 스킬 (112 디렉토리)
|
|
118
118
|
| +-- rules/ # 전역 규칙 (R000-R022)
|
|
119
119
|
| +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
|
|
120
120
|
| +-- contexts/ # 컨텍스트 파일 (ecomode)
|
|
121
|
-
+-- guides/ # 레퍼런스 문서 (
|
|
121
|
+
+-- guides/ # 레퍼런스 문서 (40 토픽)
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
## 오케스트레이션
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Browser Automation Patterns for AI Agents
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Reference guide for AI-controlled browser automation patterns, focusing on integration with Claude Code and MCP-based browser tools.
|
|
6
|
+
|
|
7
|
+
## Patterns
|
|
8
|
+
|
|
9
|
+
### 1. MCP-based Browser Control (Recommended)
|
|
10
|
+
|
|
11
|
+
Use MCP tools (`mcp__claude-in-chrome__*` or `mcp__playwright__*`) for browser interaction:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Agent → MCP tool call → Browser extension/Playwright → Page interaction
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Advantages**: Native integration, no external dependencies, permission-controlled.
|
|
18
|
+
|
|
19
|
+
### 2. Cookie-Based Authentication
|
|
20
|
+
|
|
21
|
+
For testing authenticated flows, import cookies from a real browser session:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Export cookies from browser (DevTools → Application → Cookies)
|
|
25
|
+
# Import into Playwright context for authenticated testing
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Use case**: QA testing of authenticated pages without re-implementing login flows.
|
|
29
|
+
|
|
30
|
+
### 3. Anti-Bot Stealth Patterns
|
|
31
|
+
|
|
32
|
+
When automating against sites with bot detection:
|
|
33
|
+
- Use realistic viewport sizes and user agents
|
|
34
|
+
- Add human-like delays between actions
|
|
35
|
+
- Randomize mouse movement patterns
|
|
36
|
+
- Respect robots.txt and rate limits
|
|
37
|
+
|
|
38
|
+
**Caution**: Only use for authorized testing on your own applications.
|
|
39
|
+
|
|
40
|
+
### 4. Cross-AI Vendor Orchestration
|
|
41
|
+
|
|
42
|
+
Multiple AI agents can share browser sessions via:
|
|
43
|
+
- Shared MCP server connection
|
|
44
|
+
- ngrok tunnels for remote access (scoped tokens for security)
|
|
45
|
+
- Agent Teams (R018) for coordination
|
|
46
|
+
|
|
47
|
+
## Tools Available in oh-my-customcode
|
|
48
|
+
|
|
49
|
+
| Tool | Scope | Configuration |
|
|
50
|
+
|------|-------|---------------|
|
|
51
|
+
| `mcp__claude-in-chrome__*` | Chrome DevTools Protocol | MCP server in settings |
|
|
52
|
+
| `mcp__playwright__*` | Playwright automation | MCP server in settings |
|
|
53
|
+
| `playwright-compress` | Output compression (Layer 4) | PostToolUse hook |
|
|
54
|
+
|
|
55
|
+
## Security Considerations
|
|
56
|
+
|
|
57
|
+
| Concern | Mitigation |
|
|
58
|
+
|---------|-----------|
|
|
59
|
+
| Credential exposure | Never hardcode credentials; use env vars or cookie import |
|
|
60
|
+
| External data transmission | R001 compliance — no PII to external services |
|
|
61
|
+
| Rate limiting | Respect target site limits; implement backoff |
|
|
62
|
+
| Scope creep | Only automate your own applications or authorized targets |
|
|
63
|
+
|
|
64
|
+
## References
|
|
65
|
+
|
|
66
|
+
- [garrytan/gstack](https://github.com/garrytan/gstack) — /browse, /pair-agent patterns
|
|
67
|
+
- [playwright.dev](https://playwright.dev) — Official Playwright documentation
|
|
68
|
+
- [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) — CDP reference
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Token Efficiency — Three-Layer Defense Stack
|
|
2
|
+
|
|
3
|
+
> **Source**: [Claude Code & Codex token efficiency by settings adjustment](https://www.stdy.blog/increasing-token-efficiency-by-setting-adjustment-in-claude-and-codex/)
|
|
4
|
+
> **Reference baseline**: Claude Code v2.1.114+ / Codex v0.121.0+
|
|
5
|
+
|
|
6
|
+
## Why This Matters
|
|
7
|
+
|
|
8
|
+
Token spend in Claude Code is not purely a function of task complexity. A significant portion of token consumption occurs through structural overhead: auto-injected git instructions, IDE file listings, tool output that exceeds what the model actually needs, and session state reloaded unnecessarily across turns.
|
|
9
|
+
|
|
10
|
+
The three-layer defense stack addresses this overhead at three distinct points in the session lifecycle:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
14
|
+
│ Layer 1: cc-token-saver (CACHE DEFENSE) │
|
|
15
|
+
│ Before session — protect prompt cache TTL from idle expiry │
|
|
16
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
17
|
+
│ Layer 2: R013 Ecomode (RUNTIME COMPRESSION) │
|
|
18
|
+
│ During session — compact output, aggregate results, prune input│
|
|
19
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
20
|
+
│ Layer 3: Settings-Based Gates (PRE-SESSION PREVENTION) │
|
|
21
|
+
│ Config time — disable injections before they happen │
|
|
22
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
23
|
+
│ Layer 4: playwright-compress (MCP OUTPUT INTELLIGENCE) │
|
|
24
|
+
│ PostToolUse hook — Haiku summarization of browser MCP output │
|
|
25
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Each layer is independently deployable and non-overlapping. Together they form a complete defense.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Layer 1: cc-token-saver (Prompt Cache TTL Guard)
|
|
33
|
+
|
|
34
|
+
**What it does:** Detects when the 1-hour prompt cache TTL is about to expire due to idle time. Warns before cache invalidates, preventing a full re-spend on the next turn.
|
|
35
|
+
|
|
36
|
+
**Why it matters:** Claude Code's prompt cache has a 1-hour TTL on idle. If you pause a long session, the entire cached context must be re-processed at full cost on the next message. cc-token-saver intercepts this.
|
|
37
|
+
|
|
38
|
+
**Key features:**
|
|
39
|
+
- Token Guardian: idle TTL detection and warning
|
|
40
|
+
- `/continue`: zero-cost context restore after session pause
|
|
41
|
+
- `/usage-view`: cost dashboard for session/cumulative spend
|
|
42
|
+
|
|
43
|
+
**When to use:** Always — install as a plugin and leave active.
|
|
44
|
+
|
|
45
|
+
**Reference:** `guides/cc-token-saver/README.md`
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Layer 2: R013 Ecomode (Runtime Behavior Compression)
|
|
50
|
+
|
|
51
|
+
**What it does:** Compresses agent output at runtime — compact result format, aggregated multi-agent results, and active pruning of irrelevant input context.
|
|
52
|
+
|
|
53
|
+
**Why it matters:** Without ecomode, subagents return verbose outputs that accumulate across parallel invocations. At 4+ concurrent agents, unchecked output grows the context window rapidly.
|
|
54
|
+
|
|
55
|
+
**Activation triggers:**
|
|
56
|
+
- 4+ parallel tasks running simultaneously
|
|
57
|
+
- Batch operations on independent targets
|
|
58
|
+
- Context usage approaching 80%
|
|
59
|
+
- Explicit "ecomode on"
|
|
60
|
+
|
|
61
|
+
**Key behaviors:**
|
|
62
|
+
- Agents return `status + 1-2 sentence summary + key_data only`
|
|
63
|
+
- File lists compressed to count (when > 5 files)
|
|
64
|
+
- Error traces: first/last 3 lines only
|
|
65
|
+
- Code references: `path:line` ref instead of full block
|
|
66
|
+
|
|
67
|
+
**When to use:** Auto-activates on threshold — configure threshold in ecomode config if needed.
|
|
68
|
+
|
|
69
|
+
**Reference:** `.claude/rules/SHOULD-ecomode.md` (R013)
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Layer 3: Settings-Based Gates (Pre-Session Prevention)
|
|
74
|
+
|
|
75
|
+
**What it does:** Disables token-consuming injections and sets output caps in configuration files before sessions start. These gates prevent overhead from ever entering the context window.
|
|
76
|
+
|
|
77
|
+
**Why it matters:** Certain Claude Code defaults inject tokens on every session start regardless of whether they are needed:
|
|
78
|
+
- `includeGitInstructions: true` (default) injects git workflow context on every session
|
|
79
|
+
- `autoConnectIde: true` injects file lists from connected IDEs
|
|
80
|
+
- Uncapped `BASH_MAX_OUTPUT_LENGTH` allows tool output to flood the context
|
|
81
|
+
|
|
82
|
+
**How to apply:** `token-efficiency-audit` skill — see `.claude/skills/token-efficiency-audit/SKILL.md`
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Lever Reference Table
|
|
87
|
+
|
|
88
|
+
### Interactive Session Levers (safe for development)
|
|
89
|
+
|
|
90
|
+
| Lever | Location | Default | Recommended | Token Impact | Risk |
|
|
91
|
+
|-------|----------|---------|-------------|-------------|------|
|
|
92
|
+
| `includeGitInstructions` | settings.json | `true` | `false` | Medium — removes git workflow injection | None for most projects |
|
|
93
|
+
| `autoConnectIde` | settings.json | `true` | `false` | Low — removes IDE file list injection | Loses IDE file awareness |
|
|
94
|
+
| `attribution.commit` | settings.json | auto text | `""` | Low — removes attribution boilerplate | None |
|
|
95
|
+
| `attribution.pr` | settings.json | auto text | `""` | Low — removes attribution boilerplate | None |
|
|
96
|
+
| `BASH_MAX_OUTPUT_LENGTH` | env | unlimited | `15000` | High — caps bash output | Output truncated if > 15000 chars |
|
|
97
|
+
| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | env | unlimited | `8000` | Medium — caps file read output | Large files truncated |
|
|
98
|
+
| `MAX_MCP_OUTPUT_TOKENS` | env | unlimited | `8000` | Medium — caps MCP output | MCP results truncated |
|
|
99
|
+
| `CLAUDE_CODE_GLOB_NO_IGNORE` | env | `true` | `false` | Low — respects .gitignore | Fewer files visible in globs |
|
|
100
|
+
|
|
101
|
+
### CI/Worker-Only Levers (destructive — disables oh-my-customcode)
|
|
102
|
+
|
|
103
|
+
> These settings disable core oh-my-customcode functionality. **Never apply to interactive sessions.**
|
|
104
|
+
|
|
105
|
+
| Lever | What it disables | Token impact | oh-my-customcode impact |
|
|
106
|
+
|-------|-----------------|-------------|------------------------|
|
|
107
|
+
| `CLAUDE_CODE_DISABLE_CLAUDE_MDS=1` | All `.claude/*.md` files including CLAUDE.md | High | ALL global rules and routing offline |
|
|
108
|
+
| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1` | Built-in agent definitions | High | All 48 agents unavailable |
|
|
109
|
+
| `ENABLE_CLAUDEAI_MCP_SERVERS=false` | MCP server connections | Medium | MCP-dependent skills unavailable |
|
|
110
|
+
| `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` | Agent auto-memory | Low | No persistent memory across sessions |
|
|
111
|
+
|
|
112
|
+
### Codex CLI Levers
|
|
113
|
+
|
|
114
|
+
| Lever | Location | Default | Recommended | Token Impact |
|
|
115
|
+
|-------|----------|---------|-------------|-------------|
|
|
116
|
+
| `features.apps` | config.toml | `true` | `false` | Medium |
|
|
117
|
+
| `apps._default.enabled` | config.toml | `true` | `false` | Medium |
|
|
118
|
+
| `web_search` | config.toml | `"auto"` | `"disabled"` | Medium — web search adds significant context |
|
|
119
|
+
| `tool_output_token_limit` | config.toml | `10000` | `10000` | High — do not lower below 5000 |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Tradeoffs and Guardrails
|
|
124
|
+
|
|
125
|
+
### The re-call trap
|
|
126
|
+
|
|
127
|
+
Setting output limits too low forces the model into repeated re-call loops — the model issues `tail -n 50 output.txt` or re-reads files in chunks, which costs more tokens than the original uncapped output. The minimum values below are empirically safe floors:
|
|
128
|
+
|
|
129
|
+
| Variable | Safe minimum | Recommended |
|
|
130
|
+
|----------|-------------|-------------|
|
|
131
|
+
| `BASH_MAX_OUTPUT_LENGTH` | 10000 | 15000 |
|
|
132
|
+
| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | 4000 | 8000 |
|
|
133
|
+
| `MAX_MCP_OUTPUT_TOKENS` | 4000 | 8000 |
|
|
134
|
+
| Codex `tool_output_token_limit` | 5000 | 10000 |
|
|
135
|
+
|
|
136
|
+
### Version drift
|
|
137
|
+
|
|
138
|
+
Settings defaults change with minor CC version releases. After each upgrade, verify active defaults with `/token-efficiency-audit audit`. The reference baseline for this guide is CC v2.1.114+ / Codex v0.121.0+.
|
|
139
|
+
|
|
140
|
+
### includeGitInstructions tradeoff
|
|
141
|
+
|
|
142
|
+
Disabling `includeGitInstructions` removes git workflow guidance from the context. For projects with non-standard git workflows or junior contributors, this guidance may be worth keeping. For projects with experienced teams using `mgr-gitnerd` (R010), the injection is redundant.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Interaction with Other Rules
|
|
147
|
+
|
|
148
|
+
| Rule / Component | Interaction |
|
|
149
|
+
|-----------------|-------------|
|
|
150
|
+
| R013 Ecomode | Layer 2 runtime compression. These layers are complementary — apply both. |
|
|
151
|
+
| cc-token-saver | Layer 1 cache defense. `Token Guardian` + `BASH_MAX_OUTPUT_LENGTH` together eliminate the two largest waste sources. |
|
|
152
|
+
| R010 Orchestrator | `CLAUDE_CODE_DISABLE_CLAUDE_MDS` disables R010 enforcement — CI-only. |
|
|
153
|
+
| R001 Safety | `apply-ci` mode is Risk Level High — requires user confirmation before applying. |
|
|
154
|
+
| R012 HUD Statusline | Statusline shows CTX% — effective measure of Layer 2+3 combined impact. |
|
|
155
|
+
| playwright-compress | Layer 4 hook — complements Layer 3 MAX_MCP_OUTPUT_TOKENS with intelligent lossless compression. |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Layer 4: MCP Output Intelligence Compression
|
|
160
|
+
|
|
161
|
+
PostToolUse hook that compresses Playwright and Chrome MCP tool output using Haiku summarization.
|
|
162
|
+
|
|
163
|
+
| Metric | Before | After | Reduction |
|
|
164
|
+
|--------|--------|-------|-----------|
|
|
165
|
+
| browser_navigate | 37,983 chars | 1,922 chars | -94% |
|
|
166
|
+
| browser_snapshot | 37,897 chars | 1,435 chars | -96% |
|
|
167
|
+
|
|
168
|
+
- Preserves `ref=` attribute values for interactive flow
|
|
169
|
+
- Skips output < 3000 chars
|
|
170
|
+
- Falls back to original on Haiku failure
|
|
171
|
+
- No API key needed (uses `claude -p` subscription auth)
|
|
172
|
+
|
|
173
|
+
Configuration: `.claude/hooks/scripts/playwright-compress.sh`
|
|
174
|
+
Hook trigger: `mcp__playwright__.*` and `mcp__claude-in-chrome__.*`
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Cross-References
|
|
179
|
+
|
|
180
|
+
- `guides/claude-code/13-cli-flags.md` — CLI flags for non-interactive/CI invocation
|
|
181
|
+
- `guides/cc-token-saver/README.md` — Layer 1 detailed guide
|
|
182
|
+
- `.claude/rules/SHOULD-ecomode.md` — Layer 2 R013 specification
|
|
183
|
+
- `.claude/skills/token-efficiency-audit/SKILL.md` — Layer 3 HOW: audit and apply
|
|
184
|
+
- `.claude/skills/monitoring-setup/SKILL.md` — Measure effectiveness via OTel metrics
|
|
185
|
+
- `.claude/skills/update-config/` — Generic settings.json manipulation (broader scope)
|
|
186
|
+
- `.claude/skills/playwright-compress/SKILL.md` — Layer 4 MCP output compression hook
|
|
187
|
+
- `.claude/hooks/scripts/playwright-compress.sh` — Layer 4 hook script
|
package/templates/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.102.0",
|
|
3
3
|
"lastUpdated": "2026-04-18T00:00:00.000Z",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"name": "skills",
|
|
19
19
|
"path": ".claude/skills",
|
|
20
20
|
"description": "Reusable skill modules (includes slash commands)",
|
|
21
|
-
"files":
|
|
21
|
+
"files": 112
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"name": "guides",
|
|
25
25
|
"path": "guides",
|
|
26
26
|
"description": "Reference documentation",
|
|
27
|
-
"files":
|
|
27
|
+
"files": 40
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"name": "hooks",
|