oh-my-claude-sisyphus 3.0.11 → 3.2.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 +26 -2
- package/agents/build-fixer-low.md +83 -0
- package/agents/build-fixer.md +160 -0
- package/agents/code-reviewer-low.md +82 -0
- package/agents/code-reviewer.md +115 -0
- package/agents/planner.md +83 -0
- package/agents/security-reviewer-low.md +83 -0
- package/agents/security-reviewer.md +186 -0
- package/agents/tdd-guide-low.md +81 -0
- package/agents/tdd-guide.md +165 -0
- package/commands/autopilot.md +131 -0
- package/commands/build-fix.md +55 -0
- package/commands/cancel-autopilot.md +35 -0
- package/commands/code-review.md +47 -0
- package/commands/ralph.md +9 -0
- package/commands/security-review.md +47 -0
- package/commands/tdd.md +54 -0
- package/dist/__tests__/hud-agents.test.js +13 -10
- package/dist/__tests__/hud-agents.test.js.map +1 -1
- package/dist/__tests__/installer.test.js +1 -1
- package/dist/__tests__/skills.test.js +8 -4
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/agents/definitions.d.ts +32 -0
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +93 -1
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/delegation-validator.d.ts +31 -0
- package/dist/agents/delegation-validator.d.ts.map +1 -0
- package/dist/agents/delegation-validator.js +75 -0
- package/dist/agents/delegation-validator.js.map +1 -0
- package/dist/agents/prompt-generator.d.ts +95 -0
- package/dist/agents/prompt-generator.d.ts.map +1 -0
- package/dist/agents/prompt-generator.js +140 -0
- package/dist/agents/prompt-generator.js.map +1 -0
- package/dist/agents/prompt-sections/index.d.ts +44 -0
- package/dist/agents/prompt-sections/index.d.ts.map +1 -0
- package/dist/agents/prompt-sections/index.js +194 -0
- package/dist/agents/prompt-sections/index.js.map +1 -0
- 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/features/background-agent/manager.d.ts +10 -1
- package/dist/features/background-agent/manager.d.ts.map +1 -1
- package/dist/features/background-agent/manager.js +79 -11
- package/dist/features/background-agent/manager.js.map +1 -1
- package/dist/features/background-agent/types.d.ts +30 -1
- package/dist/features/background-agent/types.d.ts.map +1 -1
- package/dist/features/delegation-categories/index.d.ts +116 -0
- package/dist/features/delegation-categories/index.d.ts.map +1 -0
- package/dist/features/delegation-categories/index.js +287 -0
- package/dist/features/delegation-categories/index.js.map +1 -0
- package/dist/features/delegation-categories/test-categories.d.ts +7 -0
- package/dist/features/delegation-categories/test-categories.d.ts.map +1 -0
- package/dist/features/delegation-categories/test-categories.js +88 -0
- package/dist/features/delegation-categories/test-categories.js.map +1 -0
- package/dist/features/delegation-categories/types.d.ts +51 -0
- package/dist/features/delegation-categories/types.d.ts.map +1 -0
- package/dist/features/delegation-categories/types.js +8 -0
- package/dist/features/delegation-categories/types.js.map +1 -0
- package/dist/features/index.d.ts +2 -0
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +10 -0
- package/dist/features/index.js.map +1 -1
- package/dist/features/model-routing/prompts/index.d.ts +2 -0
- package/dist/features/model-routing/prompts/index.d.ts.map +1 -1
- package/dist/features/model-routing/prompts/index.js +6 -0
- package/dist/features/model-routing/prompts/index.js.map +1 -1
- package/dist/features/notepad-wisdom/extractor.d.ts +30 -0
- package/dist/features/notepad-wisdom/extractor.d.ts.map +1 -0
- package/dist/features/notepad-wisdom/extractor.js +68 -0
- package/dist/features/notepad-wisdom/extractor.js.map +1 -0
- package/dist/features/notepad-wisdom/index.d.ts +39 -0
- package/dist/features/notepad-wisdom/index.d.ts.map +1 -0
- package/dist/features/notepad-wisdom/index.js +169 -0
- package/dist/features/notepad-wisdom/index.js.map +1 -0
- package/dist/features/notepad-wisdom/types.d.ts +18 -0
- package/dist/features/notepad-wisdom/types.d.ts.map +1 -0
- package/dist/features/notepad-wisdom/types.js +7 -0
- package/dist/features/notepad-wisdom/types.js.map +1 -0
- package/dist/hooks/autopilot/__tests__/cancel.test.d.ts +2 -0
- package/dist/hooks/autopilot/__tests__/cancel.test.d.ts.map +1 -0
- package/dist/hooks/autopilot/__tests__/cancel.test.js +397 -0
- package/dist/hooks/autopilot/__tests__/cancel.test.js.map +1 -0
- package/dist/hooks/autopilot/__tests__/prompts.test.d.ts +2 -0
- package/dist/hooks/autopilot/__tests__/prompts.test.d.ts.map +1 -0
- package/dist/hooks/autopilot/__tests__/prompts.test.js +74 -0
- package/dist/hooks/autopilot/__tests__/prompts.test.js.map +1 -0
- package/dist/hooks/autopilot/__tests__/state.test.d.ts +2 -0
- package/dist/hooks/autopilot/__tests__/state.test.d.ts.map +1 -0
- package/dist/hooks/autopilot/__tests__/state.test.js +75 -0
- package/dist/hooks/autopilot/__tests__/state.test.js.map +1 -0
- package/dist/hooks/autopilot/__tests__/summary.test.d.ts +2 -0
- package/dist/hooks/autopilot/__tests__/summary.test.d.ts.map +1 -0
- package/dist/hooks/autopilot/__tests__/summary.test.js +289 -0
- package/dist/hooks/autopilot/__tests__/summary.test.js.map +1 -0
- package/dist/hooks/autopilot/__tests__/transition.test.d.ts +2 -0
- package/dist/hooks/autopilot/__tests__/transition.test.d.ts.map +1 -0
- package/dist/hooks/autopilot/__tests__/transition.test.js +59 -0
- package/dist/hooks/autopilot/__tests__/transition.test.js.map +1 -0
- package/dist/hooks/autopilot/__tests__/validation.test.d.ts +2 -0
- package/dist/hooks/autopilot/__tests__/validation.test.d.ts.map +1 -0
- package/dist/hooks/autopilot/__tests__/validation.test.js +450 -0
- package/dist/hooks/autopilot/__tests__/validation.test.js.map +1 -0
- package/dist/hooks/autopilot/cancel.d.ts +42 -0
- package/dist/hooks/autopilot/cancel.d.ts.map +1 -0
- package/dist/hooks/autopilot/cancel.js +156 -0
- package/dist/hooks/autopilot/cancel.js.map +1 -0
- package/dist/hooks/autopilot/index.d.ts +15 -0
- package/dist/hooks/autopilot/index.d.ts.map +1 -0
- package/dist/hooks/autopilot/index.js +20 -0
- package/dist/hooks/autopilot/index.js.map +1 -0
- package/dist/hooks/autopilot/prompts.d.ts +37 -0
- package/dist/hooks/autopilot/prompts.d.ts.map +1 -0
- package/dist/hooks/autopilot/prompts.js +353 -0
- package/dist/hooks/autopilot/prompts.js.map +1 -0
- package/dist/hooks/autopilot/state.d.ts +67 -0
- package/dist/hooks/autopilot/state.d.ts.map +1 -0
- package/dist/hooks/autopilot/state.js +244 -0
- package/dist/hooks/autopilot/state.js.map +1 -0
- package/dist/hooks/autopilot/summary.d.ts +27 -0
- package/dist/hooks/autopilot/summary.d.ts.map +1 -0
- package/dist/hooks/autopilot/summary.js +160 -0
- package/dist/hooks/autopilot/summary.js.map +1 -0
- package/dist/hooks/autopilot/transition.d.ts +39 -0
- package/dist/hooks/autopilot/transition.d.ts.map +1 -0
- package/dist/hooks/autopilot/transition.js +216 -0
- package/dist/hooks/autopilot/transition.js.map +1 -0
- package/dist/hooks/autopilot/types.d.ts +211 -0
- package/dist/hooks/autopilot/types.d.ts.map +1 -0
- package/dist/hooks/autopilot/types.js +30 -0
- package/dist/hooks/autopilot/types.js.map +1 -0
- package/dist/hooks/autopilot/validation.d.ts +43 -0
- package/dist/hooks/autopilot/validation.d.ts.map +1 -0
- package/dist/hooks/autopilot/validation.js +191 -0
- package/dist/hooks/autopilot/validation.js.map +1 -0
- package/dist/hooks/bridge.d.ts +1 -1
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +79 -6
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/keyword-detector/index.d.ts +1 -1
- package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
- package/dist/hooks/keyword-detector/index.js +39 -2
- package/dist/hooks/keyword-detector/index.js.map +1 -1
- package/dist/hooks/persistent-mode/index.d.ts +2 -1
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +13 -3
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/ralph-loop/index.d.ts +0 -20
- package/dist/hooks/ralph-loop/index.d.ts.map +1 -1
- package/dist/hooks/ralph-loop/index.js +6 -40
- package/dist/hooks/ralph-loop/index.js.map +1 -1
- package/dist/hooks/todo-continuation/index.d.ts +31 -1
- package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
- package/dist/hooks/todo-continuation/index.js +38 -1
- package/dist/hooks/todo-continuation/index.js.map +1 -1
- package/dist/hooks/ultrawork-state/index.d.ts +3 -1
- package/dist/hooks/ultrawork-state/index.d.ts.map +1 -1
- package/dist/hooks/ultrawork-state/index.js +3 -2
- package/dist/hooks/ultrawork-state/index.js.map +1 -1
- package/dist/hud/elements/autopilot.d.ts +29 -0
- package/dist/hud/elements/autopilot.d.ts.map +1 -0
- package/dist/hud/elements/autopilot.js +97 -0
- package/dist/hud/elements/autopilot.js.map +1 -0
- package/dist/hud/elements/index.d.ts +1 -0
- package/dist/hud/elements/index.d.ts.map +1 -1
- package/dist/hud/elements/index.js +1 -0
- package/dist/hud/elements/index.js.map +1 -1
- package/dist/hud/elements/limits.d.ts +1 -1
- package/dist/hud/elements/limits.d.ts.map +1 -1
- package/dist/hud/elements/limits.js +35 -2
- package/dist/hud/elements/limits.js.map +1 -1
- package/dist/hud/elements/todos.d.ts +1 -1
- package/dist/hud/elements/todos.js +3 -3
- package/dist/hud/elements/todos.js.map +1 -1
- package/dist/hud/render.js +6 -6
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/types.d.ts +4 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js.map +1 -1
- package/dist/hud/usage-api.d.ts.map +1 -1
- package/dist/hud/usage-api.js +32 -6
- package/dist/hud/usage-api.js.map +1 -1
- package/dist/installer/hooks.d.ts +5 -0
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +20 -0
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.js +2 -2
- package/dist/installer/index.js.map +1 -1
- package/dist/tools/diagnostics/index.d.ts +29 -0
- package/dist/tools/diagnostics/index.d.ts.map +1 -0
- package/dist/tools/diagnostics/index.js +118 -0
- package/dist/tools/diagnostics/index.js.map +1 -0
- package/dist/tools/diagnostics/lsp-aggregator.d.ts +26 -0
- package/dist/tools/diagnostics/lsp-aggregator.d.ts.map +1 -0
- package/dist/tools/diagnostics/lsp-aggregator.js +99 -0
- package/dist/tools/diagnostics/lsp-aggregator.js.map +1 -0
- package/dist/tools/diagnostics/tsc-runner.d.ts +26 -0
- package/dist/tools/diagnostics/tsc-runner.d.ts.map +1 -0
- package/dist/tools/diagnostics/tsc-runner.js +70 -0
- package/dist/tools/diagnostics/tsc-runner.js.map +1 -0
- package/dist/tools/lsp-tools.d.ts +10 -0
- package/dist/tools/lsp-tools.d.ts.map +1 -1
- package/dist/tools/lsp-tools.js +43 -1
- package/dist/tools/lsp-tools.js.map +1 -1
- package/dist/tools/resume-session.d.ts +63 -0
- package/dist/tools/resume-session.d.ts.map +1 -0
- package/dist/tools/resume-session.js +106 -0
- package/dist/tools/resume-session.js.map +1 -0
- package/dist/utils/__tests__/paths.test.d.ts +2 -0
- package/dist/utils/__tests__/paths.test.d.ts.map +1 -0
- package/dist/utils/__tests__/paths.test.js +88 -0
- package/dist/utils/__tests__/paths.test.js.map +1 -0
- package/dist/utils/paths.d.ts +32 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +55 -0
- package/dist/utils/paths.js.map +1 -0
- package/docs/ARCHITECTURE.md +80 -1
- package/docs/CLAUDE.md +97 -3
- package/docs/FEATURES.md +2167 -0
- package/docs/FULL-README.md +69 -1
- package/package.json +1 -1
- package/skills/autopilot/SKILL.md +168 -0
- package/skills/cancel-autopilot/SKILL.md +53 -0
- package/skills/omc-setup/SKILL.md +95 -0
- package/skills/ralph/SKILL.md +9 -0
- package/skills/ultrawork/SKILL.md +9 -5
package/docs/FULL-README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
# oh-my-claudecode
|
|
12
12
|
|
|
13
|
-
[](https://github.com/Yeachan-Heo/oh-my-claudecode)
|
|
14
14
|
[](https://www.npmjs.com/package/oh-my-claudecode)
|
|
15
15
|
[](https://opensource.org/licenses/MIT)
|
|
16
16
|
[](https://nodejs.org/)
|
|
@@ -76,6 +76,73 @@ See [CHANGELOG.md](CHANGELOG.md) for full details.
|
|
|
76
76
|
|
|
77
77
|
---
|
|
78
78
|
|
|
79
|
+
## NEW in 3.1: oh-my-opencode Integration
|
|
80
|
+
|
|
81
|
+
The following features were integrated from oh-my-opencode to enhance orchestration capabilities:
|
|
82
|
+
|
|
83
|
+
### Notepad Wisdom System
|
|
84
|
+
|
|
85
|
+
Plan-scoped wisdom capture for persistent learnings, decisions, issues, and problems. Stores wisdom in `.omc/notepads/{plan-name}/` with timestamped entries.
|
|
86
|
+
|
|
87
|
+
**Functions:** `initPlanNotepad()`, `addLearning()`, `addDecision()`, `addIssue()`, `addProblem()`, `getWisdomSummary()`
|
|
88
|
+
|
|
89
|
+
**Benefits:**
|
|
90
|
+
- Separates learnings by plan for better organization
|
|
91
|
+
- Automatic timestamp tracking for temporal context
|
|
92
|
+
- Structured wisdom capture (learning vs decision vs issue vs problem)
|
|
93
|
+
- Persistent storage survives session resets
|
|
94
|
+
|
|
95
|
+
### Delegation Categories
|
|
96
|
+
|
|
97
|
+
Semantic task categorization that auto-maps to model tier, temperature, and thinking budget.
|
|
98
|
+
|
|
99
|
+
**Categories:**
|
|
100
|
+
- `visual-engineering` - UI/visual reasoning, frontend work, design systems (Opus, extended thinking)
|
|
101
|
+
- `ultrabrain` - Deep reasoning tasks (Opus, maximum thinking)
|
|
102
|
+
- `artistry` - Creative writing, novel approaches, innovative solutions (Sonnet, high temperature 0.9)
|
|
103
|
+
- `quick` - Simple lookups (Haiku, no thinking)
|
|
104
|
+
- `writing` - Documentation and content (Haiku, standard temperature)
|
|
105
|
+
|
|
106
|
+
**Benefits:**
|
|
107
|
+
- Automatic optimal model selection
|
|
108
|
+
- Context-aware temperature tuning
|
|
109
|
+
- Efficient thinking budget allocation
|
|
110
|
+
- Semantic task routing without manual configuration
|
|
111
|
+
|
|
112
|
+
### Directory Diagnostics
|
|
113
|
+
|
|
114
|
+
Project-level type checking via `lsp_diagnostics_directory` tool with dual strategy (tsc fast, LSP fallback).
|
|
115
|
+
|
|
116
|
+
**Capabilities:**
|
|
117
|
+
- Scan entire project directory for type errors
|
|
118
|
+
- Automatic TypeScript compiler optimization
|
|
119
|
+
- Fallback to LSP when tsc unavailable
|
|
120
|
+
- Batch processing with progress reporting
|
|
121
|
+
|
|
122
|
+
**Benefits:**
|
|
123
|
+
- Comprehensive project health checks
|
|
124
|
+
- Performance-optimized with smart strategy selection
|
|
125
|
+
- Deep language server integration for accuracy
|
|
126
|
+
- Works with or without explicit TypeScript setup
|
|
127
|
+
|
|
128
|
+
### Session Resume
|
|
129
|
+
|
|
130
|
+
Background agent resumption with context preservation via `resumeSession()`.
|
|
131
|
+
|
|
132
|
+
**Capabilities:**
|
|
133
|
+
- Automatic session state recovery
|
|
134
|
+
- Context preservation across interruptions
|
|
135
|
+
- Background agent reconnection
|
|
136
|
+
- Graceful degradation on failure
|
|
137
|
+
|
|
138
|
+
**Benefits:**
|
|
139
|
+
- Uninterrupted workflow during agent crashes
|
|
140
|
+
- Persistent work state across sessions
|
|
141
|
+
- No manual context re-entry needed
|
|
142
|
+
- Seamless continuation of complex tasks
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
79
146
|
## Quick Install
|
|
80
147
|
|
|
81
148
|
Choose **ONE** installation method below. Do not mix methods.
|
|
@@ -692,6 +759,7 @@ The original oh-my-opencode used multiple AI providers. This project uses Claude
|
|
|
692
759
|
| **lsp_code_actions** | ✅ Implemented | Get available refactorings |
|
|
693
760
|
| **lsp_code_action_resolve** | ✅ Implemented | Get details of a code action |
|
|
694
761
|
| **lsp_servers** | ✅ Implemented | List available language servers |
|
|
762
|
+
| **lsp_diagnostics_directory** | ✅ Implemented | Project-level type checking (tsc fast path, LSP fallback) |
|
|
695
763
|
|
|
696
764
|
> **Note:** LSP tools require language servers to be installed (typescript-language-server, pylsp, rust-analyzer, gopls, etc.). Use `lsp_servers` to check installation status.
|
|
697
765
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: autopilot
|
|
3
|
+
description: Full autonomous execution from idea to working code
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Autopilot Skill
|
|
8
|
+
|
|
9
|
+
Full autonomous execution from idea to working code.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Autopilot is the ultimate hands-off mode. Give it a brief product idea (2-3 lines) and it handles everything:
|
|
14
|
+
|
|
15
|
+
1. **Understands** your requirements (Analyst)
|
|
16
|
+
2. **Designs** the technical approach (Architect)
|
|
17
|
+
3. **Plans** the implementation (Critic-validated)
|
|
18
|
+
4. **Builds** with parallel agents (Ralph + Ultrawork)
|
|
19
|
+
5. **Tests** until everything passes (UltraQA)
|
|
20
|
+
6. **Validates** quality and security (Multi-architect review)
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
/autopilot <your idea>
|
|
26
|
+
/ap "A CLI tool that tracks daily habits"
|
|
27
|
+
/autopilot Add dark mode to the app
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Magic Keywords
|
|
31
|
+
|
|
32
|
+
These phrases auto-activate autopilot:
|
|
33
|
+
- "autopilot", "auto pilot", "autonomous"
|
|
34
|
+
- "build me", "create me", "make me"
|
|
35
|
+
- "full auto", "handle it all"
|
|
36
|
+
- "I want a/an..."
|
|
37
|
+
|
|
38
|
+
## Phases
|
|
39
|
+
|
|
40
|
+
### Phase 0: Expansion
|
|
41
|
+
|
|
42
|
+
**Goal:** Turn vague idea into detailed spec
|
|
43
|
+
|
|
44
|
+
**Agents:**
|
|
45
|
+
- Analyst (Opus) - Extract requirements
|
|
46
|
+
- Architect (Opus) - Technical specification
|
|
47
|
+
|
|
48
|
+
**Output:** `.omc/autopilot/spec.md`
|
|
49
|
+
|
|
50
|
+
### Phase 1: Planning
|
|
51
|
+
|
|
52
|
+
**Goal:** Create implementation plan from spec
|
|
53
|
+
|
|
54
|
+
**Agents:**
|
|
55
|
+
- Architect (Opus) - Create plan (direct mode, no interview)
|
|
56
|
+
- Critic (Opus) - Validate plan
|
|
57
|
+
|
|
58
|
+
**Output:** `.omc/plans/autopilot-impl.md`
|
|
59
|
+
|
|
60
|
+
### Phase 2: Execution
|
|
61
|
+
|
|
62
|
+
**Goal:** Implement the plan
|
|
63
|
+
|
|
64
|
+
**Mode:** Ralph + Ultrawork (persistence + parallelism)
|
|
65
|
+
|
|
66
|
+
**Agents:**
|
|
67
|
+
- Executor-low (Haiku) - Simple tasks
|
|
68
|
+
- Executor (Sonnet) - Standard tasks
|
|
69
|
+
- Executor-high (Opus) - Complex tasks
|
|
70
|
+
|
|
71
|
+
### Phase 3: QA
|
|
72
|
+
|
|
73
|
+
**Goal:** All tests pass
|
|
74
|
+
|
|
75
|
+
**Mode:** UltraQA
|
|
76
|
+
|
|
77
|
+
**Cycle:**
|
|
78
|
+
1. Build
|
|
79
|
+
2. Lint
|
|
80
|
+
3. Test
|
|
81
|
+
4. Fix failures
|
|
82
|
+
5. Repeat (max 5 cycles)
|
|
83
|
+
|
|
84
|
+
### Phase 4: Validation
|
|
85
|
+
|
|
86
|
+
**Goal:** Multi-perspective approval
|
|
87
|
+
|
|
88
|
+
**Agents (parallel):**
|
|
89
|
+
- Architect - Functional completeness
|
|
90
|
+
- Security-reviewer - Vulnerability check
|
|
91
|
+
- Code-reviewer - Quality review
|
|
92
|
+
|
|
93
|
+
**Rule:** All must APPROVE or issues get fixed and re-validated.
|
|
94
|
+
|
|
95
|
+
## Configuration
|
|
96
|
+
|
|
97
|
+
Optional settings in `.claude/settings.json`:
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"omc": {
|
|
102
|
+
"autopilot": {
|
|
103
|
+
"maxIterations": 10,
|
|
104
|
+
"maxQaCycles": 5,
|
|
105
|
+
"maxValidationRounds": 3,
|
|
106
|
+
"pauseAfterExpansion": false,
|
|
107
|
+
"pauseAfterPlanning": false,
|
|
108
|
+
"skipQa": false,
|
|
109
|
+
"skipValidation": false
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Cancellation
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
/cancel-autopilot
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Or say: "stop", "cancel", "abort"
|
|
122
|
+
|
|
123
|
+
Progress is preserved for resume.
|
|
124
|
+
|
|
125
|
+
## Resume
|
|
126
|
+
|
|
127
|
+
If autopilot was cancelled or failed, just run `/autopilot` again to resume from where it stopped.
|
|
128
|
+
|
|
129
|
+
## Examples
|
|
130
|
+
|
|
131
|
+
**New Project:**
|
|
132
|
+
```
|
|
133
|
+
/autopilot A REST API for a bookstore inventory with CRUD operations
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Feature Addition:**
|
|
137
|
+
```
|
|
138
|
+
/autopilot Add user authentication with JWT tokens
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Enhancement:**
|
|
142
|
+
```
|
|
143
|
+
/ap Add dark mode support with system preference detection
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Best Practices
|
|
147
|
+
|
|
148
|
+
1. **Be specific about the domain** - "bookstore" not "store"
|
|
149
|
+
2. **Mention key features** - "with CRUD", "with authentication"
|
|
150
|
+
3. **Specify constraints** - "using TypeScript", "with PostgreSQL"
|
|
151
|
+
4. **Let it run** - Don't interrupt unless truly needed
|
|
152
|
+
|
|
153
|
+
## Troubleshooting
|
|
154
|
+
|
|
155
|
+
**Stuck in a phase?**
|
|
156
|
+
- Check TODO list for blocked tasks
|
|
157
|
+
- Review `.omc/autopilot-state.json` for state
|
|
158
|
+
- Cancel and resume if needed
|
|
159
|
+
|
|
160
|
+
**Validation keeps failing?**
|
|
161
|
+
- Review the specific issues
|
|
162
|
+
- Consider if requirements were too vague
|
|
163
|
+
- Cancel and provide more detail
|
|
164
|
+
|
|
165
|
+
**QA cycles exhausted?**
|
|
166
|
+
- Same error 3 times = fundamental issue
|
|
167
|
+
- Review the error pattern
|
|
168
|
+
- May need manual intervention
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cancel-autopilot
|
|
3
|
+
description: Cancel active autopilot session
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Cancel Autopilot Skill
|
|
8
|
+
|
|
9
|
+
Cancel an active autopilot session gracefully.
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
- Stops the active autopilot workflow
|
|
14
|
+
- Cleans up any active Ralph or UltraQA state
|
|
15
|
+
- Preserves progress for potential resume
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/cancel-autopilot
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Or say: "stop autopilot", "cancel autopilot", "abort autopilot"
|
|
24
|
+
|
|
25
|
+
## What Gets Cleaned Up
|
|
26
|
+
|
|
27
|
+
1. **Autopilot state** - Marked as inactive (preserved for resume)
|
|
28
|
+
2. **Ralph state** - Cleared if active
|
|
29
|
+
3. **Ultrawork state** - Cleared if linked to Ralph
|
|
30
|
+
4. **UltraQA state** - Cleared if active
|
|
31
|
+
|
|
32
|
+
## Progress Preservation
|
|
33
|
+
|
|
34
|
+
When cancelled, autopilot preserves:
|
|
35
|
+
- Current phase
|
|
36
|
+
- Files created/modified
|
|
37
|
+
- Spec and plan files
|
|
38
|
+
- Validation verdicts
|
|
39
|
+
|
|
40
|
+
Run `/autopilot` to resume from where you left off.
|
|
41
|
+
|
|
42
|
+
## Force Clear
|
|
43
|
+
|
|
44
|
+
To completely clear all state (no resume):
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
/cancel-autopilot --clear
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
This removes all autopilot files including:
|
|
51
|
+
- `.omc/autopilot-state.json`
|
|
52
|
+
- `.omc/autopilot/` directory
|
|
53
|
+
- `.omc/plans/autopilot-impl.md`
|
|
@@ -26,17 +26,43 @@ Use the AskUserQuestion tool to prompt the user:
|
|
|
26
26
|
# Create .claude directory in current project
|
|
27
27
|
mkdir -p .claude
|
|
28
28
|
|
|
29
|
+
# Extract old version before download
|
|
30
|
+
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
|
+
|
|
29
32
|
# Download fresh CLAUDE.md from GitHub
|
|
30
33
|
curl -fsSL "https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claudecode/main/docs/CLAUDE.md" -o .claude/CLAUDE.md && \
|
|
31
34
|
echo "Downloaded CLAUDE.md to .claude/CLAUDE.md"
|
|
35
|
+
|
|
36
|
+
# Extract new version and report
|
|
37
|
+
NEW_VERSION=$(grep -m1 "^# oh-my-claudecode" .claude/CLAUDE.md 2>/dev/null | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' || echo "unknown")
|
|
38
|
+
if [ "$OLD_VERSION" = "none" ]; then
|
|
39
|
+
echo "Installed CLAUDE.md: $NEW_VERSION"
|
|
40
|
+
elif [ "$OLD_VERSION" = "$NEW_VERSION" ]; then
|
|
41
|
+
echo "CLAUDE.md unchanged: $NEW_VERSION"
|
|
42
|
+
else
|
|
43
|
+
echo "Updated CLAUDE.md: $OLD_VERSION -> $NEW_VERSION"
|
|
44
|
+
fi
|
|
32
45
|
```
|
|
33
46
|
|
|
34
47
|
### If User Chooses GLOBAL:
|
|
35
48
|
|
|
36
49
|
```bash
|
|
50
|
+
# Extract old version before download
|
|
51
|
+
OLD_VERSION=$(grep -m1 "^# oh-my-claudecode" ~/.claude/CLAUDE.md 2>/dev/null | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' || echo "none")
|
|
52
|
+
|
|
37
53
|
# Download fresh CLAUDE.md to global config
|
|
38
54
|
curl -fsSL "https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claudecode/main/docs/CLAUDE.md" -o ~/.claude/CLAUDE.md && \
|
|
39
55
|
echo "Downloaded CLAUDE.md to ~/.claude/CLAUDE.md"
|
|
56
|
+
|
|
57
|
+
# Extract new version and report
|
|
58
|
+
NEW_VERSION=$(grep -m1 "^# oh-my-claudecode" ~/.claude/CLAUDE.md 2>/dev/null | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' || echo "unknown")
|
|
59
|
+
if [ "$OLD_VERSION" = "none" ]; then
|
|
60
|
+
echo "Installed CLAUDE.md: $NEW_VERSION"
|
|
61
|
+
elif [ "$OLD_VERSION" = "$NEW_VERSION" ]; then
|
|
62
|
+
echo "CLAUDE.md unchanged: $NEW_VERSION"
|
|
63
|
+
else
|
|
64
|
+
echo "Updated CLAUDE.md: $OLD_VERSION -> $NEW_VERSION"
|
|
65
|
+
fi
|
|
40
66
|
```
|
|
41
67
|
|
|
42
68
|
## Step 3: Setup HUD Statusline
|
|
@@ -50,6 +76,75 @@ This will:
|
|
|
50
76
|
2. Configure `statusLine` in `~/.claude/settings.json`
|
|
51
77
|
3. Report status and prompt to restart if needed
|
|
52
78
|
|
|
79
|
+
## Step 3.5: Clear Stale Plugin Cache
|
|
80
|
+
|
|
81
|
+
Clear old cached plugin versions to avoid conflicts:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Clear stale plugin cache versions
|
|
85
|
+
CACHE_DIR="$HOME/.claude/plugins/cache/omc/oh-my-claudecode"
|
|
86
|
+
if [ -d "$CACHE_DIR" ]; then
|
|
87
|
+
LATEST=$(ls -1 "$CACHE_DIR" | sort -V | tail -1)
|
|
88
|
+
CLEARED=0
|
|
89
|
+
for dir in "$CACHE_DIR"/*; do
|
|
90
|
+
if [ "$(basename "$dir")" != "$LATEST" ]; then
|
|
91
|
+
rm -rf "$dir"
|
|
92
|
+
CLEARED=$((CLEARED + 1))
|
|
93
|
+
fi
|
|
94
|
+
done
|
|
95
|
+
[ $CLEARED -gt 0 ] && echo "Cleared $CLEARED stale cache version(s)" || echo "Cache is clean"
|
|
96
|
+
else
|
|
97
|
+
echo "No cache directory found (normal for new installs)"
|
|
98
|
+
fi
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Step 3.6: Check for Updates
|
|
102
|
+
|
|
103
|
+
Notify user if a newer version is available:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Detect installed version
|
|
107
|
+
INSTALLED_VERSION=""
|
|
108
|
+
|
|
109
|
+
# Try cache directory first
|
|
110
|
+
if [ -d "$HOME/.claude/plugins/cache/omc/oh-my-claudecode" ]; then
|
|
111
|
+
INSTALLED_VERSION=$(ls -1 "$HOME/.claude/plugins/cache/omc/oh-my-claudecode" | sort -V | tail -1)
|
|
112
|
+
fi
|
|
113
|
+
|
|
114
|
+
# Try .omc-version.json second
|
|
115
|
+
if [ -z "$INSTALLED_VERSION" ] && [ -f ".omc-version.json" ]; then
|
|
116
|
+
INSTALLED_VERSION=$(grep -oE '"version":\s*"[^"]+' .omc-version.json | cut -d'"' -f4)
|
|
117
|
+
fi
|
|
118
|
+
|
|
119
|
+
# Try CLAUDE.md header third (local first, then global)
|
|
120
|
+
if [ -z "$INSTALLED_VERSION" ]; then
|
|
121
|
+
if [ -f ".claude/CLAUDE.md" ]; then
|
|
122
|
+
INSTALLED_VERSION=$(grep -m1 "^# oh-my-claudecode" .claude/CLAUDE.md 2>/dev/null | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' | sed 's/^v//')
|
|
123
|
+
elif [ -f "$HOME/.claude/CLAUDE.md" ]; then
|
|
124
|
+
INSTALLED_VERSION=$(grep -m1 "^# oh-my-claudecode" "$HOME/.claude/CLAUDE.md" 2>/dev/null | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' | sed 's/^v//')
|
|
125
|
+
fi
|
|
126
|
+
fi
|
|
127
|
+
|
|
128
|
+
# Check npm for latest version
|
|
129
|
+
LATEST_VERSION=$(npm view oh-my-claude-sisyphus version 2>/dev/null)
|
|
130
|
+
|
|
131
|
+
if [ -n "$INSTALLED_VERSION" ] && [ -n "$LATEST_VERSION" ]; then
|
|
132
|
+
# Simple version comparison (assumes semantic versioning)
|
|
133
|
+
if [ "$INSTALLED_VERSION" != "$LATEST_VERSION" ]; then
|
|
134
|
+
echo ""
|
|
135
|
+
echo "UPDATE AVAILABLE:"
|
|
136
|
+
echo " Installed: v$INSTALLED_VERSION"
|
|
137
|
+
echo " Latest: v$LATEST_VERSION"
|
|
138
|
+
echo ""
|
|
139
|
+
echo "To update, run: claude /install-plugin oh-my-claudecode"
|
|
140
|
+
else
|
|
141
|
+
echo "You're on the latest version: v$INSTALLED_VERSION"
|
|
142
|
+
fi
|
|
143
|
+
elif [ -n "$LATEST_VERSION" ]; then
|
|
144
|
+
echo "Latest version available: v$LATEST_VERSION"
|
|
145
|
+
fi
|
|
146
|
+
```
|
|
147
|
+
|
|
53
148
|
## Step 4: Verify Plugin Installation
|
|
54
149
|
|
|
55
150
|
```bash
|
package/skills/ralph/SKILL.md
CHANGED
|
@@ -37,6 +37,15 @@ Ralph automatically activates Ultrawork for maximum parallel execution. You MUST
|
|
|
37
37
|
| **Research** | `researcher-low` | `researcher` | - |
|
|
38
38
|
| **Frontend** | `designer-low` | `designer` | `designer-high` |
|
|
39
39
|
| **Docs** | `writer` | - | - |
|
|
40
|
+
| **Visual** | - | `vision` | - |
|
|
41
|
+
| **Planning** | - | - | `planner` |
|
|
42
|
+
| **Critique** | - | - | `critic` |
|
|
43
|
+
| **Pre-Planning** | - | - | `analyst` |
|
|
44
|
+
| **Testing** | - | `qa-tester` | - |
|
|
45
|
+
| **Security** | `security-reviewer-low` | - | `security-reviewer` |
|
|
46
|
+
| **Build** | `build-fixer-low` | `build-fixer` | - |
|
|
47
|
+
| **TDD** | `tdd-guide-low` | `tdd-guide` | - |
|
|
48
|
+
| **Code Review** | `code-reviewer-low` | - | `code-reviewer` |
|
|
40
49
|
|
|
41
50
|
**CRITICAL: Always pass `model` parameter explicitly!**
|
|
42
51
|
```
|
|
@@ -35,6 +35,10 @@ This skill enhances Claude's capabilities by:
|
|
|
35
35
|
| **Visual** | - | `vision` | - |
|
|
36
36
|
| **Planning** | - | - | `planner`, `critic`, `analyst` |
|
|
37
37
|
| **Testing** | - | `qa-tester` | - |
|
|
38
|
+
| **Security** | `security-reviewer-low` | - | `security-reviewer` |
|
|
39
|
+
| **Build** | `build-fixer-low` | `build-fixer` | - |
|
|
40
|
+
| **TDD** | `tdd-guide-low` | `tdd-guide` | - |
|
|
41
|
+
| **Code Review** | `code-reviewer-low` | - | `code-reviewer` |
|
|
38
42
|
|
|
39
43
|
### Tier Selection Guide
|
|
40
44
|
|
|
@@ -50,19 +54,19 @@ This skill enhances Claude's capabilities by:
|
|
|
50
54
|
|
|
51
55
|
```
|
|
52
56
|
// Simple question → LOW tier (saves tokens!)
|
|
53
|
-
Task(subagent_type="architect-low", model="haiku", prompt="What does this function return?")
|
|
57
|
+
Task(subagent_type="oh-my-claudecode:architect-low", model="haiku", prompt="What does this function return?")
|
|
54
58
|
|
|
55
59
|
// Standard implementation → MEDIUM tier
|
|
56
|
-
Task(subagent_type="executor", model="sonnet", prompt="Add error handling to login")
|
|
60
|
+
Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="Add error handling to login")
|
|
57
61
|
|
|
58
62
|
// Complex refactoring → HIGH tier
|
|
59
|
-
Task(subagent_type="executor-high", model="opus", prompt="Refactor auth module using JWT across 5 files")
|
|
63
|
+
Task(subagent_type="oh-my-claudecode:executor-high", model="opus", prompt="Refactor auth module using JWT across 5 files")
|
|
60
64
|
|
|
61
65
|
// Quick file lookup → LOW tier
|
|
62
|
-
Task(subagent_type="explore", model="haiku", prompt="Find where UserService is defined")
|
|
66
|
+
Task(subagent_type="oh-my-claudecode:explore", model="haiku", prompt="Find where UserService is defined")
|
|
63
67
|
|
|
64
68
|
// Thorough search → MEDIUM tier
|
|
65
|
-
Task(subagent_type="explore-medium", model="sonnet", prompt="Find all authentication patterns in the codebase")
|
|
69
|
+
Task(subagent_type="oh-my-claudecode:explore-medium", model="sonnet", prompt="Find all authentication patterns in the codebase")
|
|
66
70
|
```
|
|
67
71
|
|
|
68
72
|
## Background Execution Rules
|