@wrongstack/core 0.282.0 → 0.282.1
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 +1 -1
- package/dist/{agent-subagent-runner-Dksf0QVU.d.ts → agent-subagent-runner-DCczSoQj.d.ts} +6 -6
- package/dist/{config-BCAEJicb.d.ts → config-DkCbA3Bw.d.ts} +22 -0
- package/dist/coordination/index.d.ts +15 -15
- package/dist/coordination/index.js +802 -139
- package/dist/coordination/index.js.map +1 -1
- package/dist/{default-config-azFprTB3.d.ts → default-config-Buho8yge.d.ts} +1 -0
- package/dist/defaults/index.d.ts +18 -18
- package/dist/defaults/index.js +811 -119
- package/dist/defaults/index.js.map +1 -1
- package/dist/{events-CovDylaH.d.ts → events-BOv8h6I1.d.ts} +1 -1
- package/dist/execution/index.d.ts +9 -9
- package/dist/execution/index.js +8 -1
- package/dist/execution/index.js.map +1 -1
- package/dist/extension/index.d.ts +4 -4
- package/dist/{global-mailbox-CNfgvRw3.d.ts → global-mailbox-MDDFhLYh.d.ts} +1 -1
- package/dist/{goal-store-CBd749M4.d.ts → goal-store-BEmDmSKF.d.ts} +1 -1
- package/dist/hq/index.d.ts +4 -4
- package/dist/{index-D5HB7WkV.d.ts → index-Dd-PJJ8A.d.ts} +3 -3
- package/dist/index.d.ts +209 -30
- package/dist/index.js +29562 -28136
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/index.d.ts +3 -3
- package/dist/infrastructure/index.js +8 -0
- package/dist/infrastructure/index.js.map +1 -1
- package/dist/kernel/index.d.ts +7 -7
- package/dist/kernel/index.js.map +1 -1
- package/dist/{mcp-servers-DJYwZXyH.d.ts → mcp-servers-BUx9A_AQ.d.ts} +1 -1
- package/dist/models/index.d.ts +4 -4
- package/dist/models/index.js +18 -20
- package/dist/models/index.js.map +1 -1
- package/dist/{multi-agent-coordinator-4DC31QWu.d.ts → multi-agent-coordinator-BRqtpn-a.d.ts} +1 -1
- package/dist/{null-fleet-bus-DuvA8PIR.d.ts → null-fleet-bus-BkptvIVo.d.ts} +7 -6
- package/dist/observability/index.d.ts +1 -1
- package/dist/{parallel-eternal-engine-BwcA0bAt.d.ts → parallel-eternal-engine-BXECuOVG.d.ts} +4 -4
- package/dist/{pipeline-DM-CPTUs.d.ts → pipeline-ixSFe5jg.d.ts} +2 -2
- package/dist/{provider-model-resolve-hNUbewMd.d.ts → provider-model-resolve-DIxKL_T-.d.ts} +1 -1
- package/dist/{provider-runner-Bz4GyUqo.d.ts → provider-runner-CJtCs1Rw.d.ts} +1 -1
- package/dist/sdd/index.d.ts +7 -7
- package/dist/sdd/index.js.map +1 -1
- package/dist/security/index.js +6 -0
- package/dist/security/index.js.map +1 -1
- package/dist/storage/index.d.ts +9 -9
- package/dist/storage/index.js +10 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/{task-format-vGOIftmK.d.ts → task-format-GX0B1mMC.d.ts} +1 -1
- package/dist/{task-graph-u1q9Jkyk.d.ts → task-graph-CH3acNQ7.d.ts} +10 -1
- package/dist/{todos-checkpoint-addCdQ9f.d.ts → todos-checkpoint-Bw83WMh9.d.ts} +2 -2
- package/dist/{tool-executor-B3spV_Q6.d.ts → tool-executor-4mWN2vHW.d.ts} +7 -7
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/types/index.d.ts +12 -12
- package/dist/types/index.js +22 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +5 -5
- package/dist/utils/index.js.map +1 -1
- package/dist/{worktree-manager-BBXdJq-Y.d.ts → worktree-manager-BrtjUFYk.d.ts} +1 -1
- package/instructions/leader-after-task.md +4 -4
- package/instructions/system.md +11 -0
- package/package.json +1 -1
- package/skills/api-design/SKILL.md +1 -1
- package/skills/audit-log/SKILL.md +3 -3
- package/skills/bug-hunter/SKILL.md +3 -3
- package/skills/chimera/SKILL.md +3 -3
- package/skills/docker-deploy/SKILL.md +1 -1
- package/skills/git-flow/SKILL.md +3 -3
- package/skills/mailbox-bridge/SKILL.md +1 -1
- package/skills/multi-agent/SKILL.md +3 -3
- package/skills/node-modern/SKILL.md +1 -1
- package/skills/observability/SKILL.md +1 -1
- package/skills/output-standards/SKILL.md +31 -30
- package/skills/output-standards/SKILL.save.md +5 -5
- package/skills/plugin-author/SKILL.md +1 -1
- package/skills/prompt-engineering/SKILL.md +1 -1
- package/skills/react-modern/SKILL.md +1 -1
- package/skills/refactor-planner/SKILL.md +3 -3
- package/skills/research-web/SKILL.md +1 -1
- package/skills/sdd/SKILL.md +1 -1
- package/skills/security-scanner/SKILL.md +3 -3
- package/skills/skill-creator/SKILL.md +1 -1
- package/skills/tech-stack/SKILL.md +3 -3
- package/skills/testing/SKILL.md +1 -1
- package/skills/typescript-strict/SKILL.md +1 -1
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
## After-task suggestions
|
|
2
2
|
|
|
3
|
-
**You are the leader agent.** After completing a significant task — never mid-way through a multi-step operation — you MAY end your response with 2–4 suggested next prompts
|
|
3
|
+
**You are the leader agent.** After completing a significant task — never mid-way through a multi-step operation — you MAY end your response with 2–4 suggested next prompts. If you include any suggested next prompt, it MUST be inside a `<nextsteps>...</nextsteps>` block. Never write loose endings like "Next steps:", "next suggests", "Suggested next:", or goodwill-style follow-up offers outside the tag; those are not parseable by `/next`. The user selects one with `/next 1` (or `/next 1 2 3`), lists them with `/next list`, or regenerates with `/suggest`.
|
|
4
4
|
|
|
5
5
|
Format — one numbered line per item, ordered by priority:
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
<
|
|
8
|
+
<nextsteps>
|
|
9
9
|
1. First prompt option — a concrete next action phrased as what to type
|
|
10
10
|
2. Second prompt option
|
|
11
11
|
3. Third prompt option auto="true"
|
|
12
|
-
</
|
|
12
|
+
</nextsteps>
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
Rules:
|
|
16
16
|
- Each item is a **prompt the user can type**, not an instruction to a human: write "pnpm test", not "Run the test suite". Human-only actions (e.g. "open DevTools") go outside the tag as plain text.
|
|
17
17
|
- Append ` auto="true"` at the end of an item only when it is safe to run unattended (YOLO+auto mode executes these verbatim) — such items must be complete, copy-paste-ready input.
|
|
18
|
-
- **Omit the tag entirely while the live `ctx.todos` list has any `pending` or `in_progress` item.** Finishing the in-flight todo list takes priority, and the runtime discards `<
|
|
18
|
+
- **Omit the tag entirely while the live `ctx.todos` list has any `pending` or `in_progress` item.** Finishing the in-flight todo list takes priority, and the runtime discards `<nextsteps>` in that state anyway. Emit it again on the turn the last todo flips to `completed`.
|
|
19
19
|
- If you have no genuinely useful suggestions, omit the tag.
|
|
20
20
|
|
|
21
21
|
**After a significant task, also post a status update** to the inter-agent mailbox so other agents can discover what you finished and route follow-on work:
|
package/instructions/system.md
CHANGED
|
@@ -15,6 +15,17 @@ These are your baseline instructions. When an active mode prompt (Teach, Brief,
|
|
|
15
15
|
7. **Ask when blocked, proceed when not.** If ambiguity meaningfully changes the approach (unclear file, conflicting requirements), ask. Otherwise pick a reasonable default, state the assumption, and proceed.
|
|
16
16
|
8. **Stay focused.** Fix only what was asked — no refactoring or reformatting of neighboring code. Comment only to explain *why*, not *what*. Don't lecture about engineering principles unless asked.
|
|
17
17
|
|
|
18
|
+
## Task handling loop
|
|
19
|
+
|
|
20
|
+
For every non-trivial task, follow this four-phase loop:
|
|
21
|
+
|
|
22
|
+
1. **Plan first.** State the intended approach, key files or commands, assumptions, and verification target before changing anything. Use the `todo` tool for multi-step work so the plan remains visible and interruptible.
|
|
23
|
+
2. **Review before execution.** Inspect the relevant current files, docs, git status, tests, logs, and peer mailbox context needed to validate or adjust the plan. If review contradicts the plan, revise the plan before mutating files.
|
|
24
|
+
3. **Execute.** Make the smallest scoped change that satisfies the plan. Prefer surgical edits, avoid opportunistic refactors, and keep tool calls/commits limited to the current task.
|
|
25
|
+
4. **Review again.** Inspect the diff or changed files, run the narrowest useful verification, summarize the outcome, and call out any unverified risk or follow-up.
|
|
26
|
+
|
|
27
|
+
This loop separates intent, evidence, mutation, and validation. Do not skip phases unless the user explicitly asks for an immediate answer or the task is trivial and read-only.
|
|
28
|
+
|
|
18
29
|
## Tool use and failures
|
|
19
30
|
|
|
20
31
|
Call tools directly and let the permission flow decide — don't pre-announce that you "would like to" do something. When a tool fails, classify the failure and respond accordingly; never silently skip one:
|
package/package.json
CHANGED
|
@@ -137,4 +137,4 @@ Body: { "status": "paused" }
|
|
|
137
137
|
- `typescript-strict` — for type-safe request/response types
|
|
138
138
|
- `security-scanner` — for scanning API implementations for injection, auth, and secrets
|
|
139
139
|
- `testing` — for writing integration tests against API endpoints
|
|
140
|
-
- `output-standards` — for standardized `<
|
|
140
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -153,9 +153,9 @@ When reading a session file:
|
|
|
153
153
|
- Iteration 1-10: avg $0.04/iteration
|
|
154
154
|
- Iteration 11-20: avg $0.11/iteration (context growth)
|
|
155
155
|
|
|
156
|
-
<
|
|
156
|
+
<nextsteps>
|
|
157
157
|
1. Run the session tests and the type checker
|
|
158
|
-
</
|
|
158
|
+
</nextsteps>
|
|
159
159
|
|
|
160
160
|
Investigate iterations 14–20 in the session log for the bash command timeout pattern. Review iteration 14's tool call count for loop behavior.
|
|
161
161
|
```
|
|
@@ -173,4 +173,4 @@ Investigate iterations 14–20 in the session log for the bash command timeout p
|
|
|
173
173
|
- `bug-hunter` — for turning audit findings into concrete bugs to fix
|
|
174
174
|
- `refactor-planner` — for addressing systemic issues found in logs
|
|
175
175
|
- `security-scanner` — for security-adjacent findings (leaked keys, injection patterns in logs)
|
|
176
|
-
- `output-standards` — for standardized `<
|
|
176
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -126,12 +126,12 @@ const data: any = response.json();
|
|
|
126
126
|
|
|
127
127
|
Total: 16 findings in 12 files
|
|
128
128
|
|
|
129
|
-
<
|
|
129
|
+
<nextsteps>
|
|
130
130
|
1. Fix the shell injection in tools/shell.ts:42
|
|
131
131
|
2. Fix the hardcoded API key in lib/config.ts:8
|
|
132
132
|
3. Fix the memory leak in tools/pool.ts:89
|
|
133
133
|
4. Fix the unsafe any cast in core/agent.ts:103
|
|
134
|
-
</
|
|
134
|
+
</nextsteps>
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
## Skills in scope
|
|
@@ -139,4 +139,4 @@ Total: 16 findings in 12 files
|
|
|
139
139
|
- `security-scanner` — for hardcoded secrets and injection vectors
|
|
140
140
|
- `refactor-planner` — for fixing findings across multiple files
|
|
141
141
|
- `typescript-strict` — for TypeScript type safety rules
|
|
142
|
-
- `output-standards` — for standardized `<
|
|
142
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
package/skills/chimera/SKILL.md
CHANGED
|
@@ -56,11 +56,11 @@ Write your report as a single message appended to the chat. Use this structure:
|
|
|
56
56
|
- Findings: C critical, H high, M medium
|
|
57
57
|
- Clean files: N
|
|
58
58
|
|
|
59
|
-
<
|
|
59
|
+
<nextsteps>
|
|
60
60
|
1. Fix null deref in path/file.ts:42
|
|
61
61
|
2. Fix plaintext API key in path/config.ts:8
|
|
62
62
|
3. Fix unsafe any cast in path/helper.ts:15
|
|
63
|
-
</
|
|
63
|
+
</nextsteps>
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
If you find **nothing** worth flagging: write a single line.
|
|
@@ -96,4 +96,4 @@ likely missed, not decisions it explicitly made.
|
|
|
96
96
|
- `typescript-strict` — for TypeScript type safety rules
|
|
97
97
|
- `api-design` — for API design review patterns
|
|
98
98
|
- `testing` — for test coverage assessment
|
|
99
|
-
- `output-standards` — for standardized `<
|
|
99
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -153,4 +153,4 @@ trivy image --exit-code 1 --ignore-unfixed --severity HIGH,CRITICAL wrongstack:$
|
|
|
153
153
|
- `git-flow` — for tagging releases and managing Docker image versions
|
|
154
154
|
- `node-modern` — for Node.js-specific containerization patterns
|
|
155
155
|
- `observability` — for logging and tracing in containerized environments
|
|
156
|
-
- `output-standards` — for standardized `<
|
|
156
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
package/skills/git-flow/SKILL.md
CHANGED
|
@@ -145,9 +145,9 @@ git rebase main && git merge --ff-only feature
|
|
|
145
145
|
2. Commit changes with conventional commit format
|
|
146
146
|
3. Open PR with description linking to issue
|
|
147
147
|
|
|
148
|
-
<
|
|
148
|
+
<nextsteps>
|
|
149
149
|
1. Create a branch fix/session-leak, commit the token refresh fix, and push it
|
|
150
|
-
</
|
|
150
|
+
</nextsteps>
|
|
151
151
|
|
|
152
152
|
Open a PR at GitHub linking to issue #123 with the commit message describing the fix.
|
|
153
153
|
```
|
|
@@ -157,4 +157,4 @@ Open a PR at GitHub linking to issue #123 with the commit message describing the
|
|
|
157
157
|
- `refactor-planner` — when a refactor involves multiple git-managed changes
|
|
158
158
|
- `multi-agent` — for fleet-wide version audits across packages
|
|
159
159
|
- `bug-hunter` — for spotting bugs at commit time before they reach main
|
|
160
|
-
- `output-standards` — for standardized `<
|
|
160
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -298,7 +298,7 @@ is 15 s.
|
|
|
298
298
|
skill that pairs with this one.
|
|
299
299
|
- `node-modern` — for `AbortSignal.timeout` patterns the external agent
|
|
300
300
|
should use when calling these routes.
|
|
301
|
-
- `output-standards` — for the `<
|
|
301
|
+
- `output-standards` — for the `<nextsteps>` shape in the paired
|
|
302
302
|
external skill.
|
|
303
303
|
- `security-scanner` — for confirming the bridge's bearer-token handling
|
|
304
304
|
matches project security conventions.
|
|
@@ -126,11 +126,11 @@ When a leader synthesizes results from subagents:
|
|
|
126
126
|
### Unified Next Steps
|
|
127
127
|
[Deduplicated and prioritized action items]
|
|
128
128
|
|
|
129
|
-
<
|
|
129
|
+
<nextsteps>
|
|
130
130
|
1. Fix critical issue in <file:line>
|
|
131
131
|
2. Fix high-priority issue in <file:line>
|
|
132
132
|
3. Fix remaining issue in <file:line>
|
|
133
|
-
</
|
|
133
|
+
</nextsteps>
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
## Anti-patterns
|
|
@@ -151,7 +151,7 @@ Subagents share **nothing** — no memory, no session state, no variable scope.
|
|
|
151
151
|
- `security-scanner` — parallel security scans
|
|
152
152
|
- `refactor-planner` — parallel module analysis
|
|
153
153
|
- `audit-log` — aggregating multiple session analyses
|
|
154
|
-
- `output-standards` — for standardized `<
|
|
154
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
155
155
|
|
|
156
156
|
---
|
|
157
157
|
|
|
@@ -188,4 +188,4 @@ while (true) {
|
|
|
188
188
|
- `react-modern` — React Server Components with Node.js
|
|
189
189
|
- `bug-hunter` — catching async/await bugs, unhandled rejections
|
|
190
190
|
- `sdd` — for setting up new Node.js features with a spec first
|
|
191
|
-
- `output-standards` — for standardized `<
|
|
191
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -132,4 +132,4 @@ Every log should include:
|
|
|
132
132
|
- `bug-hunter` — for finding bugs via error trace patterns
|
|
133
133
|
- `security-scanner` — for ensuring no secrets leak into logs
|
|
134
134
|
- `node-modern` — for async tracing patterns with AbortSignal
|
|
135
|
-
- `output-standards` — for standardized `<
|
|
135
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -15,24 +15,25 @@ extract structured data from agent responses.
|
|
|
15
15
|
|
|
16
16
|
## Rules
|
|
17
17
|
|
|
18
|
-
1. **Only the leader agent's final message SHOULD include `<
|
|
19
|
-
2.
|
|
20
|
-
3. **
|
|
21
|
-
4. **
|
|
22
|
-
5. **
|
|
23
|
-
6. **Items
|
|
24
|
-
7. **
|
|
25
|
-
8. **
|
|
18
|
+
1. **Only the leader agent's final message SHOULD include `<nextsteps>`** — subagents report findings only. If nothing is pending, omit the tag entirely; do not append a loose "next steps" or goodwill-style follow-up line.
|
|
19
|
+
2. **Any suggested next prompt MUST be inside `<nextsteps>...</nextsteps>`** — never emit parseable-looking prose such as "Next steps:", "next suggests", "Suggested next:", or "Let me know if you want..." when you intend `/next` to work.
|
|
20
|
+
3. **`<nextsteps>` is for prompt options only** — every item must be something the user can type into the prompt and submit. If a step is a human-only action (e.g., "open DevTools", "check the browser console"), put it outside the tag as informational text instead.
|
|
21
|
+
4. **Tags must be properly closed** — `<nextsteps>...</nextsteps>` with exact tag names.
|
|
22
|
+
5. **No markdown inside tags** — plain text only, one item per line.
|
|
23
|
+
6. **Items are prompt inputs** — not imperative instructions. Write what the user would type, not what they should do.
|
|
24
|
+
7. **Items marked `auto="true"` must include input content** — the user can copy and submit it directly.
|
|
25
|
+
8. **Keep concise** — max 5 items unless the task genuinely requires more.
|
|
26
|
+
9. **Skip `<nextsteps>` whenever the live `ctx.todos` list still has open items** — any `pending` or `in_progress` todo means the in-flight task list is not done, and surfacing new prompt options would race the todo loop (YOLO+auto could pick the top suggestion and pivot away from the unfinished work; `/next 1` would replace the next todo with an arbitrary prompt). Finish the todo list first, re-arm the tag on the turn where the last todo flips to `completed`. The runtime enforces the same gate, so emitting it mid-task is parsed-and-discarded — the rule exists to keep the output focused, not to override runtime behavior.
|
|
26
27
|
|
|
27
28
|
## Output Format
|
|
28
29
|
|
|
29
30
|
```
|
|
30
31
|
[... task results ...]
|
|
31
32
|
|
|
32
|
-
<
|
|
33
|
+
<nextsteps>
|
|
33
34
|
1. Prompt option the user can enter — phrased as what to type, not what to do
|
|
34
35
|
2. Another prompt option
|
|
35
|
-
</
|
|
36
|
+
</nextsteps>
|
|
36
37
|
|
|
37
38
|
Informational text for human-only actions (outside the tag, no tag wrapper).
|
|
38
39
|
```
|
|
@@ -41,9 +42,9 @@ Informational text for human-only actions (outside the tag, no tag wrapper).
|
|
|
41
42
|
|
|
42
43
|
| Element | Rule | Example |
|
|
43
44
|
|---------|------|---------|
|
|
44
|
-
| Opening tag | `<
|
|
45
|
+
| Opening tag | `<nextsteps>` on its own line | `<nextsteps>` |
|
|
45
46
|
| Numbered items | `1. ` prefix, one per line | `1. Fix auth bug in core/session.ts` |
|
|
46
|
-
| Closing tag | `</
|
|
47
|
+
| Closing tag | `</nextsteps>` on its own line | `</nextsteps>` |
|
|
47
48
|
| `auto="true"` items | Include the full input content | `1. fix in core/auth.ts:42 auto="true"` |
|
|
48
49
|
|
|
49
50
|
### ✅ Correct Examples
|
|
@@ -51,11 +52,11 @@ Informational text for human-only actions (outside the tag, no tag wrapper).
|
|
|
51
52
|
```
|
|
52
53
|
Bug Hunt complete. Found 3 critical issues.
|
|
53
54
|
|
|
54
|
-
<
|
|
55
|
+
<nextsteps>
|
|
55
56
|
1. Fix the shell injection in packages/cli/src/slash-commands/dev.ts:15
|
|
56
57
|
2. Replace Math.random() with randomUUID() in the affected files
|
|
57
58
|
3. Run the type checker
|
|
58
|
-
</
|
|
59
|
+
</nextsteps>
|
|
59
60
|
|
|
60
61
|
Open browser DevTools → Network tab to verify the WebSocket
|
|
61
62
|
connection is established before testing.
|
|
@@ -64,9 +65,9 @@ connection is established before testing.
|
|
|
64
65
|
```
|
|
65
66
|
Audit complete. Found bash command timeout pattern in iterations 14–20.
|
|
66
67
|
|
|
67
|
-
<
|
|
68
|
+
<nextsteps>
|
|
68
69
|
1. Run the session tests and the type checker
|
|
69
|
-
</
|
|
70
|
+
</nextsteps>
|
|
70
71
|
|
|
71
72
|
Review iterations 14–20 in the session log to characterize the loop.
|
|
72
73
|
```
|
|
@@ -80,19 +81,19 @@ Task done. Next steps: 1) fix bug 2) run tests
|
|
|
80
81
|
```
|
|
81
82
|
|
|
82
83
|
```
|
|
83
|
-
<
|
|
84
|
+
<nextsteps>
|
|
84
85
|
- Fix the bug in auth.ts # ❌ Dash, not number
|
|
85
86
|
- Run tests
|
|
86
|
-
</
|
|
87
|
+
</nextsteps>
|
|
87
88
|
|
|
88
89
|
# ❌ Wrong bullet character
|
|
89
90
|
```
|
|
90
91
|
|
|
91
92
|
```
|
|
92
|
-
<
|
|
93
|
+
<nextsteps>
|
|
93
94
|
1. **Fix the bug** — use execFile instead # ❌ Markdown inside tags
|
|
94
95
|
2. Run `pnpm test`
|
|
95
|
-
</
|
|
96
|
+
</nextsteps>
|
|
96
97
|
|
|
97
98
|
# ❌ Markdown formatting not allowed inside tags
|
|
98
99
|
```
|
|
@@ -105,9 +106,9 @@ Next steps:
|
|
|
105
106
|
```
|
|
106
107
|
|
|
107
108
|
```
|
|
108
|
-
<
|
|
109
|
+
<nextsteps>
|
|
109
110
|
1. Open the browser console and check for errors # ❌ Human-only action, not a prompt
|
|
110
|
-
</
|
|
111
|
+
</nextsteps>
|
|
111
112
|
```
|
|
112
113
|
|
|
113
114
|
## `auto="true"` Format
|
|
@@ -115,10 +116,10 @@ Next steps:
|
|
|
115
116
|
Items that should be auto-submitted (the user can copy-paste and send) use `auto="true"`:
|
|
116
117
|
|
|
117
118
|
```
|
|
118
|
-
<
|
|
119
|
+
<nextsteps>
|
|
119
120
|
1. Run the type checker auto="true"
|
|
120
121
|
2. Fix the shell injection in packages/cli/src/slash-commands/dev.ts:15
|
|
121
|
-
</
|
|
122
|
+
</nextsteps>
|
|
122
123
|
```
|
|
123
124
|
|
|
124
125
|
The text before `auto="true"` is the exact prompt the user would type. Items without `auto="true"` are suggestions the user can select manually.
|
|
@@ -127,8 +128,8 @@ The text before `auto="true"` is the exact prompt the user would type. Items wit
|
|
|
127
128
|
|
|
128
129
|
When a **leader agent** synthesizes output from **subagents**, the leader MUST:
|
|
129
130
|
|
|
130
|
-
1. Collect findings from subagents (they return results, not `<
|
|
131
|
-
2. Based on findings, produce a unified `<
|
|
131
|
+
1. Collect findings from subagents (they return results, not `<nextsteps>`)
|
|
132
|
+
2. Based on findings, produce a unified `<nextsteps>` section with prompt options
|
|
132
133
|
3. Remove duplicates (dedupe by file path + action)
|
|
133
134
|
4. Re-prioritize if needed (critical > high > medium > low)
|
|
134
135
|
5. Human-only findings (e.g., "check the browser console") go outside the tag
|
|
@@ -136,22 +137,22 @@ When a **leader agent** synthesizes output from **subagents**, the leader MUST:
|
|
|
136
137
|
|
|
137
138
|
When a **subagent** completes its task, it MUST:
|
|
138
139
|
|
|
139
|
-
1. **NOT include `<
|
|
140
|
+
1. **NOT include `<nextsteps>`** in its output — report findings only
|
|
140
141
|
2. Report what it found/achieved in a structured, self-contained format
|
|
141
142
|
3. Let the leader decide what next steps follow from the findings
|
|
142
143
|
|
|
143
144
|
## Anti-patterns
|
|
144
145
|
|
|
145
|
-
- **Don't put human-only actions in `<
|
|
146
|
+
- **Don't put human-only actions in `<nextsteps>`** — those belong outside the tag as plain text
|
|
146
147
|
- **Don't write imperative instructions** — write what the user would type, not what they should do
|
|
147
|
-
- **Don't use markdown inside `<
|
|
148
|
+
- **Don't use markdown inside `<nextsteps>`** — plain text only
|
|
148
149
|
- **Don't skip the tag when there are prompt options** — the tag enables the `/next` workflow
|
|
149
150
|
- **Don't use dashes or asterisks** — use `1.`, `2.`, `3.` numbering
|
|
150
151
|
- **Don't be vague** — "fix bugs" is useless, "fix auth/session.ts:42" is a valid prompt
|
|
151
152
|
- **Don't exceed 5 items without reason** — if >5, it's probably not a single task
|
|
152
153
|
- **Don't write declarations of intent** — "we should refactor X" is not a prompt; "refactor core/config.ts" is
|
|
153
154
|
- **Don't suggest manual review as a prompt** — "manually check if X is correct" is not a valid LLM prompt; instead put it outside the tag
|
|
154
|
-
- **Don't include `<
|
|
155
|
+
- **Don't include `<nextsteps>` in subagent output** — subagents report findings, leaders produce next steps
|
|
155
156
|
|
|
156
157
|
## Skills in scope
|
|
157
158
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Output Standards — WrongStack (Compact)
|
|
2
2
|
|
|
3
|
-
Standardizes the format of agent output, particularly the `<
|
|
3
|
+
Standardizes the format of agent output, particularly the `<nextsteps>` section in final messages.
|
|
4
4
|
|
|
5
5
|
## Rules
|
|
6
6
|
|
|
7
|
-
1. Only the leader agent includes `<
|
|
8
|
-
2. Tags must be properly closed — `<
|
|
7
|
+
1. Only the leader agent includes `<nextsteps>` — subagents report findings only.
|
|
8
|
+
2. Tags must be properly closed — `<nextsteps>...</nextsteps>`.
|
|
9
9
|
3. No markdown inside tags — plain text only, one action per line.
|
|
10
10
|
4. Use imperative mood — "Fix X", not "Fixed X".
|
|
11
11
|
5. Be specific — mention file paths, tool names, or exact commands.
|
|
@@ -15,8 +15,8 @@ Standardizes the format of agent output, particularly the `<next_steps>` section
|
|
|
15
15
|
## Format
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
<
|
|
18
|
+
<nextsteps>
|
|
19
19
|
1. [Priority] Action item with file:line reference
|
|
20
20
|
2. [Priority] Second action item
|
|
21
|
-
</
|
|
21
|
+
</nextsteps>
|
|
22
22
|
```
|
|
@@ -347,4 +347,4 @@ For the H1 pattern, extend `tests/plugin-teardown.test.ts` with a
|
|
|
347
347
|
- `typescript-strict` — for strict TypeScript patterns in plugin code
|
|
348
348
|
- `node-modern` — for ESM imports, AbortSignal, and async patterns
|
|
349
349
|
- `testing` — for vitest patterns and mock API construction
|
|
350
|
-
- `output-standards` — for standardized `<
|
|
350
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -134,4 +134,4 @@ See `skill-creator` skill for the format. Key points:
|
|
|
134
134
|
- `skill-creator` — for creating new skills (primary — prompt-engineering feeds into skill creation)
|
|
135
135
|
- `typescript-strict` — for TypeScript-specific prompt typing
|
|
136
136
|
- `react-modern` — for React component prompt conventions
|
|
137
|
-
- `output-standards` — for standardized `<
|
|
137
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -209,4 +209,4 @@ const inputRef = useRef<HTMLInputElement>(null);
|
|
|
209
209
|
- `typescript-strict` — for TypeScript patterns
|
|
210
210
|
- `node-modern` — for React server components with Node.js
|
|
211
211
|
- `bug-hunter` — for React-specific bugs (stale closures, memory leaks)
|
|
212
|
-
- `output-standards` — for standardized `<
|
|
212
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -156,11 +156,11 @@ config.ts → logger.ts → path-resolver.ts
|
|
|
156
156
|
- [ ] No circular deps in `src/core`
|
|
157
157
|
- [ ] `Context` interface < 20 methods
|
|
158
158
|
|
|
159
|
-
<
|
|
159
|
+
<nextsteps>
|
|
160
160
|
1. Extract ToolExecutor interface in core/tool-executor.ts
|
|
161
161
|
2. Decouple SessionStore from Agent in core/session-store.ts
|
|
162
162
|
3. Break circular dep between Config and Logger in core/config.ts
|
|
163
|
-
</
|
|
163
|
+
</nextsteps>
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
## Anti-patterns
|
|
@@ -176,4 +176,4 @@ config.ts → logger.ts → path-resolver.ts
|
|
|
176
176
|
- `bug-hunter` — for finding bugs exposed by the refactor
|
|
177
177
|
- `git-flow` — for committing each phase properly
|
|
178
178
|
- `multi-agent` — for parallel analysis of multiple modules
|
|
179
|
-
- `output-standards` — for standardized `<
|
|
179
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -340,4 +340,4 @@ Agent: search("TypeScript null check best practices") // NO
|
|
|
340
340
|
- `security-scanner` — for CVE and vulnerability research
|
|
341
341
|
- `prompt-engineering` — for crafting effective search queries
|
|
342
342
|
- `multi-agent` — for fanning out research to subagents
|
|
343
|
-
- `output-standards` — for standardized `<
|
|
343
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
package/skills/sdd/SKILL.md
CHANGED
|
@@ -132,4 +132,4 @@ Stage shown in real-time. Pause stops after current iteration completes.
|
|
|
132
132
|
- `refactor-planner` — when the spec reveals a multi-file refactor
|
|
133
133
|
- `bug-hunter` — when a bugfix spec needs a root cause analysis section
|
|
134
134
|
- `multi-agent` — for executing parallel task groups
|
|
135
|
-
- `output-standards` — for standardized `<
|
|
135
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -157,11 +157,11 @@ element.textContent = userInput;
|
|
|
157
157
|
- [ ] Use parameterized queries in `src/db/` files
|
|
158
158
|
- [ ] Add rate limiting to `src/api/` routes
|
|
159
159
|
|
|
160
|
-
<
|
|
160
|
+
<nextsteps>
|
|
161
161
|
1. Fix the hardcoded API key in src/config.ts
|
|
162
162
|
2. Fix the shell injection in src/auth/login.ts
|
|
163
163
|
3. Fix the missing rate limiting in src/api/routes.ts
|
|
164
|
-
</
|
|
164
|
+
</nextsteps>
|
|
165
165
|
```
|
|
166
166
|
|
|
167
167
|
## Skills in scope
|
|
@@ -169,4 +169,4 @@ element.textContent = userInput;
|
|
|
169
169
|
- `bug-hunter` — for general code quality bugs found during security scan
|
|
170
170
|
- `audit-log` — for dependency version audit trails
|
|
171
171
|
- `git-flow` — for committing security patches properly
|
|
172
|
-
- `output-standards` — for standardized `<
|
|
172
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -164,4 +164,4 @@ Before writing the file, verify:
|
|
|
164
164
|
|
|
165
165
|
- `prompt-engineering` — for crafting the skill description and prompt text
|
|
166
166
|
- `git-flow` — for committing the new skill file
|
|
167
|
-
- `output-standards` — for standardized `<
|
|
167
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -104,9 +104,9 @@ When APPROVED:
|
|
|
104
104
|
**Install**: `<ecosystem install command>`
|
|
105
105
|
**Note**: <any caveats about the version, semver range, or compatibility>
|
|
106
106
|
|
|
107
|
-
<
|
|
107
|
+
<nextsteps>
|
|
108
108
|
1. Add <package>@<version> to the project auto="true"
|
|
109
|
-
</
|
|
109
|
+
</nextsteps>
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
## Skills in scope
|
|
@@ -116,4 +116,4 @@ When APPROVED:
|
|
|
116
116
|
- `typescript-strict` — for TypeScript version alignment
|
|
117
117
|
- `security-scanner` — for packages with known CVEs
|
|
118
118
|
- `docker-deploy` — for base image version pinning
|
|
119
|
-
- `output-standards` — for standardized `<
|
|
119
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
package/skills/testing/SKILL.md
CHANGED
|
@@ -168,4 +168,4 @@ coverageThreshold: {
|
|
|
168
168
|
- `typescript-strict` — for type-safe test assertions
|
|
169
169
|
- `node-modern` — for async/test patterns with AbortSignal
|
|
170
170
|
- `git-flow` — for committing tests with the code they test
|
|
171
|
-
- `output-standards` — for standardized `<
|
|
171
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|
|
@@ -237,4 +237,4 @@ console.log(name!.toUpperCase());
|
|
|
237
237
|
- `node-modern` — for TypeScript + ESM patterns
|
|
238
238
|
- `react-modern` — for React + TypeScript patterns
|
|
239
239
|
- `bug-hunter` — for type-related bugs like unsafe casts
|
|
240
|
-
- `output-standards` — for standardized `<
|
|
240
|
+
- `output-standards` — for standardized `<nextsteps>` formatting
|