@openspoon/subtask2 0.1.6 → 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 CHANGED
@@ -1,71 +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 (subagent) finishes and returns to the main agent, the main agent typically just relays the response:
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
- > "Here's what the subagent found: [result]" _end of turn_
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
- The main agent becomes a passive messenger rather than an active participant.
9
+ ## Prerequisites
12
10
 
13
- ## The Solution
11
+ **This plugin ONLY works with commands that have `subtask: true` in their frontmatter.**
14
12
 
15
- This plugin adds two frontmatter parameters to subtask commands:
13
+ ```markdown
14
+ ---
15
+ subtask: true ← REQUIRED for this plugin to do anything
16
+ ---
17
+ ```
16
18
 
17
- - **`return`**: Injects a prompt at the end of the subtask output, giving the main agent its own task instead of just relaying information
18
- - **`chain`**: Queues follow-up prompts that execute sequentially after the subtask completes
19
+ ## Features
19
20
 
20
- ## Installation
21
+ ### 1. `return` — Per-command instructions
21
22
 
22
- Add to your `opencode.json`:
23
+ Tell the main agent exactly what to do after THIS specific subtask:
23
24
 
24
- ```json
25
- {
26
- "plugins": ["@openspoon/subtask2"]
27
- }
25
+ ```markdown
26
+ ---
27
+ subtask: true
28
+ return: Assess the code review. Challenge the findings, then implement the valid fixes.
29
+ ---
30
+
31
+ Review this PR for bugs.
32
+ ```
33
+
34
+ ### 2. `parallel` — Run multiple subtasks concurrently ⚠️ **PENDING PR** (ignored for now)
35
+
36
+ Spawn additional command subtasks alongside the main one:
37
+
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
+ ---
44
+
45
+ Review this code for correctness.
28
46
  ```
29
47
 
30
- ## Usage
48
+ This runs 3 subtasks in parallel:
49
+
50
+ 1. The main command (correctness review)
51
+ 2. `security-review` command
52
+ 3. `perf-review` command
53
+
54
+ When ALL complete, the main agent gets the `return` prompt.
31
55
 
32
- Add `return` and/or `chain` to your command frontmatter:
56
+ **Note:** Parallel commands must be other command files. Their own `return`/`chain` are ignored only the parent's `return` applies.
33
57
 
34
- ### Example: Code Review Command
58
+ **Requires:** OpenCode with `command.execute.before` hook (pending PR).
35
59
 
36
- `.opencode/command/review.md`
60
+ ### 3. `chain` — Sequential follow-up prompts
61
+
62
+ Queue user messages that fire after the subtask completes:
37
63
 
38
64
  ```markdown
39
65
  ---
40
- description: subtask2 return and chain prompt example
41
- agent: general
42
66
  subtask: true
43
- return: You are the agent in charge of assessing the bug review, challenge, verify and validate it, then discard it or implement it.
67
+ return: Implement the fix.
44
68
  chain:
45
- - Let's now rinse and repeat with PR#356, use the task tool to review it for bugs etc... then assess, challenge, validate -> discard or implement.
46
- - Rinse and repeat, with next PR.
69
+ - Now write tests for the fix.
70
+ - Run the tests and fix any failures.
47
71
  ---
48
72
 
49
- Review PR#355 for bugs, security issues, and code style problems.
73
+ Find the bug in auth.ts
50
74
  ```
51
75
 
52
- ## How It Works
76
+ Flow: Subtask return prompt → LLM works → chain[0] fires → LLM works → chain[1] fires → ...
77
+
78
+ ### 4. Global fallback — Better default for all subtasks
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`:
53
84
 
54
- **Without `return`:**
85
+ ```jsonc
86
+ {
87
+ // Replace generic prompt when no 'return' is specified
88
+ "replace_generic": true,
55
89
 
90
+ // Custom fallback (optional - has built-in default)
91
+ "generic_return": "your custom return prompt here"
92
+ }
56
93
  ```
57
- Subagent → "Found 3 bugs in the code" → Main agent → "The subagent found 3 bugs" → END
94
+
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`)
103
+
104
+ ## Installation
105
+
106
+ ```json
107
+ {
108
+ "plugins": ["@openspoon/subtask2"]
109
+ }
58
110
  ```
59
111
 
60
- **With `return`:**
112
+ ## Quick Examples
113
+
114
+ **Simple: Make the agent act on results**
61
115
 
116
+ ```markdown
117
+ ---
118
+ subtask: true
119
+ return: Implement the suggested improvements.
120
+ ---
121
+
122
+ Analyze this function for performance issues.
62
123
  ```
63
- Subagent → "Found 3 bugs" + "Now assess and implement fixes" → Main agent → *starts working on fixes*
124
+
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
+ ---
133
+
134
+ Identify the core problem in our auth flow.
135
+ ```
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.
64
149
  ```
65
150
 
66
- The `return` prompt is injected into the subagent's response, so the main agent receives instructions rather than just information to relay.
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.
67
161
 
68
- `chain` then allows you to queue additional prompts that fire sequentially after each completion, enabling simple multi-step automated workflows.
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.
69
164
 
70
165
  ## License
71
166
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAwEhD,QAAA,MAAM,MAAM,EAAE,MAkDb,CAAC;AAEF,eAAe,MAAM,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
@@ -1,3 +1,43 @@
1
+ const DEFAULT_PROMPT = "Challenge and validate the task tool output above. Verify assumptions, identify gaps or errors, then continue with the next logical step.";
2
+ const CONFIG_PATH = `${Bun.env.HOME ?? ""}/.config/opencode/subtask2.jsonc`;
3
+ function isValidConfig(obj) {
4
+ if (typeof obj !== "object" || obj === null)
5
+ return false;
6
+ const cfg = obj;
7
+ if (typeof cfg.replace_generic !== "boolean")
8
+ return false;
9
+ if (cfg.generic_return !== undefined && typeof cfg.generic_return !== "string")
10
+ return false;
11
+ return true;
12
+ }
13
+ async function loadConfig() {
14
+ const defaultConfig = {
15
+ replace_generic: true,
16
+ };
17
+ try {
18
+ const file = Bun.file(CONFIG_PATH);
19
+ if (await file.exists()) {
20
+ const text = await file.text();
21
+ const stripped = text
22
+ .replace(/\/\/.*$/gm, "")
23
+ .replace(/\/\*[\s\S]*?\*\//g, "");
24
+ const parsed = JSON.parse(stripped);
25
+ if (isValidConfig(parsed)) {
26
+ return parsed;
27
+ }
28
+ }
29
+ }
30
+ catch { }
31
+ await Bun.write(CONFIG_PATH, `{
32
+ // Replace OpenCode's generic "Summarize..." prompt when no return is specified
33
+ "replace_generic": true
34
+
35
+ // Custom prompt to use (uses subtask2 substitution prompt by default)
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
+ }
38
+ `);
39
+ return defaultConfig;
40
+ }
1
41
  function parseFrontmatter(content) {
2
42
  const match = content.match(/^---\n([\s\S]*?)\n---/);
3
43
  if (!match)
@@ -25,6 +65,28 @@ function parseFrontmatter(content) {
25
65
  }
26
66
  return fm;
27
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
+ }
28
90
  async function buildManifest() {
29
91
  const manifest = {};
30
92
  const home = Bun.env.HOME ?? "";
@@ -41,12 +103,20 @@ async function buildManifest() {
41
103
  const fm = parseFrontmatter(content);
42
104
  const chain = fm.chain;
43
105
  const chainArr = chain ? (Array.isArray(chain) ? chain : [chain]) : [];
44
- if (fm.return || chainArr.length) {
45
- manifest[name] = {
46
- return: fm.return,
47
- chain: chainArr,
48
- };
49
- }
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
+ };
50
120
  }
51
121
  }
52
122
  catch { }
@@ -54,18 +124,42 @@ async function buildManifest() {
54
124
  return manifest;
55
125
  }
56
126
  let configs = {};
127
+ let pluginConfig = { replace_generic: true };
57
128
  let client = null;
58
129
  const callState = new Map();
59
130
  const chainState = new Map();
60
131
  const pendingReturns = new Map();
132
+ let hasActiveSubtask = false;
61
133
  const OPENCODE_GENERIC = "Summarize the task tool output above and continue with your task.";
62
134
  const plugin = async (ctx) => {
63
135
  configs = await buildManifest();
136
+ pluginConfig = await loadConfig();
64
137
  client = ctx.client;
65
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
+ },
66
159
  "tool.execute.before": async (input, output) => {
67
160
  if (input.tool !== "task")
68
161
  return;
162
+ hasActiveSubtask = true;
69
163
  const cmd = output.args?.command;
70
164
  if (cmd && configs[cmd]) {
71
165
  callState.set(input.callID, cmd);
@@ -90,6 +184,12 @@ const plugin = async (ctx) => {
90
184
  for (const [sessionID, returnPrompt] of pendingReturns) {
91
185
  part.text = returnPrompt;
92
186
  pendingReturns.delete(sessionID);
187
+ hasActiveSubtask = false;
188
+ return;
189
+ }
190
+ if (hasActiveSubtask && pluginConfig.replace_generic) {
191
+ part.text = pluginConfig.generic_return ?? DEFAULT_PROMPT;
192
+ hasActiveSubtask = false;
93
193
  return;
94
194
  }
95
195
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
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.6",
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",