@wrongstack/core 0.299.0 → 0.301.0

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 (165) hide show
  1. package/dist/chronicle/index.d.ts +2 -0
  2. package/dist/chronicle/index.js +297 -10
  3. package/dist/chronicle/project-server.js +253 -15
  4. package/dist/chronicle/sqlite-compaction.d.ts +20 -0
  5. package/dist/chronicle/sqlite-journal.d.ts +57 -0
  6. package/dist/coordination/agents/capability-manifest.d.ts +7 -0
  7. package/dist/coordination/agents/index.d.ts +3 -2
  8. package/dist/coordination/agents/index.js +818 -570
  9. package/dist/coordination/agents/project-agent-identity.d.ts +6 -6
  10. package/dist/coordination/agents/role-skills.d.ts +1 -1
  11. package/dist/coordination/agents/types.d.ts +6 -0
  12. package/dist/coordination/director.d.ts +10 -2
  13. package/dist/coordination/fleet-manager.d.ts +48 -3
  14. package/dist/coordination/ifleet-manager.d.ts +2 -0
  15. package/dist/coordination/index.js +6880 -6440
  16. package/dist/coordination/mail-tools.d.ts +3 -3
  17. package/dist/coordination/mailbox-project-server.js +3 -4
  18. package/dist/coordination/mailbox-types.d.ts +6 -0
  19. package/dist/coordination/multi-agent-coordinator.d.ts +1 -0
  20. package/dist/core/agent-response.d.ts +5 -1
  21. package/dist/core/agent-tools.d.ts +3 -0
  22. package/dist/core/context.d.ts +20 -0
  23. package/dist/core/fallback-model.d.ts +48 -0
  24. package/dist/core/index.d.ts +11 -9
  25. package/dist/core/index.js +1119 -310
  26. package/dist/core/instruction-template.d.ts +83 -0
  27. package/dist/core/next-steps-slot.d.ts +88 -0
  28. package/dist/core/system-prompt-blocks.d.ts +10 -1
  29. package/dist/core/system-prompt-builder.d.ts +40 -4
  30. package/dist/core/system-prompt-memory-skills.d.ts +1 -0
  31. package/dist/core/system-prompt-skill-bodies.d.ts +3 -3
  32. package/dist/defaults/index.js +9805 -8767
  33. package/dist/design/index.js +11 -3
  34. package/dist/execution/auto-compaction-middleware.d.ts +17 -0
  35. package/dist/execution/autonomy-brain.d.ts +15 -2
  36. package/dist/execution/brain-runtime.d.ts +3 -1
  37. package/dist/execution/compaction-core.d.ts +41 -2
  38. package/dist/execution/council-brain.d.ts +47 -1
  39. package/dist/execution/council-orchestrator.d.ts +25 -6
  40. package/dist/execution/council-prompts.d.ts +12 -1
  41. package/dist/execution/index.d.ts +11 -10
  42. package/dist/execution/index.js +10507 -9189
  43. package/dist/execution/tool-executor.d.ts +4 -1
  44. package/dist/execution/topic-shift-advisor.d.ts +53 -0
  45. package/dist/extension/index.js +8 -2
  46. package/dist/extension/registry.d.ts +8 -1
  47. package/dist/fleet-notifier.d.ts +9 -2
  48. package/dist/goal/index.js +11 -3
  49. package/dist/hooks/index.js +50 -13
  50. package/dist/hooks/runner.d.ts +12 -1
  51. package/dist/hq/index.js +59 -21
  52. package/dist/hq/protocol/fleet.d.ts +20 -0
  53. package/dist/hq/protocol.js +10 -0
  54. package/dist/hq/publisher.d.ts +21 -3
  55. package/dist/index.d.ts +22 -20
  56. package/dist/index.js +12211 -8572
  57. package/dist/infrastructure/index.js +108 -21
  58. package/dist/kernel/events/brain-events.d.ts +9 -0
  59. package/dist/kernel/events/provider-events.d.ts +42 -1
  60. package/dist/kernel/events/session-events.d.ts +13 -0
  61. package/dist/kernel/events/tool-events.d.ts +3 -3
  62. package/dist/models/index.d.ts +1 -0
  63. package/dist/models/index.js +18 -1
  64. package/dist/models/provider-credentials.d.ts +54 -0
  65. package/dist/plugin/api.d.ts +6 -0
  66. package/dist/plugin/config.d.ts +55 -0
  67. package/dist/plugin/index.d.ts +2 -1
  68. package/dist/plugin/index.js +2179 -544
  69. package/dist/plugins/auto-review-plugin.d.ts +3 -0
  70. package/dist/plugins/cloud-config-sync-plugin.d.ts +22 -0
  71. package/dist/plugins/review-claim-registry.d.ts +23 -8
  72. package/dist/plugins/review-types.d.ts +2 -0
  73. package/dist/registry/index.js +109 -74
  74. package/dist/registry/tool-registry.d.ts +15 -0
  75. package/dist/security/capabilities.d.ts +2 -0
  76. package/dist/security/index.d.ts +2 -2
  77. package/dist/security/index.js +166 -44
  78. package/dist/security/permission-helpers.d.ts +23 -6
  79. package/dist/security/permission-policy.d.ts +16 -0
  80. package/dist/security/readonly-permission-policy.d.ts +20 -0
  81. package/dist/security/totp.d.ts +14 -0
  82. package/dist/session-registry-atomic-file.d.ts +32 -5
  83. package/dist/skills/frontmatter.d.ts +6 -0
  84. package/dist/skills/index.js +22 -5
  85. package/dist/storage/cloud-config-sync/sanitize.d.ts +54 -0
  86. package/dist/storage/cloud-config-sync.d.ts +87 -0
  87. package/dist/storage/director-state.d.ts +7 -0
  88. package/dist/storage/index.d.ts +1 -0
  89. package/dist/storage/index.js +887 -74
  90. package/dist/tools/fallback-system-config-view-tool.d.ts +1 -1
  91. package/dist/tools/index.d.ts +1 -1
  92. package/dist/tools/index.js +898 -335
  93. package/dist/tools/one-shot-llm-tool.d.ts +1 -0
  94. package/dist/tools/plugin-manager.d.ts +27 -0
  95. package/dist/types/config/mcp-features.d.ts +18 -11
  96. package/dist/types/config/root.d.ts +8 -1
  97. package/dist/types/config/runtime.d.ts +20 -6
  98. package/dist/types/config/skills-fleet-brain.d.ts +12 -4
  99. package/dist/types/config/tools.d.ts +16 -0
  100. package/dist/types/context-window.d.ts +1 -0
  101. package/dist/types/council.d.ts +11 -0
  102. package/dist/types/hooks.d.ts +14 -0
  103. package/dist/types/index.d.ts +3 -3
  104. package/dist/types/index.js +1 -0
  105. package/dist/types/multi-agent.d.ts +12 -0
  106. package/dist/types/one-shot-llm.d.ts +25 -0
  107. package/dist/types/plugin.d.ts +28 -0
  108. package/dist/types/provider.d.ts +16 -0
  109. package/dist/types/runtime-capability-manifest.d.ts +168 -0
  110. package/dist/types/skill.d.ts +5 -0
  111. package/dist/types/system-prompt.d.ts +3 -1
  112. package/dist/types/tool-executor.d.ts +8 -1
  113. package/dist/utils/context-breakdown.d.ts +8 -2
  114. package/dist/utils/index.d.ts +1 -1
  115. package/dist/utils/index.js +141 -31
  116. package/dist/utils/regex-guard.d.ts +16 -2
  117. package/dist/utils/sage-output-block.d.ts +7 -10
  118. package/dist/utils/wstack-paths.d.ts +11 -3
  119. package/dist/worktree/index.js +4 -4
  120. package/instructions/agents/browser.md +1 -4
  121. package/instructions/agents/e2e.md +17 -15
  122. package/instructions/agents/ios.md +3 -3
  123. package/instructions/agents/search.md +1 -1
  124. package/instructions/autonomy/goal-preamble.md +4 -4
  125. package/instructions/coordination/director-preamble.md +2 -3
  126. package/instructions/coordination/subagent-baseline.md +3 -1
  127. package/instructions/leader-after-task.md +12 -0
  128. package/instructions/llm/chimera-review.md +1 -1
  129. package/instructions/modes/audit-lite.md +1 -1
  130. package/instructions/sections/tool/common-patterns.md +18 -2
  131. package/instructions/sections/tool/mailbox-compact.md +1 -1
  132. package/instructions/sections/tool/mailbox-full.md +1 -1
  133. package/instructions/system-lite.md +91 -3
  134. package/instructions/system-pro.md +296 -102
  135. package/instructions/system.md +248 -92
  136. package/package.json +3 -3
  137. package/skills/api-design/SKILL.md +3 -0
  138. package/skills/audit-log/SKILL.md +2 -0
  139. package/skills/auto-review/SKILL.md +6 -1
  140. package/skills/bug-hunter/SKILL.md +4 -1
  141. package/skills/chimera/SKILL.md +3 -0
  142. package/skills/data-governance/SKILL.md +3 -0
  143. package/skills/design-system/SKILL.md +5 -2
  144. package/skills/docker-deploy/SKILL.md +2 -0
  145. package/skills/git-flow/SKILL.md +2 -0
  146. package/skills/mailbox-bridge/SKILL.md +3 -0
  147. package/skills/mnemosyne/SKILL.md +2 -0
  148. package/skills/multi-agent/SKILL.md +4 -1
  149. package/skills/node-modern/SKILL.md +4 -1
  150. package/skills/observability/SKILL.md +3 -0
  151. package/skills/output-standards/SKILL.md +2 -0
  152. package/skills/plugin-author/SKILL.md +4 -1
  153. package/skills/prompt-engineering/SKILL.md +3 -1
  154. package/skills/react-modern/SKILL.md +6 -3
  155. package/skills/refactor-planner/SKILL.md +2 -0
  156. package/skills/research-web/SKILL.md +3 -0
  157. package/skills/sdd/SKILL.md +3 -1
  158. package/skills/security-scanner/SKILL.md +3 -0
  159. package/skills/skill-creator/SKILL.md +2 -0
  160. package/skills/tech-stack/SKILL.md +3 -0
  161. package/skills/testing/SKILL.md +4 -1
  162. package/skills/typescript-strict/SKILL.md +4 -1
  163. package/skills/wrongstack-kanban/SKILL.md +6 -3
  164. package/skills/wrongstack-mailbox/SKILL.md +4 -1
  165. package/skills/wrongstack-mailbox-mcp/SKILL.md +10 -8
@@ -7,6 +7,9 @@ description: |
7
7
  Triggers: user says "auto review", "otomatik review", "auto code review",
8
8
  "her değişiklikte review", "/auto-review".
9
9
  version: 2.0.0
10
+ required-capabilities: [version-control.manage]
11
+ required-tools: [git]
12
+ optional-capabilities: [fleet.delegate, verification.run]
10
13
  ---
11
14
 
12
15
  # Auto Review — Built-in Plugin
@@ -48,6 +51,7 @@ Enable it in your config:
48
51
  "provider": "deepseek",
49
52
  "model": "deepseek-chat",
50
53
  "fallbackProfile": "reliable",
54
+ "modelSelection": "round-robin",
51
55
  "debounceMs": 15000,
52
56
  "maxFilesPerBatch": 15
53
57
  }
@@ -69,7 +73,8 @@ Enable it in your config:
69
73
  | `enabled` | boolean | false | Master switch |
70
74
  | `provider` | string | session provider | LLM provider for review agents |
71
75
  | `model` | string | session model | LLM model for review agents |
72
- | `fallbackProfile` | string | effective fallback profile | Named profile from `fallbackProfiles`; its first valid entry supplies the primary provider/model when those are omitted |
76
+ | `fallbackProfile` | string | effective fallback profile | Named profile from `fallbackProfiles`; its first valid entry supplies the primary provider/model when those are omitted, and its entries form the reviewer selection and retry pool |
77
+ | `modelSelection` | `round-robin` \| `random` | `round-robin` | Choose each review's starting model in profile order or randomly; remaining entries stay available as fallbacks |
73
78
  | `debounceMs` | number | 15000 | Required file-quiet period before a mid-session review starts |
74
79
  | `maxFilesPerBatch` | number | 15 | Files per review call |
75
80
  | `maxConcurrentReviews` | number | 2 | Parallel review subagent cap |
@@ -11,6 +11,9 @@ description: |
11
11
  agent behind a chimera review, or as a fan-out worker auditing a chunk of
12
12
  files in parallel — those modes have extra constraints documented below.
13
13
  version: 2.0.0
14
+ required-capabilities: [filesystem.read, code.inspect]
15
+ required-tools: []
16
+ optional-capabilities: [verification.run]
14
17
  ---
15
18
 
16
19
  # Bug Hunter — WrongStack
@@ -298,4 +301,4 @@ sizing and briefing rules before dispatching.
298
301
  - Summary counts match the findings listed
299
302
  - `<nextsteps>` mirrors the findings in severity order
300
303
  - In cascade mode: fixes are minimal, unfixed findings are listed with reasons,
301
- and no mailbox message was sent
304
+ and no mailbox message was sent
@@ -12,6 +12,9 @@ description: |
12
12
  wants the fixes actually applied, that is bug-hunter or security-scanner, not
13
13
  this skill — but review first, then hand off.
14
14
  version: 2.0.0
15
+ required-capabilities: [filesystem.read, code.inspect]
16
+ required-tools: []
17
+ optional-capabilities: [version-control.manage]
15
18
  ---
16
19
 
17
20
  # Chimera — Post-Session Code Guardian
@@ -7,6 +7,9 @@ description: |
7
7
  Triggers: user says "data governance", "PII", "schema ownership", "retention policy", "data lineage", "migration safety".
8
8
  trigger: Use when designing or reviewing schema ownership, PII handling, retention, data lineage, access policy, or migration safety.
9
9
  version: 1.0.0
10
+ required-capabilities: [filesystem.read]
11
+ required-tools: []
12
+ optional-capabilities: [code.inspect]
10
13
  ---
11
14
 
12
15
  # Data Governance — WrongStack
@@ -16,6 +16,9 @@ description: |
16
16
  brand", "add dark mode". Trigger even when the user never says the word
17
17
  "design" — if the output has pixels, this skill runs first.
18
18
  version: 2.0.0
19
+ required-capabilities: [filesystem.read, filesystem.write, documentation.author]
20
+ required-tools: [design]
21
+ optional-capabilities: [browser.interact]
19
22
  ---
20
23
 
21
24
  # Design System Engine — WrongStack
@@ -116,7 +119,7 @@ For a genuinely specific color (brand primary, a mandated status color):
116
119
  design {action:"set", set:{ primary:"oklch(62% 0.2 25)", "dark.bg":"#111" }}
117
120
  ```
118
121
 
119
- Use `set` for the handful of values the brand actually dictates. Everything
122
+ Use the `design` tool's `set` action for the handful of values the brand actually dictates. Everything
120
123
  else stays on the kit.
121
124
 
122
125
  ---
@@ -147,7 +150,7 @@ Then, without exception:
147
150
  2. **Read the generated file before writing UI.** It is the ground truth for
148
151
  which token names exist. Do not guess names from this document or from
149
152
  another project — use the ones actually in the file.
150
- 3. Re-run `materialize` after any later `tune` or `set`, or the code and the
153
+ 3. Re-run the `design` tool with the `materialize` action after any later `tune` or `set`, or the code and the
151
154
  tokens silently diverge.
152
155
 
153
156
  ---
@@ -6,6 +6,8 @@ description: |
6
6
  "image", "docker-compose", "deploy", "containerize", "registry",
7
7
  "multi-stage", "distroless".
8
8
  version: 1.0.0
9
+ required-capabilities: [filesystem.read, filesystem.write, execution.shell]
10
+ required-tools: []
9
11
  ---
10
12
 
11
13
  # Docker Deploy — WrongStack
@@ -5,6 +5,8 @@ description: |
5
5
  branches, pull requests, or merge strategies in a WrongStack project session.
6
6
  Triggers: user mentions "commit", "branch", "PR", "merge", "rebase", "stash", "diff".
7
7
  version: 1.2.0
8
+ required-capabilities: [version-control.manage]
9
+ required-tools: [test]
8
10
  ---
9
11
 
10
12
  # Git Workflow — WrongStack
@@ -9,6 +9,9 @@ description: |
9
9
  WrongStack-internal agents already share, so any agent with curl or
10
10
  fetch can read, send, and acknowledge messages.
11
11
  version: 1.0.0
12
+ required-capabilities: [execution.shell]
13
+ required-tools: []
14
+ optional-capabilities: [web.research]
12
15
  ---
13
16
 
14
17
  # Mailbox Bridge — Expose the Shared Mailbox to External Agents
@@ -5,6 +5,8 @@ description: |
5
5
  anchor verification first, then review contradictions, drift, and noise;
6
6
  file destructive outcomes as review proposals instead of deleting directly.
7
7
  version: 1.1.0
8
+ required-capabilities: [memory.manage, memory.curate]
9
+ required-tools: [cron_cancel, cron_schedule, mail_send, mailbox, memory_candidates, memory_delete, memory_hygiene, memory_search, memory_update, memory_verify, skill]
8
10
  ---
9
11
 
10
12
  # Mnemosyne — SAGE Memory Custodian
@@ -15,6 +15,9 @@ description: |
15
15
  synthesized into one report, or when deciding whether parallelism is worth it
16
16
  at all — talking someone out of fanning out is a valid use of this skill.
17
17
  version: 2.0.0
18
+ required-capabilities: [fleet.delegate]
19
+ required-tools: [collab_debug, delegate, glob, grep, plan, read, test]
20
+ optional-capabilities: [coordination.mailbox, work.plan]
18
21
  ---
19
22
 
20
23
  # Multi-Agent Coordination — WrongStack
@@ -365,4 +368,4 @@ session that dies halfway — and they let you synthesize as you go.
365
368
  - Findings deduplicated, cross-target patterns called out as systemic
366
369
  - Prioritized critical → low, not left in worker-arrival order
367
370
  - A sample of worker claims spot-checked against the actual code
368
- - Report presents synthesis, not concatenation
371
+ - Report presents synthesis, not concatenation
@@ -5,6 +5,9 @@ description: |
5
5
  TypeScript code in WrongStack. Triggers: ESM imports, fetch usage, AbortSignal,
6
6
  node: protocol, Web Streams, or any async patterns.
7
7
  version: 1.1.0
8
+ required-capabilities: [filesystem.read, filesystem.write]
9
+ required-tools: []
10
+ optional-capabilities: [verification.run]
8
11
  ---
9
12
 
10
13
  # Modern Node.js (>= 22) — WrongStack
@@ -150,7 +153,7 @@ while (true) {
150
153
 
151
154
  | Anti-pattern | Why bad | Fix |
152
155
  |---|---|---|
153
- | `require()` in new code | WrongStack uses ESM | Use `import` with `.js` extension |
156
+ | `require()` in new code | WrongStack uses ESM | Prefer `import` with `.js` extension |
154
157
  | `__dirname` without `fileURLToPath` | ESM doesn't have `__dirname` | `path.dirname(fileURLToPath(import.meta.url))` |
155
158
  | Mixing `fs.readFile` callback with `await` | Callback API doesn't return a promise | Use `fs.promises.readFile` |
156
159
  | Swallowing `AbortError` silently | Means timeout/abort happened | Log it or handle explicitly |
@@ -6,6 +6,9 @@ description: |
6
6
  "log", "trace", "metrics", "observability", "instrument", "structured logging",
7
7
  "opentelemetry", "log level", "debug", "monitoring".
8
8
  version: 1.0.0
9
+ required-capabilities: [filesystem.read, filesystem.write]
10
+ required-tools: []
11
+ optional-capabilities: [code.inspect]
9
12
  ---
10
13
 
11
14
  # Observability — WrongStack
@@ -5,6 +5,8 @@ description: |
5
5
  responses in WrongStack. Triggers: user says "next steps format", "output standard",
6
6
  "response format", "final message format", "standardize next steps".
7
7
  version: 1.0.0
8
+ required-capabilities: []
9
+ required-tools: []
8
10
  ---
9
11
 
10
12
  # Output Standards — WrongStack
@@ -8,6 +8,9 @@ description: |
8
8
  Triggers: user says "new plugin", "add a plugin", "plugin teardown", "plugin
9
9
  health", "register a tool", "PluginAPI extension".
10
10
  version: 1.0.0
11
+ required-capabilities: [filesystem.read, filesystem.write, execution.shell]
12
+ required-tools: [bash, cron_cancel, cron_list, cron_schedule, edit, fetch, git, git_autocommit, json, read, search, secret_scanner_test, semver_bump, semver_changelog, semver_current, todo, watch_list, watch_start, watch_stop, write]
13
+ optional-capabilities: [verification.run]
11
14
  ---
12
15
 
13
16
  # Plugin Author — WrongStack
@@ -64,7 +67,7 @@ There are currently **21 official plugins** in the suite:
64
67
  (todo-tracker) leave the file in place — the user may return. Only
65
68
  in-memory counters and resource handles (timers, watchers) are
66
69
  cleaned up.
67
- 5. **Tool names use `snake_case`.** Plugin-level tools registered via
70
+ 5. **Tool names follow `snake_case`.** Plugin-level tools registered via
68
71
  `api.tools.register()` must be unique across the suite. The built-in
69
72
  tools (`bash`, `write`, `read`, `edit`, `fetch`, `search`, `json`,
70
73
  `todo`, `git`, etc.) are always present; don't collide.
@@ -5,6 +5,8 @@ description: |
5
5
  tool descriptions, skill definitions, or LLM instruction text in WrongStack.
6
6
  Triggers: user mentions "prompt", "system instruction", "skill description", "tool hint", "usage hint", "system prompt".
7
7
  version: 1.1.0
8
+ required-capabilities: [filesystem.read, filesystem.write]
9
+ required-tools: []
8
10
  ---
9
11
 
10
12
  # Prompt Engineering — WrongStack
@@ -134,4 +136,4 @@ See `skill-creator` skill for the format. Key points:
134
136
  - `skill-creator` — for creating new skills (primary — prompt-engineering feeds into skill creation)
135
137
  - `typescript-strict` — for TypeScript-specific prompt typing
136
138
  - `react-modern` — for React component prompt conventions
137
- - `output-standards` — for standardized `<nextsteps>` formatting
139
+ - `output-standards` — for standardized `<nextsteps>` formatting
@@ -5,6 +5,9 @@ description: |
5
5
  Triggers: user mentions "React", "component", "useState", "useEffect",
6
6
  "Server Component", "Client Component", "Suspense", "useTransition", "use hook".
7
7
  version: 1.1.0
8
+ required-capabilities: [filesystem.read, filesystem.write]
9
+ required-tools: []
10
+ optional-capabilities: [verification.run]
8
11
  ---
9
12
 
10
13
  # Modern React (19+) — WrongStack
@@ -17,8 +20,8 @@ React 19+ patterns: Server Components by default, `use` hook for promises, `useT
17
20
 
18
21
  1. Default to Server Components — mark `'use client'` only for interactive code.
19
22
  2. Keep the client boundary minimal — avoid unnecessary serialization errors.
20
- 3. Don't use `useEffect` for data fetching — use Server Components or `use(promise)`.
21
- 4. Don't use `forwardRef` in new code — `ref` is a regular prop in React 19.
23
+ 3. Avoid `useEffect` for data fetching — prefer Server Components or `use(promise)`.
24
+ 4. Avoid `forwardRef` in new code — `ref` is a regular prop in React 19.
22
25
  5. Use named exports for components — default exports hinder refactoring.
23
26
  6. Event handlers must have explicit types: `React.MouseEvent<HTMLButtonElement>`.
24
27
 
@@ -209,4 +212,4 @@ const inputRef = useRef<HTMLInputElement>(null);
209
212
  - `typescript-strict` — for TypeScript patterns
210
213
  - `node-modern` — for React server components with Node.js
211
214
  - `bug-hunter` — for React-specific bugs (stale closures, memory leaks)
212
- - `output-standards` — for standardized `<nextsteps>` formatting
215
+ - `output-standards` — for standardized `<nextsteps>` formatting
@@ -12,6 +12,8 @@ description: |
12
12
  it does not perform the refactor. Use it before touching code, and when a
13
13
  refactor already in flight has lost its ordering.
14
14
  version: 2.0.0
15
+ required-capabilities: [filesystem.read, code.inspect, work.plan]
16
+ required-tools: []
15
17
  ---
16
18
 
17
19
  # Refactor Planner — WrongStack
@@ -9,6 +9,9 @@ description: |
9
9
  "latest", "what's new in", "breaking changes", "find current",
10
10
  "web research", "search the web", "look up".
11
11
  version: 1.0.0
12
+ required-capabilities: [web.research]
13
+ required-tools: [context_manager, delegate, fetch, search]
14
+ optional-capabilities: [runtime.admin]
12
15
  ---
13
16
 
14
17
  # Research Web — WrongStack
@@ -5,6 +5,8 @@ description: |
5
5
  in WrongStack. Triggers: user says "/sdd", "spec", "specification", "task graph",
6
6
  "SDD", "acceptance criteria", or starts a new feature.
7
7
  version: 2.1.0
8
+ required-capabilities: [work.plan, filesystem.write]
9
+ required-tools: []
8
10
  ---
9
11
 
10
12
  # Spec-Driven Development — WrongStack
@@ -132,4 +134,4 @@ Stage shown in real-time. Pause stops after current iteration completes.
132
134
  - `refactor-planner` — when the spec reveals a multi-file refactor
133
135
  - `bug-hunter` — when a bugfix spec needs a root cause analysis section
134
136
  - `multi-agent` — for executing parallel task groups
135
- - `output-standards` — for standardized `<nextsteps>` formatting
137
+ - `output-standards` — for standardized `<nextsteps>` formatting
@@ -5,6 +5,9 @@ description: |
5
5
  in WrongStack. Triggers: user says "security", "vulnerability", "CVE", "secret",
6
6
  "injection", "XSS", "SQL injection", "audit security", "supply chain".
7
7
  version: 1.2.0
8
+ required-capabilities: [filesystem.read, code.inspect]
9
+ required-tools: []
10
+ optional-capabilities: [dependencies.manage]
8
11
  ---
9
12
 
10
13
  # Security Scanner — WrongStack
@@ -4,6 +4,8 @@ description: |
4
4
  Use this skill when the user wants to create a new AI skill in WrongStack.
5
5
  Triggers: user says "create a skill", "new skill", "add a skill", "skill definition".
6
6
  version: 1.2.0
7
+ required-capabilities: [filesystem.write, runtime.admin]
8
+ required-tools: [bash, skill]
7
9
  ---
8
10
 
9
11
  # Skill Creator — WrongStack
@@ -5,6 +5,9 @@ description: |
5
5
  or evaluating third-party libraries in WrongStack. Triggers: user says "dependency",
6
6
  "package version", "outdated", "npm audit", "deprecated package", "tech stack".
7
7
  version: 1.2.0
8
+ required-capabilities: [dependencies.manage]
9
+ required-tools: []
10
+ optional-capabilities: [web.research]
8
11
  ---
9
12
 
10
13
  # Tech Stack Validator — WrongStack (Language-Agnostic)
@@ -5,6 +5,9 @@ description: |
5
5
  Triggers: user says "test", "unit test", "integration test", "e2e", "mock",
6
6
  "vitest", "coverage", "assert", "expect", "test strategy", "write tests".
7
7
  version: 1.0.0
8
+ required-capabilities: [filesystem.read, verification.run]
9
+ required-tools: []
10
+ optional-capabilities: [execution.shell]
8
11
  ---
9
12
 
10
13
  # Testing — WrongStack
@@ -157,7 +160,7 @@ coverageThreshold: {
157
160
 
158
161
  ## WrongStack-specific test notes
159
162
 
160
- - **Subpath exports**: Some packages use `exports` field in `package.json` — tests must use the public entry point, not `dist/`.
163
+ - **Subpath exports**: Some packages define an `exports` field in `package.json` — tests must use the public entry point, not `dist/`.
161
164
  - **AbortSignal**: Any test involving timeouts must use `AbortSignal.timeout()` not `setTimeout`.
162
165
  - **pnpm workspaces**: Run `pnpm test` in the package root, or `pnpm -r test` for all packages.
163
166
  - **Vitest config**: Each package has its own `vitest.config.ts`.
@@ -5,6 +5,9 @@ description: |
5
5
  in WrongStack. Triggers: user mentions "TypeScript", "strict", "type error",
6
6
  "type safety", "narrowing", "branded type", "discriminated union", "noUncheckedIndexedAccess".
7
7
  version: 1.1.0
8
+ required-capabilities: [filesystem.read, filesystem.write]
9
+ required-tools: []
10
+ optional-capabilities: [verification.run]
8
11
  ---
9
12
 
10
13
  # TypeScript Strict Mode — WrongStack
@@ -237,4 +240,4 @@ console.log(name!.toUpperCase());
237
240
  - `node-modern` — for TypeScript + ESM patterns
238
241
  - `react-modern` — for React + TypeScript patterns
239
242
  - `bug-hunter` — for type-related bugs like unsafe casts
240
- - `output-standards` — for standardized `<nextsteps>` formatting
243
+ - `output-standards` — for standardized `<nextsteps>` formatting
@@ -10,6 +10,8 @@ triggers:
10
10
  - user says "kanban", "board", "task dispatch", "kanban queue"
11
11
  - working with the kanban tool or kanban_queue
12
12
  - managing project work through boards
13
+ required-capabilities: [work.plan]
14
+ required-tools: [kanban, kanban_queue]
13
15
  ---
14
16
 
15
17
  # WrongStack Kanban — Deterministic Enforcement Skill
@@ -67,12 +69,13 @@ The lifecycle guard enforces these mechanically. Do not attempt to bypass them.
67
69
  order, and creation time — not randomly. Do not attempt to influence dispatch
68
70
  order by shuffling tasks or boards.
69
71
 
70
- 2. **Claim before working.** Call `kanban_queue` or `claim_task` before starting
72
+ 2. **Claim before working.** Call `kanban_queue`, or call `kanban` with the
73
+ `claim_task` action, before starting
71
74
  work. Working on an unclaimed card means another agent may also be working on
72
75
  it.
73
76
 
74
- 3. **Heartbeat or lose the lease.** If you hold a lease, you must call
75
- `heartbeat_assignment` before it expires. Expired leases are recovered by the
77
+ 3. **Heartbeat or lose the lease.** If you hold a lease, you must call `kanban`
78
+ with the `heartbeat_assignment` action before it expires. Expired leases are recovered by the
76
79
  system and the task is reassigned.
77
80
 
78
81
  4. **Fence your writes.** Include `expectedLeaseId` in every `mark_assignment`
@@ -9,6 +9,9 @@ description: |
9
9
  fleet", "tell the wrongstack agents", "is anyone online in
10
10
  wrongstack", or "register me with wrongstack".
11
11
  version: 1.0.0
12
+ required-capabilities: []
13
+ required-tools: [mailbox]
14
+ optional-capabilities: [mcp.dynamic, web.research]
12
15
  ---
13
16
 
14
17
  # WrongStack Mailbox Client
@@ -658,7 +661,7 @@ await mb('/mailbox/send', {
658
661
  credential. If you must print the URL, redact the token (`[REDACTED]`).
659
662
  - **Don't reply to a broadcast with another broadcast.** Replies should
660
663
  target the original sender via `to: <their-id>`, with `replyTo` set.
661
- - **Don't use `control` messages.** They go through a different path in
664
+ - **Avoid `control` messages.** They go through a different path in
662
665
  the WrongStack agent loop and will likely be dropped on the floor by
663
666
  the recipient.
664
667
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: wrongstack-mailbox-mcp
3
3
  description: Coordinate with WrongStack agents through the project-scoped Mailbox MCP server. Use when an external coding agent needs to inspect unread or incomplete messages, query conversation history, discover online agents, send direct/reply/broadcast/steer messages, acknowledge outcomes, maintain its presence, soft-delete or restore messages, watch for changes, or perform explicitly authorized Mailbox administration without reading Mailbox files or SQLite directly.
4
+ required-capabilities: [mcp.dynamic]
5
+ required-tools: [mcp_use]
4
6
  ---
5
7
 
6
8
  # WrongStack Mailbox MCP
@@ -34,11 +36,11 @@ heartbeat identity to `--actor`; tool arguments cannot impersonate another actor
34
36
 
35
37
  ## Coordinate
36
38
 
37
- 1. Call `mailbox_manage` with `register_self`. Include a stable name and role when known.
38
- 2. Call `mailbox_read` with `unread`, then `query`. Prefer `unreadBy` plus `incompleteOnly` when
39
+ 1. Call `mcp_use` for the remote `mailbox_manage` operation with `register_self`. Include a stable name and role when known.
40
+ 2. Call `mcp_use` for the remote `mailbox_read` operation with `unread`, then `query`. Prefer `unreadBy` plus `incompleteOnly` when
39
41
  looking for actionable work.
40
- 3. Use `mailbox_read` with `online_agents` before routing a time-sensitive direct message.
41
- 4. Use `mailbox_manage` with `send`. Set an explicit recipient and message type:
42
+ 3. Call `mcp_use` for remote `mailbox_read` with `online_agents` before routing a time-sensitive direct message.
43
+ 4. Call `mcp_use` for remote `mailbox_manage` with `send`. Set an explicit recipient and message type:
42
44
  - `ask` for a blocking question;
43
45
  - `assign` for delegated work;
44
46
  - `steer` for changed direction;
@@ -46,17 +48,17 @@ heartbeat identity to `--actor`; tool arguments cannot impersonate another actor
46
48
  - `result` for a completed outcome;
47
49
  - `broadcast` only when every relevant agent should receive it.
48
50
  5. Set `replyTo` when continuing a thread. Do not create an unrelated message that loses context.
49
- 6. Use `ack` or `ack_many` after reading or completing messages. Record a truthful outcome when
51
+ 6. Call `mcp_use` for the remote `ack` or `ack_many` operation after reading or completing messages. Record a truthful outcome when
50
52
  marking work completed.
51
53
  7. Send `heartbeat_self` during long work and `deregister_self` on a clean shutdown.
52
54
 
53
- Runtime-only `control` messages are deliberately unavailable. Use `steer` for normal external
55
+ Runtime-only `control` messages are deliberately unavailable. Call `mcp_use` for the remote `steer` operation for normal external
54
56
  direction; never bypass the restriction through another channel.
55
57
 
56
58
  ## Observe changes
57
59
 
58
- Call `mailbox_watch` with an optional event type and timeout no greater than 25 seconds. Treat the
59
- result as a wake-up hint. After every event or timeout, reconcile with `mailbox_read`; watch events
60
+ Call `mcp_use` for remote `mailbox_watch` with an optional event type and timeout no greater than 25 seconds. Treat the
61
+ result as a wake-up hint. After every event or timeout, reconcile through remote `mailbox_read`; watch events
60
62
  contain identifiers and metadata, not the authoritative message snapshot.
61
63
 
62
64
  ## Manage and administer