@openspoon/subtask2 0.1.7 → 0.1.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/README.md +116 -58
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,108 +1,166 @@
|
|
|
1
|
-
# @openspoon/subtask2
|
|
2
|
-
|
|
3
|
-
OpenCode plugin that controls what happens **after** a subtask completes.
|
|
1
|
+
# @openspoon/subtask2 - an opencode plugin
|
|
4
2
|
|
|
5
3
|
## The Problem
|
|
6
4
|
|
|
7
|
-
When a subtask
|
|
5
|
+
When a subtask command completes, OpenCode tells the main agent to "summarize the findings." The main agent reports back to you and no further action is taken on the subtask results. The agentic loop dies.
|
|
8
6
|
|
|
9
|
-
This
|
|
7
|
+
This plugin replaces that "summarize" message with the instructions you want to give it, sending the main agent off on a mission given the subtask results.
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
## Prerequisites
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
**This plugin ONLY works with commands that have `subtask: true` in their frontmatter.**
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
```markdown
|
|
14
|
+
---
|
|
15
|
+
subtask: true ← REQUIRED for this plugin to do anything
|
|
16
|
+
---
|
|
17
|
+
```
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
## Features
|
|
18
20
|
|
|
19
|
-
1.
|
|
20
|
-
2. **Global fallback** — Even without `return`, replace the generic prompt with one that encourages critical thinking
|
|
21
|
-
3. **`chain`** — Queue follow-up prompts that execute sequentially after the subtask completes
|
|
21
|
+
### 1. `return` — Per-command instructions
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Tell the main agent exactly what to do after THIS specific subtask:
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
```markdown
|
|
26
|
+
---
|
|
27
|
+
subtask: true
|
|
28
|
+
return: Assess the code review. Challenge the findings, then implement the valid fixes.
|
|
29
|
+
---
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
{
|
|
29
|
-
"plugins": ["@openspoon/subtask2"]
|
|
30
|
-
}
|
|
31
|
+
Review this PR for bugs.
|
|
31
32
|
```
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
### 2. `parallel` — Run multiple subtasks concurrently ⚠️ **PENDING PR** (ignored for now)
|
|
34
35
|
|
|
35
|
-
|
|
36
|
+
Spawn additional command subtasks alongside the main one:
|
|
36
37
|
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
```markdown
|
|
39
|
+
---
|
|
40
|
+
subtask: true
|
|
41
|
+
parallel: security-review, perf-review
|
|
42
|
+
return: Synthesize all review results and create a unified action plan.
|
|
43
|
+
---
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
// "prompt": "Your custom prompt here"
|
|
44
|
-
}
|
|
45
|
+
Review this code for correctness.
|
|
45
46
|
```
|
|
46
47
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
| Option | Type | Default | Description |
|
|
50
|
-
|--------|------|---------|-------------|
|
|
51
|
-
| `replace_generic` | boolean | `true` | Replace the generic prompt for subtasks without a `return` param |
|
|
52
|
-
| `prompt` | string | (built-in) | Custom replacement prompt. Default: "Challenge and validate the task output above. Verify assumptions, identify gaps or errors, then continue with the next logical step." |
|
|
48
|
+
This runs 3 subtasks in parallel:
|
|
53
49
|
|
|
54
|
-
|
|
50
|
+
1. The main command (correctness review)
|
|
51
|
+
2. `security-review` command
|
|
52
|
+
3. `perf-review` command
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
2. Config `prompt` → used when no `return` and `replace_generic: true`
|
|
58
|
-
3. Built-in default → used when no `return`, `replace_generic: true`, and no custom `prompt`
|
|
59
|
-
4. OpenCode's original → only if `replace_generic: false`
|
|
54
|
+
When ALL complete, the main agent gets the `return` prompt.
|
|
60
55
|
|
|
61
|
-
|
|
56
|
+
**Note:** Parallel commands must be other command files. Their own `return`/`chain` are ignored — only the parent's `return` applies.
|
|
62
57
|
|
|
63
|
-
|
|
58
|
+
**Requires:** OpenCode with `command.execute.before` hook (pending PR).
|
|
64
59
|
|
|
65
|
-
###
|
|
60
|
+
### 3. `chain` — Sequential follow-up prompts
|
|
66
61
|
|
|
67
|
-
|
|
62
|
+
Queue user messages that fire after the subtask completes:
|
|
68
63
|
|
|
69
64
|
```markdown
|
|
70
65
|
---
|
|
71
|
-
description: subtask2 return and chain prompt example
|
|
72
|
-
agent: general
|
|
73
66
|
subtask: true
|
|
74
|
-
return:
|
|
67
|
+
return: Implement the fix.
|
|
75
68
|
chain:
|
|
76
|
-
-
|
|
77
|
-
-
|
|
69
|
+
- Now write tests for the fix.
|
|
70
|
+
- Run the tests and fix any failures.
|
|
78
71
|
---
|
|
79
72
|
|
|
80
|
-
|
|
73
|
+
Find the bug in auth.ts
|
|
81
74
|
```
|
|
82
75
|
|
|
83
|
-
|
|
76
|
+
Flow: Subtask → return prompt → LLM works → chain[0] fires → LLM works → chain[1] fires → ...
|
|
84
77
|
|
|
85
|
-
|
|
78
|
+
### 4. Global fallback — Better default for all subtasks
|
|
86
79
|
|
|
80
|
+
Even without `return`, this plugin will replace OpenCode's generic "summarize" injected message with something "better".
|
|
81
|
+
By default it uses: "Challenge and validate the task tool output above. Verify assumptions, identify gaps or errors, then continue with the next logical step."
|
|
82
|
+
|
|
83
|
+
Configure in `~/.config/opencode/subtask2.jsonc`:
|
|
84
|
+
|
|
85
|
+
```jsonc
|
|
86
|
+
{
|
|
87
|
+
// Replace generic prompt when no 'return' is specified
|
|
88
|
+
"replace_generic": true,
|
|
89
|
+
|
|
90
|
+
// Custom fallback (optional - has built-in default)
|
|
91
|
+
"generic_return": "your custom return prompt here"
|
|
92
|
+
}
|
|
87
93
|
```
|
|
88
|
-
Subagent → "Found 3 bugs" → OpenCode adds "Summarize..." → Main agent → "The subagent found 3 bugs" → END
|
|
89
|
-
```
|
|
90
94
|
|
|
91
|
-
|
|
95
|
+
## Priority Order
|
|
96
|
+
|
|
97
|
+
When a subtask completes, what message does the main agent see?
|
|
98
|
+
|
|
99
|
+
1. **`return` param** → Your specific instructions (highest priority)
|
|
100
|
+
2. **Config `generic_return`** → Your custom fallback (if `replace_generic: true`)
|
|
101
|
+
3. **Built-in default** → "Challenge and validate..." (if `replace_generic: true`)
|
|
102
|
+
4. **OpenCode original** → "Summarize..." (if `replace_generic: false`)
|
|
92
103
|
|
|
104
|
+
## Installation
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"plugins": ["@openspoon/subtask2"]
|
|
109
|
+
}
|
|
93
110
|
```
|
|
94
|
-
|
|
111
|
+
|
|
112
|
+
## Quick Examples
|
|
113
|
+
|
|
114
|
+
**Simple: Make the agent act on results**
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
---
|
|
118
|
+
subtask: true
|
|
119
|
+
return: Implement the suggested improvements.
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
Analyze this function for performance issues.
|
|
95
123
|
```
|
|
96
124
|
|
|
97
|
-
**
|
|
125
|
+
**Parallel: Multiple perspectives at once**
|
|
126
|
+
|
|
127
|
+
```markdown
|
|
128
|
+
---
|
|
129
|
+
subtask: true
|
|
130
|
+
parallel: brainstorm-solutions, research-prior-art
|
|
131
|
+
return: Evaluate all ideas and create an implementation plan.
|
|
132
|
+
---
|
|
98
133
|
|
|
134
|
+
Identify the core problem in our auth flow.
|
|
99
135
|
```
|
|
100
|
-
|
|
136
|
+
|
|
137
|
+
**Chain: Multi-step workflow**
|
|
138
|
+
|
|
139
|
+
```markdown
|
|
140
|
+
---
|
|
141
|
+
subtask: true
|
|
142
|
+
return: Create the component.
|
|
143
|
+
chain:
|
|
144
|
+
- Add unit tests.
|
|
145
|
+
- Update the documentation.
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
Design a React modal component.
|
|
101
149
|
```
|
|
102
150
|
|
|
103
|
-
|
|
151
|
+
## FAQ
|
|
152
|
+
|
|
153
|
+
**Q: Why doesn't this work with my command?**
|
|
154
|
+
A: Check that you have `subtask: true` in the frontmatter.
|
|
155
|
+
|
|
156
|
+
**Q: Why doesn't this affect Task tool calls the LLM makes?**
|
|
157
|
+
A: OpenCode only injects the "summarize" message after `subtask: true` commands, not regular task tool usage. This plugin can only replace what OpenCode injects.
|
|
158
|
+
|
|
159
|
+
**Q: Can I use `return` with regular (non-subtask) commands?**
|
|
160
|
+
A: No. Without `subtask: true`, there's no injected message to replace.
|
|
104
161
|
|
|
105
|
-
|
|
162
|
+
**Q: How do I pass arguments to parallel commands?**
|
|
163
|
+
A: Currently, parallel commands use their own template as-is. Argument passing is planned for a future version.
|
|
106
164
|
|
|
107
165
|
## License
|
|
108
166
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAkKhD,QAAA,MAAM,MAAM,EAAE,MAiFb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ function isValidConfig(obj) {
|
|
|
6
6
|
const cfg = obj;
|
|
7
7
|
if (typeof cfg.replace_generic !== "boolean")
|
|
8
8
|
return false;
|
|
9
|
-
if (cfg.
|
|
9
|
+
if (cfg.generic_return !== undefined && typeof cfg.generic_return !== "string")
|
|
10
10
|
return false;
|
|
11
11
|
return true;
|
|
12
12
|
}
|
|
@@ -33,7 +33,7 @@ async function loadConfig() {
|
|
|
33
33
|
"replace_generic": true
|
|
34
34
|
|
|
35
35
|
// Custom prompt to use (uses subtask2 substitution prompt by default)
|
|
36
|
-
// "
|
|
36
|
+
// "generic_return": "Challenge and validate the task tool output above. Verify assumptions, identify gaps or errors, then continue with the next logical step."
|
|
37
37
|
}
|
|
38
38
|
`);
|
|
39
39
|
return defaultConfig;
|
|
@@ -65,6 +65,28 @@ function parseFrontmatter(content) {
|
|
|
65
65
|
}
|
|
66
66
|
return fm;
|
|
67
67
|
}
|
|
68
|
+
function getTemplateBody(content) {
|
|
69
|
+
const match = content.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);
|
|
70
|
+
return match ? match[1].trim() : content.trim();
|
|
71
|
+
}
|
|
72
|
+
async function loadCommandFile(name) {
|
|
73
|
+
const home = Bun.env.HOME ?? "";
|
|
74
|
+
const dirs = [
|
|
75
|
+
`${home}/.config/opencode/command`,
|
|
76
|
+
`${Bun.env.PWD ?? "."}/.opencode/command`,
|
|
77
|
+
];
|
|
78
|
+
for (const dir of dirs) {
|
|
79
|
+
const path = `${dir}/${name}.md`;
|
|
80
|
+
try {
|
|
81
|
+
const file = Bun.file(path);
|
|
82
|
+
if (await file.exists()) {
|
|
83
|
+
return { content: await file.text(), path };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch { }
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
68
90
|
async function buildManifest() {
|
|
69
91
|
const manifest = {};
|
|
70
92
|
const home = Bun.env.HOME ?? "";
|
|
@@ -81,12 +103,20 @@ async function buildManifest() {
|
|
|
81
103
|
const fm = parseFrontmatter(content);
|
|
82
104
|
const chain = fm.chain;
|
|
83
105
|
const chainArr = chain ? (Array.isArray(chain) ? chain : [chain]) : [];
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
106
|
+
const parallel = fm.parallel;
|
|
107
|
+
const parallelArr = parallel
|
|
108
|
+
? Array.isArray(parallel)
|
|
109
|
+
? parallel
|
|
110
|
+
: parallel.split(",").map((s) => s.trim()).filter(Boolean)
|
|
111
|
+
: [];
|
|
112
|
+
manifest[name] = {
|
|
113
|
+
return: fm.return,
|
|
114
|
+
chain: chainArr,
|
|
115
|
+
parallel: parallelArr,
|
|
116
|
+
agent: fm.agent,
|
|
117
|
+
description: fm.description,
|
|
118
|
+
template: getTemplateBody(content),
|
|
119
|
+
};
|
|
90
120
|
}
|
|
91
121
|
}
|
|
92
122
|
catch { }
|
|
@@ -106,6 +136,26 @@ const plugin = async (ctx) => {
|
|
|
106
136
|
pluginConfig = await loadConfig();
|
|
107
137
|
client = ctx.client;
|
|
108
138
|
return {
|
|
139
|
+
"command.execute.before": async (input, output) => {
|
|
140
|
+
const cmd = input.command;
|
|
141
|
+
const config = configs[cmd];
|
|
142
|
+
if (!config?.parallel?.length)
|
|
143
|
+
return;
|
|
144
|
+
for (const parallelCmd of config.parallel) {
|
|
145
|
+
const cmdFile = await loadCommandFile(parallelCmd);
|
|
146
|
+
if (!cmdFile)
|
|
147
|
+
continue;
|
|
148
|
+
const fm = parseFrontmatter(cmdFile.content);
|
|
149
|
+
const template = getTemplateBody(cmdFile.content);
|
|
150
|
+
output.parts.push({
|
|
151
|
+
type: "subtask",
|
|
152
|
+
agent: fm.agent || "general",
|
|
153
|
+
description: fm.description || `Parallel: ${parallelCmd}`,
|
|
154
|
+
command: parallelCmd,
|
|
155
|
+
prompt: template,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
},
|
|
109
159
|
"tool.execute.before": async (input, output) => {
|
|
110
160
|
if (input.tool !== "task")
|
|
111
161
|
return;
|
|
@@ -138,7 +188,7 @@ const plugin = async (ctx) => {
|
|
|
138
188
|
return;
|
|
139
189
|
}
|
|
140
190
|
if (hasActiveSubtask && pluginConfig.replace_generic) {
|
|
141
|
-
part.text = pluginConfig.
|
|
191
|
+
part.text = pluginConfig.generic_return ?? DEFAULT_PROMPT;
|
|
142
192
|
hasActiveSubtask = false;
|
|
143
193
|
return;
|
|
144
194
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@openspoon/subtask2",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.8",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Opencode plugin for enhanced subtask control with return context and prompt chaining",
|
|
7
7
|
"main": "./dist/index.js",
|