@happycastle/oh-my-openclaw 0.3.0 → 0.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/dist/commands/workflow-commands.js +8 -3
- package/dist/index.js +2 -2
- package/openclaw.plugin.json +1 -1
- package/package.json +2 -1
- package/skills/web-search.md +155 -0
- package/workflows/plan.md +115 -0
- package/workflows/start-work.md +110 -0
- package/workflows/ultrawork.md +90 -0
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { readFileSync } from 'fs';
|
|
2
|
-
import { join } from 'path';
|
|
2
|
+
import { dirname, join } from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
+
const __dirname = dirname(__filename);
|
|
6
|
+
// From dist/commands/ → plugin root is ../../
|
|
7
|
+
const PLUGIN_ROOT = join(__dirname, '..', '..');
|
|
3
8
|
function readWorkflow(workflowName) {
|
|
4
9
|
try {
|
|
5
|
-
const workflowPath = join(
|
|
10
|
+
const workflowPath = join(PLUGIN_ROOT, 'workflows', `${workflowName}.md`);
|
|
6
11
|
return readFileSync(workflowPath, 'utf-8');
|
|
7
12
|
}
|
|
8
13
|
catch {
|
|
9
|
-
return `Error: Could not read workflow file 'workflows/${workflowName}.md'.
|
|
14
|
+
return `Error: Could not read workflow file 'workflows/${workflowName}.md'. Plugin root: ${PLUGIN_ROOT}`;
|
|
10
15
|
}
|
|
11
16
|
}
|
|
12
17
|
export function registerWorkflowCommands(api) {
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { registerWorkflowCommands } from './commands/workflow-commands.js';
|
|
|
11
11
|
import { registerRalphCommands } from './commands/ralph-commands.js';
|
|
12
12
|
export default function register(api) {
|
|
13
13
|
const config = getConfig(api);
|
|
14
|
-
api.logger.info(`[${PLUGIN_ID}] Initializing plugin v0.3.
|
|
14
|
+
api.logger.info(`[${PLUGIN_ID}] Initializing plugin v0.3.1`);
|
|
15
15
|
try {
|
|
16
16
|
registerTodoEnforcer(api);
|
|
17
17
|
api.logger.info(`[${PLUGIN_ID}] Todo Enforcer hook registered (enabled: ${config.todo_enforcer_enabled})`);
|
|
@@ -79,7 +79,7 @@ export default function register(api) {
|
|
|
79
79
|
return {
|
|
80
80
|
ok: true,
|
|
81
81
|
plugin: PLUGIN_ID,
|
|
82
|
-
version: '0.3.
|
|
82
|
+
version: '0.3.1',
|
|
83
83
|
hooks: ['todo-enforcer', 'comment-checker', 'message-monitor'],
|
|
84
84
|
services: ['ralph-loop'],
|
|
85
85
|
tools: ['omoc_delegate', 'omoc_look_at', 'omoc_checkpoint'],
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "oh-my-openclaw",
|
|
3
3
|
"name": "Oh-My-OpenClaw",
|
|
4
4
|
"description": "Multi-agent orchestration plugin \u2014 10 agents, category-based model routing, todo enforcer, ralph loop, and custom tools",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.4.0",
|
|
6
6
|
"skills": ["skills"],
|
|
7
7
|
"configSchema": {
|
|
8
8
|
"type": "object",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happycastle/oh-my-openclaw",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Oh-My-OpenClaw plugin — multi-agent orchestration, todo enforcer, ralph loop, and custom tools for OpenClaw",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"dist",
|
|
37
37
|
"bin",
|
|
38
38
|
"skills",
|
|
39
|
+
"workflows",
|
|
39
40
|
"openclaw.plugin.json"
|
|
40
41
|
],
|
|
41
42
|
"keywords": [
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-search
|
|
3
|
+
description: 웹 검색 및 정보 수집 스킬. OmO의 websearch/context7/grep_app MCP 패턴을 OpenClaw 네이티브 도구 + mcporter MCP로 통합. 웹 검색, 페이지 읽기, 라이브러리 문서 검색, 오픈소스 코드 검색을 지원한다.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Web Search Skill
|
|
7
|
+
|
|
8
|
+
웹에서 정보를 수집하는 통합 스킬. OpenClaw 네이티브 도구(`web_fetch`)와 mcporter MCP 서버를 조합하여 다양한 검색 전략을 제공한다.
|
|
9
|
+
|
|
10
|
+
## 도구 우선순위
|
|
11
|
+
|
|
12
|
+
상황에 따라 최적의 도구를 선택:
|
|
13
|
+
|
|
14
|
+
### 1. OpenClaw 네이티브 `web_fetch` (기본)
|
|
15
|
+
가장 빠르고 간단. URL을 알고 있거나 간단한 페이지 읽기에 적합.
|
|
16
|
+
```
|
|
17
|
+
web_fetch(url="https://example.com", extractMode="markdown")
|
|
18
|
+
```
|
|
19
|
+
- 별도 설정 불필요
|
|
20
|
+
- HTML → markdown/text 자동 변환
|
|
21
|
+
- `maxChars`로 응답 크기 제한 가능
|
|
22
|
+
|
|
23
|
+
### 2. mcporter `web-search-prime` (웹 검색)
|
|
24
|
+
키워드 기반 웹 검색. 최신 정보, 뉴스, 기술 블로그 검색에 적합.
|
|
25
|
+
```bash
|
|
26
|
+
mcporter call web-search-prime.webSearchPrime \
|
|
27
|
+
search_query="검색어" \
|
|
28
|
+
location="us" \
|
|
29
|
+
content_size="medium"
|
|
30
|
+
```
|
|
31
|
+
**파라미터:**
|
|
32
|
+
- `search_query` (필수): 검색 키워드
|
|
33
|
+
- `location`: `us` | `kr` | `jp` 등 (기본: `us`)
|
|
34
|
+
- `content_size`: `medium` (기본) | `high` (상세, ~2500자)
|
|
35
|
+
- `search_recency_filter`: `oneDay` | `oneWeek` | `oneMonth` | `oneYear` | `noLimit`
|
|
36
|
+
|
|
37
|
+
### 3. mcporter `web-reader` (페이지 전문 읽기)
|
|
38
|
+
특정 URL의 전체 내용을 깔끔하게 추출. `web_fetch`보다 정확한 추출이 필요할 때.
|
|
39
|
+
```bash
|
|
40
|
+
mcporter call web-reader.webReader \
|
|
41
|
+
url="https://example.com" \
|
|
42
|
+
return_format="markdown"
|
|
43
|
+
```
|
|
44
|
+
**파라미터:**
|
|
45
|
+
- `url` (필수): 읽을 URL
|
|
46
|
+
- `return_format`: `markdown` (기본) | `text`
|
|
47
|
+
- `retain_images`: `true` (기본) | `false`
|
|
48
|
+
- `with_links_summary`: `true` | `false` (문서 내 링크 요약)
|
|
49
|
+
|
|
50
|
+
### 4. mcporter `exa` (시맨틱 웹 검색)
|
|
51
|
+
OmO의 기본 웹서치. 의미 기반(semantic) 검색으로 키워드보다 정확한 결과.
|
|
52
|
+
```bash
|
|
53
|
+
mcporter call exa.web_search_exa \
|
|
54
|
+
query="검색어"
|
|
55
|
+
```
|
|
56
|
+
- API 키 없이도 동작 (기본 제공)
|
|
57
|
+
- 시맨틱 검색 지원 (질문 형태로 검색하면 더 좋은 결과)
|
|
58
|
+
|
|
59
|
+
### 5. mcporter `context7` (라이브러리 문서 검색)
|
|
60
|
+
프로그래밍 라이브러리/프레임워크의 공식 문서를 검색.
|
|
61
|
+
```bash
|
|
62
|
+
# 라이브러리 검색
|
|
63
|
+
mcporter call context7.resolve-library-id \
|
|
64
|
+
libraryName="react"
|
|
65
|
+
|
|
66
|
+
# 문서 검색
|
|
67
|
+
mcporter call context7.get-library-docs \
|
|
68
|
+
context7CompatibleLibraryID="/facebook/react" \
|
|
69
|
+
topic="hooks"
|
|
70
|
+
```
|
|
71
|
+
**용도:**
|
|
72
|
+
- 라이브러리 API 레퍼런스 확인
|
|
73
|
+
- 프레임워크 사용법 검색
|
|
74
|
+
- 최신 버전 변경사항 확인
|
|
75
|
+
|
|
76
|
+
### 6. mcporter `grep_app` (오픈소스 코드 검색)
|
|
77
|
+
GitHub 등 오픈소스 코드에서 패턴/사용 예시를 검색.
|
|
78
|
+
```bash
|
|
79
|
+
mcporter call grep_app.search \
|
|
80
|
+
query="useEffect cleanup" \
|
|
81
|
+
language="typescript"
|
|
82
|
+
```
|
|
83
|
+
**용도:**
|
|
84
|
+
- 실제 프로젝트에서의 API 사용 예시 찾기
|
|
85
|
+
- 특정 패턴/에러의 해결책 검색
|
|
86
|
+
- 라이브러리 통합 방법 확인
|
|
87
|
+
|
|
88
|
+
### 7. mcporter `zread` (GitHub 리포 직접 탐색)
|
|
89
|
+
특정 GitHub 리포지토리의 파일/문서를 직접 읽기.
|
|
90
|
+
```bash
|
|
91
|
+
# 리포 구조 확인
|
|
92
|
+
mcporter call zread.get_repo_structure \
|
|
93
|
+
repo_name="owner/repo"
|
|
94
|
+
|
|
95
|
+
# 파일 읽기
|
|
96
|
+
mcporter call zread.read_file \
|
|
97
|
+
repo_name="owner/repo" \
|
|
98
|
+
file_path="src/index.ts"
|
|
99
|
+
|
|
100
|
+
# 문서/이슈 검색
|
|
101
|
+
mcporter call zread.search_doc \
|
|
102
|
+
repo_name="owner/repo" \
|
|
103
|
+
query="검색어"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## 검색 전략 가이드
|
|
107
|
+
|
|
108
|
+
### 일반 검색 (뉴스, 블로그, 일반 정보)
|
|
109
|
+
1. `web-search-prime` → 검색 결과 → `web_fetch`로 상세 페이지 읽기
|
|
110
|
+
|
|
111
|
+
### 기술 문서 검색
|
|
112
|
+
1. `context7`로 라이브러리 문서 직접 검색
|
|
113
|
+
2. 없으면 `web-search-prime`으로 공식 문서 URL 찾기 → `web_fetch`
|
|
114
|
+
|
|
115
|
+
### 코드 예시 검색
|
|
116
|
+
1. `grep_app`으로 오픈소스 코드에서 패턴 검색
|
|
117
|
+
2. `zread`로 특정 리포 파일 직접 읽기
|
|
118
|
+
3. `context7`로 라이브러리 공식 예시 확인
|
|
119
|
+
|
|
120
|
+
### 특정 사이트 정보
|
|
121
|
+
1. `web_fetch`로 직접 URL 읽기 (가장 빠름)
|
|
122
|
+
2. 내용 추출이 불완전하면 `web-reader`로 재시도
|
|
123
|
+
|
|
124
|
+
### 최신 정보 (오늘/이번 주)
|
|
125
|
+
1. `web-search-prime` + `search_recency_filter="oneDay"` 또는 `"oneWeek"`
|
|
126
|
+
2. `exa`로 시맨틱 검색 보완
|
|
127
|
+
|
|
128
|
+
## mcporter 설정
|
|
129
|
+
|
|
130
|
+
MCP 서버들은 `~/.openclaw/workspace/config/mcporter.json`에 설정되어 있다:
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"mcpServers": {
|
|
135
|
+
"web-search-prime": { "type": "remote", "url": "https://api.z.ai/api/mcp/web_search_prime/mcp" },
|
|
136
|
+
"web-reader": { "type": "remote", "url": "https://api.z.ai/api/mcp/web_reader/mcp" },
|
|
137
|
+
"exa": { "type": "remote", "url": "https://mcp.exa.ai/mcp?tools=web_search_exa" },
|
|
138
|
+
"context7": { "type": "remote", "url": "https://mcp.context7.com/mcp" },
|
|
139
|
+
"grep_app": { "type": "remote", "url": "https://mcp.grep.app" },
|
|
140
|
+
"zread": { "type": "remote", "url": "https://api.z.ai/api/mcp/zread/mcp" }
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## OmO 대응표
|
|
146
|
+
|
|
147
|
+
| OmO (MCP) | oh-my-openclaw 대응 |
|
|
148
|
+
|------------------|--------------------------------------------------|
|
|
149
|
+
| `websearch` (Exa)| `mcporter call exa.web_search_exa` + `web_fetch` |
|
|
150
|
+
| `websearch` (Tavily)| `mcporter call web-search-prime.webSearchPrime`|
|
|
151
|
+
| `context7` | `mcporter call context7.resolve-library-id` / `.get-library-docs` |
|
|
152
|
+
| `grep_app` | `mcporter call grep_app.search` |
|
|
153
|
+
| *(없음)* | `web_fetch` (OpenClaw 네이티브) |
|
|
154
|
+
| *(없음)* | `web-reader` (MCP, 깔끔한 페이지 추출) |
|
|
155
|
+
| *(없음)* | `zread` (MCP, GitHub 리포 직접 탐색) |
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Strategic planning workflow - analyze requirements and create execution plan
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Plan Workflow
|
|
6
|
+
|
|
7
|
+
Strategic planning workflow that analyzes requirements and creates a structured execution plan before any implementation begins.
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
- Starting a new feature or project
|
|
12
|
+
- Complex multi-step tasks
|
|
13
|
+
- When requirements are ambiguous and need clarification
|
|
14
|
+
- Before any `/ultrawork` or `/start-work` invocation
|
|
15
|
+
|
|
16
|
+
## Workflow Steps
|
|
17
|
+
|
|
18
|
+
### Phase 1: Context Gathering
|
|
19
|
+
|
|
20
|
+
1. **Read existing context**
|
|
21
|
+
- Check workspace for existing plans: `workspace/plans/`
|
|
22
|
+
- Check wisdom notepads: `workspace/notepads/`
|
|
23
|
+
- Review any relevant AGENTS.md or project documentation
|
|
24
|
+
|
|
25
|
+
2. **Analyze the request**
|
|
26
|
+
- What is the user asking for?
|
|
27
|
+
- What are the explicit requirements?
|
|
28
|
+
- What are the implicit requirements?
|
|
29
|
+
- What constraints exist?
|
|
30
|
+
|
|
31
|
+
### Phase 2: Gap Analysis
|
|
32
|
+
|
|
33
|
+
3. **Identify unknowns**
|
|
34
|
+
- What information is missing?
|
|
35
|
+
- What assumptions are being made?
|
|
36
|
+
- What dependencies exist?
|
|
37
|
+
|
|
38
|
+
4. **Ask clarifying questions** (if needed)
|
|
39
|
+
- Only ask questions that materially affect the plan
|
|
40
|
+
- Batch questions together, don't ask one at a time
|
|
41
|
+
- Provide default assumptions if the user doesn't respond
|
|
42
|
+
|
|
43
|
+
### Phase 3: Plan Creation
|
|
44
|
+
|
|
45
|
+
5. **Create the execution plan**
|
|
46
|
+
- Save to `workspace/plans/YYYY-MM-DD_<slug>.md`
|
|
47
|
+
- Use the following structure:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
# Plan: <Title>
|
|
51
|
+
|
|
52
|
+
**Created**: YYYY-MM-DD HH:MM
|
|
53
|
+
**Status**: draft | approved | in-progress | completed
|
|
54
|
+
**Category**: quick | deep | ultrabrain | visual-engineering
|
|
55
|
+
|
|
56
|
+
## Goal
|
|
57
|
+
<One sentence description of what we're building>
|
|
58
|
+
|
|
59
|
+
## Requirements
|
|
60
|
+
- [ ] Requirement 1
|
|
61
|
+
- [ ] Requirement 2
|
|
62
|
+
|
|
63
|
+
## Tasks
|
|
64
|
+
### Task 1: <Name>
|
|
65
|
+
- **Category**: quick | deep
|
|
66
|
+
- **Agent**: sisyphus-junior | oracle | explore | librarian
|
|
67
|
+
- **Dependencies**: none | Task N
|
|
68
|
+
- **Description**: What needs to be done
|
|
69
|
+
- **Acceptance Criteria**:
|
|
70
|
+
- [ ] Criterion 1
|
|
71
|
+
- [ ] Criterion 2
|
|
72
|
+
|
|
73
|
+
### Task 2: <Name>
|
|
74
|
+
...
|
|
75
|
+
|
|
76
|
+
## Execution Order
|
|
77
|
+
1. Task 1 (no dependencies)
|
|
78
|
+
2. Task 2, Task 3 (parallel, depend on Task 1)
|
|
79
|
+
3. Task 4 (depends on Task 2 + Task 3)
|
|
80
|
+
|
|
81
|
+
## Risks
|
|
82
|
+
- Risk 1: mitigation strategy
|
|
83
|
+
- Risk 2: mitigation strategy
|
|
84
|
+
|
|
85
|
+
## Verification
|
|
86
|
+
- [ ] All acceptance criteria met
|
|
87
|
+
- [ ] Code builds without errors
|
|
88
|
+
- [ ] Tests pass (if applicable)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Phase 4: Plan Review
|
|
92
|
+
|
|
93
|
+
6. **Self-review the plan**
|
|
94
|
+
- Is every task actionable and specific?
|
|
95
|
+
- Are dependencies correctly identified?
|
|
96
|
+
- Is the execution order optimal (maximize parallelism)?
|
|
97
|
+
- Are acceptance criteria measurable?
|
|
98
|
+
|
|
99
|
+
7. **Present plan to user**
|
|
100
|
+
- Show the plan summary
|
|
101
|
+
- Highlight any risks or assumptions
|
|
102
|
+
- Ask for approval before proceeding
|
|
103
|
+
|
|
104
|
+
## Integration with Other Workflows
|
|
105
|
+
|
|
106
|
+
- After plan approval, use `/start-work` to begin execution
|
|
107
|
+
- Or use `/ultrawork` for fully automated execution without stops
|
|
108
|
+
- Plan files persist in `workspace/plans/` for future reference
|
|
109
|
+
|
|
110
|
+
## Wisdom Integration
|
|
111
|
+
|
|
112
|
+
After planning, record any insights:
|
|
113
|
+
- New patterns discovered → `workspace/notepads/learnings.md`
|
|
114
|
+
- Key decisions made → `workspace/notepads/decisions.md`
|
|
115
|
+
- Potential issues identified → `workspace/notepads/issues.md`
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start execution from an approved plan - delegate tasks to worker agents
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Start Work Workflow
|
|
6
|
+
|
|
7
|
+
Execute an approved plan by delegating tasks to appropriate worker agents, tracking progress, and verifying completion.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
- An approved plan exists in `workspace/plans/`
|
|
12
|
+
- Plan status is "approved" or "in-progress"
|
|
13
|
+
|
|
14
|
+
## Workflow Steps
|
|
15
|
+
|
|
16
|
+
### Phase 1: Plan Loading
|
|
17
|
+
|
|
18
|
+
1. **Load the plan**
|
|
19
|
+
- Read the most recent plan from `workspace/plans/`
|
|
20
|
+
- Or specify a plan: `/start-work <plan-file>`
|
|
21
|
+
- Verify plan status is "approved"
|
|
22
|
+
- Update plan status to "in-progress"
|
|
23
|
+
|
|
24
|
+
2. **Initialize tracking**
|
|
25
|
+
- Create todo items for each task in the plan
|
|
26
|
+
- Set up wisdom notepads if not already present
|
|
27
|
+
|
|
28
|
+
### Phase 2: Task Execution
|
|
29
|
+
|
|
30
|
+
3. **Execute tasks in dependency order**
|
|
31
|
+
|
|
32
|
+
For each task (respecting execution order from plan):
|
|
33
|
+
|
|
34
|
+
a. **Mark task as in-progress** in todo list
|
|
35
|
+
|
|
36
|
+
b. **Select the right agent** based on task category:
|
|
37
|
+
|
|
38
|
+
| Category | Agent | Model |
|
|
39
|
+
|----------|-------|-------|
|
|
40
|
+
| quick | sisyphus-junior | claude-sonnet-4-6 |
|
|
41
|
+
| deep | sisyphus-junior | claude-opus-4-6-thinking |
|
|
42
|
+
| ultrabrain | oracle | claude-opus-4-5-thinking |
|
|
43
|
+
| visual-engineering | sisyphus-junior | claude-opus-4-6-thinking |
|
|
44
|
+
|
|
45
|
+
c. **Delegate the task** with clear instructions:
|
|
46
|
+
```
|
|
47
|
+
Task: <task name>
|
|
48
|
+
Description: <from plan>
|
|
49
|
+
Acceptance Criteria:
|
|
50
|
+
- <criterion 1>
|
|
51
|
+
- <criterion 2>
|
|
52
|
+
Context: <relevant files, dependencies>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
d. **Verify task completion** against acceptance criteria
|
|
56
|
+
|
|
57
|
+
e. **Mark task as completed** in todo list
|
|
58
|
+
|
|
59
|
+
f. **Record wisdom** if any insights were gained
|
|
60
|
+
|
|
61
|
+
4. **Handle parallel tasks**
|
|
62
|
+
- Tasks with no mutual dependencies can run in parallel
|
|
63
|
+
- Use multiple agent spawns simultaneously
|
|
64
|
+
- Wait for all parallel tasks before moving to dependent tasks
|
|
65
|
+
|
|
66
|
+
### Phase 3: Error Handling
|
|
67
|
+
|
|
68
|
+
5. **On task failure**
|
|
69
|
+
- Record the error in `workspace/notepads/issues.md`
|
|
70
|
+
- Attempt retry with more context (max 2 retries)
|
|
71
|
+
- If still failing, escalate to oracle agent for debugging
|
|
72
|
+
- If oracle can't resolve, pause and ask user
|
|
73
|
+
|
|
74
|
+
6. **On blocking dependency**
|
|
75
|
+
- Skip blocked tasks, continue with independent tasks
|
|
76
|
+
- Return to blocked tasks when dependency resolves
|
|
77
|
+
|
|
78
|
+
### Phase 4: Completion
|
|
79
|
+
|
|
80
|
+
7. **Verify all tasks**
|
|
81
|
+
- Check all acceptance criteria are met
|
|
82
|
+
- Run build/test verification if applicable
|
|
83
|
+
- Review overall coherence of changes
|
|
84
|
+
|
|
85
|
+
8. **Update plan status**
|
|
86
|
+
- Mark plan as "completed"
|
|
87
|
+
- Record completion time
|
|
88
|
+
- Summarize what was accomplished
|
|
89
|
+
|
|
90
|
+
9. **Final wisdom capture**
|
|
91
|
+
- Record learnings in `workspace/notepads/learnings.md`
|
|
92
|
+
- Record any decisions in `workspace/notepads/decisions.md`
|
|
93
|
+
- Note any remaining issues in `workspace/notepads/issues.md`
|
|
94
|
+
|
|
95
|
+
## Status Update Format
|
|
96
|
+
|
|
97
|
+
After each task completion, output:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
[N/M] Task: <name> - COMPLETED
|
|
101
|
+
- <what was done>
|
|
102
|
+
- <files modified>
|
|
103
|
+
Next: <next task name>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Integration
|
|
107
|
+
|
|
108
|
+
- Plans come from `/plan` workflow
|
|
109
|
+
- `/ultrawork` combines `/plan` + `/start-work` automatically
|
|
110
|
+
- Wisdom notepads persist across sessions for future reference
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: One-command full automation workflow. Analyzes task, creates plan, executes all steps, verifies results.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Ultrawork Workflow
|
|
6
|
+
|
|
7
|
+
Complete automation workflow that takes a task from analysis to verified completion.
|
|
8
|
+
|
|
9
|
+
## Trigger
|
|
10
|
+
When the user invokes `/ultrawork [task description]` or ultrawork mode is activated.
|
|
11
|
+
|
|
12
|
+
## Prerequisites
|
|
13
|
+
- Task description must be clear and actionable
|
|
14
|
+
- Working directory must be a valid project
|
|
15
|
+
|
|
16
|
+
## Workflow Steps
|
|
17
|
+
|
|
18
|
+
### Phase 1: Analysis (Prometheus)
|
|
19
|
+
```
|
|
20
|
+
1. Read the task description carefully
|
|
21
|
+
2. Analyze the current codebase state
|
|
22
|
+
- Run `git status` to check working tree
|
|
23
|
+
- Read relevant files to understand context
|
|
24
|
+
- Identify affected modules and dependencies
|
|
25
|
+
3. Create a structured plan with:
|
|
26
|
+
- Clear task breakdown (numbered steps)
|
|
27
|
+
- Dependencies between steps
|
|
28
|
+
- Category assignment for each step (quick/deep/ultrabrain/visual-engineering)
|
|
29
|
+
- Verification criteria for each step
|
|
30
|
+
4. Save plan to `workspace/plans/ultrawork-[timestamp].md`
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Phase 2: Execution (Atlas + Workers)
|
|
34
|
+
```
|
|
35
|
+
5. For each step in the plan:
|
|
36
|
+
a. Mark step as in_progress in todo list
|
|
37
|
+
b. Execute the step using appropriate tools
|
|
38
|
+
c. Verify the step's completion criteria
|
|
39
|
+
d. Record any learnings in wisdom notepad
|
|
40
|
+
e. Mark step as completed
|
|
41
|
+
f. If step fails:
|
|
42
|
+
- Analyze the failure
|
|
43
|
+
- Attempt fix (max 3 retries)
|
|
44
|
+
- If still failing, record issue and continue with next independent step
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Phase 3: Verification
|
|
48
|
+
```
|
|
49
|
+
6. Run full verification:
|
|
50
|
+
- Build check (if applicable): `npm run build`, `cargo build`, `go build`, etc.
|
|
51
|
+
- Lint check (if applicable)
|
|
52
|
+
- Test check (if applicable)
|
|
53
|
+
- LSP diagnostics check
|
|
54
|
+
7. Fix any issues found during verification
|
|
55
|
+
8. Run verification again until clean
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Phase 4: Completion
|
|
59
|
+
```
|
|
60
|
+
9. Generate completion summary:
|
|
61
|
+
- What was done
|
|
62
|
+
- What was changed (files modified/created/deleted)
|
|
63
|
+
- Any issues encountered and how they were resolved
|
|
64
|
+
- Wisdom accumulated
|
|
65
|
+
10. Update wisdom notepads with final learnings
|
|
66
|
+
11. Mark all todos as completed
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Todo Enforcer Integration
|
|
70
|
+
|
|
71
|
+
During ultrawork execution, the following directive is active:
|
|
72
|
+
|
|
73
|
+
> You MUST use TodoWrite to track every task. Mark tasks in_progress when starting,
|
|
74
|
+
> completed when done. NEVER leave tasks unmarked. If you discover new subtasks,
|
|
75
|
+
> add them immediately. Do not stop until all tasks are completed.
|
|
76
|
+
|
|
77
|
+
## Error Handling
|
|
78
|
+
|
|
79
|
+
- **Build failures**: Fix immediately, re-verify
|
|
80
|
+
- **Test failures**: Fix the code, not the test (unless test is wrong)
|
|
81
|
+
- **Lint errors**: Auto-fix where possible, manual fix otherwise
|
|
82
|
+
- **Timeout**: Save progress, report partial completion with clear next steps
|
|
83
|
+
|
|
84
|
+
## Output
|
|
85
|
+
|
|
86
|
+
The workflow produces:
|
|
87
|
+
1. Completed task with all changes applied
|
|
88
|
+
2. Plan file in `workspace/plans/`
|
|
89
|
+
3. Updated wisdom notepads (if learnings occurred)
|
|
90
|
+
4. Completion summary in the conversation
|