oh-my-customcode 0.90.0 → 0.92.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/rules/MUST-agent-design.md +3 -2
- package/templates/.claude/rules/MUST-permissions.md +1 -1
- package/templates/.claude/rules/SHOULD-ecomode.md +9 -0
- package/templates/.claude/rules/SHOULD-hud-statusline.md +8 -0
- package/templates/.claude/skills/action-validator/SKILL.md +14 -0
- package/templates/.claude/skills/harness-synthesizer/SKILL.md +145 -0
- package/templates/CLAUDE.md +9 -2
- package/templates/guides/cc-token-saver/README.md +97 -0
- package/templates/manifest.json +4 -4
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
**[한국어 문서 (Korean)](./README_ko.md)**
|
|
15
15
|
|
|
16
|
-
48 agents.
|
|
16
|
+
48 agents. 106 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 (106)
|
|
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 (37)
|
|
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/ # 106 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/ # 37 reference documents
|
|
283
283
|
```
|
|
284
284
|
|
|
285
285
|
---
|
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -23,6 +23,7 @@ tools: [Read, Write, ...] # Allowed tools
|
|
|
23
23
|
| `sonnet` | claude-sonnet-4-6 | General tasks, code generation (default) |
|
|
24
24
|
| `opus` | claude-opus-4-6 | Complex reasoning, architecture |
|
|
25
25
|
| `opusplan` | claude-opus-4-6 + plan mode | Architecture planning with approval gates |
|
|
26
|
+
| `opus47` | claude-opus-4-7 | Latest Opus model, supports xhigh effort |
|
|
26
27
|
|
|
27
28
|
Extended context suffix: `[1m]` (e.g., `claude-opus-4-6[1m]`) — enables 1M token context window.
|
|
28
29
|
|
|
@@ -30,7 +31,7 @@ Extended context suffix: `[1m]` (e.g., `claude-opus-4-6[1m]`) — enables 1M tok
|
|
|
30
31
|
|
|
31
32
|
```yaml
|
|
32
33
|
memory: project # user | project | local
|
|
33
|
-
effort: high # low | medium | high | default | max
|
|
34
|
+
effort: high # low | medium | high | xhigh | default | max
|
|
34
35
|
skills: [skill-1, ...] # Skill name references
|
|
35
36
|
source: # For external agents
|
|
36
37
|
type: external
|
|
@@ -64,7 +65,7 @@ disableSkillShellExecution: true # Disable inline shell execution in skills (v2
|
|
|
64
65
|
|
|
65
66
|
> **Note**: When `disableSkillShellExecution` is enabled (v2.1.91+), skills that rely on inline shell execution (e.g., `codex-exec`, `gemini-exec`, `rtk-exec`) will have their shell blocks disabled. This is a security hardening option.
|
|
66
67
|
|
|
67
|
-
> **Note**: `isolation`, `background`, `maxTurns`, `maxTokens`, `mcpServers`, `hooks`, `permissionMode`, `disallowedTools`, `limitations` are supported in Claude Code v2.1.63+. Hook types `PostCompact`, `Elicitation`, `ElicitationResult` require v2.1.76+. `CwdChanged`, `FileChanged` hook events and `managed-settings.d/` drop-in directory require v2.1.83+. Conditional `if` field for hooks requires v2.1.85+. `PermissionDenied` hook event requires v2.1.88+. `refreshInterval` setting for status line auto-refresh interval added in v2.1.97+. Monitor tool and subprocess sandboxing (`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`, `CLAUDE_CODE_SCRIPT_CAPS`) added in v2.1.98+. Settings resilience (unrecognized hook event names no longer cause settings.json to be ignored) improved in v2.1.101+. PreCompact hook block support (exit 2 / `{"decision":"block"}`) added in v2.1.105+. Skill description listing cap raised from 250 to 1,536 characters in v2.1.105+. Plugin `monitors` manifest key for background monitors added in v2.1.105+. `ENABLE_PROMPT_CACHING_1H` and `FORCE_PROMPT_CACHING_5M` env vars for prompt cache TTL control added in v2.1.108+. Skill tool can now discover and invoke built-in slash commands (`/init`, `/review`, `/security-review`) in v2.1.108+. `/recap` session context feature and `/undo` alias for `/rewind` added in v2.1.108+. `/tui` command and `tui` setting for fullscreen rendering added in v2.1.110+. PushNotification tool for mobile push notifications (Remote Control + config required) added in v2.1.110+. `autoScrollEnabled` config for fullscreen mode added in v2.1.110+. SDK/headless `TRACEPARENT`/`TRACESTATE` distributed trace linking added in v2.1.110+. Bash tool maximum timeout enforcement added in v2.1.110+. Write tool IDE diff feedback (informs model when user edits proposed content) added in v2.1.110+. `--resume`/`--continue` now resurrects unexpired scheduled tasks in v2.1.110+. `/focus` command (separated from Ctrl+O) added in v2.1.110+.
|
|
68
|
+
> **Note**: `isolation`, `background`, `maxTurns`, `maxTokens`, `mcpServers`, `hooks`, `permissionMode`, `disallowedTools`, `limitations` are supported in Claude Code v2.1.63+. Hook types `PostCompact`, `Elicitation`, `ElicitationResult` require v2.1.76+. `CwdChanged`, `FileChanged` hook events and `managed-settings.d/` drop-in directory require v2.1.83+. Conditional `if` field for hooks requires v2.1.85+. `PermissionDenied` hook event requires v2.1.88+. `refreshInterval` setting for status line auto-refresh interval added in v2.1.97+. Monitor tool and subprocess sandboxing (`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`, `CLAUDE_CODE_SCRIPT_CAPS`) added in v2.1.98+. Settings resilience (unrecognized hook event names no longer cause settings.json to be ignored) improved in v2.1.101+. PreCompact hook block support (exit 2 / `{"decision":"block"}`) added in v2.1.105+. Skill description listing cap raised from 250 to 1,536 characters in v2.1.105+. Plugin `monitors` manifest key for background monitors added in v2.1.105+. `ENABLE_PROMPT_CACHING_1H` and `FORCE_PROMPT_CACHING_5M` env vars for prompt cache TTL control added in v2.1.108+. Skill tool can now discover and invoke built-in slash commands (`/init`, `/review`, `/security-review`) in v2.1.108+. `/recap` session context feature and `/undo` alias for `/rewind` added in v2.1.108+. `/tui` command and `tui` setting for fullscreen rendering added in v2.1.110+. PushNotification tool for mobile push notifications (Remote Control + config required) added in v2.1.110+. `autoScrollEnabled` config for fullscreen mode added in v2.1.110+. SDK/headless `TRACEPARENT`/`TRACESTATE` distributed trace linking added in v2.1.110+. Bash tool maximum timeout enforcement added in v2.1.110+. Write tool IDE diff feedback (informs model when user edits proposed content) added in v2.1.110+. `--resume`/`--continue` now resurrects unexpired scheduled tasks in v2.1.110+. `/focus` command (separated from Ctrl+O) added in v2.1.110+. `xhigh` effort level for Opus 4.7 (between `high` and `max`; other models fall back to `high`) added in v2.1.111+. `/effort` interactive slider with arrow-key navigation (when called without arguments) added in v2.1.111+. Auto mode no longer requires `--enable-auto-mode` in v2.1.111+. PowerShell tool progressive rollout (`CLAUDE_CODE_USE_POWERSHELL_TOOL` env var) added in v2.1.111+. Read-only bash commands with glob patterns (`ls *.ts`) and `cd <project-dir> &&` prefix no longer trigger permission prompt in v2.1.111+. `/less-permission-prompts` built-in skill for permission allowlist scanning added in v2.1.111+. `/ultrareview` parallel multi-agent cloud code review added in v2.1.111+. `/skills` menu sorting by estimated token count (press `t`) added in v2.1.111+. `OTEL_LOG_RAW_API_BODIES` env var for full API request/response body logging added in v2.1.111+. Plan files named after prompt content (not random words) in v2.1.111+. Plugin error handling improvements (dependency conflict errors, stale version recovery, install recovery) in v2.1.111+.
|
|
68
69
|
|
|
69
70
|
## Hook Event Types
|
|
70
71
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
| 1: Always | Read, Glob, Grep, ToolSearch | Free use, read-only |
|
|
10
10
|
| 2: Default | Write, Edit, NotebookEdit | State changes explicitly, notify before modifying important files |
|
|
11
11
|
| 3: Context | Agent, Skill, EnterPlanMode, ExitPlanMode, EnterWorktree, ExitWorktree, LSP, Monitor, TodoWrite, AskUserQuestion, PushNotification | Context-dependent, no user approval needed |
|
|
12
|
-
| 4: Approval | Bash, WebFetch, WebSearch | Request user approval on first use |
|
|
12
|
+
| 4: Approval | Bash, PowerShell, WebFetch, WebSearch | Request user approval on first use |
|
|
13
13
|
| 5: Conditional | TeamCreate, TeamDelete, SendMessage, TaskCreate, TaskGet, TaskList, TaskUpdate, TaskStop, TaskOutput | Available when Agent Teams enabled |
|
|
14
14
|
| 6: MCP | ListMcpResourcesTool, ReadMcpResourceTool, CronCreate, CronDelete, CronList, RemoteTrigger | MCP/extension tools, available when servers configured |
|
|
15
15
|
|
|
@@ -103,3 +103,12 @@ The `context-budget-advisor.sh` hook monitors context usage and emits warnings w
|
|
|
103
103
|
- Does NOT override explicit user settings
|
|
104
104
|
- Advisory only — never blocks operations
|
|
105
105
|
- Context percentage from statusline data when available
|
|
106
|
+
|
|
107
|
+
## Token Guardian Coexistence (cc-token-saver)
|
|
108
|
+
|
|
109
|
+
| Component | Trigger | Scope |
|
|
110
|
+
|-----------|---------|-------|
|
|
111
|
+
| `context-budget-advisor.sh` (R013) | Context usage % approaching threshold | In-session budget |
|
|
112
|
+
| Token Guardian (cc-token-saver) | 1h cache TTL idle detection | Cross-session cost |
|
|
113
|
+
|
|
114
|
+
Both can run simultaneously — different triggers, complementary coverage. R013's context budget is usage-based (approaching limit), Token Guardian is time-based (idle cache expiry).
|
|
@@ -41,3 +41,11 @@ RL/WL segments omitted on CC older than v2.1.80.
|
|
|
41
41
|
## Integration
|
|
42
42
|
|
|
43
43
|
Integrates with R007 (Agent ID), R008 (Tool ID), R009 (Parallel).
|
|
44
|
+
|
|
45
|
+
## External Plugin Statusline Conflict
|
|
46
|
+
|
|
47
|
+
| Plugin | Component | Resolution |
|
|
48
|
+
|--------|-----------|------------|
|
|
49
|
+
| cc-token-saver | Live Status Line | R012 `.claude/statusline.sh` has priority. Disable cc-token-saver statusline to avoid duplicate status bars. |
|
|
50
|
+
|
|
51
|
+
Internal statusline (`.claude/statusline.sh`) is the primary status display. External plugin status lines are supplementary or disabled.
|
|
@@ -67,6 +67,20 @@ policy_cache:
|
|
|
67
67
|
|
|
68
68
|
Policy caching reduces redundant LLM calls for well-understood workflows. Policies are advisory — the orchestrator may override.
|
|
69
69
|
|
|
70
|
+
## Code Harness Integration (AutoHarness)
|
|
71
|
+
|
|
72
|
+
When a synthesized harness exists for an agent (`.claude/outputs/harnesses/{agent-name}-*.yaml`), action-validator can use it for enhanced validation:
|
|
73
|
+
|
|
74
|
+
| Mode | Source | Behavior |
|
|
75
|
+
|------|--------|----------|
|
|
76
|
+
| Advisory (default) | Prompt-based checks | Emit warnings only |
|
|
77
|
+
| Code-verified | harness-synthesizer output | Run harness validation code, emit advisory results |
|
|
78
|
+
| Hard-enforce (opt-in) | harness-synthesizer `--hard-enforce` | Block invalid actions (requires explicit opt-in, see R021) |
|
|
79
|
+
|
|
80
|
+
To generate a harness for an agent: `/harness-synthesizer --agent {name} --mode verifier`
|
|
81
|
+
|
|
82
|
+
Code harness validation is additive — it supplements prompt-based checks, not replaces them.
|
|
83
|
+
|
|
70
84
|
## Scope
|
|
71
85
|
|
|
72
86
|
This skill is an advisory layer, not a hard enforcement mechanism:
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-synthesizer
|
|
3
|
+
description: Synthesize code harnesses for agent action validation — AutoHarness-inspired verifier/filter/policy generation
|
|
4
|
+
scope: core
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
user-invocable: true
|
|
7
|
+
argument-hint: "[--mode verifier|filter|policy] [--agent <name>] [--dry-run]"
|
|
8
|
+
effort: high
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Harness Synthesizer Skill
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Synthesize executable validation harnesses for agent tool calls, inspired by AutoHarness (Google DeepMind, arxiv 2603.03329). Generates code-level verifiers that check action validity before or after execution, reducing agent errors through structured constraint enforcement.
|
|
16
|
+
|
|
17
|
+
Default mode is advisory (verifier). Hard enforcement requires explicit `--hard-enforce` opt-in per R021.
|
|
18
|
+
|
|
19
|
+
## Three Modes
|
|
20
|
+
|
|
21
|
+
| Mode | Flag | Behavior | Enforcement |
|
|
22
|
+
|------|------|----------|-------------|
|
|
23
|
+
| `verifier` | default | Post-hoc check: validates tool call results after execution | Advisory only |
|
|
24
|
+
| `filter` | `--mode filter` | Pre-execution check: blocks invalid tool calls | Opt-in, requires `--hard-enforce` |
|
|
25
|
+
| `policy` | `--mode policy` | Suggests the best valid action from available options | Advisory only |
|
|
26
|
+
|
|
27
|
+
### Verifier Mode (Default)
|
|
28
|
+
|
|
29
|
+
Generates a YAML harness that describes post-execution checks for each tool the agent uses. Checks are emitted as advisory warnings — they do not block execution.
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
# Example verifier harness output
|
|
33
|
+
harness:
|
|
34
|
+
agent: lang-golang-expert
|
|
35
|
+
mode: verifier
|
|
36
|
+
rules:
|
|
37
|
+
- tool: Write
|
|
38
|
+
checks:
|
|
39
|
+
- field: file_path
|
|
40
|
+
pattern: ".*\\.go$"
|
|
41
|
+
on_fail: warn # advisory
|
|
42
|
+
- field: content
|
|
43
|
+
must_not_contain: "TODO:"
|
|
44
|
+
on_fail: warn
|
|
45
|
+
- tool: Bash
|
|
46
|
+
checks:
|
|
47
|
+
- command_pattern: "^(go build|go test|go fmt|go vet)"
|
|
48
|
+
on_fail: warn
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Filter Mode (Opt-in)
|
|
52
|
+
|
|
53
|
+
Generates pre-execution filter rules. Requires `--hard-enforce` flag. Used when advisory warnings are insufficient and the risk of invalid actions is high.
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
# Example filter harness output (--hard-enforce)
|
|
57
|
+
harness:
|
|
58
|
+
agent: mgr-gitnerd
|
|
59
|
+
mode: filter
|
|
60
|
+
enforcement: hard
|
|
61
|
+
rules:
|
|
62
|
+
- tool: Bash
|
|
63
|
+
blocks:
|
|
64
|
+
- pattern: "git push --force"
|
|
65
|
+
reason: "Force push to protected branch"
|
|
66
|
+
- pattern: "git reset --hard"
|
|
67
|
+
reason: "Destructive reset without confirmation"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Policy Mode
|
|
71
|
+
|
|
72
|
+
Generates a policy function that ranks valid actions and suggests the best one. Useful for agents with multiple valid paths to the same goal.
|
|
73
|
+
|
|
74
|
+
```yaml
|
|
75
|
+
# Example policy harness output
|
|
76
|
+
harness:
|
|
77
|
+
agent: qa-engineer
|
|
78
|
+
mode: policy
|
|
79
|
+
policies:
|
|
80
|
+
- scenario: "test file modification"
|
|
81
|
+
preferred_sequence:
|
|
82
|
+
- tool: Read
|
|
83
|
+
reason: "Read before modifying"
|
|
84
|
+
- tool: Edit
|
|
85
|
+
reason: "Edit is safer than Write for existing files"
|
|
86
|
+
avoid:
|
|
87
|
+
- tool: Write
|
|
88
|
+
on_existing_file: true
|
|
89
|
+
reason: "Overwrites without diff"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Workflow
|
|
93
|
+
|
|
94
|
+
1. **Read target agent frontmatter** — extract `tools`, `domain`, `limitations` fields
|
|
95
|
+
2. **Analyze recent tool call patterns** — check `.claude/outputs/` for prior session logs (if available)
|
|
96
|
+
3. **Synthesize validation harness** — generate YAML harness matching agent's declared capabilities
|
|
97
|
+
4. **Refine via evaluator-optimizer loop** — iterate harness against edge cases (3 rounds max)
|
|
98
|
+
5. **Save output** — write to `.claude/outputs/harnesses/{agent-name}-{mode}.yaml`
|
|
99
|
+
6. **Report** — print harness summary and integration instructions
|
|
100
|
+
|
|
101
|
+
## Integration
|
|
102
|
+
|
|
103
|
+
| System | How |
|
|
104
|
+
|--------|-----|
|
|
105
|
+
| `action-validator` | Harness output feeds into action-validator's code-verified mode |
|
|
106
|
+
| `adaptive-harness --learn` | Auto-triggers harness-synthesizer for project-specific patterns |
|
|
107
|
+
| `evaluator-optimizer` | Provides iterative refinement loop (gradient-free optimization) |
|
|
108
|
+
| `pipeline-guards` | Harness checks usable as pipeline quality gates |
|
|
109
|
+
|
|
110
|
+
## Usage Examples
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Generate advisory verifier for lang-golang-expert
|
|
114
|
+
/harness-synthesizer --agent lang-golang-expert --mode verifier
|
|
115
|
+
|
|
116
|
+
# Dry-run: preview harness without saving
|
|
117
|
+
/harness-synthesizer --agent mgr-gitnerd --mode filter --dry-run
|
|
118
|
+
|
|
119
|
+
# Generate hard-enforce filter (explicit opt-in)
|
|
120
|
+
/harness-synthesizer --agent mgr-gitnerd --mode filter --hard-enforce
|
|
121
|
+
|
|
122
|
+
# Generate policy harness
|
|
123
|
+
/harness-synthesizer --agent qa-engineer --mode policy
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## R021 Compliance
|
|
127
|
+
|
|
128
|
+
- Default `verifier` mode: advisory only — never blocks tool execution
|
|
129
|
+
- `filter` mode without `--hard-enforce`: advisory only — emits warnings
|
|
130
|
+
- `filter --hard-enforce`: opt-in hard enforcement — requires explicit user flag
|
|
131
|
+
- All harness output is saved to `.claude/outputs/harnesses/` (git-untracked)
|
|
132
|
+
|
|
133
|
+
## Output Format
|
|
134
|
+
|
|
135
|
+
Harnesses are saved as YAML at `.claude/outputs/harnesses/{agent-name}-{mode}.yaml`. Each harness includes:
|
|
136
|
+
|
|
137
|
+
```yaml
|
|
138
|
+
harness:
|
|
139
|
+
agent: {agent-name}
|
|
140
|
+
mode: verifier | filter | policy
|
|
141
|
+
version: 1.0.0
|
|
142
|
+
generated: {ISO-8601 timestamp}
|
|
143
|
+
enforcement: advisory | hard # hard only with --hard-enforce
|
|
144
|
+
rules: [...]
|
|
145
|
+
```
|
package/templates/CLAUDE.md
CHANGED
|
@@ -135,6 +135,7 @@ oh-my-customcode로 구동됩니다.
|
|
|
135
135
|
| `/skill-extractor` | 세션 성공 패턴에서 스킬 후보 추출 |
|
|
136
136
|
| `/deep-plan` | 연구 검증 기반 계획 수립 (research → plan → verify) |
|
|
137
137
|
| `/deep-verify` | 다중 관점 릴리즈 품질 검증 |
|
|
138
|
+
| `/harness-synthesizer` | 에이전트 액션 검증용 코드 하네스 합성 (AutoHarness 기반) |
|
|
138
139
|
| `/professor-triage` | 이슈 교차 분석 트리아지 (omc_issue_analyzer 댓글 기반) |
|
|
139
140
|
| `/release-plan` | verify-done 이슈 릴리즈 유닛 계획 생성 |
|
|
140
141
|
| `/pipeline` | YAML 파이프라인 실행 (예: /pipeline auto-dev) |
|
|
@@ -157,11 +158,11 @@ project/
|
|
|
157
158
|
+-- CLAUDE.md # 진입점
|
|
158
159
|
+-- .claude/
|
|
159
160
|
| +-- agents/ # 서브에이전트 정의 (48 파일)
|
|
160
|
-
| +-- skills/ # 스킬 (
|
|
161
|
+
| +-- skills/ # 스킬 (106 디렉토리)
|
|
161
162
|
| +-- rules/ # 전역 규칙 (R000-R022)
|
|
162
163
|
| +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
|
|
163
164
|
| +-- contexts/ # 컨텍스트 파일 (ecomode)
|
|
164
|
-
+-- guides/ # 레퍼런스 문서 (
|
|
165
|
+
+-- guides/ # 레퍼런스 문서 (37 토픽)
|
|
165
166
|
```
|
|
166
167
|
|
|
167
168
|
## 오케스트레이션
|
|
@@ -273,6 +274,12 @@ Claude Code의 Agent Teams 기능이 활성화되어 있으면 (`CLAUDE_CODE_EXP
|
|
|
273
274
|
| obsidian-skills | - | 옵시디언 마크다운 지원 |
|
|
274
275
|
| context7 | claude-plugins-official | 라이브러리 문서 조회 |
|
|
275
276
|
|
|
277
|
+
### 권장 플러그인
|
|
278
|
+
|
|
279
|
+
| 플러그인 | 소스 | 용도 |
|
|
280
|
+
|----------|------|------|
|
|
281
|
+
| cc-token-saver | ww-w-ai/cc-token-saver | 토큰/비용 최적화 (Token Guardian, /continue, /usage-view) |
|
|
282
|
+
|
|
276
283
|
### 권장 MCP 서버
|
|
277
284
|
|
|
278
285
|
| 서버 | 용도 |
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# cc-token-saver Integration Guide
|
|
2
|
+
|
|
3
|
+
> **Source**: https://github.com/ww-w-ai/cc-token-saver (Apache-2.0)
|
|
4
|
+
> **Strategy**: External plugin — keep as plugin, no internalization
|
|
5
|
+
|
|
6
|
+
## Installation
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
claude plugin marketplace add ww-w-ai/cc-token-saver
|
|
10
|
+
claude plugin install cc-token-saver
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Feature Overview
|
|
14
|
+
|
|
15
|
+
| Feature | Description |
|
|
16
|
+
|---------|-------------|
|
|
17
|
+
| Token Guardian | Detects 1h prompt cache TTL idle expiry and warns before cache invalidates |
|
|
18
|
+
| Smart Session Architecture | Auto-injects SubTask delegation patterns into context |
|
|
19
|
+
| `/continue` | Zero-cost context restore after session pause |
|
|
20
|
+
| Live Status Line | Real-time token/cost status bar |
|
|
21
|
+
| `/usage-view` | Cost dashboard showing per-session and cumulative spend |
|
|
22
|
+
| `/report-limit` | Community-sourced rate limit reporting |
|
|
23
|
+
|
|
24
|
+
## Conflict Resolution with oh-my-customcode
|
|
25
|
+
|
|
26
|
+
### Live Status Line (R012 Priority)
|
|
27
|
+
|
|
28
|
+
oh-my-customcode runs its own statusline via `.claude/statusline.sh` (R012). Two simultaneous status bars create visual clutter.
|
|
29
|
+
|
|
30
|
+
**Resolution**: R012 statusline has priority. Disable cc-token-saver's Live Status Line:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# In cc-token-saver config (if supported), or ignore its statusline output
|
|
34
|
+
# oh-my-customcode statusline is configured in .claude/settings.local.json
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The R012 statusline already covers: Cost, Rate Limit %, Weekly Limit %, Context %. cc-token-saver's Live Status Line is redundant when R012 is active.
|
|
38
|
+
|
|
39
|
+
### SubTask Delegation (R009/R010/R018 Priority)
|
|
40
|
+
|
|
41
|
+
cc-token-saver's Smart Session Architecture auto-injects SubTask delegation patterns. oh-my-customcode has its own delegation rules (R010) and parallel execution rules (R009/R018).
|
|
42
|
+
|
|
43
|
+
**Resolution**: Internal rules always take precedence (R010 External Skills vs Internal Rules).
|
|
44
|
+
|
|
45
|
+
| cc-token-saver suggests | oh-my-customcode rule |
|
|
46
|
+
|-------------------------|----------------------|
|
|
47
|
+
| Use SubTask for delegation | Agent tool via routing skills (R010) |
|
|
48
|
+
| Sequential delegation pattern | Parallel when independent (R009) |
|
|
49
|
+
| Generic subtask agent | Specialized agent by domain (R010) |
|
|
50
|
+
|
|
51
|
+
Ignore cc-token-saver's SubTask suggestions when they conflict with R009/R010/R018.
|
|
52
|
+
|
|
53
|
+
### Token Guardian ↔ R013 context-budget-advisor.sh (Coexistence)
|
|
54
|
+
|
|
55
|
+
These two components solve different problems and can run simultaneously:
|
|
56
|
+
|
|
57
|
+
| Component | Trigger | Scope |
|
|
58
|
+
|-----------|---------|-------|
|
|
59
|
+
| `context-budget-advisor.sh` (R013) | Context usage % approaching threshold | In-session budget management |
|
|
60
|
+
| Token Guardian (cc-token-saver) | 1h cache TTL idle detection | Cross-session cache cost |
|
|
61
|
+
|
|
62
|
+
**No conflict** — Token Guardian fires on idle time, R013 fires on context percentage. Both warnings are useful.
|
|
63
|
+
|
|
64
|
+
## Usage Scenarios
|
|
65
|
+
|
|
66
|
+
### `/continue` — Zero-cost context restore
|
|
67
|
+
|
|
68
|
+
Use after interrupting and resuming a session. Restores context without re-spending tokens.
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
/continue
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Best for: returning to a paused task, recovering from accidental session close.
|
|
75
|
+
|
|
76
|
+
### `/usage-view` — Cost dashboard
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
/usage-view
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Shows per-session and cumulative cost. Useful for budget tracking across long sessions.
|
|
83
|
+
|
|
84
|
+
### `/report-limit` — Community rate limit data
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
/report-limit
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Reports your current rate limit hit to the community pool and shows aggregate rate limit data from other users. Helps gauge when limits reset.
|
|
91
|
+
|
|
92
|
+
## Integration Notes
|
|
93
|
+
|
|
94
|
+
- R013 ecomode and Token Guardian are complementary, not competing
|
|
95
|
+
- R012 statusline supersedes cc-token-saver's Live Status Line
|
|
96
|
+
- R009/R010/R018 delegation rules override cc-token-saver's SubTask patterns
|
|
97
|
+
- `/continue`, `/usage-view`, `/report-limit` have no conflicts with internal rules — use freely
|
package/templates/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
3
|
-
"lastUpdated": "2026-04-
|
|
2
|
+
"version": "0.92.0",
|
|
3
|
+
"lastUpdated": "2026-04-18T00:00:00.000Z",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"name": "rules",
|
|
@@ -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": 106
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"name": "guides",
|
|
25
25
|
"path": "guides",
|
|
26
26
|
"description": "Reference documentation",
|
|
27
|
-
"files":
|
|
27
|
+
"files": 37
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"name": "hooks",
|