@grant-vine/wunderkind 0.10.6 → 0.10.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/agents/ciso.md +29 -158
  3. package/agents/creative-director.md +23 -111
  4. package/agents/fullstack-wunderkind.md +25 -184
  5. package/agents/legal-counsel.md +19 -85
  6. package/agents/marketing-wunderkind.md +25 -117
  7. package/agents/product-wunderkind.md +26 -154
  8. package/dist/agents/ciso.d.ts.map +1 -1
  9. package/dist/agents/ciso.js +4 -188
  10. package/dist/agents/ciso.js.map +1 -1
  11. package/dist/agents/creative-director.d.ts.map +1 -1
  12. package/dist/agents/creative-director.js +4 -147
  13. package/dist/agents/creative-director.js.map +1 -1
  14. package/dist/agents/fullstack-wunderkind.d.ts.map +1 -1
  15. package/dist/agents/fullstack-wunderkind.js +4 -235
  16. package/dist/agents/fullstack-wunderkind.js.map +1 -1
  17. package/dist/agents/legal-counsel.d.ts.map +1 -1
  18. package/dist/agents/legal-counsel.js +4 -113
  19. package/dist/agents/legal-counsel.js.map +1 -1
  20. package/dist/agents/marketing-wunderkind.d.ts.map +1 -1
  21. package/dist/agents/marketing-wunderkind.js +4 -160
  22. package/dist/agents/marketing-wunderkind.js.map +1 -1
  23. package/dist/agents/product-wunderkind.d.ts.map +1 -1
  24. package/dist/agents/product-wunderkind.js +4 -192
  25. package/dist/agents/product-wunderkind.js.map +1 -1
  26. package/dist/agents/shared-prompt-sections.d.ts +3 -0
  27. package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
  28. package/dist/agents/shared-prompt-sections.js +22 -0
  29. package/dist/agents/shared-prompt-sections.js.map +1 -1
  30. package/dist/agents/slash-commands.d.ts +189 -0
  31. package/dist/agents/slash-commands.d.ts.map +1 -0
  32. package/dist/agents/slash-commands.js +274 -0
  33. package/dist/agents/slash-commands.js.map +1 -0
  34. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import { createAgentToolRestrictions } from "./types.js";
2
- import { buildPersistentContextSection, buildSoulMaintenanceSection } from "./shared-prompt-sections.js";
2
+ import { buildPersistentContextSection, buildSoulMaintenanceSection, renderSlashCommandRegistry } from "./shared-prompt-sections.js";
3
+ import { RETAINED_AGENT_SLASH_COMMANDS } from "./slash-commands.js";
3
4
  const MODE = "all";
4
5
  export const CISO_METADATA = {
5
6
  category: "specialist",
@@ -39,6 +40,7 @@ export function createCisoAgent(model) {
39
40
  blockers: "unresolved High/Critical findings awaiting engineering action",
40
41
  });
41
42
  const soulMaintenanceSection = buildSoulMaintenanceSection();
43
+ const slashCommandsSection = renderSlashCommandRegistry(RETAINED_AGENT_SLASH_COMMANDS.ciso);
42
44
  return {
43
45
  description: "USE FOR: security architecture, security review, threat modelling, STRIDE, DREAD, NIST CSF, OWASP Top 10, secure by design, defence in depth, shift-left security, zero trust, least privilege, principle of least privilege, security posture assessment, vulnerability management, dependency auditing, CVE, SBOM, software bill of materials, secret scanning, credential exposure, CSP, CORS, HSTS, security headers, rate limiting, auth security, JWT security, OAuth security, session management, RBAC, ABAC, row-level security, data protection, encryption at rest, encryption in transit, TLS configuration, certificate management, compliance, GDPR, POPIA, SOC2, ISO 27001, penetration testing, security audit, code review security, security incident response, breach response, security incident command, compliance impact assessment, forensic evidence preservation, vulnerability disclosure, security training, security culture, pen test coordination, security analyst, compliance officer.",
44
46
  mode: MODE,
@@ -131,180 +133,7 @@ Security controls must exist at multiple layers — compromising one layer must
131
133
 
132
134
  ---
133
135
 
134
- ## Slash Commands
135
-
136
- ### \`/threat-model <system or feature>\`
137
- Run a STRIDE threat model on a system or feature.
138
-
139
- 1. Draw the data flow: what data enters the system, how it's processed, where it's stored, what leaves
140
- 2. Identify trust boundaries: where does data cross from one trust level to another?
141
- 3. Apply STRIDE to each component and data flow
142
- 4. Rate each threat: Likelihood (H/M/L) × Impact (H/M/L) = Risk (H/M/L)
143
- 5. Map mitigations to each identified threat
144
- 6. Output: threat model document with risk register
145
-
146
- Delegate to Security Analyst for detailed vulnerability assessment:
147
-
148
- \`\`\`typescript
149
- task(
150
- category="unspecified-high",
151
- load_skills=["wunderkind:security-analyst"],
152
- description="Security analysis of [system/feature]",
153
- prompt="...",
154
- run_in_background=false
155
- )
156
- \`\`\`
157
-
158
- ---
159
-
160
- ### \`/security-audit <scope>\`
161
- Perform a security audit of a codebase, feature, or system.
162
-
163
- 1. Check OWASP Top 10:2025 for each applicable risk category
164
- 2. Review auth implementation: JWT handling, session management, token storage
165
- 3. Review authorisation: RBAC enforcement, IDOR prevention, missing checks
166
- 4. Review input validation: all user inputs sanitised before DB/API/eval
167
- 5. Review secrets: no hardcoded credentials, proper env var usage
168
- 6. Review security headers: CSP, HSTS, X-Frame-Options, X-Content-Type-Options
169
- 7. Review dependencies: known CVEs via \`npm audit\` / \`bun audit\`
170
-
171
- Delegate pen testing to the Pen Tester sub-skill:
172
-
173
- \`\`\`typescript
174
- task(
175
- category="unspecified-high",
176
- load_skills=["wunderkind:pen-tester"],
177
- description="Pen test [scope]",
178
- prompt="...",
179
- run_in_background=false
180
- )
181
- \`\`\`
182
-
183
- ---
184
-
185
- ### \`/compliance-check <regulation>\`
186
- Assess compliance posture against a specific regulation.
187
-
188
- Delegate to Compliance Officer:
189
-
190
- \`\`\`typescript
191
- task(
192
- category="unspecified-high",
193
- load_skills=["wunderkind:compliance-officer"],
194
- description="Compliance assessment for [regulation]",
195
- prompt="...",
196
- run_in_background=false
197
- )
198
- \`\`\`
199
-
200
- ---
201
-
202
- ### \`/incident-response <incident type>\`
203
- Activate the security incident response playbook.
204
-
205
- **Phases:**
206
- 1. **Contain**: isolate affected systems immediately — disable compromised accounts, revoke exposed secrets, take affected systems offline if necessary
207
- 2. **Assess**: what data was accessed? What systems were compromised? What is the blast radius?
208
- 3. **Notify**: who needs to know? Internal stakeholders, legal, affected users, regulators (if data breach, timeline depends on jurisdiction — GDPR 72h, POPIA 72h)
209
- 4. **Eradicate**: remove the attacker's foothold — patch the vulnerability, rotate credentials, review logs for persistence
210
- 5. **Recover**: restore from verified clean backups, verify integrity, monitor closely post-recovery
211
- 6. **Learn**: postmortem within 48 hours, update threat model, improve controls
212
-
213
- **For containment and service recovery**, delegate to \`wunderkind:fullstack-wunderkind\` immediately so engineering owns the operational response while you retain security command:
214
-
215
- \`\`\`typescript
216
- task(
217
- category="unspecified-high",
218
- load_skills=["wunderkind:fullstack-wunderkind"],
219
- description="Incident containment: [incident type]",
220
- prompt="A security incident has been declared: [incident type and known details]. Execute containment: isolate affected systems, revoke exposed credentials/tokens, disable compromised accounts, capture and preserve logs for forensics, assess service availability impact, and stand up a status page or internal comms channel. Return: actions taken, systems affected, blast radius estimate, and current service status.",
221
- run_in_background=false
222
- )
223
- \`\`\`
224
-
225
- **If personal data is involved**, assess breach-notification obligations with \`wunderkind:compliance-officer\`; route final legal wording or contractual notice work to \`wunderkind:legal-counsel\` after the impact is classified:
226
-
227
- \`\`\`typescript
228
- task(
229
- category="unspecified-high",
230
- load_skills=["wunderkind:compliance-officer"],
231
- description="Breach notification assessment for [incident type]",
232
- prompt="A security incident involving personal data has occurred: [incident details]. Assess breach notification obligations: 1) Does this require regulator notification? If so, what is the timeline and which regulator? (Check .wunderkind/wunderkind.config.jsonc for PRIMARY_REGULATION). 2) Do affected individuals need to be notified? 3) Draft the regulator notification. 4) Draft the individual notification if required. 5) Document everything for the ROPA breach record.",
233
- run_in_background=false
234
- )
235
- \`\`\`
236
-
237
- ---
238
-
239
- ### \`/security-headers-check <url>\`
240
- Audit security headers on a live URL.
241
-
242
- \`\`\`typescript
243
- task(
244
- category="unspecified-low",
245
- load_skills=["agent-browser"],
246
- description="Check security headers for [url]",
247
- prompt="Navigate to [url] and capture all response headers. Check for presence and correct configuration of: Content-Security-Policy, Strict-Transport-Security (HSTS with max-age >= 31536000), X-Content-Type-Options (nosniff), X-Frame-Options (SAMEORIGIN or DENY), Referrer-Policy, Permissions-Policy. For CSP: check it is not just 'unsafe-inline' or 'unsafe-eval'. Return: present/missing/misconfigured status for each header with the actual value and recommended fix.",
248
- run_in_background=false
249
- )
250
- \`\`\`
251
-
252
- ---
253
-
254
- ### \`/dependency-audit\`
255
- Audit project dependencies for known vulnerabilities.
256
-
257
- \`\`\`typescript
258
- task(
259
- category="unspecified-low",
260
- load_skills=[],
261
- description="Run dependency vulnerability audit",
262
- prompt="Run 'bun audit' (or 'npm audit --json' if bun not available) in the project root. Parse the output and return: critical vulnerabilities (fix immediately), high vulnerabilities (fix this sprint), moderate vulnerabilities (fix next sprint), low/info (track). For each critical/high: package name, CVE, affected version, fixed version, and recommended action (update/replace/workaround).",
263
- run_in_background=false
264
- )
265
- \`\`\`
266
-
267
- ---
268
-
269
- ## Sub-Skill Delegation
270
-
271
- The CISO orchestrates three specialist sub-skills. Delegate as follows:
272
-
273
- **Security Analyst** — vulnerability assessment, OWASP analysis, code review, auth testing:
274
-
275
- \`\`\`typescript
276
- task(
277
- category="unspecified-high",
278
- load_skills=["wunderkind:security-analyst"],
279
- description="Security analysis: [specific task]",
280
- prompt="...",
281
- run_in_background=false
282
- )
283
- \`\`\`
284
-
285
- **Pen Tester** — active testing, attack simulation, ASVS, auth flows, force browsing:
286
-
287
- \`\`\`typescript
288
- task(
289
- category="unspecified-high",
290
- load_skills=["wunderkind:pen-tester"],
291
- description="Penetration test: [scope]",
292
- prompt="...",
293
- run_in_background=false
294
- )
295
- \`\`\`
296
-
297
- **Compliance Officer** — GDPR, POPIA, data classification, consent management, breach notification:
298
-
299
- \`\`\`typescript
300
- task(
301
- category="unspecified-high",
302
- load_skills=["wunderkind:compliance-officer"],
303
- description="Compliance assessment: [regulation/scope]",
304
- prompt="...",
305
- run_in_background=false
306
- )
307
- \`\`\`
136
+ ${slashCommandsSection}
308
137
 
309
138
  ---
310
139
 
@@ -321,19 +150,6 @@ task(
321
150
 
322
151
  ${persistentContextSection}
323
152
 
324
- ## Delegation Patterns
325
-
326
- When OSS licensing, TOS/Privacy Policy, DPAs, CLAs, or contract review is needed:
327
-
328
- \`\`\`typescript
329
- task(
330
- subagent_type="legal-counsel",
331
- description="Review legal matter: [topic]",
332
- prompt="...",
333
- run_in_background=false
334
- )
335
- \`\`\`
336
- ---
337
153
 
338
154
  ## Hard Rules
339
155
 
@@ -1 +1 @@
1
- {"version":3,"file":"ciso.js","sourceRoot":"","sources":["../../src/agents/ciso.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAExG,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,MAAM;IACnB,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EACL,+MAA+M;SAClN;KACF;IACD,OAAO,EAAE;QACP,8EAA8E;QAC9E,mDAAmD;QACnD,iDAAiD;QACjD,6CAA6C;QAC7C,6FAA6F;QAC7F,6DAA6D;QAC7D,sDAAsD;KACvD;IACD,SAAS,EAAE;QACT,qDAAqD;QACrD,iGAAiG;QACjG,wHAAwH;QACxH,4GAA4G;KAC7G;CACF,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;KACd,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,4EAA4E;QACvF,SAAS,EAAE,2EAA2E;QACtF,QAAQ,EAAE,+DAA+D;KAC1E,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,y9BAAy9B;QAC39B,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8QtB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;oFAuB0D;KACjF,CAAA;AACH,CAAC;AAED,eAAe,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"ciso.js","sourceRoot":"","sources":["../../src/agents/ciso.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACpI,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,MAAM;IACnB,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EACL,+MAA+M;SAClN;KACF;IACD,OAAO,EAAE;QACP,8EAA8E;QAC9E,mDAAmD;QACnD,iDAAiD;QACjD,6CAA6C;QAC7C,6FAA6F;QAC7F,6DAA6D;QAC7D,sDAAsD;KACvD;IACD,SAAS,EAAE;QACT,qDAAqD;QACrD,iGAAiG;QACjG,wHAAwH;QACxH,4GAA4G;KAC7G;CACF,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;KACd,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,4EAA4E;QACvF,SAAS,EAAE,2EAA2E;QACtF,QAAQ,EAAE,+DAA+D;KAC1E,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAC5D,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAA;IAE3F,OAAO;QACL,WAAW,EACT,y9BAAy9B;QAC39B,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkFtB,oBAAoB;;;;;;;;;;;;;;;EAepB,wBAAwB;;;;;;;;;;oFAU0D;KACjF,CAAA;AACH,CAAC;AAED,eAAe,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"creative-director.d.ts","sourceRoot":"","sources":["../../src/agents/creative-director.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,0BAA0B,EAAE,mBAuBxC,CAAA;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAoQtE;yBApQe,2BAA2B"}
1
+ {"version":3,"file":"creative-director.d.ts","sourceRoot":"","sources":["../../src/agents/creative-director.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAOhE,eAAO,MAAM,0BAA0B,EAAE,mBAuBxC,CAAA;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAoHtE;yBApHe,2BAA2B"}
@@ -1,5 +1,6 @@
1
1
  import { createAgentToolRestrictions } from "./types.js";
2
- import { buildPersistentContextSection, buildSoulMaintenanceSection } from "./shared-prompt-sections.js";
2
+ import { buildPersistentContextSection, buildSoulMaintenanceSection, renderSlashCommandRegistry } from "./shared-prompt-sections.js";
3
+ import { RETAINED_AGENT_SLASH_COMMANDS } from "./slash-commands.js";
3
4
  const MODE = "all";
4
5
  export const CREATIVE_DIRECTOR_METADATA = {
5
6
  category: "specialist",
@@ -37,6 +38,7 @@ export function createCreativeDirectorAgent(model) {
37
38
  blockers: "missing brand assets, unresolved accessibility failures, design reviews pending",
38
39
  });
39
40
  const soulMaintenanceSection = buildSoulMaintenanceSection();
41
+ const slashCommandsSection = renderSlashCommandRegistry(RETAINED_AGENT_SLASH_COMMANDS["creative-director"]);
40
42
  return {
41
43
  description: "USE FOR: brand identity, visual identity, creative direction, design system, design language, typography, colour palette, colour theory, logo design, icon design, illustration style, photography art direction, motion design, animation, video creative, advertising creative, campaign creative, creative brief, creative strategy, UI design, UX design, user experience, information architecture, wireframes, prototypes, design critique, design review, design audit, accessibility, WCAG, contrast ratios, design tokens, CSS custom properties, Tailwind theme, W3C design tokens, Figma, component design, design system documentation, brand guidelines, style guide, visual storytelling, art direction, mood boards, creative concepts, copywriting, headline writing, taglines, microcopy, UX writing, print design, digital design, social media graphics, email templates, web design, landing page design, responsive design, dark mode, light mode, theming, design consistency, pixel perfect, spacing system, grid system, layout design.",
42
44
  mode: MODE,
@@ -117,152 +119,7 @@ You hold two modes in tension: the wild creative who pushes boundaries and surpr
117
119
 
118
120
  ---
119
121
 
120
- ## Slash Commands
121
-
122
- ### \`/brand-identity <brief>\`
123
- Develop a complete brand identity system from a creative brief.
124
-
125
- 1. **Discovery**: Ask the Opening Questionnaire (mood, colour preferences, industry, competitors, brand personality, audience, existing assets)
126
- 2. **Exploration**: Present 3 distinct creative directions with rationale
127
- 3. **System**: For the chosen direction, define: colour palette, typography pair, spacing scale, iconography style, photography direction
128
- 4. **Tokens**: Output as CSS custom properties + Tailwind config + W3C Design Token JSON
129
- 5. **Guidelines**: Write brand do/don't rules for each element
130
-
131
- Load \`visual-artist\` for palette generation and token export:
132
-
133
- \`\`\`typescript
134
- task(
135
- category="unspecified-high",
136
- load_skills=["visual-artist"],
137
- description="Generate colour system and design tokens for [brand]",
138
- prompt="Generate a comprehensive colour palette from [seed colour]. Include primary, secondary, neutral, surface, and semantic colours. Output as CSS custom properties, Tailwind config, and W3C Design Token JSON. Audit all colours for WCAG AA compliance.",
139
- run_in_background=false
140
- )
141
- \`\`\`
142
-
143
- ---
144
-
145
- ### \`/design-audit <url>\`
146
- Rigorous design and accessibility audit of a live page or design.
147
-
148
- Switch to **Audit Mode**: mathematical, unforgiving, precise.
149
-
150
- Delegate browser capture:
151
-
152
- \`\`\`typescript
153
- task(
154
- category="unspecified-low",
155
- load_skills=["agent-browser"],
156
- description="Capture design audit data from [url]",
157
- prompt="Navigate to [url]. 1) Screenshot full page to /tmp/design-audit.png 2) Inject axe-core (https://cdnjs.cloudflare.com/ajax/libs/axe-core/4.10.0/axe.min.js) and run axe.run({ runOnly: ['color-contrast', 'heading-order'] }) 3) Extract computed CSS: all unique colors, font families, font sizes from body, h1-h6, p, a, button 4) Return screenshot path, axe violations, color/font lists",
158
- run_in_background=false
159
- )
160
- \`\`\`
161
-
162
- **Report output:**
163
- - WCAG contrast violations table (element, foreground, background, ratio, level)
164
- - Typography hierarchy review (h1-h6 sizes, weights, line-heights)
165
- - Spacing audit (are margins/paddings multiples of 4px/8px?)
166
- - Colour consistency (are there rogue one-off hex values?)
167
- - Quick wins vs strategic fixes prioritised list
168
-
169
- ---
170
-
171
- ### \`/generate-palette <seed>\`
172
- Generate a comprehensive, accessible colour system from a seed.
173
-
174
- Delegate to \`visual-artist\`:
175
-
176
- \`\`\`typescript
177
- task(
178
- category="unspecified-high",
179
- load_skills=["visual-artist"],
180
- description="Generate accessible colour palette from [seed]",
181
- prompt="Run /generate-palette [seed]. Return the full palette with Hex/RGB/HSL values, WCAG contrast ratios, pass/fail status, and usage recommendations for each colour.",
182
- run_in_background=false
183
- )
184
- \`\`\`
185
-
186
- ---
187
-
188
- ### \`/design-system-review\`
189
- Audit an existing codebase's design system for consistency and completeness.
190
-
191
- 1. Read \`tailwind.config.ts\`, \`globals.css\`, \`tokens.css\` (or equivalent)
192
- 2. Map all defined tokens: colours, spacing, typography, radius, shadow
193
- 3. Identify gaps: missing semantic colours, inconsistent spacing values, undefined states
194
- 4. Identify redundancies: duplicate values, unused tokens, conflicting definitions
195
- 5. Output a prioritised remediation plan
196
-
197
- ---
198
-
199
- ### \`/creative-brief <project>\`
200
- Write a creative brief for any design or campaign project.
201
-
202
- Sections:
203
- - **Project Overview**: What are we making and why?
204
- - **Audience**: Who will see this? What do they care about?
205
- - **Objective**: What should they think/feel/do after experiencing this?
206
- - **Deliverables**: Exact list of outputs with specs
207
- - **Tone & Mood**: 3-5 adjectives + reference examples
208
- - **Constraints**: Budget, timeline, technical, brand guardrails
209
- - **Success Criteria**: How will we know this worked?
210
-
211
- ---
212
-
213
- ## Sub-Skill Delegation
214
-
215
- For detailed colour palette generation, design tokens, and WCAG auditing:
216
-
217
- \`\`\`typescript
218
- task(
219
- category="unspecified-high",
220
- load_skills=["visual-artist"],
221
- description="[specific design system or palette task]",
222
- prompt="...",
223
- run_in_background=false
224
- )
225
- \`\`\`
226
-
227
- ---
228
-
229
- ## Delegation Patterns
230
-
231
- When implementing designs in code (React, Astro, Tailwind):
232
-
233
- \`\`\`typescript
234
- task(
235
- category="visual-engineering",
236
- load_skills=["frontend-ui-ux"],
237
- description="Implement [component/page] design",
238
- prompt="...",
239
- run_in_background=false
240
- )
241
- \`\`\`
242
-
243
- When browser-based design auditing or screenshot capture is needed:
244
-
245
- \`\`\`typescript
246
- task(
247
- category="unspecified-low",
248
- load_skills=["agent-browser"],
249
- description="Capture design data from [url]",
250
- prompt="...",
251
- run_in_background=false
252
- )
253
- \`\`\`
254
-
255
- When writing brand copy, taglines, or UX writing at scale:
256
-
257
- \`\`\`typescript
258
- task(
259
- category="writing",
260
- load_skills=[],
261
- description="Write [copy type] for [context]",
262
- prompt="...",
263
- run_in_background=false
264
- )
265
- \`\`\`
122
+ ${slashCommandsSection}
266
123
 
267
124
  ---
268
125
 
@@ -1 +1 @@
1
- {"version":3,"file":"creative-director.js","sourceRoot":"","sources":["../../src/agents/creative-director.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAExG,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC7D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,yBAAyB;YACjC,OAAO,EACL,oHAAoH;SACvH;KACF;IACD,OAAO,EAAE;QACP,2DAA2D;QAC3D,6DAA6D;QAC7D,uCAAuC;QACvC,2DAA2D;QAC3D,mDAAmD;KACpD;IACD,SAAS,EAAE;QACT,gEAAgE;QAChE,8DAA8D;QAC9D,wDAAwD;KACzD;CACF,CAAA;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;QACb,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,qEAAqE;QAChF,SAAS,EAAE,6EAA6E;QACxF,QAAQ,EAAE,iFAAiF;KAC5F,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,igCAAigC;QACngC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwOtB,wBAAwB,EAAE;KACzB,CAAA;AACH,CAAC;AAED,2BAA2B,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"creative-director.js","sourceRoot":"","sources":["../../src/agents/creative-director.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACpI,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC7D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,yBAAyB;YACjC,OAAO,EACL,oHAAoH;SACvH;KACF;IACD,OAAO,EAAE;QACP,2DAA2D;QAC3D,6DAA6D;QAC7D,uCAAuC;QACvC,2DAA2D;QAC3D,mDAAmD;KACpD;IACD,SAAS,EAAE;QACT,gEAAgE;QAChE,8DAA8D;QAC9D,wDAAwD;KACzD;CACF,CAAA;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;QACb,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,qEAAqE;QAChF,SAAS,EAAE,6EAA6E;QACxF,QAAQ,EAAE,iFAAiF;KAC5F,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAC5D,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,6BAA6B,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAE3G,OAAO;QACL,WAAW,EACT,igCAAigC;QACngC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsEtB,oBAAoB;;;;;;;;;;;;;;;;;EAiBpB,wBAAwB,EAAE;KACzB,CAAA;AACH,CAAC;AAED,2BAA2B,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fullstack-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/fullstack-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKhE,eAAO,MAAM,6BAA6B,EAAE,mBA2B3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAkazE;yBAlae,8BAA8B"}
1
+ {"version":3,"file":"fullstack-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/fullstack-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,6BAA6B,EAAE,mBA2B3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA0LzE;yBA1Le,8BAA8B"}
@@ -1,4 +1,5 @@
1
- import { buildPersistentContextSection, buildSoulMaintenanceSection } from "./shared-prompt-sections.js";
1
+ import { buildPersistentContextSection, buildSoulMaintenanceSection, renderSlashCommandRegistry } from "./shared-prompt-sections.js";
2
+ import { RETAINED_AGENT_SLASH_COMMANDS } from "./slash-commands.js";
2
3
  const MODE = "all";
3
4
  export const FULLSTACK_WUNDERKIND_METADATA = {
4
5
  category: "specialist",
@@ -34,6 +35,7 @@ export function createFullstackWunderkindAgent(model) {
34
35
  blockers: "build failures, type errors not yet resolved, external blockers",
35
36
  });
36
37
  const soulMaintenanceSection = buildSoulMaintenanceSection();
38
+ const slashCommandsSection = renderSlashCommandRegistry(RETAINED_AGENT_SLASH_COMMANDS["fullstack-wunderkind"]);
37
39
  return {
38
40
  description: "USE FOR: full-stack development, frontend, backend, infrastructure, database, Astro, React, Next.js, TypeScript, JavaScript, Tailwind CSS, CSS, HTML, Node.js, Vercel deployment, Vercel, serverless, edge functions, API design, REST API, GraphQL, tRPC, authentication, authorisation, JWT, OAuth, session management, PostgreSQL, Neon DB, Drizzle ORM, schema design, migrations, query optimisation, EXPLAIN ANALYZE, index audit, ERD, database architecture, performance optimisation, Core Web Vitals, Lighthouse, bundle analysis, code splitting, lazy loading, ISR, SSR, SSG, App Router, Edge Runtime, Neon DB branching, preview URLs, CI/CD, GitHub Actions, automated testing, unit tests, integration tests, end-to-end tests, Playwright, security, OWASP, data privacy, architecture decisions, system design, microservices, monorepo, refactoring, code review, technical debt, dependency management, bun, npm, package management, environment variables, secrets management, logging, monitoring, error tracking, SRE, reliability engineering, SLO, SLI, SLA, error budget, incident response, postmortem, runbook, supportability review, observability, tracing, on-call, admin panel, admin tooling, internal tooling, web accessibility, WCAG, responsive design, mobile-first, dark mode, design system implementation, component library, Storybook, testing, debugging, technical triage, defect diagnosis, TDD execution, regression coverage, coverage analysis, DevOps, infrastructure as code, cloud, AI integration, LLM, embeddings, vector search, streaming.",
39
41
  mode: MODE,
@@ -191,245 +193,12 @@ const db = drizzle(neon(process.env.DATABASE_URL!));
191
193
 
192
194
  ---
193
195
 
194
- ## Slash Commands
195
-
196
- ### \`/validate-page <url>\`
197
- Full page audit: accessibility, Core Web Vitals, broken links, console errors.
198
-
199
- \`\`\`typescript
200
- task(
201
- category="unspecified-low",
202
- load_skills=["agent-browser"],
203
- description="Full page audit of [url]",
204
- prompt="Navigate to [url], waitUntil: networkidle. 1) Inject axe-core (https://cdnjs.cloudflare.com/ajax/libs/axe-core/4.10.0/axe.min.js) and run axe.run({ runOnly: ['color-contrast', 'heading-order'] }). 2) Capture console errors. 3) Measure CWV via PerformanceObserver (LCP, CLS, FCP, TTFB) with 4s timeout. 4) Check 30 links via fetch HEAD for 4xx/5xx. 5) Screenshot to /tmp/page-validate.png. Return: CWV metrics, console errors, broken links, axe violations.",
205
- run_in_background=false
206
- )
207
- \`\`\`
208
-
209
- Output a CWV table vs targets:
210
- | Metric | Measured | Target | Status |
211
- |--------|----------|--------|--------|
212
- | LCP | ? | <2.5s | ✅/❌ |
213
- | CLS | ? | <0.1 | ✅/❌ |
214
- | FCP | ? | <1.8s | ✅/❌ |
215
- | TTFB | ? | <800ms | ✅/❌ |
216
-
217
- ---
218
-
219
- ### \`/bundle-analyze\`
220
- Analyse Next.js bundle sizes and flag heavy dependencies.
221
-
222
- \`\`\`typescript
223
- task(
224
- category="unspecified-low",
225
- load_skills=["vercel-architect"],
226
- description="Bundle analysis for current Next.js project",
227
- prompt="Run /bundle-analyze. Install @next/bundle-analyzer, build with ANALYZE=true, report largest chunks. Flag: lodash (replace with lodash-es), moment.js (replace with dayjs), components >50KB (wrap with dynamic import). Return treemap summary and replacement recommendations.",
228
- run_in_background=false
229
- )
230
- \`\`\`
231
-
232
- ---
233
-
234
- ### \`/db-audit\`
235
- Full database health check: schema, indexes, slow queries.
236
-
237
- \`\`\`typescript
238
- task(
239
- category="unspecified-high",
240
- load_skills=["db-architect"],
241
- description="Full database audit",
242
- prompt="Run /index-audit and /migration-diff. Report: missing FK indexes, unused indexes, sequential scan hotspots, and drift between Drizzle schema and live database. Flag all destructive operations — do not execute them, only report with recommended SQL.",
243
- run_in_background=false
244
- )
245
- \`\`\`
246
-
247
- ---
248
-
249
- ### \`/edge-vs-node <filepath>\`
250
- Determine whether a route/middleware file can run on Edge Runtime.
251
-
252
- \`\`\`typescript
253
- task(
254
- category="unspecified-low",
255
- load_skills=["vercel-architect"],
256
- description="Edge compatibility check for [filepath]",
257
- prompt="Run /edge-vs-node [filepath]. Check for Node-only imports (fs, path, os, child_process, node:*), Node globals (Buffer, __dirname), and incompatible ORMs (prisma, pg, mysql2). Return VERDICT: EDGE COMPATIBLE or NODE REQUIRED with reasons and fix instructions.",
258
- run_in_background=false
259
- )
260
- \`\`\`
261
-
262
- ---
263
-
264
- ### \`/security-audit\`
265
- Quick OWASP Top 10 check on the codebase. Delegates to \`wunderkind:ciso\` for comprehensive coverage.
266
-
267
- \`\`\`typescript
268
- task(
269
- category="unspecified-high",
270
- load_skills=["wunderkind:ciso"],
271
- description="OWASP security audit of current codebase",
272
- prompt="Perform a security audit covering OWASP Top 10:2025. Check: 1) Hardcoded secrets or API keys in source files. 2) All user inputs validated/sanitised before DB queries. 3) SQL injection vectors (raw query strings with interpolation). 4) Auth middleware coverage — which routes are protected? 5) CORS configuration, CSP headers, HSTS. 6) Missing rate limiting on auth and sensitive endpoints. 7) Dependency vulnerabilities via bun audit. 8) Data minimisation and consent tracking for compliance. Return: prioritised findings by severity (Critical/High/Medium/Low) with exact file paths and recommended fixes.",
273
- run_in_background=false
274
- )
275
- \`\`\`
276
-
277
- ---
278
-
279
- ### \`/architecture-review <component>\`
280
- Review a system component for architectural correctness.
281
-
282
- 1. Read the component, its dependencies, and callers
283
- 2. Assess: separation of concerns, coupling, cohesion, single responsibility
284
- 3. Flag: circular dependencies, god objects, leaky abstractions, performance traps
285
- 4. Propose: minimal refactoring steps with before/after code examples
286
- 5. Estimate: effort (hours), risk (low/med/high), impact (low/med/high)
287
-
288
- ---
289
-
290
- ### \`/supportability-review <service>\`
291
- Run a production-readiness and supportability review before launch.
292
-
293
- 1. Check observability coverage across logs, metrics, traces, dashboards, and alerting
294
- 2. Verify rollback, backup, recovery, and on-call ownership are explicit and tested
295
- 3. Confirm the service has an executable runbook, dependency map, and escalation path
296
- 4. Return a launch scorecard with blockers, near-term fixes, and evidence gaps
297
-
298
- ---
299
-
300
- ### \`/runbook <service> <alert>\`
301
- Write or refine a production runbook for a service and alert.
302
-
303
- 1. Translate the alert into plain-English impact and likely blast radius
304
- 2. List numbered triage and rollback steps with exact commands or dashboards
305
- 3. Document the most likely root-cause branches and how to verify each one
306
- 4. Define success checks, escalation conditions, and post-incident follow-up
307
-
308
- ---
309
-
310
- ## Sub-Skill Delegation
311
-
312
- For red-green-refactor implementation, regression hardening, and defect-driven delivery:
313
-
314
- \`\`\`typescript
315
- task(
316
- category="unspecified-high",
317
- load_skills=["tdd"],
318
- description="[specific bugfix or behavior]",
319
- prompt="...",
320
- run_in_background=false
321
- )
322
- \`\`\`
323
-
324
- ---
325
-
326
- For Vercel deployment, Next.js App Router, Edge Runtime, Neon branching, and performance:
327
-
328
- \`\`\`typescript
329
- task(
330
- category="unspecified-high",
331
- load_skills=["vercel-architect"],
332
- description="[specific Vercel/Next.js task]",
333
- prompt="...",
334
- run_in_background=false
335
- )
336
- \`\`\`
337
-
338
- For database schema design, Drizzle ORM, query analysis, migrations, and index auditing:
339
-
340
- \`\`\`typescript
341
- task(
342
- category="unspecified-high",
343
- load_skills=["db-architect"],
344
- description="[specific database task]",
345
- prompt="...",
346
- run_in_background=false
347
- )
348
- \`\`\`
349
-
350
- ---
351
-
352
- ## Delegation Patterns
353
-
354
- For UI implementation and visual engineering:
355
-
356
- \`\`\`typescript
357
- task(
358
- category="visual-engineering",
359
- load_skills=["frontend-ui-ux"],
360
- description="Implement [component/page]",
361
- prompt="...",
362
- run_in_background=false
363
- )
364
- \`\`\`
365
-
366
- For browser automation, E2E testing, and page validation:
367
-
368
- \`\`\`typescript
369
- task(
370
- category="unspecified-low",
371
- load_skills=["agent-browser"],
372
- description="[browser task]",
373
- prompt="...",
374
- run_in_background=false
375
- )
376
- \`\`\`
377
-
378
- For exploring codebase structure and patterns:
379
-
380
- \`\`\`typescript
381
- task(
382
- subagent_type="explore",
383
- load_skills=[],
384
- description="Map [module/pattern] in codebase",
385
- prompt="...",
386
- run_in_background=true
387
- )
388
- \`\`\`
389
-
390
- For researching library APIs, best practices, and external documentation:
391
-
392
- \`\`\`typescript
393
- task(
394
- subagent_type="librarian",
395
- load_skills=[],
396
- description="Research [library/pattern]",
397
- prompt="...",
398
- run_in_background=true
399
- )
400
- \`\`\`
401
-
402
- For git operations (commits, branches, history):
403
-
404
- \`\`\`typescript
405
- task(
406
- category="quick",
407
- load_skills=["git-master"],
408
- description="[git operation]",
409
- prompt="...",
410
- run_in_background=false
411
- )
412
- \`\`\`
413
-
414
- ---
196
+ ${slashCommandsSection}
415
197
 
416
198
  ---
417
199
 
418
200
  ${persistentContextSection}
419
201
 
420
- ## Delegation Patterns
421
-
422
- When external developer documentation, tutorials, migration guides, or getting-started content are needed:
423
-
424
- \`\`\`typescript
425
- task(
426
- category="writing",
427
- load_skills=["technical-writer"],
428
- description="Write developer documentation or tutorial for [topic]",
429
- prompt="...",
430
- run_in_background=false
431
- )
432
- \`\`\`
433
202
  ---
434
203
 
435
204
  ## Hard Rules (Non-Negotiable)