@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.
Files changed (84) hide show
  1. package/README.md +1 -1
  2. package/dist/{agent-subagent-runner-Dksf0QVU.d.ts → agent-subagent-runner-DCczSoQj.d.ts} +6 -6
  3. package/dist/{config-BCAEJicb.d.ts → config-DkCbA3Bw.d.ts} +22 -0
  4. package/dist/coordination/index.d.ts +15 -15
  5. package/dist/coordination/index.js +802 -139
  6. package/dist/coordination/index.js.map +1 -1
  7. package/dist/{default-config-azFprTB3.d.ts → default-config-Buho8yge.d.ts} +1 -0
  8. package/dist/defaults/index.d.ts +18 -18
  9. package/dist/defaults/index.js +811 -119
  10. package/dist/defaults/index.js.map +1 -1
  11. package/dist/{events-CovDylaH.d.ts → events-BOv8h6I1.d.ts} +1 -1
  12. package/dist/execution/index.d.ts +9 -9
  13. package/dist/execution/index.js +8 -1
  14. package/dist/execution/index.js.map +1 -1
  15. package/dist/extension/index.d.ts +4 -4
  16. package/dist/{global-mailbox-CNfgvRw3.d.ts → global-mailbox-MDDFhLYh.d.ts} +1 -1
  17. package/dist/{goal-store-CBd749M4.d.ts → goal-store-BEmDmSKF.d.ts} +1 -1
  18. package/dist/hq/index.d.ts +4 -4
  19. package/dist/{index-D5HB7WkV.d.ts → index-Dd-PJJ8A.d.ts} +3 -3
  20. package/dist/index.d.ts +209 -30
  21. package/dist/index.js +29562 -28136
  22. package/dist/index.js.map +1 -1
  23. package/dist/infrastructure/index.d.ts +3 -3
  24. package/dist/infrastructure/index.js +8 -0
  25. package/dist/infrastructure/index.js.map +1 -1
  26. package/dist/kernel/index.d.ts +7 -7
  27. package/dist/kernel/index.js.map +1 -1
  28. package/dist/{mcp-servers-DJYwZXyH.d.ts → mcp-servers-BUx9A_AQ.d.ts} +1 -1
  29. package/dist/models/index.d.ts +4 -4
  30. package/dist/models/index.js +18 -20
  31. package/dist/models/index.js.map +1 -1
  32. package/dist/{multi-agent-coordinator-4DC31QWu.d.ts → multi-agent-coordinator-BRqtpn-a.d.ts} +1 -1
  33. package/dist/{null-fleet-bus-DuvA8PIR.d.ts → null-fleet-bus-BkptvIVo.d.ts} +7 -6
  34. package/dist/observability/index.d.ts +1 -1
  35. package/dist/{parallel-eternal-engine-BwcA0bAt.d.ts → parallel-eternal-engine-BXECuOVG.d.ts} +4 -4
  36. package/dist/{pipeline-DM-CPTUs.d.ts → pipeline-ixSFe5jg.d.ts} +2 -2
  37. package/dist/{provider-model-resolve-hNUbewMd.d.ts → provider-model-resolve-DIxKL_T-.d.ts} +1 -1
  38. package/dist/{provider-runner-Bz4GyUqo.d.ts → provider-runner-CJtCs1Rw.d.ts} +1 -1
  39. package/dist/sdd/index.d.ts +7 -7
  40. package/dist/sdd/index.js.map +1 -1
  41. package/dist/security/index.js +6 -0
  42. package/dist/security/index.js.map +1 -1
  43. package/dist/storage/index.d.ts +9 -9
  44. package/dist/storage/index.js +10 -1
  45. package/dist/storage/index.js.map +1 -1
  46. package/dist/{task-format-vGOIftmK.d.ts → task-format-GX0B1mMC.d.ts} +1 -1
  47. package/dist/{task-graph-u1q9Jkyk.d.ts → task-graph-CH3acNQ7.d.ts} +10 -1
  48. package/dist/{todos-checkpoint-addCdQ9f.d.ts → todos-checkpoint-Bw83WMh9.d.ts} +2 -2
  49. package/dist/{tool-executor-B3spV_Q6.d.ts → tool-executor-4mWN2vHW.d.ts} +7 -7
  50. package/dist/tools/index.d.ts +1 -1
  51. package/dist/tools/index.js +8 -0
  52. package/dist/tools/index.js.map +1 -1
  53. package/dist/types/index.d.ts +12 -12
  54. package/dist/types/index.js +22 -1
  55. package/dist/types/index.js.map +1 -1
  56. package/dist/utils/index.d.ts +5 -5
  57. package/dist/utils/index.js.map +1 -1
  58. package/dist/{worktree-manager-BBXdJq-Y.d.ts → worktree-manager-BrtjUFYk.d.ts} +1 -1
  59. package/instructions/leader-after-task.md +4 -4
  60. package/instructions/system.md +11 -0
  61. package/package.json +1 -1
  62. package/skills/api-design/SKILL.md +1 -1
  63. package/skills/audit-log/SKILL.md +3 -3
  64. package/skills/bug-hunter/SKILL.md +3 -3
  65. package/skills/chimera/SKILL.md +3 -3
  66. package/skills/docker-deploy/SKILL.md +1 -1
  67. package/skills/git-flow/SKILL.md +3 -3
  68. package/skills/mailbox-bridge/SKILL.md +1 -1
  69. package/skills/multi-agent/SKILL.md +3 -3
  70. package/skills/node-modern/SKILL.md +1 -1
  71. package/skills/observability/SKILL.md +1 -1
  72. package/skills/output-standards/SKILL.md +31 -30
  73. package/skills/output-standards/SKILL.save.md +5 -5
  74. package/skills/plugin-author/SKILL.md +1 -1
  75. package/skills/prompt-engineering/SKILL.md +1 -1
  76. package/skills/react-modern/SKILL.md +1 -1
  77. package/skills/refactor-planner/SKILL.md +3 -3
  78. package/skills/research-web/SKILL.md +1 -1
  79. package/skills/sdd/SKILL.md +1 -1
  80. package/skills/security-scanner/SKILL.md +3 -3
  81. package/skills/skill-creator/SKILL.md +1 -1
  82. package/skills/tech-stack/SKILL.md +3 -3
  83. package/skills/testing/SKILL.md +1 -1
  84. package/skills/typescript-strict/SKILL.md +1 -1
@@ -1,4 +1,4 @@
1
- import { E as EventBus } from './events-CovDylaH.js';
1
+ import { E as EventBus } from './events-BOv8h6I1.js';
2
2
 
3
3
  /**
4
4
  * Lifecycle of a single worktree handle.
@@ -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 in a `<next_steps>` block. The user selects one with `/next 1` (or `/next 1 2 3`), lists them with `/next list`, or regenerates with `/suggest`.
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
- <next_steps>
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
- </next_steps>
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 `<next_steps>` in that state anyway. Emit it again on the turn the last todo flips to `completed`.
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:
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/core",
3
- "version": "0.282.0",
3
+ "version": "0.282.1",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack core: kernel, types, defaults, and shared utilities for the WrongStack CLI agent.",
6
6
  "repository": {
@@ -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 `<next_steps>` formatting
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
- <next_steps>
156
+ <nextsteps>
157
157
  1. Run the session tests and the type checker
158
- </next_steps>
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 `<next_steps>` formatting
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
- <next_steps>
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
- </next_steps>
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 `<next_steps>` formatting
142
+ - `output-standards` — for standardized `<nextsteps>` formatting
@@ -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
- <next_steps>
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
- </next_steps>
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 `<next_steps>` formatting
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 `<next_steps>` formatting
156
+ - `output-standards` — for standardized `<nextsteps>` formatting
@@ -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
- <next_steps>
148
+ <nextsteps>
149
149
  1. Create a branch fix/session-leak, commit the token refresh fix, and push it
150
- </next_steps>
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 `<next_steps>` formatting
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 `<next_steps>` shape in the paired
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
- <next_steps>
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
- </next_steps>
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 `<next_steps>` formatting
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 `<next_steps>` formatting
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 `<next_steps>` formatting
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 `<next_steps>`** — subagents report findings only. If nothing is pending, omit the tag and say "No pending actions."
19
- 2. **`<next_steps>` 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.
20
- 3. **Tags must be properly closed** `<next_steps>...</next_steps>` with exact tag names.
21
- 4. **No markdown inside tags** — plain text only, one item per line.
22
- 5. **Items are prompt inputs** — not imperative instructions. Write what the user would type, not what they should do.
23
- 6. **Items marked `auto="true"` must include input content** the user can copy and submit it directly.
24
- 7. **Keep concise** — max 5 items unless the task genuinely requires more.
25
- 8. **Skip `<next_steps>` 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.
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
- <next_steps>
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
- </next_steps>
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 | `<next_steps>` on its own line | `<next_steps>` |
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 | `</next_steps>` on its own line | `</next_steps>` |
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
- <next_steps>
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
- </next_steps>
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
- <next_steps>
68
+ <nextsteps>
68
69
  1. Run the session tests and the type checker
69
- </next_steps>
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
- <next_steps>
84
+ <nextsteps>
84
85
  - Fix the bug in auth.ts # ❌ Dash, not number
85
86
  - Run tests
86
- </next_steps>
87
+ </nextsteps>
87
88
 
88
89
  # ❌ Wrong bullet character
89
90
  ```
90
91
 
91
92
  ```
92
- <next_steps>
93
+ <nextsteps>
93
94
  1. **Fix the bug** — use execFile instead # ❌ Markdown inside tags
94
95
  2. Run `pnpm test`
95
- </next_steps>
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
- <next_steps>
109
+ <nextsteps>
109
110
  1. Open the browser console and check for errors # ❌ Human-only action, not a prompt
110
- </next_steps>
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
- <next_steps>
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
- </next_steps>
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 `<next_steps>`)
131
- 2. Based on findings, produce a unified `<next_steps>` section with prompt options
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 `<next_steps>`** in its output — report findings only
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 `<next_steps>`** — those belong outside the tag as plain text
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 `<next_steps>`** — plain text only
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 `<next_steps>` in subagent output** — subagents report findings, leaders produce next steps
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 `<next_steps>` section in final messages.
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 `<next_steps>` — subagents report findings only.
8
- 2. Tags must be properly closed — `<next_steps>...</next_steps>`.
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
- <next_steps>
18
+ <nextsteps>
19
19
  1. [Priority] Action item with file:line reference
20
20
  2. [Priority] Second action item
21
- </next_steps>
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 `<next_steps>` formatting
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 `<next_steps>` formatting
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 `<next_steps>` formatting
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
- <next_steps>
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
- </next_steps>
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 `<next_steps>` formatting
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 `<next_steps>` formatting
343
+ - `output-standards` — for standardized `<nextsteps>` formatting
@@ -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 `<next_steps>` formatting
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
- <next_steps>
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
- </next_steps>
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 `<next_steps>` formatting
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 `<next_steps>` formatting
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
- <next_steps>
107
+ <nextsteps>
108
108
  1. Add <package>@<version> to the project auto="true"
109
- </next_steps>
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 `<next_steps>` formatting
119
+ - `output-standards` — for standardized `<nextsteps>` formatting
@@ -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 `<next_steps>` formatting
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 `<next_steps>` formatting
240
+ - `output-standards` — for standardized `<nextsteps>` formatting