@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 +1 @@
1
- {"version":3,"file":"fullstack-wunderkind.js","sourceRoot":"","sources":["../../src/agents/fullstack-wunderkind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAExG,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EACL,8NAA8N;SACjO;KACF;IACD,OAAO,EAAE;QACP,0DAA0D;QAC1D,gDAAgD;QAChD,uEAAuE;QACvE,6DAA6D;QAC7D,sEAAsE;QACtE,oGAAoG;QACpG,gGAAgG;QAChG,kDAAkD;KACnD;IACD,SAAS,EAAE;QACT,8EAA8E;QAC9E,+CAA+C;QAC/C,oFAAoF;QACpF,mGAAmG;KACpG;CACF,CAAA;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,gEAAgE;QAC3E,SAAS,EAAE,6DAA6D;QACxE,QAAQ,EAAE,iEAAiE;KAC5E,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,sgDAAsgD;QACxgD,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoXtB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;qGA0B2E;KAClG,CAAA;AACH,CAAC;AAED,8BAA8B,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"fullstack-wunderkind.js","sourceRoot":"","sources":["../../src/agents/fullstack-wunderkind.ts"],"names":[],"mappings":"AAEA,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,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EACL,8NAA8N;SACjO;KACF;IACD,OAAO,EAAE;QACP,0DAA0D;QAC1D,gDAAgD;QAChD,uEAAuE;QACvE,6DAA6D;QAC7D,sEAAsE;QACtE,oGAAoG;QACpG,gGAAgG;QAChG,kDAAkD;KACnD;IACD,SAAS,EAAE;QACT,8EAA8E;QAC9E,+CAA+C;QAC/C,oFAAoF;QACpF,mGAAmG;KACpG;CACF,CAAA;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,gEAAgE;QAC3E,SAAS,EAAE,6DAA6D;QACxE,QAAQ,EAAE,iEAAiE;KAC5E,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAC5D,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,6BAA6B,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAE9G,OAAO;QACL,WAAW,EACT,sgDAAsgD;QACxgD,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoJtB,oBAAoB;;;;EAIpB,wBAAwB;;;;;;;;;;;;;qGAa2E;KAClG,CAAA;AACH,CAAC;AAED,8BAA8B,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"legal-counsel.d.ts","sourceRoot":"","sources":["../../src/agents/legal-counsel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,sBAAsB,EAAE,mBAwBpC,CAAA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA2NlE;yBA3Ne,uBAAuB"}
1
+ {"version":3,"file":"legal-counsel.d.ts","sourceRoot":"","sources":["../../src/agents/legal-counsel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAOhE,eAAO,MAAM,sBAAsB,EAAE,mBAwBpC,CAAA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA6GlE;yBA7Ge,uBAAuB"}
@@ -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 LEGAL_COUNSEL_METADATA = {
5
6
  category: "specialist",
@@ -38,6 +39,7 @@ export function createLegalCounselAgent(model) {
38
39
  blockers: "ambiguous license terms requiring external counsel, missing regulatory clarity, unresolved IP questions",
39
40
  });
40
41
  const soulMaintenanceSection = buildSoulMaintenanceSection();
42
+ const slashCommandsSection = renderSlashCommandRegistry(RETAINED_AGENT_SLASH_COMMANDS["legal-counsel"]);
41
43
  return {
42
44
  description: "USE FOR: legal counsel, general counsel, legal advice, OSS license, open source license, MIT license, Apache 2.0, GPL, LGPL, AGPL, copyleft, SPDX, license compatibility, license compliance, license audit, third-party license, dependency license, terms of service, TOS, terms and conditions, privacy policy, privacy notice, GDPR privacy, CCPA privacy, data processing agreement, DPA, data protection agreement, controller processor agreement, contributor license agreement, CLA, individual CLA, corporate CLA, developer certificate of origin, DCO, SaaS agreement, MSA, master service agreement, enterprise agreement, subscription agreement, BAA, business associate agreement, HIPAA BAA, vendor agreement, procurement, contract review, contract negotiation, IP risk, intellectual property, copyright, trademark, patent risk, FOSS compliance, OpenChain, REUSE, regulatory obligation, legal obligation, compliance obligation, data subject rights, right to erasure, right to access, data breach notification obligation, incident response legal, regulatory notification, GDPR article 33, POPIA notification, legal risk, liability, indemnification, limitation of liability, force majeure, governing law, jurisdiction, dispute resolution.",
43
45
  mode: MODE,
@@ -116,118 +118,7 @@ Your mandate: **legal clarity without legal paralysis.**
116
118
 
117
119
  ---
118
120
 
119
- ## Slash Commands
120
-
121
- ### \`/license-audit\`
122
- Audit all dependencies for license compatibility with the project's own license; flag copyleft risk.
123
-
124
- **Process:**
125
- 1. Read the project's own license (check LICENSE or package.json \`license\` field)
126
- 2. List all direct dependencies and their SPDX license identifiers
127
- 3. Check for transitive dependencies with problematic licenses (AGPL, GPL)
128
- 4. Build a compatibility matrix: ✅ Compatible / ⚠️ Conditional / ❌ Incompatible
129
- 5. Flag: any AGPL-licensed dependency (network use clause may trigger copyleft for SaaS)
130
- 6. Flag: any GPL-licensed dependency used in ways that may create a derivative work
131
- 7. Recommend: replacement libraries, relicensing options, or isolation strategies
132
-
133
- **Output:** License audit report with risk matrix + prioritised remediation list.
134
-
135
- ---
136
-
137
- ### \`/draft-tos <product>\`
138
- Draft a Terms of Service for a product.
139
-
140
- Read \`region\` and \`primaryRegulation\` from \`.wunderkind/wunderkind.config.jsonc\` for required clauses.
141
-
142
- **Required sections:**
143
- 1. Acceptance of terms (how users agree, age requirements)
144
- 2. Description of service
145
- 3. User accounts and responsibilities
146
- 4. Acceptable use policy (prohibited uses)
147
- 5. Intellectual property (who owns what)
148
- 6. Payment terms (if applicable)
149
- 7. Disclaimers and limitation of liability
150
- 8. Indemnification
151
- 9. Governing law and jurisdiction
152
- 10. Changes to terms (notice requirements — varies by jurisdiction)
153
- 11. Termination
154
-
155
- **Jurisdiction-specific additions:**
156
- - EU/GDPR: GDPR-compliant data processing reference, right to withdraw consent
157
- - UK: UK GDPR alignment, Consumer Rights Act considerations
158
- - California: CCPA rights reference, automatic renewal law compliance
159
- - Australia: Australian Consumer Law mandatory guarantees
160
-
161
- ---
162
-
163
- ### \`/draft-privacy-policy\`
164
- Draft a Privacy Policy.
165
-
166
- Read \`primaryRegulation\` for required sections (GDPR Article 13, POPIA Section 18, CCPA 1798.100, etc.).
167
-
168
- **Core sections (all jurisdictions):**
169
- 1. Who we are (identity and contact details of data controller)
170
- 2. What data we collect (categories, sources)
171
- 3. How we use it (purposes and legal bases)
172
- 4. Who we share it with (third parties, processors, transfers)
173
- 5. How long we keep it (retention periods per category)
174
- 6. Your rights (list applicable rights for the jurisdiction)
175
- 7. How to exercise your rights (contact method, response time)
176
- 8. Cookies and tracking (consent requirements vary by jurisdiction)
177
- 9. Changes to this policy
178
- 10. Contact us
179
-
180
- ---
181
-
182
- ### \`/review-contract <type>\`
183
- Review a provided contract excerpt for red flags.
184
-
185
- **Red flags to check:**
186
- - Unfavourable IP assignment (assigning all IP rather than licensing)
187
- - Unlimited or uncapped liability
188
- - Unilateral right to modify terms without notice
189
- - Broad indemnification clauses
190
- - Auto-renewal without adequate notice period
191
- - Jurisdiction in an inconvenient or hostile forum
192
- - Missing data security obligations (for contracts involving personal data)
193
- - Missing limitation of liability clause
194
- - Perpetual, irrevocable licence grants without adequate consideration
195
-
196
- **Output:** Red flag list with: clause, risk level (Critical/High/Medium/Low), recommended alternative language.
197
-
198
- ---
199
-
200
- ### \`/cla-setup\`
201
- Recommend CLA vs DCO approach for an OSS project; draft the chosen document.
202
-
203
- **Decision framework:**
204
- - **DCO** (recommended for most OSS): simpler, git-based (\`Signed-off-by\`), no infrastructure needed, good for projects that don't expect commercial contributors
205
- - **Individual CLA**: when you need explicit patent grants, IP assignment clarity, or company-specific terms
206
- - **Corporate CLA**: when companies contribute on behalf of employees and need entity-level agreement
207
-
208
- **Factors favouring CLA:**
209
- - Project may be commercialised or relicensed in future
210
- - You need patent licence grants beyond what DCO provides
211
- - Enterprise contributors require formal agreements
212
-
213
- **Factors favouring DCO:**
214
- - Lower friction for contributors (no click-wrap process)
215
- - GitHub DCO check bot is simple to set up
216
- - Apache Software Foundation, Linux Foundation projects use it successfully
217
-
218
- ---
219
-
220
- ## Delegation Patterns
221
-
222
- When the question is about technical security controls, audit evidence, or implementation:
223
-
224
- Escalate to \`wunderkind:ciso\` directly.
225
-
226
- When the question is about incident response execution or SLO breach:
227
-
228
- Escalate to \`wunderkind:fullstack-wunderkind\` directly.
229
-
230
- (Legal Counsel is fully advisory — no sub-skill delegation via \`task()\`.)
121
+ ${slashCommandsSection}
231
122
 
232
123
  ---
233
124
 
@@ -1 +1 @@
1
- {"version":3,"file":"legal-counsel.js","sourceRoot":"","sources":["../../src/agents/legal-counsel.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,sBAAsB,GAAwB;IACzD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,wJAAwJ;SAC3J;KACF;IACD,OAAO,EAAE;QACP,sEAAsE;QACtE,sFAAsF;QACtF,4CAA4C;QAC5C,6EAA6E;QAC7E,+DAA+D;QAC/D,qEAAqE;KACtE;IACD,SAAS,EAAE;QACT,sFAAsF;QACtF,oGAAoG;QACpG,iEAAiE;KAClE;CACF,CAAA;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,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,4FAA4F;QACvG,SAAS,EAAE,+FAA+F;QAC1G,QAAQ,EAAE,yGAAyG;KACpH,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,gtCAAgtC;QACltC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuLtB,wBAAwB;;;;;;;;2GAQiF;KACxG,CAAA;AACH,CAAC;AAED,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"legal-counsel.js","sourceRoot":"","sources":["../../src/agents/legal-counsel.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,sBAAsB,GAAwB;IACzD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,wJAAwJ;SAC3J;KACF;IACD,OAAO,EAAE;QACP,sEAAsE;QACtE,sFAAsF;QACtF,4CAA4C;QAC5C,6EAA6E;QAC7E,+DAA+D;QAC/D,qEAAqE;KACtE;IACD,SAAS,EAAE;QACT,sFAAsF;QACtF,oGAAoG;QACpG,iEAAiE;KAClE;CACF,CAAA;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,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,4FAA4F;QACvG,SAAS,EAAE,+FAA+F;QAC1G,QAAQ,EAAE,yGAAyG;KACpH,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAC5D,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC,CAAA;IAEvG,OAAO;QACL,WAAW,EACT,gtCAAgtC;QACltC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEtB,oBAAoB;;;;EAIpB,wBAAwB;;;;;;;;2GAQiF;KACxG,CAAA;AACH,CAAC;AAED,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/marketing-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,mBAyB3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAgRzE;yBAhRe,8BAA8B"}
1
+ {"version":3,"file":"marketing-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/marketing-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAOhE,eAAO,MAAM,6BAA6B,EAAE,mBAyB3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAmHzE;yBAnHe,8BAA8B"}
@@ -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 MARKETING_WUNDERKIND_METADATA = {
5
6
  category: "specialist",
@@ -39,6 +40,7 @@ export function createMarketingWunderkindAgent(model) {
39
40
  blockers: "approval bottlenecks, missing assets, unclear product details, access gaps for live audits",
40
41
  });
41
42
  const soulMaintenanceSection = buildSoulMaintenanceSection();
43
+ const slashCommandsSection = renderSlashCommandRegistry(RETAINED_AGENT_SLASH_COMMANDS["marketing-wunderkind"]);
42
44
  return {
43
45
  description: "USE FOR: brand strategy, go-to-market, positioning, messaging, content strategy, SEO, SEM, paid media, lifecycle marketing, attribution, CRO, PR, press releases, thought leadership, community strategy, forum strategy, ambassador programs, sponsorships, events, creator partnerships, social media strategy, launch planning, product marketing, developer advocacy, developer education strategy, docs-led launches, API docs planning, tutorials, migration guides, onboarding journeys, DX audits, time-to-first-value improvement, open source community programs, newsletter strategy, competitor analysis, audience research, retention strategy, funnel analysis, campaign performance analysis, marketing measurement, channel ROI interpretation, brand-community ROI gating.",
44
46
  mode: MODE,
@@ -126,165 +128,7 @@ Your north star: **make the right audience care, convert, and succeed.**
126
128
 
127
129
  ---
128
130
 
129
- ## Slash Commands
130
-
131
- ### \`/gtm-plan <product>\`
132
- Build a full go-to-market strategy for a product, feature, or release.
133
-
134
- 1. Define target audience segments and their jobs-to-be-done
135
- 2. Develop positioning and message hierarchy
136
- 3. Map the journey from awareness to activation to retention
137
- 4. Select channels, community touchpoints, and launch assets
138
- 5. Set timeline, budget, and measurement framework
139
- 6. Identify docs, onboarding, or migration assets needed for adoption
140
-
141
- **Output:** structured GTM document with positioning, launch plan, channel mix, docs dependencies, and success metrics.
142
-
143
- ---
144
-
145
- ### \`/content-calendar <platform> <period>\`
146
- Generate a content calendar for a specific platform and time period.
147
-
148
- Load the \`social-media-maven\` sub-skill for platform-specific execution:
149
-
150
- \`\`\`typescript
151
- task(
152
- category="unspecified-high",
153
- load_skills=["social-media-maven"],
154
- description="Generate content calendar for [platform] over [period]",
155
- prompt="Create a detailed content calendar for [platform] covering [period]. Include post types, themes, copy drafts, hashtag sets, and optimal posting times. Align with brand voice and current campaign goals.",
156
- run_in_background=false
157
- )
158
- \`\`\`
159
-
160
- ---
161
-
162
- ### \`/community-audit\`
163
- Audit community presence across owned and external channels.
164
-
165
- 1. List all active community touchpoints and platform purpose
166
- 2. Measure health: activity, response time, contribution quality, retention, and moderation posture
167
- 3. Identify which spaces are growing, stagnant, or not worth continued investment
168
- 4. Map how community programs connect to launches, product feedback, and customer trust
169
- 5. Recommend quick wins, medium-term fixes, and sunset candidates
170
-
171
- ---
172
-
173
- ### \`/thought-leadership-plan <quarter>\`
174
- Build a quarterly thought-leadership plan.
175
-
176
- 1. Define the narrative pillars tied to business goals and audience beliefs
177
- 2. Balance useful public work, customer proof, opinion pieces, and launch support
178
- 3. Map each pillar to channels, authors, and distribution plan
179
- 4. Add speaking, podcast, partnership, and community amplification opportunities
180
- 5. Track outcomes with attention to trust, qualified interest, and downstream activation
181
-
182
- ---
183
-
184
- ### \`/docs-launch-brief <release>\`
185
- Plan the audience-facing launch package for a technical release.
186
-
187
- 1. Define the audience segments affected by the release
188
- 2. Identify required assets: release narrative, docs updates, tutorials, migration guide, changelog, FAQs
189
- 3. Map dependencies between product changes, docs readiness, and announcement timing
190
- 4. Call out risk areas that could hurt adoption or trust
191
- 5. Build a rollout and measurement plan for awareness, activation, and successful migration
192
-
193
- For deep documentation drafting, delegate to the marketing-owned \`technical-writer\` skill:
194
-
195
- \`\`\`typescript
196
- task(
197
- category="unspecified-high",
198
- load_skills=["technical-writer"],
199
- description="Create developer-facing launch docs for [release]",
200
- prompt="Write the launch-ready developer documentation package for [release]. Include the getting-started updates, migration notes, exact commands or code examples, troubleshooting guidance, and a concise changelog section. Keep examples concrete and verification-friendly.",
201
- run_in_background=false
202
- )
203
- \`\`\`
204
-
205
- ---
206
-
207
- ### \`/dx-audit\`
208
- Audit the first-run audience experience for a technical product.
209
-
210
- 1. Review the onboarding path from landing page or README through first success
211
- 2. Identify friction in setup, docs, examples, error messages, and terminology
212
- 3. Estimate TTFV and explain what slows it down
213
- 4. Recommend the smallest fixes with the highest adoption impact
214
- 5. Separate messaging issues from product or engineering issues
215
-
216
- ---
217
-
218
- ### \`/competitor-analysis <competitors>\`
219
- Analyse competitors' market, narrative, and audience-adoption strategies.
220
-
221
- 1. Map each competitor's positioning, promises, and target audience
222
- 2. Audit their marketing channels, community footprint, and launch patterns
223
- 3. Review how they educate users or developers through docs, tutorials, or migration support
224
- 4. Identify gaps they are not exploiting
225
- 5. Recommend differentiated angles for attention, trust, and activation
226
-
227
- ---
228
-
229
- ## Delegation Patterns
230
-
231
- When visual assets, brand systems, or campaign design are needed:
232
-
233
- \`\`\`typescript
234
- task(
235
- category="visual-engineering",
236
- load_skills=["frontend-ui-ux"],
237
- description="Design campaign or launch assets for [initiative]",
238
- prompt="...",
239
- run_in_background=false
240
- )
241
- \`\`\`
242
-
243
- When market data, community landscapes, or event inventories need external research:
244
-
245
- \`\`\`typescript
246
- task(
247
- subagent_type="librarian",
248
- load_skills=[],
249
- description="Research [topic] for growth strategy",
250
- prompt="...",
251
- run_in_background=true
252
- )
253
- \`\`\`
254
-
255
- When documentation needs deep drafting or migration-writing execution:
256
-
257
- \`\`\`typescript
258
- task(
259
- category="unspecified-high",
260
- load_skills=["technical-writer"],
261
- description="Write developer-facing content for [topic]",
262
- prompt="...",
263
- run_in_background=false
264
- )
265
- \`\`\`
266
-
267
- When implementation correctness of setup steps or code examples is uncertain:
268
-
269
- \`\`\`typescript
270
- task(
271
- subagent_type="fullstack-wunderkind",
272
- description="Verify developer-facing implementation details for [topic]",
273
- prompt="...",
274
- run_in_background=false
275
- )
276
- \`\`\`
277
-
278
- When legal or regulatory review is required for a launch, claim, or public statement:
279
-
280
- \`\`\`typescript
281
- task(
282
- subagent_type="legal-counsel",
283
- description="Review legal question for [launch or claim]",
284
- prompt="...",
285
- run_in_background=false
286
- )
287
- \`\`\`
131
+ ${slashCommandsSection}
288
132
 
289
133
  ---
290
134
 
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-wunderkind.js","sourceRoot":"","sources":["../../src/agents/marketing-wunderkind.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,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oCAAoC;YAC5C,OAAO,EACL,+JAA+J;SAClK;KACF;IACD,OAAO,EAAE;QACP,iEAAiE;QACjE,uEAAuE;QACvE,iFAAiF;QACjF,+EAA+E;QAC/E,8GAA8G;KAC/G;IACD,SAAS,EAAE;QACT,uDAAuD;QACvD,mEAAmE;QACnE,0FAA0F;QAC1F,wFAAwF;QACxF,iGAAiG;KAClG;CACF,CAAA;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,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,EACP,uGAAuG;QACzG,SAAS,EACP,sFAAsF;QACxF,QAAQ,EACN,4FAA4F;KAC/F,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,6vBAA6vB;QAC/vB,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+OtB,wBAAwB;;IAEtB;KACD,CAAA;AACH,CAAC;AAED,8BAA8B,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"marketing-wunderkind.js","sourceRoot":"","sources":["../../src/agents/marketing-wunderkind.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,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oCAAoC;YAC5C,OAAO,EACL,+JAA+J;SAClK;KACF;IACD,OAAO,EAAE;QACP,iEAAiE;QACjE,uEAAuE;QACvE,iFAAiF;QACjF,+EAA+E;QAC/E,8GAA8G;KAC/G;IACD,SAAS,EAAE;QACT,uDAAuD;QACvD,mEAAmE;QACnE,0FAA0F;QAC1F,wFAAwF;QACxF,iGAAiG;KAClG;CACF,CAAA;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,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,EACP,uGAAuG;QACzG,SAAS,EACP,sFAAsF;QACxF,QAAQ,EACN,4FAA4F;KAC/F,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAC5D,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,6BAA6B,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAE9G,OAAO;QACL,WAAW,EACT,6vBAA6vB;QAC/vB,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6EtB,oBAAoB;;;;EAIpB,wBAAwB;;IAEtB;KACD,CAAA;AACH,CAAC;AAED,8BAA8B,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"product-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/product-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,2BAA2B,EAAE,mBA0BzC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA6WvE;yBA7We,4BAA4B"}
1
+ {"version":3,"file":"product-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/product-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAOhE,eAAO,MAAM,2BAA2B,EAAE,mBA0BzC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAgLvE;yBAhLe,4BAA4B"}
@@ -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 PRODUCT_WUNDERKIND_METADATA = {
5
6
  category: "specialist",
@@ -39,6 +40,7 @@ export function createProductWunderkindAgent(model) {
39
40
  blockers: "dependency blocks, missing research, stakeholder misalignment",
40
41
  });
41
42
  const soulMaintenanceSection = buildSoulMaintenanceSection();
43
+ const slashCommandsSection = renderSlashCommandRegistry(RETAINED_AGENT_SLASH_COMMANDS["product-wunderkind"]);
42
44
  return {
43
45
  description: "USE FOR: product strategy, product roadmap, OKRs, product vision, product discovery, user research, customer interviews, jobs to be done, personas, user stories, epics, sprint planning, backlog management, backlog prioritisation, story points, agile, scrum, kanban, lean, task decomposition, work breakdown structure, dependency ordering, parallel task safety, file conflict check, concern grouping, feature prioritisation, MoSCoW, RICE scoring, Kano model, go-to-market, product launch, product metrics, AARRR, North Star metric, product analytics, feature adoption analysis, usage interpretation, A/B testing, experiment readout, feature flags, rollout strategy, stakeholder management, product communication, PRD, product requirements document, user journey mapping, service design, product-market fit, pivots, product positioning, competitive analysis, product ops, product tooling, Jira, Linear, Notion, product principles, product culture, team structure, squad model, cross-functional collaboration, technical product management, API product management, platform strategy, data product management, AI product management, bug triage, issue intake, repro shaping, severity assessment, acceptance review, INVEST gating, escalation doctrine.",
44
46
  mode: MODE,
@@ -191,198 +193,8 @@ You bridge the gap between user insight and engineering reality. You're fluent i
191
193
 
192
194
  ---
193
195
 
194
- ## Slash Commands
196
+ ${slashCommandsSection}
195
197
 
196
- ### \`/breakdown <task description>\`
197
- Decompose a high-level requirement into agent-ready, parallel-safe subtasks.
198
-
199
- Load \`agile-pm\` for deep decomposition execution:
200
-
201
- \`\`\`typescript
202
- task(
203
- category="unspecified-high",
204
- load_skills=["agile-pm"],
205
- description="Decompose task: [task description]",
206
- prompt="Run /breakdown [task description]. Map the project structure first using explore. Then decompose into concern-grouped subtasks with exact file targets, dependency graph, and parallel safety assessment. Format: ### Concern N: [Name] | Files: path/to/file.ts | Tasks: [bullet list]",
207
- run_in_background=false
208
- )
209
- \`\`\`
210
-
211
- ---
212
-
213
- ### \`/sprint-plan\`
214
- Plan a sprint from a backlog or feature list.
215
-
216
- Load \`agile-pm\` for sprint structure:
217
-
218
- \`\`\`typescript
219
- task(
220
- category="unspecified-high",
221
- load_skills=["agile-pm"],
222
- description="Plan sprint from backlog",
223
- prompt="Run /sprint-plan. Read backlog from BACKLOG.md or provided list. Estimate with Fibonacci points (20 points capacity for a 2-week sprint). Group tasks by concern for parallel work. Output sprint table with tasks, points, file targets, dependencies, and stretch goals.",
224
- run_in_background=false
225
- )
226
- \`\`\`
227
-
228
- ---
229
-
230
- ### \`/prd <feature>\`
231
- Write a product requirements document for a feature.
232
-
233
- **Output structure:**
234
- - **Context**: Why does this exist? What's the business/user problem?
235
- - **Goals**: What does success look like? (Measurable outcomes)
236
- - **Non-Goals**: Explicitly what this PRD does NOT cover
237
- - **User Stories**: Key scenarios in "As a [user], I want [goal] so that [reason]" format
238
- - **Requirements**: Functional (must do) and non-functional (performance, security, accessibility)
239
- - **Open Questions**: Known unknowns that need resolution before build
240
- - **Success Metrics**: How will we measure impact post-launch?
241
- - **Timeline**: Rough phases and dependencies
242
-
243
- **After the PRD is drafted**, run an acceptance review against the user stories and escalate any technical delivery gaps to \`wunderkind:fullstack-wunderkind\`:
244
-
245
- \`\`\`typescript
246
- task(
247
- category="unspecified-high",
248
- load_skills=["wunderkind:fullstack-wunderkind"],
249
- description="Technical acceptance follow-up for [feature] PRD",
250
- prompt="Review the stories and acceptance criteria in the [feature] PRD after product acceptance review. Validate the technical contract for each story, identify missing regression coverage, missing rejection-path tests, and any implementation-risk gaps that would block delivery. Return: a story-by-story technical follow-up with the failing scenario, the expected behavior, and the smallest verification surface needed.",
251
- run_in_background=false
252
- )
253
- \`\`\`
254
-
255
- ---
256
-
257
- ### \`/okr-design <level> <objective>\`
258
- Design OKRs for a company, team, or individual level.
259
-
260
- 1. Refine the Objective: inspiring, qualitative, time-bound, memorable
261
- 2. Generate 3-5 Key Results: measurable, outcome-focused (not output), owner-assignable
262
- 3. Validate alignment: does achieving these KRs guarantee the Objective?
263
- 4. Flag risks: what could cause us to hit KRs but miss the Objective spirit?
264
-
265
- **Output format:**
266
- \`\`\`
267
- O: [Objective — qualitative, inspiring]
268
- KR1: [Metric] from [baseline] to [target] by [date]
269
- KR2: [Metric] from [baseline] to [target] by [date]
270
- KR3: [Metric] from [baseline] to [target] by [date]
271
- \`\`\`
272
-
273
- ---
274
-
275
- ### \`/file-conflict-check\`
276
- Analyse a set of tasks for file collision risk before parallel execution.
277
-
278
- Load \`agile-pm\`:
279
-
280
- \`\`\`typescript
281
- task(
282
- category="unspecified-high",
283
- load_skills=["agile-pm"],
284
- description="Check file conflicts in current task list",
285
- prompt="Run /file-conflict-check. Identify all file paths from the active task list. Build an inverted index of file → tasks. Flag any file targeted by 2+ tasks. Output conflict matrix with severity (HIGH/MEDIUM/LOW) and recommended sequential ordering.",
286
- run_in_background=false
287
- )
288
- \`\`\`
289
-
290
- ---
291
-
292
- ### \`/north-star <product>\`
293
- Define a North Star metric framework for a product.
294
-
295
- 1. Identify the core value moment: when does a user first experience the product's magic?
296
- 2. Propose 2-3 candidate North Star metrics with rationale
297
- 3. Select the best one: breadth (reach), depth (engagement), or frequency
298
- 4. Define 3-5 input metrics that drive the North Star
299
- 5. Map the input metrics to team/squad ownership
300
- 6. Design a weekly/monthly review cadence
301
-
302
- ---
303
-
304
- ## Sub-Skill Delegation
305
-
306
- Keep these product-owned skills explicit and available for deep product work:
307
-
308
- - \`grill-me\` for ambiguity collapse and requirement interrogation
309
- - \`prd-pipeline\` for PRD -> plan -> execution handoff workflows
310
- - \`ubiquitous-language\` for domain glossary and canonical terminology alignment
311
- - \`triage-issue\` for structured issue intake, repro shaping, and backlog-ready handoff
312
-
313
- For detailed sprint planning, backlog management, task decomposition, and file conflict checking:
314
-
315
- \`\`\`typescript
316
- task(
317
- category="unspecified-high",
318
- load_skills=["agile-pm"],
319
- description="[specific agile/PM task]",
320
- prompt="...",
321
- run_in_background=false
322
- )
323
- \`\`\`
324
-
325
- ---
326
-
327
- ## Delegation Patterns
328
-
329
- When researching competitors, market data, or industry reports:
330
-
331
- \`\`\`typescript
332
- task(
333
- subagent_type="librarian",
334
- load_skills=[],
335
- description="Research [topic] for product strategy",
336
- prompt="...",
337
- run_in_background=true
338
- )
339
- \`\`\`
340
-
341
- When mapping and exploring codebase structure for task decomposition:
342
-
343
- \`\`\`typescript
344
- task(
345
- subagent_type="explore",
346
- load_skills=[],
347
- description="Map project structure for decomposition",
348
- prompt="...",
349
- run_in_background=true
350
- )
351
- \`\`\`
352
-
353
- When writing PRDs, specs, or product documentation:
354
-
355
- \`\`\`typescript
356
- task(
357
- category="writing",
358
- load_skills=[],
359
- description="Write [PRD/spec/doc] for [feature]",
360
- prompt="...",
361
- run_in_background=false
362
- )
363
- \`\`\`
364
-
365
- When campaign, launch, or funnel questions need specialist marketing authority:
366
-
367
- \`\`\`typescript
368
- task(
369
- load_skills=["wunderkind:marketing-wunderkind"],
370
- description="Route campaign or funnel analysis for [feature/launch]",
371
- prompt="Handle the channel, launch, attribution, or funnel question for [feature/launch]. Return the interpretation, the main performance drivers, and the recommended next marketing action.",
372
- run_in_background=false
373
- )
374
- \`\`\`
375
-
376
- When a user-reported issue needs technical execution after product intake:
377
-
378
- \`\`\`typescript
379
- task(
380
- load_skills=["wunderkind:fullstack-wunderkind"],
381
- description="Technical follow-up for user-reported issue: [description]",
382
- prompt="Product has already captured the user report, repro shape, severity, and expected behavior for [description]. Diagnose the likely root cause, identify the smallest failing surface, and return the next engineering action with verification notes.",
383
- run_in_background=false
384
- )
385
- \`\`\`
386
198
  ---
387
199
 
388
200
  ${persistentContextSection}
@@ -1 +1 @@
1
- {"version":3,"file":"product-wunderkind.js","sourceRoot":"","sources":["../../src/agents/product-wunderkind.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,2BAA2B,GAAwB;IAC9D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,2LAA2L;SAC9L;KACF;IACD,OAAO,EAAE;QACP,+DAA+D;QAC/D,uCAAuC;QACvC,kCAAkC;QAClC,kDAAkD;QAClD,mGAAmG;QACnG,iFAAiF;QACjF,gGAAgG;QAChG,yCAAyC;KAC1C;IACD,SAAS,EAAE;QACT,iEAAiE;QACjE,wDAAwD;QACxD,0GAA0G;KAC3G;CACF,CAAA;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,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,4CAA4C;QACvD,QAAQ,EAAE,+DAA+D;KAC1E,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,8tCAA8tC;QAChuC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgVtB,wBAAwB;;IAEtB;KACD,CAAA;AACH,CAAC;AAED,4BAA4B,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"product-wunderkind.js","sourceRoot":"","sources":["../../src/agents/product-wunderkind.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,2BAA2B,GAAwB;IAC9D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,2LAA2L;SAC9L;KACF;IACD,OAAO,EAAE;QACP,+DAA+D;QAC/D,uCAAuC;QACvC,kCAAkC;QAClC,kDAAkD;QAClD,mGAAmG;QACnG,iFAAiF;QACjF,gGAAgG;QAChG,yCAAyC;KAC1C;IACD,SAAS,EAAE;QACT,iEAAiE;QACjE,wDAAwD;QACxD,0GAA0G;KAC3G;CACF,CAAA;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,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,4CAA4C;QACvD,QAAQ,EAAE,+DAA+D;KAC1E,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAC5D,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,6BAA6B,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAE5G,OAAO;QACL,WAAW,EACT,8tCAA8tC;QAChuC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8ItB,oBAAoB;;;;EAIpB,wBAAwB;;IAEtB;KACD,CAAA;AACH,CAAC;AAED,4BAA4B,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1,7 +1,10 @@
1
+ import type { SlashCommandRegistry } from "./slash-commands.js";
1
2
  export declare function buildPersistentContextSection(options: {
2
3
  learnings: string;
3
4
  decisions: string;
4
5
  blockers: string;
5
6
  }): string;
6
7
  export declare function buildSoulMaintenanceSection(): string;
8
+ export declare function buildSlashCommandHelpSection(): string;
9
+ export declare function renderSlashCommandRegistry(registry: SlashCommandRegistry): string;
7
10
  //# sourceMappingURL=shared-prompt-sections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,CAeT;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAYpD"}
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,CAeT;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAYpD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAKrD;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAiBjF"}
@@ -27,4 +27,26 @@ When the user gives you durable guidance about how to behave on this project, up
27
27
  - Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
28
28
  - If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.`;
29
29
  }
30
+ export function buildSlashCommandHelpSection() {
31
+ return `Every slash command must support a \`--help\` form.
32
+
33
+ - If the user asks what a command does, which arguments it accepts, or what output shape it expects, tell them to run \`/<command> --help\`.
34
+ - Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.`;
35
+ }
36
+ export function renderSlashCommandRegistry(registry) {
37
+ const commandBlocks = registry.commands.map((command) => {
38
+ const details = command.details?.map((detail) => `- ${detail}`).join("\n");
39
+ return [`### \`${command.command}\``, command.summary, details].filter((part) => part !== undefined && part !== "").join("\n\n");
40
+ });
41
+ const sectionBlocks = registry.sections?.map((section) => {
42
+ const items = section.items.map((item) => `- ${item}`).join("\n");
43
+ return [`## ${section.heading}`, items].join("\n\n");
44
+ }) ?? [];
45
+ return [
46
+ "## Slash Commands",
47
+ buildSlashCommandHelpSection(),
48
+ ...commandBlocks,
49
+ ...sectionBlocks,
50
+ ].join("\n\n---\n\n");
51
+ }
30
52
  //# sourceMappingURL=shared-prompt-sections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-prompt-sections.js","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,6BAA6B,CAAC,OAI7C;IACC,OAAO;;;;;;;;;eASM,OAAO,CAAC,SAAS;eACjB,OAAO,CAAC,SAAS;cAClB,OAAO,CAAC,QAAQ;;yJAE2H,CAAA;AACzJ,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;;;;;;;wJAU+I,CAAA;AACxJ,CAAC"}
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;;yJAE2H,CAAA;AACzJ,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;;;;;;;wJAU+I,CAAA;AACxJ,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"}