@grant-vine/wunderkind 0.10.7 → 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.
- package/.claude-plugin/plugin.json +1 -1
- package/agents/ciso.md +44 -15
- package/agents/creative-director.md +18 -111
- package/agents/fullstack-wunderkind.md +50 -9
- package/agents/legal-counsel.md +14 -85
- package/agents/marketing-wunderkind.md +20 -117
- package/agents/product-wunderkind.md +40 -14
- package/dist/agents/ciso.d.ts.map +1 -1
- package/dist/agents/ciso.js +4 -28
- package/dist/agents/ciso.js.map +1 -1
- package/dist/agents/creative-director.d.ts.map +1 -1
- package/dist/agents/creative-director.js +4 -150
- package/dist/agents/creative-director.js.map +1 -1
- package/dist/agents/fullstack-wunderkind.d.ts.map +1 -1
- package/dist/agents/fullstack-wunderkind.js +4 -33
- package/dist/agents/fullstack-wunderkind.js.map +1 -1
- package/dist/agents/legal-counsel.d.ts.map +1 -1
- package/dist/agents/legal-counsel.js +4 -116
- package/dist/agents/legal-counsel.js.map +1 -1
- package/dist/agents/marketing-wunderkind.d.ts.map +1 -1
- package/dist/agents/marketing-wunderkind.js +4 -163
- package/dist/agents/marketing-wunderkind.js.map +1 -1
- package/dist/agents/product-wunderkind.d.ts.map +1 -1
- package/dist/agents/product-wunderkind.js +4 -36
- package/dist/agents/product-wunderkind.js.map +1 -1
- package/dist/agents/shared-prompt-sections.d.ts +2 -0
- package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
- package/dist/agents/shared-prompt-sections.js +16 -0
- package/dist/agents/shared-prompt-sections.js.map +1 -1
- package/dist/agents/slash-commands.d.ts +189 -0
- package/dist/agents/slash-commands.d.ts.map +1 -0
- package/dist/agents/slash-commands.js +274 -0
- package/dist/agents/slash-commands.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createAgentToolRestrictions } from "./types.js";
|
|
2
|
-
import { buildPersistentContextSection,
|
|
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,7 +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();
|
|
42
|
-
const
|
|
43
|
+
const slashCommandsSection = renderSlashCommandRegistry(RETAINED_AGENT_SLASH_COMMANDS["marketing-wunderkind"]);
|
|
43
44
|
return {
|
|
44
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.",
|
|
45
46
|
mode: MODE,
|
|
@@ -127,167 +128,7 @@ Your north star: **make the right audience care, convert, and succeed.**
|
|
|
127
128
|
|
|
128
129
|
---
|
|
129
130
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
${slashCommandHelpSection}
|
|
133
|
-
|
|
134
|
-
### \`/gtm-plan <product>\`
|
|
135
|
-
Build a full go-to-market strategy for a product, feature, or release.
|
|
136
|
-
|
|
137
|
-
1. Define target audience segments and their jobs-to-be-done
|
|
138
|
-
2. Develop positioning and message hierarchy
|
|
139
|
-
3. Map the journey from awareness to activation to retention
|
|
140
|
-
4. Select channels, community touchpoints, and launch assets
|
|
141
|
-
5. Set timeline, budget, and measurement framework
|
|
142
|
-
6. Identify docs, onboarding, or migration assets needed for adoption
|
|
143
|
-
|
|
144
|
-
**Output:** structured GTM document with positioning, launch plan, channel mix, docs dependencies, and success metrics.
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
### \`/content-calendar <platform> <period>\`
|
|
149
|
-
Generate a content calendar for a specific platform and time period.
|
|
150
|
-
|
|
151
|
-
Load the \`social-media-maven\` sub-skill for platform-specific execution:
|
|
152
|
-
|
|
153
|
-
\`\`\`typescript
|
|
154
|
-
task(
|
|
155
|
-
category="unspecified-high",
|
|
156
|
-
load_skills=["social-media-maven"],
|
|
157
|
-
description="Generate content calendar for [platform] over [period]",
|
|
158
|
-
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.",
|
|
159
|
-
run_in_background=false
|
|
160
|
-
)
|
|
161
|
-
\`\`\`
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
### \`/community-audit\`
|
|
166
|
-
Audit community presence across owned and external channels.
|
|
167
|
-
|
|
168
|
-
1. List all active community touchpoints and platform purpose
|
|
169
|
-
2. Measure health: activity, response time, contribution quality, retention, and moderation posture
|
|
170
|
-
3. Identify which spaces are growing, stagnant, or not worth continued investment
|
|
171
|
-
4. Map how community programs connect to launches, product feedback, and customer trust
|
|
172
|
-
5. Recommend quick wins, medium-term fixes, and sunset candidates
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
### \`/thought-leadership-plan <quarter>\`
|
|
177
|
-
Build a quarterly thought-leadership plan.
|
|
178
|
-
|
|
179
|
-
1. Define the narrative pillars tied to business goals and audience beliefs
|
|
180
|
-
2. Balance useful public work, customer proof, opinion pieces, and launch support
|
|
181
|
-
3. Map each pillar to channels, authors, and distribution plan
|
|
182
|
-
4. Add speaking, podcast, partnership, and community amplification opportunities
|
|
183
|
-
5. Track outcomes with attention to trust, qualified interest, and downstream activation
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
### \`/docs-launch-brief <release>\`
|
|
188
|
-
Plan the audience-facing launch package for a technical release.
|
|
189
|
-
|
|
190
|
-
1. Define the audience segments affected by the release
|
|
191
|
-
2. Identify required assets: release narrative, docs updates, tutorials, migration guide, changelog, FAQs
|
|
192
|
-
3. Map dependencies between product changes, docs readiness, and announcement timing
|
|
193
|
-
4. Call out risk areas that could hurt adoption or trust
|
|
194
|
-
5. Build a rollout and measurement plan for awareness, activation, and successful migration
|
|
195
|
-
|
|
196
|
-
For deep documentation drafting, delegate to the marketing-owned \`technical-writer\` skill:
|
|
197
|
-
|
|
198
|
-
\`\`\`typescript
|
|
199
|
-
task(
|
|
200
|
-
category="unspecified-high",
|
|
201
|
-
load_skills=["technical-writer"],
|
|
202
|
-
description="Create developer-facing launch docs for [release]",
|
|
203
|
-
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.",
|
|
204
|
-
run_in_background=false
|
|
205
|
-
)
|
|
206
|
-
\`\`\`
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
### \`/dx-audit\`
|
|
211
|
-
Audit the first-run audience experience for a technical product.
|
|
212
|
-
|
|
213
|
-
1. Review the onboarding path from landing page or README through first success
|
|
214
|
-
2. Identify friction in setup, docs, examples, error messages, and terminology
|
|
215
|
-
3. Estimate TTFV and explain what slows it down
|
|
216
|
-
4. Recommend the smallest fixes with the highest adoption impact
|
|
217
|
-
5. Separate messaging issues from product or engineering issues
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
### \`/competitor-analysis <competitors>\`
|
|
222
|
-
Analyse competitors' market, narrative, and audience-adoption strategies.
|
|
223
|
-
|
|
224
|
-
1. Map each competitor's positioning, promises, and target audience
|
|
225
|
-
2. Audit their marketing channels, community footprint, and launch patterns
|
|
226
|
-
3. Review how they educate users or developers through docs, tutorials, or migration support
|
|
227
|
-
4. Identify gaps they are not exploiting
|
|
228
|
-
5. Recommend differentiated angles for attention, trust, and activation
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
## Delegation Patterns
|
|
233
|
-
|
|
234
|
-
When visual assets, brand systems, or campaign design are needed:
|
|
235
|
-
|
|
236
|
-
\`\`\`typescript
|
|
237
|
-
task(
|
|
238
|
-
category="visual-engineering",
|
|
239
|
-
load_skills=["frontend-ui-ux"],
|
|
240
|
-
description="Design campaign or launch assets for [initiative]",
|
|
241
|
-
prompt="...",
|
|
242
|
-
run_in_background=false
|
|
243
|
-
)
|
|
244
|
-
\`\`\`
|
|
245
|
-
|
|
246
|
-
When market data, community landscapes, or event inventories need external research:
|
|
247
|
-
|
|
248
|
-
\`\`\`typescript
|
|
249
|
-
task(
|
|
250
|
-
subagent_type="librarian",
|
|
251
|
-
load_skills=[],
|
|
252
|
-
description="Research [topic] for growth strategy",
|
|
253
|
-
prompt="...",
|
|
254
|
-
run_in_background=true
|
|
255
|
-
)
|
|
256
|
-
\`\`\`
|
|
257
|
-
|
|
258
|
-
When documentation needs deep drafting or migration-writing execution:
|
|
259
|
-
|
|
260
|
-
\`\`\`typescript
|
|
261
|
-
task(
|
|
262
|
-
category="unspecified-high",
|
|
263
|
-
load_skills=["technical-writer"],
|
|
264
|
-
description="Write developer-facing content for [topic]",
|
|
265
|
-
prompt="...",
|
|
266
|
-
run_in_background=false
|
|
267
|
-
)
|
|
268
|
-
\`\`\`
|
|
269
|
-
|
|
270
|
-
When implementation correctness of setup steps or code examples is uncertain:
|
|
271
|
-
|
|
272
|
-
\`\`\`typescript
|
|
273
|
-
task(
|
|
274
|
-
subagent_type="fullstack-wunderkind",
|
|
275
|
-
description="Verify developer-facing implementation details for [topic]",
|
|
276
|
-
prompt="...",
|
|
277
|
-
run_in_background=false
|
|
278
|
-
)
|
|
279
|
-
\`\`\`
|
|
280
|
-
|
|
281
|
-
When legal or regulatory review is required for a launch, claim, or public statement:
|
|
282
|
-
|
|
283
|
-
\`\`\`typescript
|
|
284
|
-
task(
|
|
285
|
-
subagent_type="legal-counsel",
|
|
286
|
-
description="Review legal question for [launch or claim]",
|
|
287
|
-
prompt="...",
|
|
288
|
-
run_in_background=false
|
|
289
|
-
)
|
|
290
|
-
\`\`\`
|
|
131
|
+
${slashCommandsSection}
|
|
291
132
|
|
|
292
133
|
---
|
|
293
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,
|
|
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;
|
|
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,
|
|
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,7 +40,7 @@ export function createProductWunderkindAgent(model) {
|
|
|
39
40
|
blockers: "dependency blocks, missing research, stakeholder misalignment",
|
|
40
41
|
});
|
|
41
42
|
const soulMaintenanceSection = buildSoulMaintenanceSection();
|
|
42
|
-
const
|
|
43
|
+
const slashCommandsSection = renderSlashCommandRegistry(RETAINED_AGENT_SLASH_COMMANDS["product-wunderkind"]);
|
|
43
44
|
return {
|
|
44
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.",
|
|
45
46
|
mode: MODE,
|
|
@@ -192,41 +193,8 @@ You bridge the gap between user insight and engineering reality. You're fluent i
|
|
|
192
193
|
|
|
193
194
|
---
|
|
194
195
|
|
|
195
|
-
|
|
196
|
+
${slashCommandsSection}
|
|
196
197
|
|
|
197
|
-
${slashCommandHelpSection}
|
|
198
|
-
|
|
199
|
-
Use these command intents as compact execution patterns:
|
|
200
|
-
|
|
201
|
-
- \`/breakdown <task>\` — delegate to \`agile-pm\` for concern-grouped, parallel-safe subtasks with exact file targets and dependency order.
|
|
202
|
-
- \`/sprint-plan\` — delegate to \`agile-pm\` for a sprint plan with points, file targets, dependencies, and stretch work.
|
|
203
|
-
- \`/prd <feature>\` — produce Context, Goals, Non-Goals, User Stories, Requirements, Open Questions, Success Metrics, and Timeline; then request a technical acceptance follow-up from \`fullstack-wunderkind\`.
|
|
204
|
-
- \`/okr-design <level> <objective>\` — refine the objective, propose 3-5 measurable KRs, validate alignment, and flag objective-vs-KR risks.
|
|
205
|
-
- \`/file-conflict-check\` — use \`agile-pm\` to build a file-to-task conflict matrix with severity and safe sequencing.
|
|
206
|
-
- \`/north-star <product>\` — identify the value moment, propose candidate metrics, choose the best one, map input metrics, and define review cadence.
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
## Sub-Skill Delegation
|
|
211
|
-
|
|
212
|
-
Keep these product-owned skills explicit and available for deep product work:
|
|
213
|
-
|
|
214
|
-
- \`grill-me\` for ambiguity collapse and requirement interrogation
|
|
215
|
-
- \`prd-pipeline\` for PRD -> plan -> execution handoff workflows
|
|
216
|
-
- \`ubiquitous-language\` for domain glossary and canonical terminology alignment
|
|
217
|
-
- \`triage-issue\` for structured issue intake, repro shaping, and backlog-ready handoff
|
|
218
|
-
|
|
219
|
-
Use \`agile-pm\` whenever the request needs sprint planning, backlog structuring, task decomposition, or file-conflict analysis.
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## Delegation Patterns
|
|
224
|
-
|
|
225
|
-
- Use \`librarian\` for competitor research, market data, and industry-report gathering.
|
|
226
|
-
- Use \`explore\` for codebase mapping before decomposition or acceptance review.
|
|
227
|
-
- Use \`writing\` for PRDs, specs, and long-form product documentation.
|
|
228
|
-
- Route campaign, launch, and funnel authority to \`marketing-wunderkind\`.
|
|
229
|
-
- Route technical follow-up after product intake to \`fullstack-wunderkind\` with the repro, severity, and expected behavior already framed.
|
|
230
198
|
---
|
|
231
199
|
|
|
232
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,
|
|
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,3 +1,4 @@
|
|
|
1
|
+
import type { SlashCommandRegistry } from "./slash-commands.js";
|
|
1
2
|
export declare function buildPersistentContextSection(options: {
|
|
2
3
|
learnings: string;
|
|
3
4
|
decisions: string;
|
|
@@ -5,4 +6,5 @@ export declare function buildPersistentContextSection(options: {
|
|
|
5
6
|
}): string;
|
|
6
7
|
export declare function buildSoulMaintenanceSection(): string;
|
|
7
8
|
export declare function buildSlashCommandHelpSection(): string;
|
|
9
|
+
export declare function renderSlashCommandRegistry(registry: SlashCommandRegistry): string;
|
|
8
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;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAKrD"}
|
|
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"}
|
|
@@ -33,4 +33,20 @@ export function buildSlashCommandHelpSection() {
|
|
|
33
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
34
|
- Prefer concise command contracts over long inline examples; keep the command body focused on intent, required inputs, and expected output.`;
|
|
35
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
|
+
}
|
|
36
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":"
|
|
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"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
export interface SlashCommandDefinition {
|
|
2
|
+
command: string;
|
|
3
|
+
summary: string;
|
|
4
|
+
details?: readonly string[];
|
|
5
|
+
}
|
|
6
|
+
export interface SlashCommandSection {
|
|
7
|
+
heading: string;
|
|
8
|
+
items: readonly string[];
|
|
9
|
+
}
|
|
10
|
+
export interface SlashCommandRegistry {
|
|
11
|
+
commands: readonly SlashCommandDefinition[];
|
|
12
|
+
sections?: readonly SlashCommandSection[];
|
|
13
|
+
}
|
|
14
|
+
export declare const RETAINED_AGENT_SLASH_COMMANDS: {
|
|
15
|
+
readonly "marketing-wunderkind": {
|
|
16
|
+
readonly commands: readonly [{
|
|
17
|
+
readonly command: "/gtm-plan <product>";
|
|
18
|
+
readonly summary: "Build a go-to-market plan for a product, feature, or release.";
|
|
19
|
+
readonly details: readonly ["Define audience segments, positioning, journey stages, channel mix, launch assets, and measurement.", "Include docs, onboarding, or migration dependencies needed for adoption."];
|
|
20
|
+
}, {
|
|
21
|
+
readonly command: "/content-calendar <platform> <period>";
|
|
22
|
+
readonly summary: "Generate a platform-specific content calendar.";
|
|
23
|
+
readonly details: readonly ["Use `social-media-maven` for channel-native plans, posting cadence, themes, and copy scaffolding."];
|
|
24
|
+
}, {
|
|
25
|
+
readonly command: "/community-audit";
|
|
26
|
+
readonly summary: "Audit community presence across owned and external channels.";
|
|
27
|
+
}, {
|
|
28
|
+
readonly command: "/thought-leadership-plan <quarter>";
|
|
29
|
+
readonly summary: "Plan quarterly narrative pillars, channels, authors, and amplification motions.";
|
|
30
|
+
}, {
|
|
31
|
+
readonly command: "/docs-launch-brief <release>";
|
|
32
|
+
readonly summary: "Plan the audience-facing launch package for a technical release.";
|
|
33
|
+
readonly details: readonly ["Use `technical-writer` when the work becomes deep developer-documentation drafting."];
|
|
34
|
+
}, {
|
|
35
|
+
readonly command: "/dx-audit";
|
|
36
|
+
readonly summary: "Audit the first-run audience experience for a technical product and identify the smallest adoption fixes.";
|
|
37
|
+
}, {
|
|
38
|
+
readonly command: "/competitor-analysis <competitors>";
|
|
39
|
+
readonly summary: "Compare competitor positioning, launch patterns, docs support, and adoption strategy.";
|
|
40
|
+
}];
|
|
41
|
+
readonly sections: readonly [{
|
|
42
|
+
readonly heading: "Delegation Patterns";
|
|
43
|
+
readonly items: readonly ["Use `visual-engineering` for campaign design, launch visuals, and brand-system execution.", "Use `librarian` for market research, event inventories, and external trend gathering.", "Use `technical-writer` for deep developer-facing docs or migration-writing execution.", "Use `fullstack-wunderkind` to verify technical setup steps or code-example correctness.", "Use `legal-counsel` for launch, claim, or regulatory review that needs legal authority."];
|
|
44
|
+
}];
|
|
45
|
+
};
|
|
46
|
+
readonly "creative-director": {
|
|
47
|
+
readonly commands: readonly [{
|
|
48
|
+
readonly command: "/brand-identity <brief>";
|
|
49
|
+
readonly summary: "Develop a brand identity system from a creative brief.";
|
|
50
|
+
readonly details: readonly ["Use `visual-artist` for palette generation, token export, and WCAG auditing."];
|
|
51
|
+
}, {
|
|
52
|
+
readonly command: "/design-audit <url>";
|
|
53
|
+
readonly summary: "Run a rigorous design and accessibility audit of a live page or design.";
|
|
54
|
+
readonly details: readonly ["Use `agent-browser` to capture screenshots, axe violations, and computed-style evidence."];
|
|
55
|
+
}, {
|
|
56
|
+
readonly command: "/generate-palette <seed>";
|
|
57
|
+
readonly summary: "Generate an accessible color system from a seed color.";
|
|
58
|
+
readonly details: readonly ["Use `visual-artist` for palette math, token export, and WCAG checks."];
|
|
59
|
+
}, {
|
|
60
|
+
readonly command: "/design-system-review";
|
|
61
|
+
readonly summary: "Audit an existing design system for consistency, gaps, redundancies, and token drift.";
|
|
62
|
+
}, {
|
|
63
|
+
readonly command: "/creative-brief <project>";
|
|
64
|
+
readonly summary: "Write a creative brief covering audience, objective, deliverables, constraints, and success criteria.";
|
|
65
|
+
}];
|
|
66
|
+
readonly sections: readonly [{
|
|
67
|
+
readonly heading: "Sub-Skill Delegation";
|
|
68
|
+
readonly items: readonly ["Use `visual-artist` for detailed color systems, design tokens, and WCAG-focused palette work."];
|
|
69
|
+
}, {
|
|
70
|
+
readonly heading: "Delegation Patterns";
|
|
71
|
+
readonly items: readonly ["Use `visual-engineering` for implementing designs in code.", "Use `agent-browser` for browser-based design capture or audit data.", "Use `writing` for long-form brand copy, taglines, or UX-writing production at scale."];
|
|
72
|
+
}];
|
|
73
|
+
};
|
|
74
|
+
readonly "product-wunderkind": {
|
|
75
|
+
readonly commands: readonly [{
|
|
76
|
+
readonly command: "/breakdown <task>";
|
|
77
|
+
readonly summary: "Delegate to `agile-pm` for concern-grouped, parallel-safe subtasks with file targets and dependency order.";
|
|
78
|
+
}, {
|
|
79
|
+
readonly command: "/sprint-plan";
|
|
80
|
+
readonly summary: "Delegate to `agile-pm` for a sprint plan with points, file targets, dependencies, and stretch work.";
|
|
81
|
+
}, {
|
|
82
|
+
readonly command: "/prd <feature>";
|
|
83
|
+
readonly summary: "Produce Context, Goals, Non-Goals, User Stories, Requirements, Open Questions, Success Metrics, and Timeline.";
|
|
84
|
+
readonly details: readonly ["After drafting, request a technical acceptance follow-up from `fullstack-wunderkind`."];
|
|
85
|
+
}, {
|
|
86
|
+
readonly command: "/okr-design <level> <objective>";
|
|
87
|
+
readonly summary: "Refine the objective, propose measurable KRs, validate alignment, and flag objective-vs-KR risks.";
|
|
88
|
+
}, {
|
|
89
|
+
readonly command: "/file-conflict-check";
|
|
90
|
+
readonly summary: "Use `agile-pm` to build a file-to-task conflict matrix with severity and safe sequencing.";
|
|
91
|
+
}, {
|
|
92
|
+
readonly command: "/north-star <product>";
|
|
93
|
+
readonly summary: "Identify the value moment, propose candidate metrics, choose the best one, and map input metrics plus cadence.";
|
|
94
|
+
}];
|
|
95
|
+
readonly sections: readonly [{
|
|
96
|
+
readonly heading: "Sub-Skill Delegation";
|
|
97
|
+
readonly items: readonly ["Keep `grill-me`, `prd-pipeline`, `ubiquitous-language`, and `triage-issue` explicit for deep product work.", "Use `agile-pm` whenever the request needs sprint planning, backlog structuring, task decomposition, or file-conflict analysis."];
|
|
98
|
+
}, {
|
|
99
|
+
readonly heading: "Delegation Patterns";
|
|
100
|
+
readonly items: readonly ["Use `librarian` for competitor research, market data, and industry-report gathering.", "Use `explore` for codebase mapping before decomposition or acceptance review.", "Use `writing` for PRDs, specs, and long-form product documentation.", "Route campaign, launch, and funnel authority to `marketing-wunderkind`.", "Route technical follow-up after product intake to `fullstack-wunderkind` with the repro, severity, and expected behavior already framed."];
|
|
101
|
+
}];
|
|
102
|
+
};
|
|
103
|
+
readonly "fullstack-wunderkind": {
|
|
104
|
+
readonly commands: readonly [{
|
|
105
|
+
readonly command: "/validate-page <url>";
|
|
106
|
+
readonly summary: "Run a browser-backed audit for accessibility, CWV, console errors, broken links, and a screenshot.";
|
|
107
|
+
readonly details: readonly ["Return a CWV table with measured vs target values (`LCP < 2.5s`, `CLS < 0.1`, `FCP < 1.8s`, `TTFB < 800ms`) plus raw violations and errors."];
|
|
108
|
+
}, {
|
|
109
|
+
readonly command: "/bundle-analyze";
|
|
110
|
+
readonly summary: "Use `vercel-architect` to identify largest chunks, heavy dependencies, and concrete replacement opportunities.";
|
|
111
|
+
}, {
|
|
112
|
+
readonly command: "/db-audit";
|
|
113
|
+
readonly summary: "Use `db-architect` for schema, index, migration-drift, and slow-query review; report destructive actions without executing them.";
|
|
114
|
+
}, {
|
|
115
|
+
readonly command: "/edge-vs-node <filepath>";
|
|
116
|
+
readonly summary: "Use `vercel-architect` to decide runtime compatibility and explain blockers.";
|
|
117
|
+
}, {
|
|
118
|
+
readonly command: "/security-audit";
|
|
119
|
+
readonly summary: "Escalate comprehensive OWASP and security-control review to `ciso`.";
|
|
120
|
+
}, {
|
|
121
|
+
readonly command: "/architecture-review <component>";
|
|
122
|
+
readonly summary: "Assess separation of concerns, coupling, traps, and minimal refactor steps with effort and risk.";
|
|
123
|
+
}, {
|
|
124
|
+
readonly command: "/supportability-review <service>";
|
|
125
|
+
readonly summary: "Review observability, rollback readiness, on-call ownership, and launch blockers.";
|
|
126
|
+
}, {
|
|
127
|
+
readonly command: "/runbook <service> <alert>";
|
|
128
|
+
readonly summary: "Translate the alert into blast radius, triage steps, root-cause branches, success checks, and escalation conditions.";
|
|
129
|
+
}];
|
|
130
|
+
readonly sections: readonly [{
|
|
131
|
+
readonly heading: "Sub-Skill Delegation";
|
|
132
|
+
readonly items: readonly ["Use `tdd` for red-green-refactor loops, regression hardening, and defect-driven delivery.", "Use `vercel-architect` for Vercel, App Router, Edge runtime, Neon branching, and performance work.", "Use `db-architect` for schema design, query analysis, migrations, and index auditing."];
|
|
133
|
+
}, {
|
|
134
|
+
readonly heading: "Delegation Patterns";
|
|
135
|
+
readonly items: readonly ["Use `visual-engineering` for UI implementation and coded visual work.", "Use `agent-browser` for browser automation, E2E capture, and page validation.", "Use `explore` for codebase mapping and `librarian` for external library/documentation research.", "Use `git-master` for git operations and `technical-writer` for external developer docs or tutorials."];
|
|
136
|
+
}];
|
|
137
|
+
};
|
|
138
|
+
readonly ciso: {
|
|
139
|
+
readonly commands: readonly [{
|
|
140
|
+
readonly command: "/threat-model <system or feature>";
|
|
141
|
+
readonly summary: "Build a STRIDE threat model, rate risks, map mitigations, and use `security-analyst` for deeper assessment.";
|
|
142
|
+
}, {
|
|
143
|
+
readonly command: "/security-audit <scope>";
|
|
144
|
+
readonly summary: "Review OWASP coverage, auth, authorization, validation, secrets, headers, and dependency risk; use `pen-tester` when active testing is required.";
|
|
145
|
+
}, {
|
|
146
|
+
readonly command: "/compliance-check <regulation>";
|
|
147
|
+
readonly summary: "Use `compliance-officer` to assess obligations and evidence gaps against a named regulation.";
|
|
148
|
+
}, {
|
|
149
|
+
readonly command: "/incident-response <incident type>";
|
|
150
|
+
readonly summary: "Run contain/assess/notify/eradicate/recover/learn, delegate operational containment to `fullstack-wunderkind`, and use `compliance-officer` before routing formal wording to `legal-counsel`.";
|
|
151
|
+
}, {
|
|
152
|
+
readonly command: "/security-headers-check <url>";
|
|
153
|
+
readonly summary: "Use `agent-browser` to capture headers and report missing or misconfigured controls.";
|
|
154
|
+
}, {
|
|
155
|
+
readonly command: "/dependency-audit";
|
|
156
|
+
readonly summary: "Run a vulnerability audit and return severity-ranked package findings with recommended action.";
|
|
157
|
+
}];
|
|
158
|
+
readonly sections: readonly [{
|
|
159
|
+
readonly heading: "Sub-Skill Delegation";
|
|
160
|
+
readonly items: readonly ["Use `security-analyst` for vulnerability assessment, OWASP analysis, code review, and auth testing.", "Use `pen-tester` for active testing, attack simulation, ASVS checks, auth-flow abuse, and force browsing.", "Use `compliance-officer` for GDPR/POPIA work, data classification, consent handling, and breach notification obligations."];
|
|
161
|
+
}, {
|
|
162
|
+
readonly heading: "Delegation Patterns";
|
|
163
|
+
readonly items: readonly ["Route OSS licensing, TOS/Privacy Policy, DPAs, CLAs, and contract-review work to `legal-counsel`."];
|
|
164
|
+
}];
|
|
165
|
+
};
|
|
166
|
+
readonly "legal-counsel": {
|
|
167
|
+
readonly commands: readonly [{
|
|
168
|
+
readonly command: "/license-audit";
|
|
169
|
+
readonly summary: "Audit dependency licenses for compatibility, copyleft risk, and remediation options.";
|
|
170
|
+
}, {
|
|
171
|
+
readonly command: "/draft-tos <product>";
|
|
172
|
+
readonly summary: "Draft a Terms of Service using the active region and regulation context.";
|
|
173
|
+
}, {
|
|
174
|
+
readonly command: "/draft-privacy-policy";
|
|
175
|
+
readonly summary: "Draft a Privacy Policy that reflects the active primary regulation.";
|
|
176
|
+
}, {
|
|
177
|
+
readonly command: "/review-contract <type>";
|
|
178
|
+
readonly summary: "Review a contract excerpt for red flags, risk level, and alternative language.";
|
|
179
|
+
}, {
|
|
180
|
+
readonly command: "/cla-setup";
|
|
181
|
+
readonly summary: "Recommend CLA vs DCO and draft the chosen contribution-ownership path.";
|
|
182
|
+
}];
|
|
183
|
+
readonly sections: readonly [{
|
|
184
|
+
readonly heading: "Delegation Patterns";
|
|
185
|
+
readonly items: readonly ["Escalate technical security controls or audit evidence to `ciso`.", "Escalate incident-response execution or SLO breach handling to `fullstack-wunderkind`.", "Legal Counsel stays advisory and does not delegate through sub-skills."];
|
|
186
|
+
}];
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
//# sourceMappingURL=slash-commands.d.ts.map
|
|
@@ -0,0 +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,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgRhC,CAAA"}
|