oh-my-claudecode-opencode 0.2.0 → 0.3.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 +113 -43
- package/assets/agents/analyst.md +85 -0
- package/assets/agents/architect-low.md +88 -0
- package/assets/agents/architect-medium.md +147 -0
- package/assets/agents/architect.md +147 -0
- package/assets/agents/build-fixer-low.md +83 -0
- package/assets/agents/build-fixer.md +160 -0
- package/assets/agents/code-reviewer-low.md +82 -0
- package/assets/agents/code-reviewer.md +155 -0
- package/assets/agents/critic.md +131 -0
- package/assets/agents/designer-high.md +113 -0
- package/assets/agents/designer-low.md +89 -0
- package/assets/agents/designer.md +80 -0
- package/assets/agents/executor-high.md +139 -0
- package/assets/agents/executor-low.md +94 -0
- package/assets/agents/executor.md +78 -0
- package/assets/agents/explore-medium.md +113 -0
- package/assets/agents/explore.md +86 -0
- package/assets/agents/planner.md +299 -0
- package/assets/agents/qa-tester.md +109 -0
- package/assets/agents/researcher-low.md +84 -0
- package/assets/agents/researcher.md +70 -0
- package/assets/agents/scientist-high.md +1023 -0
- package/assets/agents/scientist-low.md +258 -0
- package/assets/agents/scientist.md +1302 -0
- package/assets/agents/security-reviewer-low.md +83 -0
- package/assets/agents/security-reviewer.md +186 -0
- package/assets/agents/tdd-guide-low.md +81 -0
- package/assets/agents/tdd-guide.md +191 -0
- package/assets/agents/vision.md +39 -0
- package/assets/agents/writer.md +152 -0
- package/assets/skills/analyze.md +64 -0
- package/assets/skills/autopilot.md +168 -0
- package/assets/skills/cancel-autopilot.md +53 -0
- package/assets/skills/cancel-ralph.md +43 -0
- package/assets/skills/cancel-ultraqa.md +29 -0
- package/assets/skills/cancel-ultrawork.md +42 -0
- package/assets/skills/deepinit.md +321 -0
- package/assets/skills/deepsearch.md +39 -0
- package/assets/skills/doctor.md +192 -0
- package/assets/skills/frontend-ui-ux.md +53 -0
- package/assets/skills/git-master.md +58 -0
- package/assets/skills/help.md +66 -0
- package/assets/skills/hud.md +239 -0
- package/assets/skills/learner.md +136 -0
- package/assets/skills/mcp-setup.md +196 -0
- package/assets/skills/note.md +63 -0
- package/assets/skills/omc-default-global.md +75 -0
- package/assets/skills/omc-default.md +78 -0
- package/assets/skills/omc-setup.md +245 -0
- package/assets/skills/orchestrate.md +409 -0
- package/assets/skills/plan.md +38 -0
- package/assets/skills/planner.md +106 -0
- package/assets/skills/ralph-init.md +61 -0
- package/assets/skills/ralph.md +136 -0
- package/assets/skills/ralplan.md +272 -0
- package/assets/skills/release.md +84 -0
- package/assets/skills/research.md +511 -0
- package/assets/skills/review.md +37 -0
- package/assets/skills/tdd.md +80 -0
- package/assets/skills/ultraqa.md +123 -0
- package/assets/skills/ultrawork.md +93 -0
- package/dist/agents/index.d.ts +14 -1
- package/dist/agents/loader.d.ts +13 -0
- package/dist/agents/types.d.ts +14 -0
- package/dist/index.js +34124 -26925
- package/dist/skills/index.d.ts +14 -0
- package/dist/skills/loader.d.ts +9 -0
- package/dist/skills/types.d.ts +9 -0
- package/package.json +6 -3
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ultraqa
|
|
3
|
+
description: QA cycling workflow - test, verify, fix, repeat until goal met
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# UltraQA Skill
|
|
8
|
+
|
|
9
|
+
[ULTRAQA ACTIVATED - AUTONOMOUS QA CYCLING]
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
You are now in **ULTRAQA** mode - an autonomous QA cycling workflow that runs until your quality goal is met.
|
|
14
|
+
|
|
15
|
+
**Cycle**: qa-tester → architect verification → fix → repeat
|
|
16
|
+
|
|
17
|
+
## Goal Parsing
|
|
18
|
+
|
|
19
|
+
Parse the goal from arguments. Supported formats:
|
|
20
|
+
|
|
21
|
+
| Invocation | Goal Type | What to Check |
|
|
22
|
+
|------------|-----------|---------------|
|
|
23
|
+
| `/oh-my-claudecode:ultraqa --tests` | tests | All test suites pass |
|
|
24
|
+
| `/oh-my-claudecode:ultraqa --build` | build | Build succeeds with exit 0 |
|
|
25
|
+
| `/oh-my-claudecode:ultraqa --lint` | lint | No lint errors |
|
|
26
|
+
| `/oh-my-claudecode:ultraqa --typecheck` | typecheck | No TypeScript errors |
|
|
27
|
+
| `/oh-my-claudecode:ultraqa --custom "pattern"` | custom | Custom success pattern in output |
|
|
28
|
+
|
|
29
|
+
If no structured goal provided, interpret the argument as a custom goal.
|
|
30
|
+
|
|
31
|
+
## Cycle Workflow
|
|
32
|
+
|
|
33
|
+
### Cycle N (Max 5)
|
|
34
|
+
|
|
35
|
+
1. **RUN QA**: Execute verification based on goal type
|
|
36
|
+
- `--tests`: Run `npm test` or equivalent
|
|
37
|
+
- `--build`: Run `npm run build` or equivalent
|
|
38
|
+
- `--lint`: Run `npm run lint` or equivalent
|
|
39
|
+
- `--typecheck`: Run `npm run typecheck` or `tsc --noEmit`
|
|
40
|
+
- `--custom`: Run appropriate command and check for pattern
|
|
41
|
+
- `--interactive`: Use qa-tester for interactive CLI/service testing:
|
|
42
|
+
```
|
|
43
|
+
Task(subagent_type="oh-my-claudecode:qa-tester", model="sonnet", prompt="TEST:
|
|
44
|
+
Goal: [describe what to verify]
|
|
45
|
+
Service: [how to start]
|
|
46
|
+
Test cases: [specific scenarios to verify]")
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
2. **CHECK RESULT**: Did the goal pass?
|
|
50
|
+
- **YES** → Exit with success message
|
|
51
|
+
- **NO** → Continue to step 3
|
|
52
|
+
|
|
53
|
+
3. **ARCHITECT DIAGNOSIS**: Spawn architect to analyze failure
|
|
54
|
+
```
|
|
55
|
+
Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="DIAGNOSE FAILURE:
|
|
56
|
+
Goal: [goal type]
|
|
57
|
+
Output: [test/build output]
|
|
58
|
+
Provide root cause and specific fix recommendations.")
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
4. **FIX ISSUES**: Apply architect's recommendations
|
|
62
|
+
```
|
|
63
|
+
Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="FIX:
|
|
64
|
+
Issue: [architect diagnosis]
|
|
65
|
+
Files: [affected files]
|
|
66
|
+
Apply the fix precisely as recommended.")
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
5. **REPEAT**: Go back to step 1
|
|
70
|
+
|
|
71
|
+
## Exit Conditions
|
|
72
|
+
|
|
73
|
+
| Condition | Action |
|
|
74
|
+
|-----------|--------|
|
|
75
|
+
| **Goal Met** | Exit with success: "ULTRAQA COMPLETE: Goal met after N cycles" |
|
|
76
|
+
| **Cycle 5 Reached** | Exit with diagnosis: "ULTRAQA STOPPED: Max cycles. Diagnosis: ..." |
|
|
77
|
+
| **Same Failure 3x** | Exit early: "ULTRAQA STOPPED: Same failure detected 3 times. Root cause: ..." |
|
|
78
|
+
| **Environment Error** | Exit: "ULTRAQA ERROR: [tmux/port/dependency issue]" |
|
|
79
|
+
|
|
80
|
+
## Observability
|
|
81
|
+
|
|
82
|
+
Output progress each cycle:
|
|
83
|
+
```
|
|
84
|
+
[ULTRAQA Cycle 1/5] Running tests...
|
|
85
|
+
[ULTRAQA Cycle 1/5] FAILED - 3 tests failing
|
|
86
|
+
[ULTRAQA Cycle 1/5] Architect diagnosing...
|
|
87
|
+
[ULTRAQA Cycle 1/5] Fixing: auth.test.ts - missing mock
|
|
88
|
+
[ULTRAQA Cycle 2/5] Running tests...
|
|
89
|
+
[ULTRAQA Cycle 2/5] PASSED - All 47 tests pass
|
|
90
|
+
[ULTRAQA COMPLETE] Goal met after 2 cycles
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## State Tracking
|
|
94
|
+
|
|
95
|
+
Track state in `.omc/ultraqa-state.json`:
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"active": true,
|
|
99
|
+
"goal_type": "tests",
|
|
100
|
+
"goal_pattern": null,
|
|
101
|
+
"cycle": 1,
|
|
102
|
+
"max_cycles": 5,
|
|
103
|
+
"failures": ["3 tests failing: auth.test.ts"],
|
|
104
|
+
"started_at": "2024-01-18T12:00:00Z",
|
|
105
|
+
"session_id": "uuid"
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Cancellation
|
|
110
|
+
|
|
111
|
+
User can cancel with `/oh-my-claudecode:cancel-ultraqa` which clears the state file.
|
|
112
|
+
|
|
113
|
+
## Important Rules
|
|
114
|
+
|
|
115
|
+
1. **PARALLEL when possible** - Run diagnosis while preparing potential fixes
|
|
116
|
+
2. **TRACK failures** - Record each failure to detect patterns
|
|
117
|
+
3. **EARLY EXIT on pattern** - 3x same failure = stop and surface
|
|
118
|
+
4. **CLEAR OUTPUT** - User should always know current cycle and status
|
|
119
|
+
5. **CLEAN UP** - Clear state file on completion or cancellation
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
Begin ULTRAQA cycling now. Parse the goal and start cycle 1.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ultrawork
|
|
3
|
+
description: Activate maximum performance mode with parallel agent orchestration for high-throughput task completion
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ultrawork Skill
|
|
8
|
+
|
|
9
|
+
Activates maximum performance mode with parallel agent orchestration.
|
|
10
|
+
|
|
11
|
+
## When Activated
|
|
12
|
+
|
|
13
|
+
This skill enhances Claude's capabilities by:
|
|
14
|
+
|
|
15
|
+
1. **Parallel Execution**: Running multiple agents simultaneously for independent tasks
|
|
16
|
+
2. **Aggressive Delegation**: Routing tasks to specialist agents immediately
|
|
17
|
+
3. **Background Operations**: Using `run_in_background: true` for long operations
|
|
18
|
+
4. **Persistence Enforcement**: Never stopping until all tasks are verified complete
|
|
19
|
+
5. **Smart Model Routing**: Using tiered agents to save tokens
|
|
20
|
+
|
|
21
|
+
## Smart Model Routing (CRITICAL - SAVE TOKENS)
|
|
22
|
+
|
|
23
|
+
**Choose tier based on task complexity: LOW (haiku) → MEDIUM (sonnet) → HIGH (opus)**
|
|
24
|
+
|
|
25
|
+
### Available Agents by Tier
|
|
26
|
+
|
|
27
|
+
| Domain | LOW (Haiku) | MEDIUM (Sonnet) | HIGH (Opus) |
|
|
28
|
+
|--------|-------------|-----------------|-------------|
|
|
29
|
+
| **Analysis** | `architect-low` | `architect-medium` | `architect` |
|
|
30
|
+
| **Execution** | `executor-low` | `executor` | `executor-high` |
|
|
31
|
+
| **Search** | `explore` | `explore-medium` | - |
|
|
32
|
+
| **Research** | `researcher-low` | `researcher` | - |
|
|
33
|
+
| **Frontend** | `designer-low` | `designer` | `designer-high` |
|
|
34
|
+
| **Docs** | `writer` | - | - |
|
|
35
|
+
| **Visual** | - | `vision` | - |
|
|
36
|
+
| **Planning** | - | - | `planner`, `critic`, `analyst` |
|
|
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` |
|
|
42
|
+
|
|
43
|
+
### Tier Selection Guide
|
|
44
|
+
|
|
45
|
+
| Task Complexity | Tier | Examples |
|
|
46
|
+
|-----------------|------|----------|
|
|
47
|
+
| Simple lookups | LOW | "What does this function return?", "Find where X is defined" |
|
|
48
|
+
| Standard work | MEDIUM | "Add error handling", "Implement this feature" |
|
|
49
|
+
| Complex analysis | HIGH | "Debug this race condition", "Refactor auth module across 5 files" |
|
|
50
|
+
|
|
51
|
+
### Routing Examples
|
|
52
|
+
|
|
53
|
+
**CRITICAL: Always pass `model` parameter explicitly - Claude Code does NOT auto-apply models from agent definitions!**
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
// Simple question → LOW tier (saves tokens!)
|
|
57
|
+
Task(subagent_type="oh-my-claudecode:architect-low", model="haiku", prompt="What does this function return?")
|
|
58
|
+
|
|
59
|
+
// Standard implementation → MEDIUM tier
|
|
60
|
+
Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="Add error handling to login")
|
|
61
|
+
|
|
62
|
+
// Complex refactoring → HIGH tier
|
|
63
|
+
Task(subagent_type="oh-my-claudecode:executor-high", model="opus", prompt="Refactor auth module using JWT across 5 files")
|
|
64
|
+
|
|
65
|
+
// Quick file lookup → LOW tier
|
|
66
|
+
Task(subagent_type="oh-my-claudecode:explore", model="haiku", prompt="Find where UserService is defined")
|
|
67
|
+
|
|
68
|
+
// Thorough search → MEDIUM tier
|
|
69
|
+
Task(subagent_type="oh-my-claudecode:explore-medium", model="sonnet", prompt="Find all authentication patterns in the codebase")
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Background Execution Rules
|
|
73
|
+
|
|
74
|
+
**Run in Background** (set `run_in_background: true`):
|
|
75
|
+
- Package installation: npm install, pip install, cargo build
|
|
76
|
+
- Build processes: npm run build, make, tsc
|
|
77
|
+
- Test suites: npm test, pytest, cargo test
|
|
78
|
+
- Docker operations: docker build, docker pull
|
|
79
|
+
|
|
80
|
+
**Run Blocking** (foreground):
|
|
81
|
+
- Quick status checks: git status, ls, pwd
|
|
82
|
+
- File reads, edits
|
|
83
|
+
- Simple commands
|
|
84
|
+
|
|
85
|
+
## Verification Checklist
|
|
86
|
+
|
|
87
|
+
Before stopping, verify:
|
|
88
|
+
- [ ] TODO LIST: Zero pending/in_progress tasks
|
|
89
|
+
- [ ] FUNCTIONALITY: All requested features work
|
|
90
|
+
- [ ] TESTS: All tests pass (if applicable)
|
|
91
|
+
- [ ] ERRORS: Zero unaddressed errors
|
|
92
|
+
|
|
93
|
+
**If ANY checkbox is unchecked, CONTINUE WORKING.**
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
* - critic (was: momus) - Plan review (Opus)
|
|
18
18
|
* - vision - Visual/media analysis (Sonnet)
|
|
19
19
|
* - scientist - Data analysis and research execution (New in v3.3.6)
|
|
20
|
+
*
|
|
21
|
+
* Dynamic Loading (v3.4.0):
|
|
22
|
+
* Agents are loaded from assets/agents/*.md files at runtime.
|
|
23
|
+
* Hardcoded definitions below serve as fallback.
|
|
20
24
|
*/
|
|
21
25
|
export interface AgentDefinition {
|
|
22
26
|
name: string;
|
|
@@ -122,7 +126,8 @@ export declare const scientistHighAgent: AgentDefinition;
|
|
|
122
126
|
* Coordinator (Opus) - Master Orchestrator for complex multi-step tasks
|
|
123
127
|
*/
|
|
124
128
|
export declare const coordinatorAgent: AgentDefinition;
|
|
125
|
-
|
|
129
|
+
declare let agents: Record<string, AgentDefinition>;
|
|
130
|
+
export { agents };
|
|
126
131
|
export declare function getAgent(name: string): AgentDefinition | undefined;
|
|
127
132
|
export declare function listAgents(): AgentDefinition[];
|
|
128
133
|
/**
|
|
@@ -137,3 +142,11 @@ export declare function isAlias(name: string): boolean;
|
|
|
137
142
|
* Get the canonical (new) name for an agent
|
|
138
143
|
*/
|
|
139
144
|
export declare function getCanonicalName(name: string): string;
|
|
145
|
+
/**
|
|
146
|
+
* Force reload agents from disk (useful for hot-reloading during development)
|
|
147
|
+
*/
|
|
148
|
+
export declare function reloadAgents(): Promise<void>;
|
|
149
|
+
/**
|
|
150
|
+
* Get the list of primary (non-alias) agent names
|
|
151
|
+
*/
|
|
152
|
+
export declare function getPrimaryAgentNames(): string[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AgentDefinition } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses agent markdown file with YAML frontmatter
|
|
4
|
+
*/
|
|
5
|
+
export declare function loadAgent(filepath: string): Promise<AgentDefinition>;
|
|
6
|
+
/**
|
|
7
|
+
* Loads all agent definitions from a directory
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadAllAgents(directory: string): Promise<Map<string, AgentDefinition>>;
|
|
10
|
+
/**
|
|
11
|
+
* Gets the default agents directory path
|
|
12
|
+
*/
|
|
13
|
+
export declare function getAgentsDirectory(): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface AgentFrontmatter {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
model?: 'haiku' | 'sonnet' | 'opus';
|
|
5
|
+
tools?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface AgentDefinition {
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
systemPrompt: string;
|
|
11
|
+
model?: 'haiku' | 'sonnet' | 'opus';
|
|
12
|
+
readOnly: boolean;
|
|
13
|
+
tools: string[];
|
|
14
|
+
}
|