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,580 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cancel
|
|
3
|
+
description: Cancel any active OMC mode (autopilot, ralph, ultrawork, ecomode, ultraqa, swarm, ultrapilot, pipeline)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Cancel Skill
|
|
7
|
+
|
|
8
|
+
Intelligent cancellation that detects and cancels the active OMC mode.
|
|
9
|
+
|
|
10
|
+
## What It Does
|
|
11
|
+
|
|
12
|
+
Automatically detects which mode is active and cancels it:
|
|
13
|
+
- **Autopilot**: Stops workflow, preserves progress for resume
|
|
14
|
+
- **Ralph**: Stops persistence loop, clears linked ultrawork if applicable
|
|
15
|
+
- **Ultrawork**: Stops parallel execution (standalone or linked)
|
|
16
|
+
- **Ecomode**: Stops token-efficient parallel execution (standalone or linked to ralph)
|
|
17
|
+
- **UltraQA**: Stops QA cycling workflow
|
|
18
|
+
- **Swarm**: Stops coordinated agent swarm, releases claimed tasks
|
|
19
|
+
- **Ultrapilot**: Stops parallel autopilot workers
|
|
20
|
+
- **Pipeline**: Stops sequential agent pipeline
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
/oh-my-claudecode:cancel
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Or say: "stop", "cancel", "abort"
|
|
29
|
+
|
|
30
|
+
## Auto-Detection
|
|
31
|
+
|
|
32
|
+
The skill checks state files to determine what's active:
|
|
33
|
+
- `.omc/autopilot-state.json` → Autopilot detected
|
|
34
|
+
- `.omc/ralph-state.json` → Ralph detected
|
|
35
|
+
- `.omc/ultrawork-state.json` → Ultrawork detected
|
|
36
|
+
- `.omc/ecomode-state.json` → Ecomode detected
|
|
37
|
+
- `.omc/ultraqa-state.json` → UltraQA detected
|
|
38
|
+
- `.omc/swarm-state.json` → Swarm detected
|
|
39
|
+
- `.omc/ultrapilot-state.json` → Ultrapilot detected
|
|
40
|
+
- `.omc/pipeline-state.json` → Pipeline detected
|
|
41
|
+
|
|
42
|
+
If multiple modes are active, they're cancelled in order of dependency:
|
|
43
|
+
1. Autopilot (includes ralph/ultraqa/ecomode cleanup)
|
|
44
|
+
2. Ralph (includes linked ultrawork OR ecomode cleanup)
|
|
45
|
+
3. Ultrawork (standalone)
|
|
46
|
+
4. Ecomode (standalone)
|
|
47
|
+
5. UltraQA (standalone)
|
|
48
|
+
6. Swarm (standalone)
|
|
49
|
+
7. Ultrapilot (standalone)
|
|
50
|
+
8. Pipeline (standalone)
|
|
51
|
+
|
|
52
|
+
## Force Clear All
|
|
53
|
+
|
|
54
|
+
To clear ALL state files regardless of what's active:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
/oh-my-claudecode:cancel --force
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Or use the `--all` alias:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
/oh-my-claudecode:cancel --all
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
This removes all state files:
|
|
67
|
+
- `.omc/autopilot-state.json`
|
|
68
|
+
- `.omc/ralph-state.json`
|
|
69
|
+
- `.omc/ultrawork-state.json`
|
|
70
|
+
- `.omc/ecomode-state.json`
|
|
71
|
+
- `.omc/ultraqa-state.json`
|
|
72
|
+
- `.omc/swarm-state.json`
|
|
73
|
+
- `.omc/state/swarm-tasks.json`
|
|
74
|
+
- `.omc/ultrapilot-state.json`
|
|
75
|
+
- `.omc/pipeline-state.json`
|
|
76
|
+
- `~/.claude/ralph-state.json`
|
|
77
|
+
- `~/.claude/ultrawork-state.json`
|
|
78
|
+
- `~/.claude/ecomode-state.json`
|
|
79
|
+
|
|
80
|
+
## Implementation Steps
|
|
81
|
+
|
|
82
|
+
When you invoke this skill:
|
|
83
|
+
|
|
84
|
+
### 1. Parse Arguments
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Check for --force or --all flags
|
|
88
|
+
FORCE_MODE=false
|
|
89
|
+
if [[ "$*" == *"--force"* ]] || [[ "$*" == *"--all"* ]]; then
|
|
90
|
+
FORCE_MODE=true
|
|
91
|
+
fi
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 2. Detect Active Modes
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Check which modes are active
|
|
98
|
+
AUTOPILOT_ACTIVE=false
|
|
99
|
+
RALPH_ACTIVE=false
|
|
100
|
+
ULTRAWORK_ACTIVE=false
|
|
101
|
+
ECOMODE_ACTIVE=false
|
|
102
|
+
ULTRAQA_ACTIVE=false
|
|
103
|
+
|
|
104
|
+
if [[ -f .omc/autopilot-state.json ]]; then
|
|
105
|
+
AUTOPILOT_ACTIVE=$(cat .omc/autopilot-state.json | jq -r '.active // false')
|
|
106
|
+
fi
|
|
107
|
+
|
|
108
|
+
if [[ -f .omc/ralph-state.json ]]; then
|
|
109
|
+
RALPH_ACTIVE=$(cat .omc/ralph-state.json | jq -r '.active // false')
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
if [[ -f .omc/ultrawork-state.json ]]; then
|
|
113
|
+
ULTRAWORK_ACTIVE=$(cat .omc/ultrawork-state.json | jq -r '.active // false')
|
|
114
|
+
fi
|
|
115
|
+
|
|
116
|
+
if [[ -f .omc/ecomode-state.json ]]; then
|
|
117
|
+
ECOMODE_ACTIVE=$(cat .omc/ecomode-state.json | jq -r '.active // false')
|
|
118
|
+
fi
|
|
119
|
+
|
|
120
|
+
if [[ -f .omc/ultraqa-state.json ]]; then
|
|
121
|
+
ULTRAQA_ACTIVE=$(cat .omc/ultraqa-state.json | jq -r '.active // false')
|
|
122
|
+
fi
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### 3A. Force Mode (if --force or --all)
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
if [[ "$FORCE_MODE" == "true" ]]; then
|
|
129
|
+
echo "FORCE CLEAR: Removing all OMC state files..."
|
|
130
|
+
|
|
131
|
+
# Remove local state files
|
|
132
|
+
rm -f .omc/autopilot-state.json
|
|
133
|
+
rm -f .omc/ralph-state.json
|
|
134
|
+
rm -f .omc/ultrawork-state.json
|
|
135
|
+
rm -f .omc/ecomode-state.json
|
|
136
|
+
rm -f .omc/ultraqa-state.json
|
|
137
|
+
rm -f .omc/ralph-plan-state.json
|
|
138
|
+
rm -f .omc/ralph-verification.json
|
|
139
|
+
rm -f .omc/swarm-state.json
|
|
140
|
+
rm -f .omc/state/swarm-tasks.json
|
|
141
|
+
rm -f .omc/ultrapilot-state.json
|
|
142
|
+
rm -f .omc/pipeline-state.json
|
|
143
|
+
|
|
144
|
+
# Remove global state files
|
|
145
|
+
rm -f ~/.claude/ralph-state.json
|
|
146
|
+
rm -f ~/.claude/ultrawork-state.json
|
|
147
|
+
rm -f ~/.claude/ecomode-state.json
|
|
148
|
+
|
|
149
|
+
echo "All OMC modes cleared. You are free to start fresh."
|
|
150
|
+
exit 0
|
|
151
|
+
fi
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 3B. Smart Cancellation (default)
|
|
155
|
+
|
|
156
|
+
#### If Autopilot Active
|
|
157
|
+
|
|
158
|
+
Call `cancelAutopilot()` from `src/hooks/autopilot/cancel.ts:27-78`:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Autopilot handles its own cleanup + ralph + ultraqa
|
|
162
|
+
# Just mark autopilot as inactive (preserves state for resume)
|
|
163
|
+
if [[ -f .omc/autopilot-state.json ]]; then
|
|
164
|
+
# Clean up ralph if active
|
|
165
|
+
if [[ -f .omc/ralph-state.json ]]; then
|
|
166
|
+
RALPH_STATE=$(cat .omc/ralph-state.json)
|
|
167
|
+
LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')
|
|
168
|
+
|
|
169
|
+
# Clean linked ultrawork first
|
|
170
|
+
if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/ultrawork-state.json ]]; then
|
|
171
|
+
rm -f .omc/ultrawork-state.json
|
|
172
|
+
rm -f ~/.claude/ultrawork-state.json
|
|
173
|
+
echo "Cleaned up: ultrawork (linked to ralph)"
|
|
174
|
+
fi
|
|
175
|
+
|
|
176
|
+
# Clean ralph
|
|
177
|
+
rm -f .omc/ralph-state.json
|
|
178
|
+
rm -f ~/.claude/ralph-state.json
|
|
179
|
+
rm -f .omc/ralph-verification.json
|
|
180
|
+
echo "Cleaned up: ralph"
|
|
181
|
+
fi
|
|
182
|
+
|
|
183
|
+
# Clean up ultraqa if active
|
|
184
|
+
if [[ -f .omc/ultraqa-state.json ]]; then
|
|
185
|
+
rm -f .omc/ultraqa-state.json
|
|
186
|
+
echo "Cleaned up: ultraqa"
|
|
187
|
+
fi
|
|
188
|
+
|
|
189
|
+
# Mark autopilot inactive but preserve state
|
|
190
|
+
CURRENT_STATE=$(cat .omc/autopilot-state.json)
|
|
191
|
+
CURRENT_PHASE=$(echo "$CURRENT_STATE" | jq -r '.phase // "unknown"')
|
|
192
|
+
echo "$CURRENT_STATE" | jq '.active = false' > .omc/autopilot-state.json
|
|
193
|
+
|
|
194
|
+
echo "Autopilot cancelled at phase: $CURRENT_PHASE. Progress preserved for resume."
|
|
195
|
+
echo "Run /oh-my-claudecode:autopilot to resume."
|
|
196
|
+
fi
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### If Ralph Active (but not Autopilot)
|
|
200
|
+
|
|
201
|
+
Call `clearRalphState()` + `clearLinkedUltraworkState()` from `src/hooks/ralph-loop/index.ts:147-182`:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
if [[ -f .omc/ralph-state.json ]]; then
|
|
205
|
+
# Check if ultrawork is linked
|
|
206
|
+
RALPH_STATE=$(cat .omc/ralph-state.json)
|
|
207
|
+
LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')
|
|
208
|
+
|
|
209
|
+
# Clean linked ultrawork first
|
|
210
|
+
if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/ultrawork-state.json ]]; then
|
|
211
|
+
UW_STATE=$(cat .omc/ultrawork-state.json)
|
|
212
|
+
UW_LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')
|
|
213
|
+
|
|
214
|
+
# Only clear if it was linked to ralph
|
|
215
|
+
if [[ "$UW_LINKED" == "true" ]]; then
|
|
216
|
+
rm -f .omc/ultrawork-state.json
|
|
217
|
+
rm -f ~/.claude/ultrawork-state.json
|
|
218
|
+
echo "Cleaned up: ultrawork (linked to ralph)"
|
|
219
|
+
fi
|
|
220
|
+
fi
|
|
221
|
+
|
|
222
|
+
# Clean ralph state (both local and global)
|
|
223
|
+
rm -f .omc/ralph-state.json
|
|
224
|
+
rm -f ~/.claude/ralph-state.json
|
|
225
|
+
rm -f .omc/ralph-plan-state.json
|
|
226
|
+
rm -f .omc/ralph-verification.json
|
|
227
|
+
|
|
228
|
+
echo "Ralph cancelled. Persistent mode deactivated."
|
|
229
|
+
fi
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
#### If Ultrawork Active (standalone, not linked)
|
|
233
|
+
|
|
234
|
+
Call `deactivateUltrawork()` from `src/hooks/ultrawork/index.ts:150-173`:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
if [[ -f .omc/ultrawork-state.json ]]; then
|
|
238
|
+
# Check if linked to ralph
|
|
239
|
+
UW_STATE=$(cat .omc/ultrawork-state.json)
|
|
240
|
+
LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')
|
|
241
|
+
|
|
242
|
+
if [[ "$LINKED" == "true" ]]; then
|
|
243
|
+
echo "Ultrawork is linked to Ralph. Use /oh-my-claudecode:cancel to cancel both."
|
|
244
|
+
exit 1
|
|
245
|
+
fi
|
|
246
|
+
|
|
247
|
+
# Remove both local and global state
|
|
248
|
+
rm -f .omc/ultrawork-state.json
|
|
249
|
+
rm -f ~/.claude/ultrawork-state.json
|
|
250
|
+
|
|
251
|
+
echo "Ultrawork cancelled. Parallel execution mode deactivated."
|
|
252
|
+
fi
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
#### If UltraQA Active (standalone)
|
|
256
|
+
|
|
257
|
+
Call `clearUltraQAState()` from `src/hooks/ultraqa/index.ts:107-120`:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
if [[ -f .omc/ultraqa-state.json ]]; then
|
|
261
|
+
rm -f .omc/ultraqa-state.json
|
|
262
|
+
echo "UltraQA cancelled. QA cycling workflow stopped."
|
|
263
|
+
fi
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
#### No Active Modes
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
echo "No active OMC modes detected."
|
|
270
|
+
echo ""
|
|
271
|
+
echo "Checked for:"
|
|
272
|
+
echo " - Autopilot (.omc/autopilot-state.json)"
|
|
273
|
+
echo " - Ralph (.omc/ralph-state.json)"
|
|
274
|
+
echo " - Ultrawork (.omc/ultrawork-state.json)"
|
|
275
|
+
echo " - UltraQA (.omc/ultraqa-state.json)"
|
|
276
|
+
echo ""
|
|
277
|
+
echo "Use --force to clear all state files anyway."
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## Complete Implementation
|
|
281
|
+
|
|
282
|
+
Here's the complete bash implementation you should run:
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
#!/bin/bash
|
|
286
|
+
|
|
287
|
+
# Parse arguments
|
|
288
|
+
FORCE_MODE=false
|
|
289
|
+
if [[ "$*" == *"--force"* ]] || [[ "$*" == *"--all"* ]]; then
|
|
290
|
+
FORCE_MODE=true
|
|
291
|
+
fi
|
|
292
|
+
|
|
293
|
+
# Force mode: clear everything
|
|
294
|
+
if [[ "$FORCE_MODE" == "true" ]]; then
|
|
295
|
+
echo "FORCE CLEAR: Removing all OMC state files..."
|
|
296
|
+
|
|
297
|
+
mkdir -p .omc ~/.claude
|
|
298
|
+
|
|
299
|
+
# Remove local state files
|
|
300
|
+
rm -f .omc/autopilot-state.json
|
|
301
|
+
rm -f .omc/ralph-state.json
|
|
302
|
+
rm -f .omc/ultrawork-state.json
|
|
303
|
+
rm -f .omc/ecomode-state.json
|
|
304
|
+
rm -f .omc/ultraqa-state.json
|
|
305
|
+
rm -f .omc/ralph-plan-state.json
|
|
306
|
+
rm -f .omc/ralph-verification.json
|
|
307
|
+
rm -f .omc/swarm-state.json
|
|
308
|
+
rm -f .omc/state/swarm-tasks.json
|
|
309
|
+
rm -f .omc/ultrapilot-state.json
|
|
310
|
+
rm -f .omc/pipeline-state.json
|
|
311
|
+
|
|
312
|
+
# Remove global state files
|
|
313
|
+
rm -f ~/.claude/ralph-state.json
|
|
314
|
+
rm -f ~/.claude/ultrawork-state.json
|
|
315
|
+
rm -f ~/.claude/ecomode-state.json
|
|
316
|
+
|
|
317
|
+
echo ""
|
|
318
|
+
echo "All OMC modes cleared. You are free to start fresh."
|
|
319
|
+
exit 0
|
|
320
|
+
fi
|
|
321
|
+
|
|
322
|
+
# Track what we cancelled
|
|
323
|
+
CANCELLED_ANYTHING=false
|
|
324
|
+
|
|
325
|
+
# 1. Check Autopilot (highest priority, includes cleanup of ralph/ultraqa)
|
|
326
|
+
if [[ -f .omc/autopilot-state.json ]]; then
|
|
327
|
+
AUTOPILOT_STATE=$(cat .omc/autopilot-state.json)
|
|
328
|
+
AUTOPILOT_ACTIVE=$(echo "$AUTOPILOT_STATE" | jq -r '.active // false')
|
|
329
|
+
|
|
330
|
+
if [[ "$AUTOPILOT_ACTIVE" == "true" ]]; then
|
|
331
|
+
CURRENT_PHASE=$(echo "$AUTOPILOT_STATE" | jq -r '.phase // "unknown"')
|
|
332
|
+
CLEANED_UP=()
|
|
333
|
+
|
|
334
|
+
# Clean up ralph if active
|
|
335
|
+
if [[ -f .omc/ralph-state.json ]]; then
|
|
336
|
+
RALPH_STATE=$(cat .omc/ralph-state.json)
|
|
337
|
+
RALPH_ACTIVE=$(echo "$RALPH_STATE" | jq -r '.active // false')
|
|
338
|
+
|
|
339
|
+
if [[ "$RALPH_ACTIVE" == "true" ]]; then
|
|
340
|
+
LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')
|
|
341
|
+
|
|
342
|
+
# Clean linked ultrawork first
|
|
343
|
+
if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/ultrawork-state.json ]]; then
|
|
344
|
+
rm -f .omc/ultrawork-state.json
|
|
345
|
+
rm -f ~/.claude/ultrawork-state.json
|
|
346
|
+
CLEANED_UP+=("ultrawork")
|
|
347
|
+
fi
|
|
348
|
+
|
|
349
|
+
# Clean ralph
|
|
350
|
+
rm -f .omc/ralph-state.json
|
|
351
|
+
rm -f ~/.claude/ralph-state.json
|
|
352
|
+
rm -f .omc/ralph-verification.json
|
|
353
|
+
CLEANED_UP+=("ralph")
|
|
354
|
+
fi
|
|
355
|
+
fi
|
|
356
|
+
|
|
357
|
+
# Clean up ultraqa if active
|
|
358
|
+
if [[ -f .omc/ultraqa-state.json ]]; then
|
|
359
|
+
ULTRAQA_STATE=$(cat .omc/ultraqa-state.json)
|
|
360
|
+
ULTRAQA_ACTIVE=$(echo "$ULTRAQA_STATE" | jq -r '.active // false')
|
|
361
|
+
|
|
362
|
+
if [[ "$ULTRAQA_ACTIVE" == "true" ]]; then
|
|
363
|
+
rm -f .omc/ultraqa-state.json
|
|
364
|
+
CLEANED_UP+=("ultraqa")
|
|
365
|
+
fi
|
|
366
|
+
fi
|
|
367
|
+
|
|
368
|
+
# Mark autopilot inactive but preserve state for resume
|
|
369
|
+
echo "$AUTOPILOT_STATE" | jq '.active = false' > .omc/autopilot-state.json
|
|
370
|
+
|
|
371
|
+
echo "Autopilot cancelled at phase: $CURRENT_PHASE."
|
|
372
|
+
|
|
373
|
+
if [[ ${#CLEANED_UP[@]} -gt 0 ]]; then
|
|
374
|
+
echo "Cleaned up: ${CLEANED_UP[*]}"
|
|
375
|
+
fi
|
|
376
|
+
|
|
377
|
+
echo "Progress preserved for resume. Run /oh-my-claudecode:autopilot to continue."
|
|
378
|
+
CANCELLED_ANYTHING=true
|
|
379
|
+
exit 0
|
|
380
|
+
fi
|
|
381
|
+
fi
|
|
382
|
+
|
|
383
|
+
# 2. Check Ralph (if not handled by autopilot)
|
|
384
|
+
if [[ -f .omc/ralph-state.json ]]; then
|
|
385
|
+
RALPH_STATE=$(cat .omc/ralph-state.json)
|
|
386
|
+
RALPH_ACTIVE=$(echo "$RALPH_STATE" | jq -r '.active // false')
|
|
387
|
+
|
|
388
|
+
if [[ "$RALPH_ACTIVE" == "true" ]]; then
|
|
389
|
+
LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')
|
|
390
|
+
|
|
391
|
+
# Clean linked ultrawork first
|
|
392
|
+
if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/ultrawork-state.json ]]; then
|
|
393
|
+
UW_STATE=$(cat .omc/ultrawork-state.json)
|
|
394
|
+
UW_LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')
|
|
395
|
+
|
|
396
|
+
# Only clear if it was linked to ralph
|
|
397
|
+
if [[ "$UW_LINKED" == "true" ]]; then
|
|
398
|
+
rm -f .omc/ultrawork-state.json
|
|
399
|
+
rm -f ~/.claude/ultrawork-state.json
|
|
400
|
+
echo "Cleaned up: ultrawork (linked to ralph)"
|
|
401
|
+
fi
|
|
402
|
+
fi
|
|
403
|
+
|
|
404
|
+
# Clean linked ecomode if present
|
|
405
|
+
LINKED_ECO=$(echo "$RALPH_STATE" | jq -r '.linked_ecomode // false')
|
|
406
|
+
|
|
407
|
+
if [[ "$LINKED_ECO" == "true" ]] && [[ -f .omc/ecomode-state.json ]]; then
|
|
408
|
+
ECO_STATE=$(cat .omc/ecomode-state.json)
|
|
409
|
+
ECO_LINKED=$(echo "$ECO_STATE" | jq -r '.linked_to_ralph // false')
|
|
410
|
+
|
|
411
|
+
if [[ "$ECO_LINKED" == "true" ]]; then
|
|
412
|
+
rm -f .omc/ecomode-state.json
|
|
413
|
+
rm -f ~/.claude/ecomode-state.json
|
|
414
|
+
echo "Cleaned up: ecomode (linked to ralph)"
|
|
415
|
+
fi
|
|
416
|
+
fi
|
|
417
|
+
|
|
418
|
+
# Clean ralph state (both local and global)
|
|
419
|
+
rm -f .omc/ralph-state.json
|
|
420
|
+
rm -f ~/.claude/ralph-state.json
|
|
421
|
+
rm -f .omc/ralph-plan-state.json
|
|
422
|
+
rm -f .omc/ralph-verification.json
|
|
423
|
+
|
|
424
|
+
echo "Ralph cancelled. Persistent mode deactivated."
|
|
425
|
+
CANCELLED_ANYTHING=true
|
|
426
|
+
exit 0
|
|
427
|
+
fi
|
|
428
|
+
fi
|
|
429
|
+
|
|
430
|
+
# 3. Check Ultrawork (standalone, not linked)
|
|
431
|
+
if [[ -f .omc/ultrawork-state.json ]]; then
|
|
432
|
+
UW_STATE=$(cat .omc/ultrawork-state.json)
|
|
433
|
+
UW_ACTIVE=$(echo "$UW_STATE" | jq -r '.active // false')
|
|
434
|
+
|
|
435
|
+
if [[ "$UW_ACTIVE" == "true" ]]; then
|
|
436
|
+
LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')
|
|
437
|
+
|
|
438
|
+
if [[ "$LINKED" == "true" ]]; then
|
|
439
|
+
echo "Warning: Ultrawork is linked to Ralph, but Ralph is not active."
|
|
440
|
+
echo "Clearing ultrawork state anyway..."
|
|
441
|
+
fi
|
|
442
|
+
|
|
443
|
+
# Remove both local and global state
|
|
444
|
+
rm -f .omc/ultrawork-state.json
|
|
445
|
+
rm -f ~/.claude/ultrawork-state.json
|
|
446
|
+
|
|
447
|
+
echo "Ultrawork cancelled. Parallel execution mode deactivated."
|
|
448
|
+
CANCELLED_ANYTHING=true
|
|
449
|
+
exit 0
|
|
450
|
+
fi
|
|
451
|
+
fi
|
|
452
|
+
|
|
453
|
+
# 4. Check Ecomode (standalone, not linked)
|
|
454
|
+
if [[ -f .omc/ecomode-state.json ]]; then
|
|
455
|
+
ECO_STATE=$(cat .omc/ecomode-state.json)
|
|
456
|
+
ECO_ACTIVE=$(echo "$ECO_STATE" | jq -r '.active // false')
|
|
457
|
+
|
|
458
|
+
if [[ "$ECO_ACTIVE" == "true" ]]; then
|
|
459
|
+
LINKED=$(echo "$ECO_STATE" | jq -r '.linked_to_ralph // false')
|
|
460
|
+
|
|
461
|
+
if [[ "$LINKED" == "true" ]]; then
|
|
462
|
+
echo "Warning: Ecomode is linked to Ralph, but Ralph is not active."
|
|
463
|
+
echo "Clearing ecomode state anyway..."
|
|
464
|
+
fi
|
|
465
|
+
|
|
466
|
+
# Remove both local and global state
|
|
467
|
+
rm -f .omc/ecomode-state.json
|
|
468
|
+
rm -f ~/.claude/ecomode-state.json
|
|
469
|
+
|
|
470
|
+
echo "Ecomode cancelled. Token-efficient execution mode deactivated."
|
|
471
|
+
CANCELLED_ANYTHING=true
|
|
472
|
+
exit 0
|
|
473
|
+
fi
|
|
474
|
+
fi
|
|
475
|
+
|
|
476
|
+
# 5. Check UltraQA (standalone)
|
|
477
|
+
if [[ -f .omc/ultraqa-state.json ]]; then
|
|
478
|
+
ULTRAQA_STATE=$(cat .omc/ultraqa-state.json)
|
|
479
|
+
ULTRAQA_ACTIVE=$(echo "$ULTRAQA_STATE" | jq -r '.active // false')
|
|
480
|
+
|
|
481
|
+
if [[ "$ULTRAQA_ACTIVE" == "true" ]]; then
|
|
482
|
+
rm -f .omc/ultraqa-state.json
|
|
483
|
+
echo "UltraQA cancelled. QA cycling workflow stopped."
|
|
484
|
+
CANCELLED_ANYTHING=true
|
|
485
|
+
exit 0
|
|
486
|
+
fi
|
|
487
|
+
fi
|
|
488
|
+
|
|
489
|
+
# 6. Check Swarm (standalone)
|
|
490
|
+
if [[ -f .omc/swarm-state.json ]]; then
|
|
491
|
+
SWARM_STATE=$(cat .omc/swarm-state.json)
|
|
492
|
+
SWARM_ACTIVE=$(echo "$SWARM_STATE" | jq -r '.active // false')
|
|
493
|
+
|
|
494
|
+
if [[ "$SWARM_ACTIVE" == "true" ]]; then
|
|
495
|
+
rm -f .omc/swarm-state.json
|
|
496
|
+
rm -f .omc/state/swarm-tasks.json
|
|
497
|
+
echo "Swarm cancelled. Coordinated agents stopped."
|
|
498
|
+
CANCELLED_ANYTHING=true
|
|
499
|
+
exit 0
|
|
500
|
+
fi
|
|
501
|
+
fi
|
|
502
|
+
|
|
503
|
+
# 7. Check Ultrapilot (standalone)
|
|
504
|
+
if [[ -f .omc/ultrapilot-state.json ]]; then
|
|
505
|
+
ULTRAPILOT_STATE=$(cat .omc/ultrapilot-state.json)
|
|
506
|
+
ULTRAPILOT_ACTIVE=$(echo "$ULTRAPILOT_STATE" | jq -r '.active // false')
|
|
507
|
+
|
|
508
|
+
if [[ "$ULTRAPILOT_ACTIVE" == "true" ]]; then
|
|
509
|
+
rm -f .omc/ultrapilot-state.json
|
|
510
|
+
echo "Ultrapilot cancelled. Parallel autopilot workers stopped."
|
|
511
|
+
CANCELLED_ANYTHING=true
|
|
512
|
+
exit 0
|
|
513
|
+
fi
|
|
514
|
+
fi
|
|
515
|
+
|
|
516
|
+
# 8. Check Pipeline (standalone)
|
|
517
|
+
if [[ -f .omc/pipeline-state.json ]]; then
|
|
518
|
+
PIPELINE_STATE=$(cat .omc/pipeline-state.json)
|
|
519
|
+
PIPELINE_ACTIVE=$(echo "$PIPELINE_STATE" | jq -r '.active // false')
|
|
520
|
+
|
|
521
|
+
if [[ "$PIPELINE_ACTIVE" == "true" ]]; then
|
|
522
|
+
rm -f .omc/pipeline-state.json
|
|
523
|
+
echo "Pipeline cancelled. Sequential agent chain stopped."
|
|
524
|
+
CANCELLED_ANYTHING=true
|
|
525
|
+
exit 0
|
|
526
|
+
fi
|
|
527
|
+
fi
|
|
528
|
+
|
|
529
|
+
# No active modes found
|
|
530
|
+
if [[ "$CANCELLED_ANYTHING" == "false" ]]; then
|
|
531
|
+
echo "No active OMC modes detected."
|
|
532
|
+
echo ""
|
|
533
|
+
echo "Checked for:"
|
|
534
|
+
echo " - Autopilot (.omc/autopilot-state.json)"
|
|
535
|
+
echo " - Ralph (.omc/ralph-state.json)"
|
|
536
|
+
echo " - Ultrawork (.omc/ultrawork-state.json)"
|
|
537
|
+
echo " - Ecomode (.omc/ecomode-state.json)"
|
|
538
|
+
echo " - UltraQA (.omc/ultraqa-state.json)"
|
|
539
|
+
echo " - Swarm (.omc/swarm-state.json)"
|
|
540
|
+
echo " - Ultrapilot (.omc/ultrapilot-state.json)"
|
|
541
|
+
echo " - Pipeline (.omc/pipeline-state.json)"
|
|
542
|
+
echo ""
|
|
543
|
+
echo "Use --force to clear all state files anyway."
|
|
544
|
+
fi
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
## Messages Reference
|
|
548
|
+
|
|
549
|
+
| Mode | Success Message |
|
|
550
|
+
|------|-----------------|
|
|
551
|
+
| Autopilot | "Autopilot cancelled at phase: {phase}. Progress preserved for resume." |
|
|
552
|
+
| Ralph | "Ralph cancelled. Persistent mode deactivated." |
|
|
553
|
+
| Ultrawork | "Ultrawork cancelled. Parallel execution mode deactivated." |
|
|
554
|
+
| Ecomode | "Ecomode cancelled. Token-efficient execution mode deactivated." |
|
|
555
|
+
| UltraQA | "UltraQA cancelled. QA cycling workflow stopped." |
|
|
556
|
+
| Swarm | "Swarm cancelled. Coordinated agents stopped." |
|
|
557
|
+
| Ultrapilot | "Ultrapilot cancelled. Parallel autopilot workers stopped." |
|
|
558
|
+
| Pipeline | "Pipeline cancelled. Sequential agent chain stopped." |
|
|
559
|
+
| Force | "All OMC modes cleared. You are free to start fresh." |
|
|
560
|
+
| None | "No active OMC modes detected." |
|
|
561
|
+
|
|
562
|
+
## What Gets Preserved
|
|
563
|
+
|
|
564
|
+
| Mode | State Preserved | Resume Command |
|
|
565
|
+
|------|-----------------|----------------|
|
|
566
|
+
| Autopilot | Yes (phase, files, spec, plan, verdicts) | `/oh-my-claudecode:autopilot` |
|
|
567
|
+
| Ralph | No | N/A |
|
|
568
|
+
| Ultrawork | No | N/A |
|
|
569
|
+
| UltraQA | No | N/A |
|
|
570
|
+
| Swarm | No | N/A |
|
|
571
|
+
| Ultrapilot | No | N/A |
|
|
572
|
+
| Pipeline | No | N/A |
|
|
573
|
+
|
|
574
|
+
## Notes
|
|
575
|
+
|
|
576
|
+
- **Dependency-aware**: Autopilot cancellation cleans up Ralph and UltraQA
|
|
577
|
+
- **Link-aware**: Ralph cancellation cleans up linked Ultrawork or Ecomode
|
|
578
|
+
- **Safe**: Only clears linked Ultrawork, preserves standalone Ultrawork
|
|
579
|
+
- **Dual-location**: Clears both `.omc/` and `~/.claude/` state files
|
|
580
|
+
- **Resume-friendly**: Autopilot state is preserved for seamless resume
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cancel-ecomode
|
|
3
|
+
description: Cancel active Ecomode mode
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Cancel Ecomode
|
|
7
|
+
|
|
8
|
+
[ECOMODE CANCELLED]
|
|
9
|
+
|
|
10
|
+
The Ecomode has been cancelled. Clearing state files.
|
|
11
|
+
|
|
12
|
+
## MANDATORY ACTION
|
|
13
|
+
|
|
14
|
+
**First**, check if ecomode is linked to an active Ralph loop:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
cat .omc/ecomode-state.json 2>/dev/null | jq -r '.linked_to_ralph // false'
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**If linked_to_ralph is true**: Use `/oh-my-claudecode:cancel-ralph` instead to cancel both Ralph and its linked Ecomode.
|
|
21
|
+
|
|
22
|
+
**Otherwise**, execute this command to cancel Ecomode:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
mkdir -p .omc && \
|
|
26
|
+
echo '{"active": false, "cancelled_at": "'$(date -Iseconds)'", "reason": "User cancelled via /cancel-ecomode"}' > .omc/ecomode-state.json && \
|
|
27
|
+
echo '{"active": false, "cancelled_at": "'$(date -Iseconds)'", "reason": "User cancelled via /cancel-ecomode"}' > ~/.claude/ecomode-state.json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
After running this command, ecomode will be deactivated and the HUD will update.
|
|
31
|
+
|
|
32
|
+
## Note on Linked Modes
|
|
33
|
+
|
|
34
|
+
Since v3.5, Ralph can activate either Ultrawork OR Ecomode based on user preference. If you see `linked_to_ralph: true` in the ecomode state, it means Ecomode was auto-activated by Ralph. In this case:
|
|
35
|
+
- Use `/oh-my-claudecode:cancel-ralph` to cancel both modes
|
|
36
|
+
- If you only cancel ecomode, Ralph will continue but without parallel execution benefits
|
|
37
|
+
|
|
38
|
+
## To Start Fresh
|
|
39
|
+
|
|
40
|
+
- `/oh-my-claudecode:ecomode "task"` - Start ecomode only (standalone)
|
|
41
|
+
- `/oh-my-claudecode:ralph "task"` - Start ralph with default execution mode
|
package/skills/deepinit/SKILL.md
CHANGED