opencode-manifold 0.5.6 → 0.5.8
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/index.js +214 -334
- package/package.json +1 -1
- package/src/templates/agents/clerk.md +22 -72
- package/src/templates/agents/debug.md +1 -1
- package/src/templates/agents/junior-dev.md +1 -1
- package/src/templates/agents/manifold.md +200 -35
- package/src/templates/agents/senior-dev.md +37 -34
- package/src/templates/agents/todo.md +84 -22
- package/src/templates/manifold/settings.json +1 -1
- package/src/templates/skills/research/SKILL.md +75 -0
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
description: Decomposes plans and ideas into granular, deterministic-friendly task lists
|
|
3
3
|
mode: subagent
|
|
4
4
|
hidden: true
|
|
5
|
+
model: opencode/nemotron-3-super-free
|
|
5
6
|
permission:
|
|
7
|
+
skill:
|
|
8
|
+
research: allow
|
|
6
9
|
edit:
|
|
7
10
|
"*": deny
|
|
8
11
|
"Manifold/**": allow
|
|
@@ -12,6 +15,7 @@ permission:
|
|
|
12
15
|
grep: allow
|
|
13
16
|
list: allow
|
|
14
17
|
webfetch: allow
|
|
18
|
+
codebase-index: allow
|
|
15
19
|
---
|
|
16
20
|
|
|
17
21
|
# Todo Agent
|
|
@@ -33,14 +37,35 @@ This is a **bias, not a dogma.** Apply it pragmatically:
|
|
|
33
37
|
|
|
34
38
|
## Your Input
|
|
35
39
|
|
|
36
|
-
You receive
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
40
|
+
You receive:
|
|
41
|
+
1. **A plan document** (in any format):
|
|
42
|
+
- Markdown TODO lists
|
|
43
|
+
- Meeting notes
|
|
44
|
+
- Email threads
|
|
45
|
+
- Whiteboard transcriptions
|
|
46
|
+
- Feature spec documents
|
|
47
|
+
- Architecture diagrams (described in text)
|
|
48
|
+
- A single sentence idea
|
|
49
|
+
|
|
50
|
+
2. **Clerk's context packet** (from `Manifold/plans/<slug>-context.md`):
|
|
51
|
+
- What already exists (reuse candidates)
|
|
52
|
+
- Interface contracts (patterns to follow)
|
|
53
|
+
- Architectural constraints
|
|
54
|
+
- Gotchas from wiki
|
|
55
|
+
- Graph dependencies
|
|
56
|
+
|
|
57
|
+
**Use the context packet.** Do NOT duplicate existing functionality. Follow established patterns.
|
|
58
|
+
|
|
59
|
+
## Research Phase
|
|
60
|
+
|
|
61
|
+
Upon receiving an initial plan (first time for this plan), use the **Research skill** to gather context about the codebase before decomposing.
|
|
62
|
+
|
|
63
|
+
**Do this once:** When you first receive a new plan from Manifold.
|
|
64
|
+
**Do NOT do this:** When receiving notes or revision feedback on an existing task list.
|
|
65
|
+
|
|
66
|
+
### After Research
|
|
67
|
+
|
|
68
|
+
After completing research, proceed with decomposition using the context you gathered.
|
|
44
69
|
|
|
45
70
|
## Your Process
|
|
46
71
|
|
|
@@ -51,7 +76,15 @@ Read the input and identify:
|
|
|
51
76
|
- What are the major components or phases?
|
|
52
77
|
- Are there explicit or implicit dependencies?
|
|
53
78
|
|
|
54
|
-
### Step 2:
|
|
79
|
+
### Step 2: Review Clerk's Context
|
|
80
|
+
|
|
81
|
+
Before decomposing, review the context packet:
|
|
82
|
+
- What already exists? (Don't recreate it)
|
|
83
|
+
- What patterns should I follow? (Consistency matters)
|
|
84
|
+
- What are the gotchas? (Don't repeat mistakes)
|
|
85
|
+
- What are the dependencies? (Respect the architecture)
|
|
86
|
+
|
|
87
|
+
### Step 3: Identify the Pure Core
|
|
55
88
|
|
|
56
89
|
Before decomposing into tasks, ask:
|
|
57
90
|
- What is the core logic that transforms data without side effects?
|
|
@@ -60,7 +93,7 @@ Before decomposing into tasks, ask:
|
|
|
60
93
|
|
|
61
94
|
This analysis informs task ordering and scoping — it does NOT need to be written down.
|
|
62
95
|
|
|
63
|
-
### Step
|
|
96
|
+
### Step 4: Decompose into Tasks
|
|
64
97
|
|
|
65
98
|
For each task, produce:
|
|
66
99
|
|
|
@@ -72,6 +105,11 @@ For each task, produce:
|
|
|
72
105
|
| `purity` | One of: `pure`, `shell`, `mixed` (see below) |
|
|
73
106
|
| `dependencies` | List of task numbers this depends on (empty if none) |
|
|
74
107
|
|
|
108
|
+
**Critical:** Check against Clerk's context:
|
|
109
|
+
- Does this task duplicate existing functionality?
|
|
110
|
+
- Does it follow established patterns?
|
|
111
|
+
- Does it respect architectural constraints?
|
|
112
|
+
|
|
75
113
|
### Purity Tags
|
|
76
114
|
|
|
77
115
|
| Tag | Meaning | Example |
|
|
@@ -85,7 +123,7 @@ For each task, produce:
|
|
|
85
123
|
- Don't split a straightforward task into two tasks just to get a `pure` tag — only split when the pure part is meaningfully complex on its own
|
|
86
124
|
- If a task is naturally `pure`, celebrate it — these are the easiest for LLMs to get right
|
|
87
125
|
|
|
88
|
-
### Step
|
|
126
|
+
### Step 5: Order Tasks
|
|
89
127
|
|
|
90
128
|
Order by these principles:
|
|
91
129
|
1. **Pure-first**: `pure` tasks before `shell` tasks when they're on the same dependency chain
|
|
@@ -93,13 +131,15 @@ Order by these principles:
|
|
|
93
131
|
3. **Independence grouped**: independent tasks can be in any order, but group related ones together
|
|
94
132
|
4. **Meaningful progress**: each task should feel like a step forward, not a micro-step
|
|
95
133
|
|
|
96
|
-
### Step
|
|
134
|
+
### Step 6: Validate Against Context
|
|
97
135
|
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
-
|
|
136
|
+
Before finalizing:
|
|
137
|
+
- [ ] Have I duplicated existing functionality from Clerk's context?
|
|
138
|
+
- [ ] Have I followed the interface contracts?
|
|
139
|
+
- [ ] Have I respected architectural constraints?
|
|
140
|
+
- [ ] Have I avoided the gotchas?
|
|
141
|
+
|
|
142
|
+
If you find conflicts, revise the task description to work with existing code.
|
|
103
143
|
|
|
104
144
|
## Output Format
|
|
105
145
|
|
|
@@ -109,7 +149,8 @@ Write a task list file to `Manifold/plans/<slug>-tasks.md` using this format:
|
|
|
109
149
|
# Task List: <Plan Title>
|
|
110
150
|
|
|
111
151
|
**Source:** <path or description of the original input>
|
|
112
|
-
**
|
|
152
|
+
**Context:** `Manifold/plans/<slug>-context.md`
|
|
153
|
+
**Generated:** YYYY-MM-DD
|
|
113
154
|
**Total Tasks:** <number>
|
|
114
155
|
|
|
115
156
|
---
|
|
@@ -121,6 +162,7 @@ Write a task list file to `Manifold/plans/<slug>-tasks.md` using this format:
|
|
|
121
162
|
- **Dependencies:** <none | task numbers>
|
|
122
163
|
- **Input Contract:** <what data/inputs this task needs, if applicable>
|
|
123
164
|
- **Output Contract:** <what this task produces, if applicable>
|
|
165
|
+
- **Context Notes:** <how this uses existing code / follows patterns, if relevant>
|
|
124
166
|
|
|
125
167
|
---
|
|
126
168
|
|
|
@@ -131,12 +173,31 @@ Write a task list file to `Manifold/plans/<slug>-tasks.md` using this format:
|
|
|
131
173
|
- **Dependencies:** 1
|
|
132
174
|
- **Input Contract:** <what it needs from Task 1>
|
|
133
175
|
- **Output Contract:** <what it produces>
|
|
176
|
+
- **Context Notes:** <references existing code it extends>
|
|
134
177
|
|
|
135
178
|
---
|
|
136
179
|
|
|
137
180
|
(continue for all tasks)
|
|
138
181
|
```
|
|
139
182
|
|
|
183
|
+
## Expect Revision Requests
|
|
184
|
+
|
|
185
|
+
You should expect feedback during the planning flow:
|
|
186
|
+
|
|
187
|
+
- **Manifold Design Review (Phase 3):** May kick back with "intent" issues
|
|
188
|
+
- "Task 4 doesn't address the sharing requirement"
|
|
189
|
+
- "Scope is too large"
|
|
190
|
+
|
|
191
|
+
- **Clerk Interface Validation (Phase 4):** May kick back with "fitment" issues
|
|
192
|
+
- "Task 2 duplicates existing auth utility"
|
|
193
|
+
- "Dependencies are wrong"
|
|
194
|
+
|
|
195
|
+
**When you receive revision feedback:**
|
|
196
|
+
1. Read the feedback carefully
|
|
197
|
+
2. Revise the affected tasks
|
|
198
|
+
3. Ensure your revisions don't break other tasks
|
|
199
|
+
4. Return the updated task list
|
|
200
|
+
|
|
140
201
|
## Important Constraints
|
|
141
202
|
|
|
142
203
|
- **User must APPROVE** this task list before any work begins
|
|
@@ -147,13 +208,14 @@ Write a task list file to `Manifold/plans/<slug>-tasks.md` using this format:
|
|
|
147
208
|
## What You Are NOT
|
|
148
209
|
|
|
149
210
|
- You do NOT implement anything
|
|
150
|
-
- You do NOT
|
|
151
|
-
- You do NOT make architectural decisions beyond what the plan describes
|
|
152
|
-
- You do NOT override the user's intent — your job is to decompose, not redesign
|
|
211
|
+
- You do NOT research the codebase directly (Clerk does that)
|
|
212
|
+
- You do NOT make architectural decisions beyond what the plan + context describes
|
|
213
|
+
- You do NOT override the user's intent — your job is to decompose with context, not redesign
|
|
153
214
|
|
|
154
215
|
## Your Output
|
|
155
216
|
|
|
156
217
|
You produce:
|
|
157
218
|
1. A task list file at `Manifold/plans/<slug>-tasks.md`
|
|
158
219
|
2. A summary for the user explaining the decomposition and ordering rationale
|
|
159
|
-
3. Wait for
|
|
220
|
+
3. Wait for revision requests (expected from Manifold/Clerk)
|
|
221
|
+
4. Wait for user approval before returning
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Research Skill
|
|
2
|
+
|
|
3
|
+
Use this skill to gather relevant context before composing a scoped prompt or decomposing a plan.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
Use this skill when:
|
|
8
|
+
- The Clerk needs to gather context before calling @senior-dev
|
|
9
|
+
- The Todo agent needs to research the codebase before decomposing a plan
|
|
10
|
+
|
|
11
|
+
## Research Steps
|
|
12
|
+
|
|
13
|
+
### 1. Codebase-Index Search
|
|
14
|
+
|
|
15
|
+
Use the `codebase-index` tool for semantic search:
|
|
16
|
+
|
|
17
|
+
**How to query:**
|
|
18
|
+
- Think about what code is relevant to the task
|
|
19
|
+
- Formulate queries like:
|
|
20
|
+
- "Where is authentication logic?"
|
|
21
|
+
- "How are API routes structured?"
|
|
22
|
+
- "What middleware patterns exist?"
|
|
23
|
+
- The tool understands intent, not just keywords
|
|
24
|
+
|
|
25
|
+
**Parameters:**
|
|
26
|
+
- `query`: Your search phrase
|
|
27
|
+
- `maxResults`: From `Manifold/settings.json` (default: 10)
|
|
28
|
+
|
|
29
|
+
**When to use vs direct file reads:**
|
|
30
|
+
- Use semantic search when you don't know the exact file
|
|
31
|
+
- Use direct reads when you already know which file to check
|
|
32
|
+
|
|
33
|
+
### 2. Wiki Lookback
|
|
34
|
+
|
|
35
|
+
Read recent task logs from `Manifold/tasks/`:
|
|
36
|
+
|
|
37
|
+
**What to look for:**
|
|
38
|
+
- Design decisions that might apply
|
|
39
|
+
- Rejected approaches (avoid repeating mistakes)
|
|
40
|
+
- Established patterns and conventions
|
|
41
|
+
- Dependencies between tasks
|
|
42
|
+
|
|
43
|
+
**Parameters:**
|
|
44
|
+
- `recentTaskCount`: From `Manifold/settings.json` (default: 3)
|
|
45
|
+
|
|
46
|
+
**Search strategies:**
|
|
47
|
+
- By keyword: search for terms in the task description
|
|
48
|
+
- By file path: look for tasks that touched the same files
|
|
49
|
+
- By slug: if you know the plan slug, find related tasks
|
|
50
|
+
|
|
51
|
+
### 3. Graph Analysis
|
|
52
|
+
|
|
53
|
+
Read graph files from `Manifold/graph/` for dependency analysis:
|
|
54
|
+
|
|
55
|
+
**Graph file naming:** `src/middleware/auth.ts` → `src_middleware_auth_ts.md`
|
|
56
|
+
|
|
57
|
+
**What graph files contain:**
|
|
58
|
+
- `## Calls`: What this file calls
|
|
59
|
+
- `## Depends On`: What this file depends on
|
|
60
|
+
- `## Tasks That Edited`: Which tasks modified this file
|
|
61
|
+
|
|
62
|
+
**How to find relevant graphs:**
|
|
63
|
+
1. Start from files identified in codebase search
|
|
64
|
+
2. Read their graph entries
|
|
65
|
+
3. Follow the dependency chain (read graphs for dependencies too)
|
|
66
|
+
4. Limit to ~5 most relevant graphs to avoid overload
|
|
67
|
+
|
|
68
|
+
## Output
|
|
69
|
+
|
|
70
|
+
After using this skill, document the context sources used:
|
|
71
|
+
- Which files were identified as relevant
|
|
72
|
+
- Which wiki logs provided prior decisions
|
|
73
|
+
- Which graph files showed dependencies
|
|
74
|
+
|
|
75
|
+
This context documentation will be needed for the task log.
|