oh-my-claude-sisyphus 3.3.10 → 3.4.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 +3 -3
- package/agents/explore-high.md +195 -0
- package/agents/qa-tester-high.md +141 -0
- package/agents/templates/README.md +110 -0
- package/agents/templates/base-agent.md +54 -0
- package/agents/templates/tier-instructions.md +94 -0
- package/commands/ecomode.md +60 -0
- package/commands/help.md +1 -1
- package/commands/mcp-setup.md +7 -6
- package/commands/ralplan.md +8 -1
- package/commands/ultrapilot.md +158 -0
- package/commands/ultrawork.md +1 -0
- package/dist/__tests__/delegation-enforcer-integration.test.d.ts +6 -0
- package/dist/__tests__/delegation-enforcer-integration.test.d.ts.map +1 -0
- package/dist/__tests__/delegation-enforcer-integration.test.js +136 -0
- package/dist/__tests__/delegation-enforcer-integration.test.js.map +1 -0
- package/dist/__tests__/delegation-enforcer.test.d.ts +5 -0
- package/dist/__tests__/delegation-enforcer.test.d.ts.map +1 -0
- package/dist/__tests__/delegation-enforcer.test.js +208 -0
- package/dist/__tests__/delegation-enforcer.test.js.map +1 -0
- package/dist/__tests__/hooks.test.js +2 -2
- package/dist/__tests__/hooks.test.js.map +1 -1
- package/dist/__tests__/installer.test.js +4 -6
- package/dist/__tests__/installer.test.js.map +1 -1
- package/dist/__tests__/ralph-prd.test.js +1 -1
- package/dist/__tests__/ralph-prd.test.js.map +1 -1
- package/dist/__tests__/ralph-progress.test.js +1 -1
- package/dist/__tests__/ralph-progress.test.js.map +1 -1
- package/dist/__tests__/skills.test.js +31 -24
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/agents/analyst.d.ts.map +1 -1
- package/dist/agents/analyst.js +1 -0
- package/dist/agents/analyst.js.map +1 -1
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +1 -0
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/critic.d.ts.map +1 -1
- package/dist/agents/critic.js +1 -0
- package/dist/agents/critic.js.map +1 -1
- package/dist/agents/definitions.d.ts +5 -1
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +53 -155
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/designer.d.ts.map +1 -1
- package/dist/agents/designer.js +1 -0
- package/dist/agents/designer.js.map +1 -1
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +1 -0
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/explore.d.ts.map +1 -1
- package/dist/agents/explore.js +1 -0
- package/dist/agents/explore.js.map +1 -1
- package/dist/agents/planner.d.ts.map +1 -1
- package/dist/agents/planner.js +1 -0
- package/dist/agents/planner.js.map +1 -1
- package/dist/agents/qa-tester.d.ts.map +1 -1
- package/dist/agents/qa-tester.js +1 -0
- package/dist/agents/qa-tester.js.map +1 -1
- package/dist/agents/researcher.d.ts.map +1 -1
- package/dist/agents/researcher.js +1 -0
- package/dist/agents/researcher.js.map +1 -1
- package/dist/agents/scientist.d.ts.map +1 -1
- package/dist/agents/scientist.js +1 -0
- package/dist/agents/scientist.js.map +1 -1
- package/dist/agents/types.d.ts +2 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/types.js.map +1 -1
- package/dist/agents/vision.d.ts.map +1 -1
- package/dist/agents/vision.js +1 -0
- package/dist/agents/vision.js.map +1 -1
- package/dist/agents/writer.d.ts.map +1 -1
- package/dist/agents/writer.js +1 -0
- package/dist/agents/writer.js.map +1 -1
- package/dist/cli/index.js +0 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +1 -6
- package/dist/config/loader.js.map +1 -1
- package/dist/features/delegation-enforcer.d.ts +71 -0
- package/dist/features/delegation-enforcer.d.ts.map +1 -0
- package/dist/features/delegation-enforcer.js +128 -0
- package/dist/features/delegation-enforcer.js.map +1 -0
- package/dist/features/index.d.ts +3 -0
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +18 -0
- package/dist/features/index.js.map +1 -1
- package/dist/features/state-manager/index.d.ts +100 -0
- package/dist/features/state-manager/index.d.ts.map +1 -0
- package/dist/features/state-manager/index.js +407 -0
- package/dist/features/state-manager/index.js.map +1 -0
- package/dist/features/state-manager/types.d.ts +147 -0
- package/dist/features/state-manager/types.d.ts.map +1 -0
- package/dist/features/state-manager/types.js +30 -0
- package/dist/features/state-manager/types.js.map +1 -0
- package/dist/features/task-decomposer/index.d.ts +33 -0
- package/dist/features/task-decomposer/index.d.ts.map +1 -0
- package/dist/features/task-decomposer/index.js +698 -0
- package/dist/features/task-decomposer/index.js.map +1 -0
- package/dist/features/task-decomposer/types.d.ts +133 -0
- package/dist/features/task-decomposer/types.d.ts.map +1 -0
- package/dist/features/task-decomposer/types.js +8 -0
- package/dist/features/task-decomposer/types.js.map +1 -0
- package/dist/features/verification/example.d.ts +49 -0
- package/dist/features/verification/example.d.ts.map +1 -0
- package/dist/features/verification/example.js +235 -0
- package/dist/features/verification/example.js.map +1 -0
- package/dist/features/verification/index.d.ts +97 -0
- package/dist/features/verification/index.d.ts.map +1 -0
- package/dist/features/verification/index.js +439 -0
- package/dist/features/verification/index.js.map +1 -0
- package/dist/features/verification/types.d.ts +142 -0
- package/dist/features/verification/types.d.ts.map +1 -0
- package/dist/features/verification/types.js +7 -0
- package/dist/features/verification/types.js.map +1 -0
- package/dist/hooks/agent-usage-reminder/constants.d.ts.map +1 -1
- package/dist/hooks/agent-usage-reminder/constants.js +0 -1
- package/dist/hooks/agent-usage-reminder/constants.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/cancel.test.js +4 -4
- package/dist/hooks/autopilot/__tests__/cancel.test.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/summary.test.js +1 -1
- package/dist/hooks/autopilot/__tests__/summary.test.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/transition.test.js +1 -2
- package/dist/hooks/autopilot/__tests__/transition.test.js.map +1 -1
- package/dist/hooks/autopilot/cancel.js +2 -2
- package/dist/hooks/autopilot/cancel.js.map +1 -1
- package/dist/hooks/autopilot/enforcement.d.ts +16 -2
- package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
- package/dist/hooks/autopilot/enforcement.js +78 -4
- package/dist/hooks/autopilot/enforcement.js.map +1 -1
- package/dist/hooks/autopilot/index.d.ts +3 -6
- package/dist/hooks/autopilot/index.d.ts.map +1 -1
- package/dist/hooks/autopilot/index.js +6 -12
- package/dist/hooks/autopilot/index.js.map +1 -1
- package/dist/hooks/autopilot/state.d.ts +36 -2
- package/dist/hooks/autopilot/state.d.ts.map +1 -1
- package/dist/hooks/autopilot/state.js +216 -2
- package/dist/hooks/autopilot/state.js.map +1 -1
- package/dist/hooks/autopilot/validation.d.ts +23 -2
- package/dist/hooks/autopilot/validation.d.ts.map +1 -1
- package/dist/hooks/autopilot/validation.js +158 -1
- package/dist/hooks/autopilot/validation.js.map +1 -1
- package/dist/hooks/bridge.js +3 -3
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/index.d.ts +5 -9
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +31 -21
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/learner/promotion.js +1 -1
- package/dist/hooks/learner/promotion.js.map +1 -1
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +2 -3
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/ralph/index.d.ts +11 -0
- package/dist/hooks/ralph/index.d.ts.map +1 -0
- package/dist/hooks/ralph/index.js +53 -0
- package/dist/hooks/ralph/index.js.map +1 -0
- package/dist/hooks/ralph/loop.d.ts +116 -0
- package/dist/hooks/ralph/loop.d.ts.map +1 -0
- package/dist/hooks/ralph/loop.js +322 -0
- package/dist/hooks/ralph/loop.js.map +1 -0
- package/dist/hooks/ralph/prd.d.ts +130 -0
- package/dist/hooks/ralph/prd.d.ts.map +1 -0
- package/dist/hooks/ralph/prd.js +310 -0
- package/dist/hooks/ralph/prd.js.map +1 -0
- package/dist/hooks/ralph/progress.d.ts +102 -0
- package/dist/hooks/ralph/progress.d.ts.map +1 -0
- package/dist/hooks/ralph/progress.js +408 -0
- package/dist/hooks/ralph/progress.js.map +1 -0
- package/dist/hooks/ralph/verifier.d.ts +72 -0
- package/dist/hooks/ralph/verifier.d.ts.map +1 -0
- package/dist/hooks/ralph/verifier.js +223 -0
- package/dist/hooks/ralph/verifier.js.map +1 -0
- package/dist/hooks/recovery/constants.d.ts +114 -0
- package/dist/hooks/recovery/constants.d.ts.map +1 -0
- package/dist/hooks/recovery/constants.js +227 -0
- package/dist/hooks/recovery/constants.js.map +1 -0
- package/dist/hooks/recovery/context-window.d.ts +24 -0
- package/dist/hooks/recovery/context-window.d.ts.map +1 -0
- package/dist/hooks/recovery/context-window.js +321 -0
- package/dist/hooks/recovery/context-window.js.map +1 -0
- package/dist/hooks/recovery/edit-error.d.ts +24 -0
- package/dist/hooks/recovery/edit-error.d.ts.map +1 -0
- package/dist/hooks/recovery/edit-error.js +56 -0
- package/dist/hooks/recovery/edit-error.js.map +1 -0
- package/dist/hooks/recovery/index.d.ts +102 -0
- package/dist/hooks/recovery/index.d.ts.map +1 -0
- package/dist/hooks/recovery/index.js +166 -0
- package/dist/hooks/recovery/index.js.map +1 -0
- package/dist/hooks/recovery/session-recovery.d.ts +24 -0
- package/dist/hooks/recovery/session-recovery.d.ts.map +1 -0
- package/dist/hooks/recovery/session-recovery.js +281 -0
- package/dist/hooks/recovery/session-recovery.js.map +1 -0
- package/dist/hooks/recovery/storage.d.ts +75 -0
- package/dist/hooks/recovery/storage.d.ts.map +1 -0
- package/dist/hooks/recovery/storage.js +382 -0
- package/dist/hooks/recovery/storage.js.map +1 -0
- package/dist/hooks/recovery/types.d.ts +196 -0
- package/dist/hooks/recovery/types.d.ts.map +1 -0
- package/dist/hooks/recovery/types.js +32 -0
- package/dist/hooks/recovery/types.js.map +1 -0
- package/dist/hooks/ultrapilot/index.d.ts +90 -0
- package/dist/hooks/ultrapilot/index.d.ts.map +1 -0
- package/dist/hooks/ultrapilot/index.js +310 -0
- package/dist/hooks/ultrapilot/index.js.map +1 -0
- package/dist/hooks/ultrapilot/state.d.ts +72 -0
- package/dist/hooks/ultrapilot/state.d.ts.map +1 -0
- package/dist/hooks/ultrapilot/state.js +258 -0
- package/dist/hooks/ultrapilot/state.js.map +1 -0
- package/dist/hooks/ultrapilot/types.d.ts +113 -0
- package/dist/hooks/ultrapilot/types.d.ts.map +1 -0
- package/dist/hooks/ultrapilot/types.js +36 -0
- package/dist/hooks/ultrapilot/types.js.map +1 -0
- package/dist/hooks/ultraqa/index.d.ts +94 -0
- package/dist/hooks/ultraqa/index.d.ts.map +1 -0
- package/dist/hooks/ultraqa/index.js +216 -0
- package/dist/hooks/ultraqa/index.js.map +1 -0
- package/dist/hooks/ultrawork/index.d.ts +62 -0
- package/dist/hooks/ultrawork/index.d.ts.map +1 -0
- package/dist/hooks/ultrawork/index.js +208 -0
- package/dist/hooks/ultrawork/index.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +1 -1
- package/dist/installer/index.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/servers.d.ts +2 -18
- package/dist/mcp/servers.d.ts.map +1 -1
- package/dist/mcp/servers.js +4 -36
- package/dist/mcp/servers.js.map +1 -1
- package/dist/shared/types.d.ts +1 -3
- package/dist/shared/types.d.ts.map +1 -1
- package/docs/CLAUDE.md +170 -44
- package/docs/DELEGATION-ENFORCER.md +282 -0
- package/docs/FULL-README.md +1 -1
- package/docs/LOCAL_PLUGIN_INSTALL.md +1 -1
- package/docs/MIGRATION.md +298 -104
- package/package.json +2 -2
- package/scripts/test-mutual-exclusion.ts +1 -1
- package/skills/analyze/SKILL.md +0 -1
- package/skills/autopilot/SKILL.md +0 -1
- package/skills/cancel/SKILL.md +580 -0
- package/skills/cancel-autopilot/SKILL.md +0 -1
- package/skills/cancel-ecomode/SKILL.md +41 -0
- package/skills/cancel-ralph/SKILL.md +0 -1
- package/skills/cancel-ultraqa/SKILL.md +0 -1
- package/skills/cancel-ultrawork/SKILL.md +0 -1
- package/skills/deepinit/SKILL.md +0 -1
- package/skills/deepsearch/SKILL.md +0 -1
- package/skills/doctor/SKILL.md +0 -1
- package/skills/ecomode/SKILL.md +128 -0
- package/skills/frontend-ui-ux/SKILL.md +0 -1
- package/skills/git-master/SKILL.md +0 -1
- package/skills/help/SKILL.md +1 -2
- package/skills/hud/SKILL.md +0 -1
- package/skills/learner/SKILL.md +0 -1
- package/skills/mcp-setup/SKILL.md +8 -7
- package/skills/note/SKILL.md +0 -1
- package/skills/omc-default/SKILL.md +0 -1
- package/skills/omc-default-global/SKILL.md +0 -1
- package/skills/omc-setup/SKILL.md +176 -10
- package/skills/orchestrate/SKILL.md +0 -1
- package/skills/pipeline/SKILL.md +417 -0
- package/skills/plan/SKILL.md +138 -21
- package/skills/planner/SKILL.md +0 -1
- package/skills/ralph/SKILL.md +65 -1
- package/skills/ralph-init/SKILL.md +0 -1
- package/skills/ralplan/SKILL.md +0 -1
- package/skills/release/SKILL.md +0 -1
- package/skills/research/SKILL.md +0 -1
- package/skills/review/SKILL.md +0 -1
- package/skills/swarm/SKILL.md +349 -0
- package/skills/tdd/SKILL.md +0 -1
- package/skills/ultrapilot/SKILL.md +563 -0
- package/skills/ultraqa/SKILL.md +0 -1
- package/skills/ultrawork/SKILL.md +0 -1
- package/docs/MIGRATION-v3.md +0 -186
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ecomode
|
|
3
|
+
description: Token-efficient parallel execution mode using Haiku and Sonnet agents
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ecomode Skill
|
|
7
|
+
|
|
8
|
+
Activates token-efficient parallel execution for pro-plan users who prioritize cost efficiency.
|
|
9
|
+
|
|
10
|
+
## When Activated
|
|
11
|
+
|
|
12
|
+
This skill enhances Claude's capabilities by:
|
|
13
|
+
|
|
14
|
+
1. **Parallel Execution**: Running multiple agents simultaneously for independent tasks
|
|
15
|
+
2. **Token-Conscious Routing**: Preferring Haiku and Sonnet agents, avoiding Opus
|
|
16
|
+
3. **Background Operations**: Using `run_in_background: true` for long operations
|
|
17
|
+
4. **Persistence Enforcement**: Never stopping until all tasks are verified complete
|
|
18
|
+
5. **Cost Optimization**: Minimizing token usage while maintaining quality
|
|
19
|
+
|
|
20
|
+
## Ecomode Routing Rules (CRITICAL)
|
|
21
|
+
|
|
22
|
+
**ALWAYS prefer lower tiers. Only escalate when task genuinely requires it.**
|
|
23
|
+
|
|
24
|
+
| Decision | Rule |
|
|
25
|
+
|----------|------|
|
|
26
|
+
| DEFAULT | Use LOW tier (Haiku) for all tasks |
|
|
27
|
+
| UPGRADE | Use MEDIUM (Sonnet) only when task complexity warrants |
|
|
28
|
+
| AVOID | HIGH tier (Opus) - only use for planning/critique if explicitly essential |
|
|
29
|
+
|
|
30
|
+
## Smart Model Routing (PREFER LOW TIER)
|
|
31
|
+
|
|
32
|
+
**Choose tier based on task complexity: LOW (haiku) preferred → MEDIUM (sonnet) fallback → HIGH (opus) AVOID**
|
|
33
|
+
|
|
34
|
+
### Agent Routing Table
|
|
35
|
+
|
|
36
|
+
| Domain | PREFERRED (Haiku) | FALLBACK (Sonnet) | AVOID (Opus) |
|
|
37
|
+
|--------|-------------------|-------------------|--------------|
|
|
38
|
+
| **Analysis** | `architect-low` | `architect-medium` | ~~`architect`~~ |
|
|
39
|
+
| **Execution** | `executor-low` | `executor` | ~~`executor-high`~~ |
|
|
40
|
+
| **Search** | `explore` | `explore-medium` | ~~`explore-high`~~ |
|
|
41
|
+
| **Research** | `researcher-low` | `researcher` | - |
|
|
42
|
+
| **Frontend** | `designer-low` | `designer` | ~~`designer-high`~~ |
|
|
43
|
+
| **Docs** | `writer` | - | - |
|
|
44
|
+
| **Visual** | - | `vision` | - |
|
|
45
|
+
| **Planning** | - | - | `planner` (if essential) |
|
|
46
|
+
| **Critique** | - | - | `critic` (if essential) |
|
|
47
|
+
| **Testing** | - | `qa-tester` | ~~`qa-tester-high`~~ |
|
|
48
|
+
| **Security** | `security-reviewer-low` | - | ~~`security-reviewer`~~ |
|
|
49
|
+
| **Build** | `build-fixer-low` | `build-fixer` | - |
|
|
50
|
+
| **TDD** | `tdd-guide-low` | `tdd-guide` | - |
|
|
51
|
+
| **Code Review** | `code-reviewer-low` | - | ~~`code-reviewer`~~ |
|
|
52
|
+
| **Data Science** | `scientist-low` | `scientist` | ~~`scientist-high`~~ |
|
|
53
|
+
|
|
54
|
+
### Tier Selection Guide (Token-Conscious)
|
|
55
|
+
|
|
56
|
+
| Task Complexity | Tier | Examples |
|
|
57
|
+
|-----------------|------|----------|
|
|
58
|
+
| Simple lookups | LOW | "What does this function return?", "Find where X is defined" |
|
|
59
|
+
| Standard work | LOW first, MEDIUM if fails | "Add error handling", "Implement this feature" |
|
|
60
|
+
| Complex analysis | MEDIUM | "Debug this issue", "Refactor this module" |
|
|
61
|
+
| Planning only | HIGH (if essential) | "Design architecture for new system" |
|
|
62
|
+
|
|
63
|
+
### Routing Examples
|
|
64
|
+
|
|
65
|
+
**CRITICAL: Always pass `model` parameter explicitly - Claude Code does NOT auto-apply models from agent definitions!**
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
// Simple question → LOW tier (DEFAULT)
|
|
69
|
+
Task(subagent_type="oh-my-claudecode:architect-low", model="haiku", prompt="What does this function return?")
|
|
70
|
+
|
|
71
|
+
// Standard implementation → TRY LOW first
|
|
72
|
+
Task(subagent_type="oh-my-claudecode:executor-low", model="haiku", prompt="Add validation to login form")
|
|
73
|
+
|
|
74
|
+
// If LOW fails, escalate to MEDIUM
|
|
75
|
+
Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="Add error handling to login")
|
|
76
|
+
|
|
77
|
+
// File lookup → ALWAYS LOW
|
|
78
|
+
Task(subagent_type="oh-my-claudecode:explore", model="haiku", prompt="Find where UserService is defined")
|
|
79
|
+
|
|
80
|
+
// Only use MEDIUM for complex patterns
|
|
81
|
+
Task(subagent_type="oh-my-claudecode:explore-medium", model="sonnet", prompt="Find all authentication patterns in the codebase")
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## DELEGATION ENFORCEMENT (CRITICAL)
|
|
85
|
+
|
|
86
|
+
**YOU ARE AN ORCHESTRATOR, NOT AN IMPLEMENTER.**
|
|
87
|
+
|
|
88
|
+
| Action | YOU Do | DELEGATE |
|
|
89
|
+
|--------|--------|----------|
|
|
90
|
+
| Read files for context | ✓ | |
|
|
91
|
+
| Track progress (TODO) | ✓ | |
|
|
92
|
+
| Spawn parallel agents | ✓ | |
|
|
93
|
+
| **ANY code change** | ✗ NEVER | executor-low/executor |
|
|
94
|
+
| **UI work** | ✗ NEVER | designer-low/designer |
|
|
95
|
+
| **Docs** | ✗ NEVER | writer |
|
|
96
|
+
|
|
97
|
+
**Path Exception**: Only write to `.omc/`, `.claude/`, `CLAUDE.md`, `AGENTS.md`
|
|
98
|
+
|
|
99
|
+
## Background Execution Rules
|
|
100
|
+
|
|
101
|
+
**Run in Background** (set `run_in_background: true`):
|
|
102
|
+
- Package installation: npm install, pip install, cargo build
|
|
103
|
+
- Build processes: npm run build, make, tsc
|
|
104
|
+
- Test suites: npm test, pytest, cargo test
|
|
105
|
+
- Docker operations: docker build, docker pull
|
|
106
|
+
|
|
107
|
+
**Run Blocking** (foreground):
|
|
108
|
+
- Quick status checks: git status, ls, pwd
|
|
109
|
+
- File reads (NOT edits - delegate edits to executor-low)
|
|
110
|
+
- Simple commands
|
|
111
|
+
|
|
112
|
+
## Verification Checklist
|
|
113
|
+
|
|
114
|
+
Before stopping, verify:
|
|
115
|
+
- [ ] TODO LIST: Zero pending/in_progress tasks
|
|
116
|
+
- [ ] FUNCTIONALITY: All requested features work
|
|
117
|
+
- [ ] TESTS: All tests pass (if applicable)
|
|
118
|
+
- [ ] ERRORS: Zero unaddressed errors
|
|
119
|
+
|
|
120
|
+
**If ANY checkbox is unchecked, CONTINUE WORKING.**
|
|
121
|
+
|
|
122
|
+
## Token Savings Tips
|
|
123
|
+
|
|
124
|
+
1. **Batch similar tasks** to one agent instead of spawning many
|
|
125
|
+
2. **Use explore (haiku)** for file discovery, not architect
|
|
126
|
+
3. **Prefer executor-low** for simple changes - only upgrade if it fails
|
|
127
|
+
4. **Avoid opus agents** unless the task genuinely requires deep reasoning
|
|
128
|
+
5. **Use writer (haiku)** for all documentation tasks
|
package/skills/help/SKILL.md
CHANGED
package/skills/hud/SKILL.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: hud
|
|
3
3
|
description: Configure HUD display options (layout, presets, display elements)
|
|
4
|
-
user-invocable: true
|
|
5
4
|
role: config-writer # DOCUMENTATION ONLY - This skill writes to ~/.claude/ paths
|
|
6
5
|
scope: ~/.claude/** # DOCUMENTATION ONLY - Allowed write scope
|
|
7
6
|
---
|
package/skills/learner/SKILL.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mcp-setup
|
|
3
3
|
description: Configure popular MCP servers for enhanced agent capabilities
|
|
4
|
-
user-invocable: true
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# MCP Setup
|
|
@@ -66,7 +65,7 @@ Read the current `~/.claude/settings.json` and add/update the `mcpServers` secti
|
|
|
66
65
|
"mcpServers": {
|
|
67
66
|
"context7": {
|
|
68
67
|
"command": "npx",
|
|
69
|
-
"args": ["-y", "@context7
|
|
68
|
+
"args": ["-y", "@upstash/context7-mcp"]
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
71
|
}
|
|
@@ -78,7 +77,7 @@ Read the current `~/.claude/settings.json` and add/update the `mcpServers` secti
|
|
|
78
77
|
"mcpServers": {
|
|
79
78
|
"exa": {
|
|
80
79
|
"command": "npx",
|
|
81
|
-
"args": ["-y", "
|
|
80
|
+
"args": ["-y", "exa-mcp-server"],
|
|
82
81
|
"env": {
|
|
83
82
|
"EXA_API_KEY": "<user-provided-key>"
|
|
84
83
|
}
|
|
@@ -93,7 +92,7 @@ Read the current `~/.claude/settings.json` and add/update the `mcpServers` secti
|
|
|
93
92
|
"mcpServers": {
|
|
94
93
|
"filesystem": {
|
|
95
94
|
"command": "npx",
|
|
96
|
-
"args": ["-y", "@
|
|
95
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "<allowed-directories>"]
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
}
|
|
@@ -104,16 +103,18 @@ Read the current `~/.claude/settings.json` and add/update the `mcpServers` secti
|
|
|
104
103
|
{
|
|
105
104
|
"mcpServers": {
|
|
106
105
|
"github": {
|
|
107
|
-
"command": "
|
|
108
|
-
"args": ["-
|
|
106
|
+
"command": "docker",
|
|
107
|
+
"args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
|
|
109
108
|
"env": {
|
|
110
|
-
"
|
|
109
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "<user-provided-token>"
|
|
111
110
|
}
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
113
|
}
|
|
115
114
|
```
|
|
116
115
|
|
|
116
|
+
> Note: GitHub MCP requires Docker. Alternatively, configure as a remote URL: https://api.githubcopilot.com/mcp/
|
|
117
|
+
|
|
117
118
|
## Step 4: Merge Configuration
|
|
118
119
|
|
|
119
120
|
When updating settings.json:
|
package/skills/note/SKILL.md
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: omc-setup
|
|
3
|
-
description:
|
|
4
|
-
user-invocable: true
|
|
3
|
+
description: Setup and configure oh-my-claudecode (the ONLY command you need to learn)
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# OMC Setup
|
|
8
7
|
|
|
9
8
|
This is the **only command you need to learn**. After running this, everything else is automatic.
|
|
10
9
|
|
|
11
|
-
##
|
|
10
|
+
## Usage Modes
|
|
11
|
+
|
|
12
|
+
This skill handles three scenarios:
|
|
13
|
+
|
|
14
|
+
1. **Initial Setup (no flags)**: First-time installation wizard
|
|
15
|
+
2. **Local Configuration (`--local`)**: Configure project-specific settings (.claude/CLAUDE.md)
|
|
16
|
+
3. **Global Configuration (`--global`)**: Configure global settings (~/.claude/CLAUDE.md)
|
|
17
|
+
|
|
18
|
+
## Mode Detection
|
|
19
|
+
|
|
20
|
+
Check for flags in the user's invocation:
|
|
21
|
+
- If `--local` flag present → Skip to Local Configuration (Step 2A)
|
|
22
|
+
- If `--global` flag present → Skip to Global Configuration (Step 2B)
|
|
23
|
+
- If no flags → Run Initial Setup wizard (Step 1)
|
|
24
|
+
|
|
25
|
+
## Step 1: Initial Setup Wizard (Default Behavior)
|
|
12
26
|
|
|
13
27
|
Use the AskUserQuestion tool to prompt the user:
|
|
14
28
|
|
|
@@ -18,14 +32,20 @@ Use the AskUserQuestion tool to prompt the user:
|
|
|
18
32
|
1. **Local (this project)** - Creates `.claude/CLAUDE.md` in current project directory. Best for project-specific configurations.
|
|
19
33
|
2. **Global (all projects)** - Creates `~/.claude/CLAUDE.md` for all Claude Code sessions. Best for consistent behavior everywhere.
|
|
20
34
|
|
|
21
|
-
## Step
|
|
35
|
+
## Step 2A: Local Configuration (--local flag or user chose LOCAL)
|
|
36
|
+
|
|
37
|
+
**CRITICAL**: This ALWAYS downloads fresh CLAUDE.md from GitHub to the local project. DO NOT use the Write tool - use bash curl exclusively.
|
|
22
38
|
|
|
23
|
-
###
|
|
39
|
+
### Create Local .claude Directory
|
|
24
40
|
|
|
25
41
|
```bash
|
|
26
42
|
# Create .claude directory in current project
|
|
27
|
-
mkdir -p .claude
|
|
43
|
+
mkdir -p .claude && echo ".claude directory ready"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Download Fresh CLAUDE.md
|
|
28
47
|
|
|
48
|
+
```bash
|
|
29
49
|
# Extract old version before download
|
|
30
50
|
OLD_VERSION=$(grep -m1 "^# oh-my-claudecode" .claude/CLAUDE.md 2>/dev/null | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' || echo "none")
|
|
31
51
|
|
|
@@ -44,7 +64,40 @@ else
|
|
|
44
64
|
fi
|
|
45
65
|
```
|
|
46
66
|
|
|
47
|
-
|
|
67
|
+
**Note**: The downloaded CLAUDE.md includes Context Persistence instructions with `<remember>` tags for surviving conversation compaction.
|
|
68
|
+
|
|
69
|
+
**MANDATORY**: Always run this command. Do NOT skip. Do NOT use Write tool.
|
|
70
|
+
|
|
71
|
+
**FALLBACK** if curl fails:
|
|
72
|
+
Tell user to manually download from:
|
|
73
|
+
https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claudecode/main/docs/CLAUDE.md
|
|
74
|
+
|
|
75
|
+
### Verify Plugin Installation
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
grep -q "oh-my-claudecode" ~/.claude/settings.json && echo "Plugin verified" || echo "Plugin NOT found - run: claude /install-plugin oh-my-claudecode"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Confirm Local Configuration Success
|
|
82
|
+
|
|
83
|
+
After completing local configuration, report:
|
|
84
|
+
|
|
85
|
+
**OMC Project Configuration Complete**
|
|
86
|
+
- CLAUDE.md: Updated with latest configuration from GitHub at ./.claude/CLAUDE.md
|
|
87
|
+
- Scope: **PROJECT** - applies only to this project
|
|
88
|
+
- Hooks: Provided by plugin (no manual installation needed)
|
|
89
|
+
- Agents: 28+ available (base + tiered variants)
|
|
90
|
+
- Model routing: Haiku/Sonnet/Opus based on task complexity
|
|
91
|
+
|
|
92
|
+
**Note**: This configuration is project-specific and won't affect other projects or global settings.
|
|
93
|
+
|
|
94
|
+
If `--local` flag was used, **STOP HERE**. Do not continue to HUD setup or other steps.
|
|
95
|
+
|
|
96
|
+
## Step 2B: Global Configuration (--global flag or user chose GLOBAL)
|
|
97
|
+
|
|
98
|
+
**CRITICAL**: This ALWAYS downloads fresh CLAUDE.md from GitHub to global config. DO NOT use the Write tool - use bash curl exclusively.
|
|
99
|
+
|
|
100
|
+
### Download Fresh CLAUDE.md
|
|
48
101
|
|
|
49
102
|
```bash
|
|
50
103
|
# Extract old version before download
|
|
@@ -65,6 +118,44 @@ else
|
|
|
65
118
|
fi
|
|
66
119
|
```
|
|
67
120
|
|
|
121
|
+
### Clean Up Legacy Hooks (if present)
|
|
122
|
+
|
|
123
|
+
Check if old manual hooks exist and remove them to prevent duplicates:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Remove legacy bash hook scripts (now handled by plugin system)
|
|
127
|
+
rm -f ~/.claude/hooks/keyword-detector.sh
|
|
128
|
+
rm -f ~/.claude/hooks/stop-continuation.sh
|
|
129
|
+
rm -f ~/.claude/hooks/persistent-mode.sh
|
|
130
|
+
rm -f ~/.claude/hooks/session-start.sh
|
|
131
|
+
echo "Legacy hooks cleaned"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Check `~/.claude/settings.json` for manual hook entries. If the "hooks" key exists with UserPromptSubmit, Stop, or SessionStart entries pointing to bash scripts, inform the user:
|
|
135
|
+
|
|
136
|
+
> **Note**: Found legacy hooks in settings.json. These should be removed since the plugin now provides hooks automatically. Remove the "hooks" section from ~/.claude/settings.json to prevent duplicate hook execution.
|
|
137
|
+
|
|
138
|
+
### Verify Plugin Installation
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
grep -q "oh-my-claudecode" ~/.claude/settings.json && echo "Plugin verified" || echo "Plugin NOT found - run: claude /install-plugin oh-my-claudecode"
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Confirm Global Configuration Success
|
|
145
|
+
|
|
146
|
+
After completing global configuration, report:
|
|
147
|
+
|
|
148
|
+
**OMC Global Configuration Complete**
|
|
149
|
+
- CLAUDE.md: Updated with latest configuration from GitHub at ~/.claude/CLAUDE.md
|
|
150
|
+
- Scope: **GLOBAL** - applies to all Claude Code sessions
|
|
151
|
+
- Hooks: Provided by plugin (no manual installation needed)
|
|
152
|
+
- Agents: 28+ available (base + tiered variants)
|
|
153
|
+
- Model routing: Haiku/Sonnet/Opus based on task complexity
|
|
154
|
+
|
|
155
|
+
**Note**: Hooks are now managed by the plugin system automatically. No manual hook installation required.
|
|
156
|
+
|
|
157
|
+
If `--global` flag was used, **STOP HERE**. Do not continue to HUD setup or other steps.
|
|
158
|
+
|
|
68
159
|
## Step 3: Setup HUD Statusline
|
|
69
160
|
|
|
70
161
|
The HUD shows real-time status in Claude Code's status bar. **Invoke the hud skill** to set up and configure:
|
|
@@ -145,6 +236,36 @@ elif [ -n "$LATEST_VERSION" ]; then
|
|
|
145
236
|
fi
|
|
146
237
|
```
|
|
147
238
|
|
|
239
|
+
## Step 3.7: Set Default Execution Mode
|
|
240
|
+
|
|
241
|
+
Use the AskUserQuestion tool to prompt the user:
|
|
242
|
+
|
|
243
|
+
**Question:** "Which parallel execution mode should be your default when you say 'fast' or 'parallel'?"
|
|
244
|
+
|
|
245
|
+
**Options:**
|
|
246
|
+
1. **ultrawork (maximum capability)** - Uses all agent tiers including Opus for complex tasks. Best for challenging work where quality matters most. (Recommended)
|
|
247
|
+
2. **ecomode (token efficient)** - Prefers Haiku/Sonnet agents, avoids Opus. Best for pro-plan users who want cost efficiency.
|
|
248
|
+
|
|
249
|
+
Store the preference in `~/.claude/.omc-config.json`:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# Read existing config or create empty object
|
|
253
|
+
CONFIG_FILE="$HOME/.claude/.omc-config.json"
|
|
254
|
+
mkdir -p "$(dirname "$CONFIG_FILE")"
|
|
255
|
+
|
|
256
|
+
if [ -f "$CONFIG_FILE" ]; then
|
|
257
|
+
EXISTING=$(cat "$CONFIG_FILE")
|
|
258
|
+
else
|
|
259
|
+
EXISTING='{}'
|
|
260
|
+
fi
|
|
261
|
+
|
|
262
|
+
# Set defaultExecutionMode (replace USER_CHOICE with "ultrawork" or "ecomode")
|
|
263
|
+
echo "$EXISTING" | jq --arg mode "USER_CHOICE" '. + {defaultExecutionMode: $mode, configuredAt: (now | todate)}' > "$CONFIG_FILE"
|
|
264
|
+
echo "Default execution mode set to: USER_CHOICE"
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**Note**: This preference ONLY affects generic keywords ("fast", "parallel"). Explicit keywords ("ulw", "eco") always override this preference.
|
|
268
|
+
|
|
148
269
|
## Step 4: Verify Plugin Installation
|
|
149
270
|
|
|
150
271
|
```bash
|
|
@@ -197,6 +318,7 @@ Just include these words naturally in your request:
|
|
|
197
318
|
| ralph | Persistence mode | "ralph: fix the auth bug" |
|
|
198
319
|
| ralplan | Iterative planning | "ralplan this feature" |
|
|
199
320
|
| ulw | Max parallelism | "ulw refactor the API" |
|
|
321
|
+
| eco | Token-efficient mode | "eco refactor the API" |
|
|
200
322
|
| plan | Planning interview | "plan the new endpoints" |
|
|
201
323
|
|
|
202
324
|
Combine them: "ralph ulw: migrate the database"
|
|
@@ -231,6 +353,7 @@ MAGIC KEYWORDS (power-user shortcuts):
|
|
|
231
353
|
| ralph | /ralph | "ralph: fix the bug" |
|
|
232
354
|
| ralplan | /ralplan | "ralplan this feature" |
|
|
233
355
|
| ulw | /ultrawork | "ulw refactor API" |
|
|
356
|
+
| eco | (new!) | "eco fix all errors" |
|
|
234
357
|
| plan | /planner | "plan the endpoints" |
|
|
235
358
|
|
|
236
359
|
HUD STATUSLINE:
|
|
@@ -275,7 +398,50 @@ echo " https://github.com/Yeachan-Heo/oh-my-claudecode"
|
|
|
275
398
|
echo ""
|
|
276
399
|
```
|
|
277
400
|
|
|
278
|
-
##
|
|
401
|
+
## Keeping Up to Date
|
|
279
402
|
|
|
280
|
-
|
|
281
|
-
|
|
403
|
+
After installing oh-my-claudecode updates (via npm or plugin update), run:
|
|
404
|
+
- `/oh-my-claudecode:omc-setup --local` to update project config
|
|
405
|
+
- `/oh-my-claudecode:omc-setup --global` to update global config
|
|
406
|
+
|
|
407
|
+
This ensures you have the newest features and agent configurations.
|
|
408
|
+
|
|
409
|
+
## Help Text
|
|
410
|
+
|
|
411
|
+
When user runs `/oh-my-claudecode:omc-setup --help` or just `--help`, display:
|
|
412
|
+
|
|
413
|
+
```
|
|
414
|
+
OMC Setup - Configure oh-my-claudecode
|
|
415
|
+
|
|
416
|
+
USAGE:
|
|
417
|
+
/oh-my-claudecode:omc-setup Run initial setup wizard
|
|
418
|
+
/oh-my-claudecode:omc-setup --local Configure local project (.claude/CLAUDE.md)
|
|
419
|
+
/oh-my-claudecode:omc-setup --global Configure global settings (~/.claude/CLAUDE.md)
|
|
420
|
+
/oh-my-claudecode:omc-setup --help Show this help
|
|
421
|
+
|
|
422
|
+
MODES:
|
|
423
|
+
Initial Setup (no flags)
|
|
424
|
+
- Interactive wizard for first-time setup
|
|
425
|
+
- Configures CLAUDE.md (local or global)
|
|
426
|
+
- Sets up HUD statusline
|
|
427
|
+
- Checks for updates
|
|
428
|
+
- Offers MCP server configuration
|
|
429
|
+
|
|
430
|
+
Local Configuration (--local)
|
|
431
|
+
- Downloads fresh CLAUDE.md to ./.claude/
|
|
432
|
+
- Project-specific settings
|
|
433
|
+
- Use this to update project config after OMC upgrades
|
|
434
|
+
|
|
435
|
+
Global Configuration (--global)
|
|
436
|
+
- Downloads fresh CLAUDE.md to ~/.claude/
|
|
437
|
+
- Applies to all Claude Code sessions
|
|
438
|
+
- Cleans up legacy hooks
|
|
439
|
+
- Use this to update global config after OMC upgrades
|
|
440
|
+
|
|
441
|
+
EXAMPLES:
|
|
442
|
+
/oh-my-claudecode:omc-setup # First time setup
|
|
443
|
+
/oh-my-claudecode:omc-setup --local # Update this project
|
|
444
|
+
/oh-my-claudecode:omc-setup --global # Update all projects
|
|
445
|
+
|
|
446
|
+
For more info: https://github.com/Yeachan-Heo/oh-my-claudecode
|
|
447
|
+
```
|