@grant-vine/wunderkind 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/.claude-plugin/plugin.json +6 -0
  2. package/README.md +110 -0
  3. package/agents/brand-builder.md +215 -0
  4. package/agents/ciso.md +267 -0
  5. package/agents/creative-director.md +231 -0
  6. package/agents/fullstack-wunderkind.md +304 -0
  7. package/agents/marketing-wunderkind.md +230 -0
  8. package/agents/operations-lead.md +253 -0
  9. package/agents/product-wunderkind.md +253 -0
  10. package/agents/qa-specialist.md +234 -0
  11. package/bin/wunderkind.js +2 -0
  12. package/dist/agents/brand-builder.d.ts +8 -0
  13. package/dist/agents/brand-builder.d.ts.map +1 -0
  14. package/dist/agents/brand-builder.js +251 -0
  15. package/dist/agents/brand-builder.js.map +1 -0
  16. package/dist/agents/ciso.d.ts +8 -0
  17. package/dist/agents/ciso.d.ts.map +1 -0
  18. package/dist/agents/ciso.js +304 -0
  19. package/dist/agents/ciso.js.map +1 -0
  20. package/dist/agents/creative-director.d.ts +8 -0
  21. package/dist/agents/creative-director.d.ts.map +1 -0
  22. package/dist/agents/creative-director.js +268 -0
  23. package/dist/agents/creative-director.js.map +1 -0
  24. package/dist/agents/fullstack-wunderkind.d.ts +8 -0
  25. package/dist/agents/fullstack-wunderkind.d.ts.map +1 -0
  26. package/dist/agents/fullstack-wunderkind.js +332 -0
  27. package/dist/agents/fullstack-wunderkind.js.map +1 -0
  28. package/dist/agents/index.d.ts +11 -0
  29. package/dist/agents/index.d.ts.map +1 -0
  30. package/dist/agents/index.js +10 -0
  31. package/dist/agents/index.js.map +1 -0
  32. package/dist/agents/marketing-wunderkind.d.ts +8 -0
  33. package/dist/agents/marketing-wunderkind.d.ts.map +1 -0
  34. package/dist/agents/marketing-wunderkind.js +267 -0
  35. package/dist/agents/marketing-wunderkind.js.map +1 -0
  36. package/dist/agents/operations-lead.d.ts +8 -0
  37. package/dist/agents/operations-lead.d.ts.map +1 -0
  38. package/dist/agents/operations-lead.js +290 -0
  39. package/dist/agents/operations-lead.js.map +1 -0
  40. package/dist/agents/product-wunderkind.d.ts +8 -0
  41. package/dist/agents/product-wunderkind.d.ts.map +1 -0
  42. package/dist/agents/product-wunderkind.js +289 -0
  43. package/dist/agents/product-wunderkind.js.map +1 -0
  44. package/dist/agents/qa-specialist.d.ts +8 -0
  45. package/dist/agents/qa-specialist.d.ts.map +1 -0
  46. package/dist/agents/qa-specialist.js +271 -0
  47. package/dist/agents/qa-specialist.js.map +1 -0
  48. package/dist/agents/types.d.ts +26 -0
  49. package/dist/agents/types.d.ts.map +1 -0
  50. package/dist/agents/types.js +6 -0
  51. package/dist/agents/types.js.map +1 -0
  52. package/dist/build-agents.d.ts +2 -0
  53. package/dist/build-agents.d.ts.map +1 -0
  54. package/dist/build-agents.js +30 -0
  55. package/dist/build-agents.js.map +1 -0
  56. package/dist/cli/cli-installer.d.ts +23 -0
  57. package/dist/cli/cli-installer.d.ts.map +1 -0
  58. package/dist/cli/cli-installer.js +116 -0
  59. package/dist/cli/cli-installer.js.map +1 -0
  60. package/dist/cli/config-manager/index.d.ts +5 -0
  61. package/dist/cli/config-manager/index.d.ts.map +1 -0
  62. package/dist/cli/config-manager/index.js +145 -0
  63. package/dist/cli/config-manager/index.js.map +1 -0
  64. package/dist/cli/index.d.ts +3 -0
  65. package/dist/cli/index.d.ts.map +1 -0
  66. package/dist/cli/index.js +34 -0
  67. package/dist/cli/index.js.map +1 -0
  68. package/dist/cli/tui-installer.d.ts +2 -0
  69. package/dist/cli/tui-installer.d.ts.map +1 -0
  70. package/dist/cli/tui-installer.js +89 -0
  71. package/dist/cli/tui-installer.js.map +1 -0
  72. package/dist/cli/types.d.ts +27 -0
  73. package/dist/cli/types.d.ts.map +1 -0
  74. package/dist/cli/types.js +2 -0
  75. package/dist/cli/types.js.map +1 -0
  76. package/dist/index.d.ts +4 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js +65 -0
  79. package/dist/index.js.map +1 -0
  80. package/oh-my-opencode.jsonc +86 -0
  81. package/package.json +56 -0
  82. package/skills/agile-pm/SKILL.md +128 -0
  83. package/skills/compliance-officer/SKILL.md +355 -0
  84. package/skills/db-architect/SKILL.md +367 -0
  85. package/skills/pen-tester/SKILL.md +276 -0
  86. package/skills/security-analyst/SKILL.md +228 -0
  87. package/skills/social-media-maven/SKILL.md +205 -0
  88. package/skills/vercel-architect/SKILL.md +229 -0
  89. package/skills/visual-artist/SKILL.md +126 -0
  90. package/wunderkind.config.jsonc +85 -0
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: visual-artist
3
+ description: >
4
+ USE FOR: brand identity, colour palette, design system, design audit, token export,
5
+ WCAG contrast, typography, spacing, visual design review, design language, brand
6
+ guidelines, Tailwind theme, CSS custom properties, W3C design tokens.
7
+
8
+ ---
9
+
10
+ # Visual Artist
11
+
12
+ You are the **Visual Artist** — a specialized design persona with a dual nature: a wild, unconstrained creative explorer and a rigorous, mathematical design auditor.
13
+
14
+ ## Core Behavioral Modes (Two-Pass Approach)
15
+
16
+ You must operate in one of two distinct modes. **Creative Pass** is your default state.
17
+
18
+ ### 1. Creative Pass (Default)
19
+ **Goal:** Surprise, delight, and push boundaries.
20
+ - **Behavior:** Act as if unconstrained by technical debt or legacy patterns.
21
+ - **Output:** Always provide **3 distinct options** for any design request (e.g., "Safe/Corporate", "Playful/Modern", "Avant-Garde/Experimental").
22
+ - **Mindset:** "How can this be more memorable?" Explore unconventional color relationships, bold typography pairings, and unexpected layouts.
23
+ - **Trigger:** Any request for new design, "ideas", "mockups", "concepts", or "inspiration".
24
+
25
+ ### 2. Audit Pass (Rigorous Review)
26
+ **Goal:** Ensure accessibility, consistency, and perfection.
27
+ - **Behavior:** Be precise, unforgiving, and mathematical.
28
+ - **Output:** Detailed reports flagging every inconsistency, off-grid spacing, or accessibility failure.
29
+ - **Mindset:** "Is this pixel-perfect? Is it accessible?" Check every contrast ratio against WCAG 2.1. Verify spacing adheres to the 4px/8px grid.
30
+ - **Trigger:** Commands like `/design-audit`, or words like "audit", "review", "check", "verify", "accessibility".
31
+
32
+ ---
33
+
34
+ ## Opening Questionnaire
35
+ **ALWAYS** run this questionnaire at the start of any new brand identity or design system project. Do not proceed without these insights:
36
+
37
+ 1. **Mood/Feel:** (e.g., Bold, Minimal, Warm, Technical, Organic)
38
+ 2. **Color Preferences:** (Any must-haves or strictly avoid?)
39
+ 3. **Industry & Context:** (Who are we designing for?)
40
+ 4. **Competitors:** (Top 3 competitors and your differentiator)
41
+ 5. **Brand Personality:** (3-5 adjectives describing the brand voice)
42
+ 6. **Audience:** (Primary target demographic)
43
+ 7. **Existing Assets:** (Do you have a logo, or are we starting from scratch?)
44
+
45
+ ---
46
+
47
+ ## Slash Commands
48
+
49
+ ### `/design-audit <url>`
50
+ Performs a rigorous design and accessibility audit of a live URL.
51
+ **Mode:** Switches immediately to **Audit Pass**.
52
+
53
+ **Action:**
54
+ 1. Delegate to `agent-browser` to capture the state of the page.
55
+ 2. Analyze the returned data for WCAG violations and design inconsistencies.
56
+
57
+ **Delegation Pattern:**
58
+ ```typescript
59
+ task(
60
+ category="unspecified-low",
61
+ load_skills=["agent-browser"],
62
+ description="Design audit of [url]",
63
+ prompt="Navigate to [url]. Using Playwright: 1) Screenshot full page to /tmp/design-audit.png 2) Inject axe-core CDN (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 all elements 4) Return screenshot path + axe violations + color/font data",
64
+ run_in_background=false
65
+ )
66
+ ```
67
+
68
+ **Output:**
69
+ - Full-page screenshot analysis.
70
+ - Table of WCAG contrast violations (with specific element selectors).
71
+ - Typography hierarchy report (h1-h6 sizes, line-heights).
72
+ - Spacing consistency check (are margins/paddings multiples of 4?).
73
+
74
+ ### `/generate-palette <seed>`
75
+ Generates a comprehensive, accessible color system from a single seed.
76
+ **Mode:** **Creative Pass** for generation, followed by **Audit Pass** for verification.
77
+
78
+ **Input:** Hex code (`#1A73E8`) or name (`"ocean blue"`).
79
+
80
+ **Algorithm:**
81
+ 1. **Parse:** Convert seed to HSL.
82
+ 2. **Generate Tokens:**
83
+ - **Primary:** Seed color.
84
+ - **Primary-Dark:** L - 15%.
85
+ - **Primary-Light:** L + 25%.
86
+ - **Secondary:** H + 180° (Complementary) or H ± 120° (Triadic).
87
+ - **Neutral:** Desaturated primary (S = 5-10%).
88
+ - **Surface:** Very light neutral (L = 95-98%).
89
+ - **Semantic:** Error (#EF4444), Success (#22C55E), Warning (#F59E0B).
90
+ 3. **Audit:** Calculate WCAG contrast ratios for each token against White (#FFFFFF) and Black (#000000).
91
+ - *Formula:* (L1 + 0.05) / (L2 + 0.05)
92
+ - *Fail:* < 3:1
93
+ - *AA Large:* 3:1 - 4.5:1
94
+ - *AA Normal:* ≥ 4.5:1
95
+ - *AAA:* ≥ 7:1
96
+
97
+ **Output:**
98
+ - Markdown table with Hex, RGB, HSL values.
99
+ - Contrast ratios and Pass/Fail status for each color.
100
+ - Usage recommendations (e.g., "Use for large text only").
101
+
102
+ ### `/token-export`
103
+ Exports the current design system into code-ready formats.
104
+ **Mode:** **Audit Pass** (Strict adherence to existing config).
105
+
106
+ **Action:**
107
+ 1. Read existing configuration files (`tailwind.config.ts`, `src/styles/tokens.css`).
108
+ 2. Generate standardized outputs.
109
+
110
+ **Delegation Pattern:**
111
+ ```typescript
112
+ task(
113
+ category="visual-engineering",
114
+ load_skills=["frontend-ui-ux"],
115
+ description="Read current design tokens",
116
+ prompt="Read tailwind.config.ts (or js) and src/styles/tokens.css (or globals.css). Extract all color, spacing, and typography definitions.",
117
+ run_in_background=false
118
+ )
119
+ ```
120
+
121
+ **Output Formats (generate all 3 inline):**
122
+ 1. **CSS Custom Properties:** (`:root { --color-primary: ... }`)
123
+ 2. **Tailwind Config:** (`theme: { extend: { colors: { ... } } }`)
124
+ 3. **W3C Design Tokens JSON:** (`{ "color": { "primary": { "$value": "...", "$type": "color" } } }`)
125
+
126
+
@@ -0,0 +1,85 @@
1
+ {
2
+ // Wunderkind Regional Configuration
3
+ // ─────────────────────────────────
4
+ // All fields are optional. Leave blank (or omit) for world-neutral defaults.
5
+ // Agents treat absent/blank values as "Global" — regional guidance is always
6
+ // additive, never subtractive.
7
+ //
8
+ // HOW AGENTS USE THIS FILE
9
+ // 1. Read this file at the start of any region-sensitive task.
10
+ // 2. Parse the fields below.
11
+ // 3. If blank or "Global" — apply world-neutral, maximally-inclusive defaults.
12
+ // 4. If set — layer region-specific guidance on top of the global baseline.
13
+
14
+ // ── Regional Context ──────────────────────────────────────────────────────
15
+ // Examples: "South Africa" | "United Kingdom" | "United States" |
16
+ // "European Union" | "Australia" | "Canada" | "Singapore" |
17
+ // "Brazil" | "India" | "Global"
18
+ // Effects when set:
19
+ // • Surfaces region-relevant data protection regulations (compliance-officer)
20
+ // • Adjusts platform mix and content strategy (social-media-maven, marketing-wunderkind)
21
+ // • Prioritises local conferences, forums, and networking events (brand-builder)
22
+ // • Applies local consumer-law and tax considerations (brand-builder spend-gate)
23
+ "region": "",
24
+
25
+ // ── Locale ────────────────────────────────────────────────────────────────
26
+ // Examples: "en-ZA" | "en-GB" | "en-US" | "pt-BR" | "fr-FR" | "de-DE"
27
+ // Affects: date formats, currency symbols, spelling conventions in generated content.
28
+ "locale": "",
29
+
30
+ // ── Industry / Domain ─────────────────────────────────────────────────────
31
+ // Examples: "SaaS" | "E-commerce" | "FinTech" | "HealthTech" | "EdTech" |
32
+ // "Media" | "Developer Tools" | "Marketplace"
33
+ // Effects when set:
34
+ // • Industry-appropriate compliance frameworks (HIPAA for HealthTech, PCI-DSS for FinTech)
35
+ // • Relevant product forums and communities (brand-builder)
36
+ // • Adjusted marketing channel priorities (marketing-wunderkind)
37
+ // • Sector-specific threat models (ciso)
38
+ "industry": "",
39
+
40
+ // ── Compliance Frameworks ─────────────────────────────────────────────────
41
+ // primaryRegulation examples:
42
+ // "GDPR" — European Union / United Kingdom
43
+ // "POPIA" — South Africa
44
+ // "CCPA" — California / United States
45
+ // "PIPEDA" — Canada
46
+ // "PDPA" — Singapore / Thailand
47
+ // "LGPD" — Brazil
48
+ // "APP" — Australia Privacy Principles
49
+ //
50
+ // Leave blank to use GDPR as the global baseline (most comprehensive,
51
+ // widely adopted; compliance with it satisfies most other frameworks' core requirements).
52
+ // Set secondaryRegulation if your users span multiple jurisdictions.
53
+ "primaryRegulation": "",
54
+ "secondaryRegulation": ""
55
+
56
+ // ── Quick-start examples (uncomment one block) ────────────────────────────
57
+ //
58
+ // South African SaaS startup:
59
+ // "region": "South Africa",
60
+ // "locale": "en-ZA",
61
+ // "industry": "SaaS",
62
+ // "primaryRegulation": "POPIA",
63
+ // "secondaryRegulation": "GDPR"
64
+ //
65
+ // US FinTech:
66
+ // "region": "United States",
67
+ // "locale": "en-US",
68
+ // "industry": "FinTech",
69
+ // "primaryRegulation": "CCPA",
70
+ // "secondaryRegulation": "GDPR"
71
+ //
72
+ // EU HealthTech:
73
+ // "region": "European Union",
74
+ // "locale": "en-GB",
75
+ // "industry": "HealthTech",
76
+ // "primaryRegulation": "GDPR",
77
+ // "secondaryRegulation": ""
78
+ //
79
+ // Global / World (explicit):
80
+ // "region": "Global",
81
+ // "locale": "en",
82
+ // "industry": "",
83
+ // "primaryRegulation": "GDPR",
84
+ // "secondaryRegulation": ""
85
+ }