@grant-vine/wunderkind 0.15.1 → 0.17.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.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +28 -8
- package/agents/ciso.md +8 -0
- package/agents/creative-director.md +1 -0
- package/agents/fullstack-wunderkind.md +11 -0
- package/agents/legal-counsel.md +1 -0
- package/agents/marketing-wunderkind.md +1 -0
- package/agents/product-wunderkind.md +26 -2
- package/dist/agents/product-wunderkind.js +1 -1
- package/dist/agents/render-markdown.d.ts.map +1 -1
- package/dist/agents/render-markdown.js +3 -0
- package/dist/agents/render-markdown.js.map +1 -1
- package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
- package/dist/agents/shared-prompt-sections.js +7 -0
- package/dist/agents/shared-prompt-sections.js.map +1 -1
- package/dist/agents/slash-commands.d.ts +11 -2
- package/dist/agents/slash-commands.d.ts.map +1 -1
- package/dist/agents/slash-commands.js +13 -1
- package/dist/agents/slash-commands.js.map +1 -1
- package/dist/agents/versioning.d.ts +4 -0
- package/dist/agents/versioning.d.ts.map +1 -0
- package/dist/agents/versioning.js +41 -0
- package/dist/agents/versioning.js.map +1 -0
- package/dist/cli/cli-installer.d.ts +1 -0
- package/dist/cli/cli-installer.d.ts.map +1 -1
- package/dist/cli/cli-installer.js +23 -4
- package/dist/cli/cli-installer.js.map +1 -1
- package/dist/cli/config-manager/index.d.ts +24 -0
- package/dist/cli/config-manager/index.d.ts.map +1 -1
- package/dist/cli/config-manager/index.js +113 -12
- package/dist/cli/config-manager/index.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +44 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +24 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +1 -0
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +35 -0
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/types.d.ts +3 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -1
- package/package.json +9 -6
- package/schemas/wunderkind.config.schema.json +2 -1
- package/skills/SKILL-STANDARD.md +5 -2
- package/skills/caveman/SKILL.md +50 -0
- package/skills/docs-with-grill/SKILL.md +66 -0
- package/skills/improve-codebase-architecture/SKILL.md +68 -25
- package/skills/setup-wunderkind-workflow/SKILL.md +94 -0
- package/skills/ubiquitous-language/SKILL.md +34 -22
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ Wunderkind provides a tiered CLI for installation, project setup, and health che
|
|
|
25
25
|
|---|---|---|
|
|
26
26
|
| `wunderkind install` | Registers the plugin in OpenCode | OpenCode config + native agents/skills (+ shared native commands) |
|
|
27
27
|
| `wunderkind upgrade` | Refreshes Wunderkind-owned native assets | Native agents/skills + shared native commands |
|
|
28
|
-
| `wunderkind init` | Bootstraps a project with soul files | `.wunderkind/`, `AGENTS.md`, `.sisyphus/`, docs README |
|
|
28
|
+
| `wunderkind init` | Bootstraps a project with soul files | `.wunderkind/`, `AGENTS.md`, `CONTEXT.md`, `.sisyphus/`, docs README |
|
|
29
29
|
| `wunderkind cleanup` | Removes project-local Wunderkind wiring and state | project OpenCode config + `.wunderkind/` |
|
|
30
30
|
| `wunderkind doctor` | Read-only diagnostics | None |
|
|
31
31
|
| `wunderkind uninstall` | Safely removes Wunderkind plugin wiring | OpenCode plugin config (+ global Wunderkind config when applicable) |
|
|
@@ -38,7 +38,7 @@ Wunderkind provides a tiered CLI for installation, project setup, and health che
|
|
|
38
38
|
Wunderkind distinguishes between **installing** the plugin and **initializing** a project:
|
|
39
39
|
|
|
40
40
|
1. **Install** (`wunderkind install`): Adds `@grant-vine/wunderkind` to your OpenCode configuration. This makes the agents available to your AI assistant. You typically do this once globally.
|
|
41
|
-
2. **Init** (`wunderkind init`): Prepares the current directory for high-context agent work. It creates or updates the `.wunderkind/` configuration directory, the `AGENTS.md` project knowledge base, optional project-local SOUL files, and optional documentation output folders.
|
|
41
|
+
2. **Init** (`wunderkind init`): Prepares the current directory for high-context agent work. It creates or updates the `.wunderkind/` configuration directory, the `AGENTS.md` project knowledge base, the compact shared `CONTEXT.md` lane, optional project-local SOUL files, and optional documentation output folders.
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
@@ -72,12 +72,12 @@ bunx @grant-vine/wunderkind install
|
|
|
72
72
|
or
|
|
73
73
|
|
|
74
74
|
The TUI will guide you through:
|
|
75
|
-
1. Checking for oh-my-openagent first, then auto-running `bunx oh-my-
|
|
75
|
+
1. Checking for oh-my-openagent first, then auto-running `bunx oh-my-openagent install` when the upstream CLI is available and OMO is missing.
|
|
76
76
|
2. Selecting the install scope (Global vs Project).
|
|
77
77
|
3. Optionally configuring shared baseline defaults: region, industry, and data-protection regulations.
|
|
78
78
|
4. Optionally initializing the current project immediately.
|
|
79
79
|
|
|
80
|
-
> Note: upstream now prefers `oh-my-openagent` for plugin entries
|
|
80
|
+
> Note: upstream now prefers `oh-my-openagent` for plugin entries, OMO config basenames, and public install commands. Legacy `oh-my-opencode` aliases and schema filenames may still appear during the transition.
|
|
81
81
|
>
|
|
82
82
|
> Wunderkind now ships both `oh-my-openagent.jsonc` (canonical) and `oh-my-opencode.jsonc` (legacy compatibility) template assets. Prefer the canonical file for new setups.
|
|
83
83
|
|
|
@@ -87,7 +87,7 @@ For CI/CD or scripted environments, use the `install` command with the `--no-tui
|
|
|
87
87
|
|
|
88
88
|
> **oh-my-openagent must already be installed** before running non-interactive mode. If it isn't, install it first:
|
|
89
89
|
> ```bash
|
|
90
|
-
> bunx oh-my-
|
|
90
|
+
> bunx oh-my-openagent install --no-tui --claude=yes --gemini=no --copilot=yes
|
|
91
91
|
> ```
|
|
92
92
|
> Wunderkind now performs this OMO readiness check up front during non-interactive `install` and `upgrade`, and exits early with the upstream install command when OMO is missing.
|
|
93
93
|
>
|
|
@@ -133,13 +133,19 @@ Wunderkind exposes an explicit upgrade lifecycle command:
|
|
|
133
133
|
|
|
134
134
|
```bash
|
|
135
135
|
wunderkind upgrade --scope=global
|
|
136
|
+
|
|
137
|
+
# project-scope caveman default refresh
|
|
138
|
+
wunderkind upgrade --scope=project --caveman-enabled=yes
|
|
136
139
|
```
|
|
137
140
|
|
|
138
141
|
Current upgrade behavior:
|
|
139
142
|
- refreshes Wunderkind native agents and native skills in the requested scope
|
|
140
143
|
- refreshes Wunderkind's shipped native command assets globally (e.g. `/docs-index`, `/dream`)
|
|
144
|
+
- rewrites Wunderkind-managed native-asset version markers so `doctor` can detect stale installed files
|
|
145
|
+
- embeds a Wunderkind version value in generated native agent markdown so `doctor` can compare installed agent files too
|
|
141
146
|
- preserves project-local soul/docs settings unless you explicitly opt into config refresh behavior
|
|
142
147
|
- supports `--dry-run` and `--refresh-config` for safe testing
|
|
148
|
+
- project-scope upgrades can also set `--caveman-enabled yes|no`; global upgrades keep caveman session-scoped and chat-activated
|
|
143
149
|
|
|
144
150
|
Older installs require `wunderkind upgrade` to receive the `/dream` command. `wunderkind doctor` will surface missing or stale command assets.
|
|
145
151
|
|
|
@@ -163,6 +169,7 @@ wunderkind init [options]
|
|
|
163
169
|
| `--docs-history-mode <mode>` | Update style: `append-dated` (default), `overwrite`, `new-dated-file`, `overwrite-archive` | `append-dated` |
|
|
164
170
|
| `--docs-enabled <yes\|no>` | Enable or disable documentation output | `no` |
|
|
165
171
|
| `--no-tui` | Skip interactive prompts | (false) |
|
|
172
|
+
| `--caveman-enabled <yes\|no>` | Enable project-default caveman mode during non-interactive init | (not set) |
|
|
166
173
|
|
|
167
174
|
Interactive `wunderkind init` always asks for team culture, org structure, and docs-output settings. It can also optionally create project-local SOUL files for any retained persona. Those SOUL questions are now select-first with an explicit custom-answer fallback, show a compact persona banner before each persona block, and prefill current project-local SOUL answers when you rerun `init` on an already configured project. Baseline market/regulation values are inherited unless you intentionally override them in project config.
|
|
168
175
|
|
|
@@ -172,9 +179,14 @@ Wave 2 also lets `init` set the PRD/planning workflow mode for the project:
|
|
|
172
179
|
|
|
173
180
|
If `prdPipelineMode` is absent in an older project config, Wunderkind treats it as `filesystem`.
|
|
174
181
|
|
|
182
|
+
### Caveman Mode
|
|
183
|
+
|
|
184
|
+
`wunderkind init` can optionally enable **project-default caveman mode**. When enabled, terse high-signal replies become the default for safe contexts where certain agents would still preserve the same value. Users can still enable caveman mode ad hoc in any chat by asking for it explicitly, even without project config.
|
|
185
|
+
|
|
175
186
|
`wunderkind init` creates the following project "soul files":
|
|
176
187
|
- `.wunderkind/wunderkind.config.jsonc` — Project-specific configuration
|
|
177
188
|
- `AGENTS.md` — Project knowledge base for agents
|
|
189
|
+
- `CONTEXT.md` — Compact shared context for docs grilling, planning, and future skill compatibility
|
|
178
190
|
- `.sisyphus/` — Directory for agent planning, notepads, and evidence
|
|
179
191
|
- `<docsPath>/README.md` — Auto-generated documentation index (if enabled)
|
|
180
192
|
|
|
@@ -232,6 +244,8 @@ wunderkind doctor
|
|
|
232
244
|
`wunderkind doctor` reports:
|
|
233
245
|
- Installed version and scope (Global vs Project)
|
|
234
246
|
- Detected Wunderkind and OMO version state
|
|
247
|
+
- Whether installed native agents/commands/skills look stale and should be refreshed via `wunderkind upgrade`
|
|
248
|
+
- Whether installed native agent markdown versions drift from the current Wunderkind package
|
|
235
249
|
- Location of configuration files
|
|
236
250
|
- Presence and status of project soul files (in a project context)
|
|
237
251
|
- Current Documentation Output configuration and index status
|
|
@@ -380,15 +394,18 @@ Skill authoring and review in this repo follow `skills/SKILL-STANDARD.md`. New o
|
|
|
380
394
|
| `visual-artist` | creative-director | Colour palettes, design tokens, WCAG |
|
|
381
395
|
| `agile-pm` | product-wunderkind | Sprint planning, task decomposition |
|
|
382
396
|
| `grill-me` | product-wunderkind | Requirement interrogation & ambiguity collapse |
|
|
383
|
-
| `
|
|
397
|
+
| `docs-with-grill` | product-wunderkind | Repo-aware docs grilling with `CONTEXT.md` maintenance |
|
|
398
|
+
| `setup-wunderkind-workflow` | product-wunderkind | Repo-local workflow contract for issue flow, triage vocabulary, glossary/docs paths, and `.sisyphus` conventions |
|
|
399
|
+
| `ubiquitous-language` | product-wunderkind | Glossary maintenance, canonical terminology, and naming alignment |
|
|
384
400
|
| `prd-pipeline` | product-wunderkind | PRD → plan → issues workflow |
|
|
385
401
|
| `triage-issue` | product-wunderkind | Issue intake, repro shaping, acceptance clarity, and backlog-ready handoff |
|
|
386
402
|
| `experimentation-analyst` | product-wunderkind | Product experiments, feature readouts, and statistical interpretation |
|
|
387
403
|
| `write-a-skill` | product-wunderkind | Wunderkind-native skill authoring and adaptation |
|
|
404
|
+
| `caveman` | product-wunderkind | Opt-in terse response mode for low-token, high-signal output |
|
|
388
405
|
| `db-architect` | fullstack-wunderkind | Drizzle ORM, PostgreSQL, Neon DB |
|
|
389
406
|
| `code-health` | fullstack-wunderkind | Severity-ranked code health audit reports (coupling, testability, dependency risk) |
|
|
390
407
|
| `vercel-architect` | fullstack-wunderkind | Vercel, Next.js App Router, Edge Runtime |
|
|
391
|
-
| `improve-codebase-architecture` | fullstack-wunderkind | Architecture RFCs,
|
|
408
|
+
| `improve-codebase-architecture` | fullstack-wunderkind | Architecture RFCs, seam design, deep modules, and deletion-test reviews |
|
|
392
409
|
| `design-an-interface` | fullstack-wunderkind | High-complexity API and abstraction design |
|
|
393
410
|
| `tdd` | fullstack-wunderkind | Red-green-refactor loops for Bun + strict TypeScript |
|
|
394
411
|
| `security-analyst` | ciso | OWASP Top 10, vulnerability assessment |
|
|
@@ -457,7 +474,10 @@ Edit the global file to change region/industry/regulation defaults after install
|
|
|
457
474
|
"docHistoryMode": "append-dated",
|
|
458
475
|
|
|
459
476
|
// PRD / planning workflow mode
|
|
460
|
-
"prdPipelineMode": "filesystem"
|
|
477
|
+
"prdPipelineMode": "filesystem",
|
|
478
|
+
|
|
479
|
+
// Enable project-default caveman mode for terse, high-signal replies when value is preserved
|
|
480
|
+
"cavemanEnabled": false
|
|
461
481
|
}
|
|
462
482
|
```
|
|
463
483
|
|
package/agents/ciso.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: >
|
|
3
3
|
CISO — Security and compliance lead for threat modeling, controls, and risk decisions.
|
|
4
|
+
wunderkind_version: "0.17.0"
|
|
4
5
|
mode: all
|
|
5
6
|
temperature: 0.1
|
|
6
7
|
permission:
|
|
@@ -115,6 +116,13 @@ Use this contract to choose the right delegation mechanism.
|
|
|
115
116
|
- `run_in_background`: required in every `task()` call. Must be explicitly `true` or `false`; never omit.
|
|
116
117
|
- `category` and `subagent_type`: mutually exclusive. Pass exactly one, never both.
|
|
117
118
|
|
|
119
|
+
### Hard rules for delegation
|
|
120
|
+
|
|
121
|
+
- Prefer **parallel delegation** when subtasks are independent and touch different concerns.
|
|
122
|
+
- After delegating research or exploration, **wait for the delegated result and synthesize it**. Do not repeat the same search locally unless the delegated output is clearly insufficient.
|
|
123
|
+
- Avoid unnecessary nested delegation. Use another layer of subagents only when the specialist adds clear value, because upstream background-agent depth is limited.
|
|
124
|
+
- Name the target domain up front in the prompt so the receiving agent can act without re-triaging the same request.
|
|
125
|
+
|
|
118
126
|
### Canonical examples
|
|
119
127
|
|
|
120
128
|
```typescript
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: >
|
|
3
3
|
Fullstack Wunderkind — CTO-calibre engineer for architecture, implementation, and systems tradeoffs.
|
|
4
|
+
wunderkind_version: "0.17.0"
|
|
4
5
|
mode: all
|
|
5
6
|
temperature: 0.1
|
|
6
7
|
---
|
|
@@ -177,6 +178,13 @@ Use this contract to choose the right delegation mechanism.
|
|
|
177
178
|
- `run_in_background`: required in every `task()` call. Must be explicitly `true` or `false`; never omit.
|
|
178
179
|
- `category` and `subagent_type`: mutually exclusive. Pass exactly one, never both.
|
|
179
180
|
|
|
181
|
+
### Hard rules for delegation
|
|
182
|
+
|
|
183
|
+
- Prefer **parallel delegation** when subtasks are independent and touch different concerns.
|
|
184
|
+
- After delegating research or exploration, **wait for the delegated result and synthesize it**. Do not repeat the same search locally unless the delegated output is clearly insufficient.
|
|
185
|
+
- Avoid unnecessary nested delegation. Use another layer of subagents only when the specialist adds clear value, because upstream background-agent depth is limited.
|
|
186
|
+
- Name the target domain up front in the prompt so the receiving agent can act without re-triaging the same request.
|
|
187
|
+
|
|
180
188
|
### Canonical examples
|
|
181
189
|
|
|
182
190
|
```typescript
|
|
@@ -238,6 +246,8 @@ Invoke via `skill(name="vercel-architect")` to decide runtime compatibility and
|
|
|
238
246
|
|
|
239
247
|
Assess separation of concerns, coupling, traps, and minimal refactor steps with effort and risk.
|
|
240
248
|
|
|
249
|
+
- Invoke via `skill(name="improve-codebase-architecture")` for deep module/RFC work using seam, depth, locality, and deletion-test framing.
|
|
250
|
+
|
|
241
251
|
---
|
|
242
252
|
|
|
243
253
|
### `/supportability-review <service>`
|
|
@@ -257,6 +267,7 @@ Translate the alert into blast radius, triage steps, root-cause branches, succes
|
|
|
257
267
|
- Invoke via `skill(name="tdd")` for red-green-refactor loops, regression hardening, and defect-driven delivery.
|
|
258
268
|
- Invoke via `skill(name="vercel-architect")` for Vercel, App Router, Edge runtime, Neon branching, and performance work.
|
|
259
269
|
- Invoke via `skill(name="db-architect")` for schema design, query analysis, migrations, and index auditing.
|
|
270
|
+
- Invoke via `skill(name="improve-codebase-architecture")` for deep-module RFCs, seam design, and structural refactoring plans.
|
|
260
271
|
|
|
261
272
|
---
|
|
262
273
|
|
package/agents/legal-counsel.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: >
|
|
3
3
|
Product Wunderkind — Default orchestrator and front door for all Wunderkind requests. Routes, clarifies, and synthesizes across specialists. VP Product authority for strategy, roadmaps, PRDs, OKRs, issue intake, acceptance review, and decomposition.
|
|
4
|
+
wunderkind_version: "0.17.0"
|
|
4
5
|
mode: all
|
|
5
6
|
temperature: 0.2
|
|
6
7
|
permission:
|
|
@@ -132,7 +133,7 @@ You bridge the gap between user insight and engineering reality. You're fluent i
|
|
|
132
133
|
|
|
133
134
|
**Never self-delegate or duplicate specialist authority.** Do not route work back into another copy of `product-wunderkind`, do not create orchestration loops, and do not impersonate engineering, design, marketing, security, or legal specialists when their domain is the real owner. Route to the specialist, then synthesize.
|
|
134
135
|
|
|
135
|
-
**Preserve deep product craft through explicit owned skills.** Orchestration does not replace product depth. Keep using the product-owned skills `grill-me`, `prd-pipeline`, `
|
|
136
|
+
**Preserve deep product craft through explicit owned skills.** Orchestration does not replace product depth. Keep using the product-owned skills `grill-me`, `docs-with-grill`, `prd-pipeline`, `triage-issue`, and `setup-wunderkind-workflow` when the request needs deeper interrogation, context-aware docs grilling, workflow setup, PRD control, or structured issue shaping inside product's own domain. Use `ubiquitous-language` narrowly when the task is specifically glossary maintenance or naming alignment work.
|
|
136
137
|
|
|
137
138
|
---
|
|
138
139
|
|
|
@@ -175,6 +176,13 @@ Use this contract to choose the right delegation mechanism.
|
|
|
175
176
|
- `run_in_background`: required in every `task()` call. Must be explicitly `true` or `false`; never omit.
|
|
176
177
|
- `category` and `subagent_type`: mutually exclusive. Pass exactly one, never both.
|
|
177
178
|
|
|
179
|
+
### Hard rules for delegation
|
|
180
|
+
|
|
181
|
+
- Prefer **parallel delegation** when subtasks are independent and touch different concerns.
|
|
182
|
+
- After delegating research or exploration, **wait for the delegated result and synthesize it**. Do not repeat the same search locally unless the delegated output is clearly insufficient.
|
|
183
|
+
- Avoid unnecessary nested delegation. Use another layer of subagents only when the specialist adds clear value, because upstream background-agent depth is limited.
|
|
184
|
+
- Name the target domain up front in the prompt so the receiving agent can act without re-triaging the same request.
|
|
185
|
+
|
|
178
186
|
### Canonical examples
|
|
179
187
|
|
|
180
188
|
```typescript
|
|
@@ -206,6 +214,22 @@ Every slash command must support a `--help` form.
|
|
|
206
214
|
|
|
207
215
|
---
|
|
208
216
|
|
|
217
|
+
### `/setup-wunderkind-workflow`
|
|
218
|
+
|
|
219
|
+
Establish the repo-local workflow contract for issue flow, triage vocabulary, glossary/docs locations, and `.sisyphus/` artifact conventions.
|
|
220
|
+
|
|
221
|
+
- Invoke via `skill(name="setup-wunderkind-workflow")` to adapt Matt-style setup patterns to Wunderkind-native locations such as `AGENTS.md` and `.sisyphus/`.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
### `/docs-with-grill <topic>`
|
|
226
|
+
|
|
227
|
+
Stress-test a docs or product topic against repo context, update `CONTEXT.md` when needed, and prepare Wunderkind-native documentation follow-up.
|
|
228
|
+
|
|
229
|
+
- Invoke via `skill(name="docs-with-grill")` for one-question-at-a-time context grilling that inspects the repo before asking and treats `CONTEXT.md` as the compact shared context lane.
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
209
233
|
### `/breakdown <task>`
|
|
210
234
|
|
|
211
235
|
Invoke via `skill(name="agile-pm")` for concern-grouped, parallel-safe subtasks with file targets and dependency order.
|
|
@@ -246,7 +270,7 @@ Identify the value moment, propose candidate metrics, choose the best one, and m
|
|
|
246
270
|
|
|
247
271
|
## Sub-Skill Delegation
|
|
248
272
|
|
|
249
|
-
- Invoke via `skill(name="grill-me")`, `skill(name="prd-pipeline")`, `skill(name="
|
|
273
|
+
- Invoke via `skill(name="grill-me")`, `skill(name="docs-with-grill")`, `skill(name="prd-pipeline")`, `skill(name="triage-issue")`, and `skill(name="setup-wunderkind-workflow")` for deep product workflow setup, context-aware docs grilling, and discovery work. Use `skill(name="ubiquitous-language")` narrowly for glossary maintenance and naming alignment.
|
|
250
274
|
- Invoke via `skill(name="agile-pm")` whenever the request needs sprint planning, backlog structuring, task decomposition, or file-conflict analysis.
|
|
251
275
|
|
|
252
276
|
---
|
|
@@ -164,7 +164,7 @@ You bridge the gap between user insight and engineering reality. You're fluent i
|
|
|
164
164
|
|
|
165
165
|
**Never self-delegate or duplicate specialist authority.** Do not route work back into another copy of \`product-wunderkind\`, do not create orchestration loops, and do not impersonate engineering, design, marketing, security, or legal specialists when their domain is the real owner. Route to the specialist, then synthesize.
|
|
166
166
|
|
|
167
|
-
**Preserve deep product craft through explicit owned skills.** Orchestration does not replace product depth. Keep using the product-owned skills \`grill-me\`, \`prd-pipeline\`, \`
|
|
167
|
+
**Preserve deep product craft through explicit owned skills.** Orchestration does not replace product depth. Keep using the product-owned skills \`grill-me\`, \`docs-with-grill\`, \`prd-pipeline\`, \`triage-issue\`, and \`setup-wunderkind-workflow\` when the request needs deeper interrogation, context-aware docs grilling, workflow setup, PRD control, or structured issue shaping inside product's own domain. Use \`ubiquitous-language\` narrowly when the task is specifically glossary maintenance or naming alignment work.
|
|
168
168
|
|
|
169
169
|
---
|
|
170
170
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-markdown.d.ts","sourceRoot":"","sources":["../../src/agents/render-markdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"render-markdown.d.ts","sourceRoot":"","sources":["../../src/agents/render-markdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAyB9D,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,yBAAyB,GAAG,MAAM,CAgBvF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readOwnPackageVersion, WUNDERKIND_AGENT_VERSION_FRONTMATTER_KEY } from "./versioning.js";
|
|
1
2
|
function renderMultilineScalar(value) {
|
|
2
3
|
const normalized = value.replace(/\r\n/g, "\n").trim();
|
|
3
4
|
return normalized
|
|
@@ -19,10 +20,12 @@ function renderPermissionBlock(permission) {
|
|
|
19
20
|
}
|
|
20
21
|
export function renderNativeAgentMarkdown(definition) {
|
|
21
22
|
const config = definition.factory("");
|
|
23
|
+
const ownVersion = readOwnPackageVersion();
|
|
22
24
|
const frontmatter = [
|
|
23
25
|
"---",
|
|
24
26
|
"description: >",
|
|
25
27
|
renderMultilineScalar(`${definition.roleLabel} — ${definition.summary}`),
|
|
28
|
+
...(ownVersion ? [`${WUNDERKIND_AGENT_VERSION_FRONTMATTER_KEY}: "${ownVersion}"`] : []),
|
|
26
29
|
`mode: ${definition.factory.mode}`,
|
|
27
30
|
...(typeof config.temperature === "number" ? [`temperature: ${config.temperature}`] : []),
|
|
28
31
|
...renderPermissionBlock(config.permission),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-markdown.js","sourceRoot":"","sources":["../../src/agents/render-markdown.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-markdown.js","sourceRoot":"","sources":["../../src/agents/render-markdown.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,wCAAwC,EAAE,MAAM,iBAAiB,CAAA;AAEjG,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IACtD,OAAO,UAAU;SACd,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAqC;IAClE,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/E,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEnC,OAAO;QACL,aAAa;QACb,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;KAC/D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAqC;IAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAA;IAC1C,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,gBAAgB;QAChB,qBAAqB,CAAC,GAAG,UAAU,CAAC,SAAS,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QACxE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,wCAAwC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE;QAClC,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC;QAC3C,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAA;AAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,CAgBT;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAUpD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAKrD;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAiBjF;AAED,wBAAgB,8BAA8B,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"shared-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,CAgBT;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAUpD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAKrD;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAiBjF;AAED,wBAAgB,8BAA8B,IAAI,MAAM,CAsCvD"}
|
|
@@ -62,6 +62,13 @@ Use this contract to choose the right delegation mechanism.
|
|
|
62
62
|
- \`run_in_background\`: required in every \`task()\` call. Must be explicitly \`true\` or \`false\`; never omit.
|
|
63
63
|
- \`category\` and \`subagent_type\`: mutually exclusive. Pass exactly one, never both.
|
|
64
64
|
|
|
65
|
+
### Hard rules for delegation
|
|
66
|
+
|
|
67
|
+
- Prefer **parallel delegation** when subtasks are independent and touch different concerns.
|
|
68
|
+
- After delegating research or exploration, **wait for the delegated result and synthesize it**. Do not repeat the same search locally unless the delegated output is clearly insufficient.
|
|
69
|
+
- Avoid unnecessary nested delegation. Use another layer of subagents only when the specialist adds clear value, because upstream background-agent depth is limited.
|
|
70
|
+
- Name the target domain up front in the prompt so the receiving agent can act without re-triaging the same request.
|
|
71
|
+
|
|
65
72
|
### Canonical examples
|
|
66
73
|
|
|
67
74
|
\`\`\`typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-prompt-sections.js","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,6BAA6B,CAAC,OAI7C;IACC,OAAO;;;;;;;;;eASM,OAAO,CAAC,SAAS;eACjB,OAAO,CAAC,SAAS;cAClB,OAAO,CAAC,QAAQ;;;kVAGoT,CAAA;AAClV,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;;;;;oNAQ2M,CAAA;AACpN,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO;;;6IAGoI,CAAA;AAC7I,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAA8B;IACvE,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1E,OAAO,CAAC,SAAS,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClI,CAAC,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjE,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC,CAAC,IAAI,EAAE,CAAA;IAER,OAAO;QACL,mBAAmB;QACnB,4BAA4B,EAAE;QAC9B,GAAG,aAAa;QAChB,GAAG,aAAa;KACjB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO
|
|
1
|
+
{"version":3,"file":"shared-prompt-sections.js","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,6BAA6B,CAAC,OAI7C;IACC,OAAO;;;;;;;;;eASM,OAAO,CAAC,SAAS;eACjB,OAAO,CAAC,SAAS;cAClB,OAAO,CAAC,QAAQ;;;kVAGoT,CAAA;AAClV,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;;;;;oNAQ2M,CAAA;AACpN,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO;;;6IAGoI,CAAA;AAC7I,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAA8B;IACvE,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1E,OAAO,CAAC,SAAS,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClI,CAAC,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjE,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC,CAAC,IAAI,EAAE,CAAA;IAER,OAAO;QACL,mBAAmB;QACnB,4BAA4B,EAAE;QAC9B,GAAG,aAAa;QAChB,GAAG,aAAa;KACjB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCF,CAAA;AACP,CAAC"}
|
|
@@ -80,6 +80,14 @@ export declare const RETAINED_AGENT_SLASH_COMMANDS: {
|
|
|
80
80
|
};
|
|
81
81
|
readonly "product-wunderkind": {
|
|
82
82
|
readonly commands: readonly [{
|
|
83
|
+
readonly command: "/setup-wunderkind-workflow";
|
|
84
|
+
readonly summary: "Establish the repo-local workflow contract for issue flow, triage vocabulary, glossary/docs locations, and `.sisyphus/` artifact conventions.";
|
|
85
|
+
readonly details: readonly ["Invoke via `skill(name=\"setup-wunderkind-workflow\")` to adapt Matt-style setup patterns to Wunderkind-native locations such as `AGENTS.md` and `.sisyphus/`."];
|
|
86
|
+
}, {
|
|
87
|
+
readonly command: "/docs-with-grill <topic>";
|
|
88
|
+
readonly summary: "Stress-test a docs or product topic against repo context, update `CONTEXT.md` when needed, and prepare Wunderkind-native documentation follow-up.";
|
|
89
|
+
readonly details: readonly ["Invoke via `skill(name=\"docs-with-grill\")` for one-question-at-a-time context grilling that inspects the repo before asking and treats `CONTEXT.md` as the compact shared context lane."];
|
|
90
|
+
}, {
|
|
83
91
|
readonly command: "/breakdown <task>";
|
|
84
92
|
readonly summary: "Invoke via `skill(name=\"agile-pm\")` for concern-grouped, parallel-safe subtasks with file targets and dependency order.";
|
|
85
93
|
}, {
|
|
@@ -101,7 +109,7 @@ export declare const RETAINED_AGENT_SLASH_COMMANDS: {
|
|
|
101
109
|
}];
|
|
102
110
|
readonly sections: readonly [{
|
|
103
111
|
readonly heading: "Sub-Skill Delegation";
|
|
104
|
-
readonly items: readonly ["Invoke via `skill(name=\"grill-me\")`, `skill(name=\"prd-pipeline\")`, `skill(name=\"
|
|
112
|
+
readonly items: readonly ["Invoke via `skill(name=\"grill-me\")`, `skill(name=\"docs-with-grill\")`, `skill(name=\"prd-pipeline\")`, `skill(name=\"triage-issue\")`, and `skill(name=\"setup-wunderkind-workflow\")` for deep product workflow setup, context-aware docs grilling, and discovery work. Use `skill(name=\"ubiquitous-language\")` narrowly for glossary maintenance and naming alignment.", "Invoke via `skill(name=\"agile-pm\")` whenever the request needs sprint planning, backlog structuring, task decomposition, or file-conflict analysis."];
|
|
105
113
|
}, {
|
|
106
114
|
readonly heading: "Delegation Patterns";
|
|
107
115
|
readonly items: readonly ["Delegate via `task(...)` to `librarian` for competitor research, market data, and industry-report gathering.", "Delegate via `task(...)` to `explore` for codebase mapping before decomposition or acceptance review.", "Delegate via `task(...)` to `writing` for PRDs, specs, and long-form product documentation.", "Delegate via `task(...)` to `marketing-wunderkind` for campaign, launch, and funnel authority.", "Delegate via `task(...)` to `fullstack-wunderkind` for technical follow-up after product intake with the repro, severity, and expected behavior already framed."];
|
|
@@ -124,6 +132,7 @@ export declare const RETAINED_AGENT_SLASH_COMMANDS: {
|
|
|
124
132
|
}, {
|
|
125
133
|
readonly command: "/architecture-review <component>";
|
|
126
134
|
readonly summary: "Assess separation of concerns, coupling, traps, and minimal refactor steps with effort and risk.";
|
|
135
|
+
readonly details: readonly ["Invoke via `skill(name=\"improve-codebase-architecture\")` for deep module/RFC work using seam, depth, locality, and deletion-test framing."];
|
|
127
136
|
}, {
|
|
128
137
|
readonly command: "/supportability-review <service>";
|
|
129
138
|
readonly summary: "Review observability, rollback readiness, on-call ownership, and launch blockers.";
|
|
@@ -133,7 +142,7 @@ export declare const RETAINED_AGENT_SLASH_COMMANDS: {
|
|
|
133
142
|
}];
|
|
134
143
|
readonly sections: readonly [{
|
|
135
144
|
readonly heading: "Sub-Skill Delegation";
|
|
136
|
-
readonly items: readonly ["Invoke via `skill(name=\"tdd\")` for red-green-refactor loops, regression hardening, and defect-driven delivery.", "Invoke via `skill(name=\"vercel-architect\")` for Vercel, App Router, Edge runtime, Neon branching, and performance work.", "Invoke via `skill(name=\"db-architect\")` for schema design, query analysis, migrations, and index auditing."];
|
|
145
|
+
readonly items: readonly ["Invoke via `skill(name=\"tdd\")` for red-green-refactor loops, regression hardening, and defect-driven delivery.", "Invoke via `skill(name=\"vercel-architect\")` for Vercel, App Router, Edge runtime, Neon branching, and performance work.", "Invoke via `skill(name=\"db-architect\")` for schema design, query analysis, migrations, and index auditing.", "Invoke via `skill(name=\"improve-codebase-architecture\")` for deep-module RFCs, seam design, and structural refactoring plans."];
|
|
137
146
|
}, {
|
|
138
147
|
readonly heading: "Delegation Patterns";
|
|
139
148
|
readonly items: readonly ["Delegate via `task(...)` to `visual-engineering` for UI implementation and coded visual work.", "Delegate via `task(...)` to `agent-browser` for browser automation, E2E capture, and page validation.", "Delegate via `task(...)` to `explore` for codebase mapping and `librarian` for external library/documentation research.", "Delegate via `task(...)` to `git-master` for git operations.", "Invoke via `skill(name=\"technical-writer\")` for external developer docs or tutorials."];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../../src/agents/slash-commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAA;IAC3C,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,8BAA8B,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IAC5E,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5B;AAED,eAAO,MAAM,6BAA6B
|
|
1
|
+
{"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../../src/agents/slash-commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAA;IAC3C,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,8BAA8B,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IAC5E,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5B;AAED,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyRhC,CAAA;AAEV,MAAM,MAAM,8BAA8B,GAAG,MAAM,OAAO,6BAA6B,CAAA;AAiBvF,wBAAgB,sCAAsC,CAAC,MAAM,SAAS,MAAM,EAC1E,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,GACvD,KAAK,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CA2B/C;AAED,wBAAgB,kCAAkC,IAAI,KAAK,CAAC,8BAA8B,CAAC,8BAA8B,CAAC,CAAC,CAE1H;AAED,wBAAgB,4CAA4C,CAAC,OAAO,EAAE,8BAA8B,GAAG,MAAM,CAuC5G"}
|
|
@@ -92,6 +92,16 @@ export const RETAINED_AGENT_SLASH_COMMANDS = {
|
|
|
92
92
|
},
|
|
93
93
|
"product-wunderkind": {
|
|
94
94
|
commands: [
|
|
95
|
+
{
|
|
96
|
+
command: "/setup-wunderkind-workflow",
|
|
97
|
+
summary: "Establish the repo-local workflow contract for issue flow, triage vocabulary, glossary/docs locations, and `.sisyphus/` artifact conventions.",
|
|
98
|
+
details: ["Invoke via `skill(name=\"setup-wunderkind-workflow\")` to adapt Matt-style setup patterns to Wunderkind-native locations such as `AGENTS.md` and `.sisyphus/`."],
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
command: "/docs-with-grill <topic>",
|
|
102
|
+
summary: "Stress-test a docs or product topic against repo context, update `CONTEXT.md` when needed, and prepare Wunderkind-native documentation follow-up.",
|
|
103
|
+
details: ["Invoke via `skill(name=\"docs-with-grill\")` for one-question-at-a-time context grilling that inspects the repo before asking and treats `CONTEXT.md` as the compact shared context lane."],
|
|
104
|
+
},
|
|
95
105
|
{
|
|
96
106
|
command: "/breakdown <task>",
|
|
97
107
|
summary: "Invoke via `skill(name=\"agile-pm\")` for concern-grouped, parallel-safe subtasks with file targets and dependency order.",
|
|
@@ -122,7 +132,7 @@ export const RETAINED_AGENT_SLASH_COMMANDS = {
|
|
|
122
132
|
{
|
|
123
133
|
heading: "Sub-Skill Delegation",
|
|
124
134
|
items: [
|
|
125
|
-
"Invoke via `skill(name=\"grill-me\")`, `skill(name=\"prd-pipeline\")`, `skill(name=\"
|
|
135
|
+
"Invoke via `skill(name=\"grill-me\")`, `skill(name=\"docs-with-grill\")`, `skill(name=\"prd-pipeline\")`, `skill(name=\"triage-issue\")`, and `skill(name=\"setup-wunderkind-workflow\")` for deep product workflow setup, context-aware docs grilling, and discovery work. Use `skill(name=\"ubiquitous-language\")` narrowly for glossary maintenance and naming alignment.",
|
|
126
136
|
"Invoke via `skill(name=\"agile-pm\")` whenever the request needs sprint planning, backlog structuring, task decomposition, or file-conflict analysis.",
|
|
127
137
|
],
|
|
128
138
|
},
|
|
@@ -160,6 +170,7 @@ export const RETAINED_AGENT_SLASH_COMMANDS = {
|
|
|
160
170
|
{
|
|
161
171
|
command: "/architecture-review <component>",
|
|
162
172
|
summary: "Assess separation of concerns, coupling, traps, and minimal refactor steps with effort and risk.",
|
|
173
|
+
details: ["Invoke via `skill(name=\"improve-codebase-architecture\")` for deep module/RFC work using seam, depth, locality, and deletion-test framing."],
|
|
163
174
|
},
|
|
164
175
|
{
|
|
165
176
|
command: "/supportability-review <service>",
|
|
@@ -177,6 +188,7 @@ export const RETAINED_AGENT_SLASH_COMMANDS = {
|
|
|
177
188
|
"Invoke via `skill(name=\"tdd\")` for red-green-refactor loops, regression hardening, and defect-driven delivery.",
|
|
178
189
|
"Invoke via `skill(name=\"vercel-architect\")` for Vercel, App Router, Edge runtime, Neon branching, and performance work.",
|
|
179
190
|
"Invoke via `skill(name=\"db-architect\")` for schema design, query analysis, migrations, and index auditing.",
|
|
191
|
+
"Invoke via `skill(name=\"improve-codebase-architecture\")` for deep-module RFCs, seam design, and structural refactoring plans.",
|
|
180
192
|
],
|
|
181
193
|
},
|
|
182
194
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../../src/agents/slash-commands.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,sBAAsB,EAAE;QACtB,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,+DAA+D;gBACxE,OAAO,EAAE;oBACP,qGAAqG;oBACrG,0EAA0E;iBAC3E;aACF;YACD;gBACE,OAAO,EAAE,uCAAuC;gBAChD,OAAO,EAAE,gDAAgD;gBACzD,OAAO,EAAE,CAAC,0HAA0H,CAAC;aACtI;YACD;gBACE,OAAO,EAAE,kBAAkB;gBAC3B,OAAO,EAAE,8DAA8D;aACxE;YACD;gBACE,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,iFAAiF;aAC3F;YACD;gBACE,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE,kEAAkE;gBAC3E,OAAO,EAAE,CAAC,4GAA4G,CAAC;aACxH;YACD;gBACE,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,2GAA2G;aACrH;YACD;gBACE,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,uFAAuF;aACjG;SACF;QACD,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,KAAK,EAAE;oBACL,2FAA2F;oBAC3F,uFAAuF;oBACvF,8GAA8G;oBAC9G,yFAAyF;oBACzF,yFAAyF;iBAC1F;aACF;SACF;KACF;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,wDAAwD;gBACjE,OAAO,EAAE,CAAC,qGAAqG,CAAC;aACjH;YACD;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,yEAAyE;gBAClF,OAAO,EAAE,CAAC,0FAA0F,CAAC;aACtG;YACD;gBACE,OAAO,EAAE,0BAA0B;gBACnC,OAAO,EAAE,wDAAwD;gBACjE,OAAO,EAAE,CAAC,6FAA6F,CAAC;aACzG;YACD;gBACE,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,uFAAuF;aACjG;YACD;gBACE,OAAO,EAAE,2BAA2B;gBACpC,OAAO,EAAE,uGAAuG;aACjH;SACF;QACD,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,KAAK,EAAE,CAAC,sHAAsH,CAAC;aAChI;YACD;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,KAAK,EAAE;oBACL,4DAA4D;oBAC5D,qEAAqE;oBACrE,sFAAsF;iBACvF;aACF;SACF;KACF;IACD,oBAAoB,EAAE;QACpB,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,2HAA2H;aACrI;YACD;gBACE,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,oHAAoH;aAC9H;YACD;gBACE,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,+GAA+G;gBACxH,OAAO,EAAE,CAAC,uFAAuF,CAAC;aACnG;YACD;gBACE,OAAO,EAAE,iCAAiC;gBAC1C,OAAO,EAAE,mGAAmG;aAC7G;YACD;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,kHAAkH;aAC5H;YACD;gBACE,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,gHAAgH;aAC1H;SACF;QACD,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,KAAK,EAAE;oBACL
|
|
1
|
+
{"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../../src/agents/slash-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const WUNDERKIND_AGENT_VERSION_FRONTMATTER_KEY = "wunderkind_version";
|
|
2
|
+
export declare function readOwnPackageVersion(): string | null;
|
|
3
|
+
export declare function readWunderkindAgentMarkdownVersion(filePath: string): string | null;
|
|
4
|
+
//# sourceMappingURL=versioning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioning.d.ts","sourceRoot":"","sources":["../../src/agents/versioning.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wCAAwC,uBAAuB,CAAA;AA0B5E,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAErD;AAED,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASlF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
export const WUNDERKIND_AGENT_VERSION_FRONTMATTER_KEY = "wunderkind_version";
|
|
4
|
+
function readJsonVersion(filePath) {
|
|
5
|
+
try {
|
|
6
|
+
const parsed = JSON.parse(readFileSync(filePath, "utf-8"));
|
|
7
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
|
|
8
|
+
return null;
|
|
9
|
+
const version = parsed.version;
|
|
10
|
+
return typeof version === "string" ? version : null;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function readFrontmatterValue(markdown, key) {
|
|
17
|
+
const normalized = markdown.replace(/\r\n/g, "\n");
|
|
18
|
+
if (!normalized.startsWith("---\n"))
|
|
19
|
+
return null;
|
|
20
|
+
const frontmatterEnd = normalized.indexOf("\n---\n", 4);
|
|
21
|
+
if (frontmatterEnd === -1)
|
|
22
|
+
return null;
|
|
23
|
+
const frontmatter = normalized.slice(4, frontmatterEnd);
|
|
24
|
+
const match = frontmatter.match(new RegExp(String.raw `^${key}:\s*(?:"([^"]+)"|'([^']+)'|([^\n]+))\s*$`, "m"));
|
|
25
|
+
return match?.[1] ?? match?.[2] ?? match?.[3]?.trim() ?? null;
|
|
26
|
+
}
|
|
27
|
+
export function readOwnPackageVersion() {
|
|
28
|
+
return readJsonVersion(fileURLToPath(new URL("../../package.json", import.meta.url)));
|
|
29
|
+
}
|
|
30
|
+
export function readWunderkindAgentMarkdownVersion(filePath) {
|
|
31
|
+
if (!existsSync(filePath))
|
|
32
|
+
return null;
|
|
33
|
+
try {
|
|
34
|
+
const markdown = readFileSync(filePath, "utf-8");
|
|
35
|
+
return readFrontmatterValue(markdown, WUNDERKIND_AGENT_VERSION_FRONTMATTER_KEY);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=versioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioning.js","sourceRoot":"","sources":["../../src/agents/versioning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,CAAC,MAAM,wCAAwC,GAAG,oBAAoB,CAAA;AAE5E,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAY,CAAA;QACrE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QAC/E,MAAM,OAAO,GAAI,MAAkC,CAAC,OAAO,CAAA;QAC3D,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB,EAAE,GAAW;IACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAClD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvD,IAAI,cAAc,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEtC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,IAAI,GAAG,0CAA0C,EAAE,GAAG,CAAC,CAAC,CAAA;IAE7G,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,eAAe,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,QAAgB;IACjE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAEtC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAChD,OAAO,oBAAoB,CAAC,QAAQ,EAAE,wCAAwC,CAAC,CAAA;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-installer.d.ts","sourceRoot":"","sources":["../../src/cli/cli-installer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAiB,YAAY,EAAuB,MAAM,YAAY,CAAA;AAe/F,eAAO,MAAM,OAAO;;;;;;;;CAQnB,CAAA;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAKnD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CA8B9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAE3F;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"cli-installer.d.ts","sourceRoot":"","sources":["../../src/cli/cli-installer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAiB,YAAY,EAAuB,MAAM,YAAY,CAAA;AAe/F,eAAO,MAAM,OAAO;;;;;;;;CAQnB,CAAA;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAKnD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CA8B9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAE3F;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAYD,wBAAgB,qBAAqB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAc5E;AAED,wBAAgB,0BAA0B,IAAI;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAYjF;AAcD,wBAAgB,wBAAwB,IAAI;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAoC5E;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAsHxE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAqJtE"}
|