start-vibing 4.1.0 → 4.1.2

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 (72) hide show
  1. package/package.json +1 -1
  2. package/template/.claude/CLAUDE.md +86 -20
  3. package/template/.claude/agents/sd-audit.md +197 -0
  4. package/template/.claude/agents/sd-fix-verify-semantic.md +112 -0
  5. package/template/.claude/agents/sd-fix-verify-technical.md +36 -0
  6. package/template/.claude/agents/sd-fix.md +194 -0
  7. package/template/.claude/agents/sd-research.md +61 -0
  8. package/template/.claude/agents/sd-synthesis.md +74 -0
  9. package/template/.claude/commands/super-design.md +15 -0
  10. package/template/.claude/hooks/super-design-session-start.sh +4 -0
  11. package/template/.claude/settings.json +14 -0
  12. package/template/.claude/skills/codebase-knowledge/SKILL.md +145 -0
  13. package/template/.claude/skills/codebase-knowledge/TEMPLATE.md +35 -0
  14. package/template/.claude/skills/codebase-knowledge/domains/claude-system.md +93 -0
  15. package/template/.claude/skills/composition-patterns/SKILL.md +89 -0
  16. package/template/.claude/skills/docs-tracker/SKILL.md +239 -0
  17. package/template/.claude/skills/mcp-builder/SKILL.md +236 -0
  18. package/template/.claude/skills/quality-gate/scripts/check-all.sh +83 -0
  19. package/template/.claude/skills/react-best-practices/SKILL.md +146 -0
  20. package/template/.claude/skills/security-scan/reference/owasp-top-10.md +257 -0
  21. package/template/.claude/skills/security-scan/scripts/scan.py +190 -0
  22. package/template/.claude/skills/super-design/README.md +37 -0
  23. package/template/.claude/skills/super-design/SKILL.md +105 -0
  24. package/template/.claude/skills/super-design/hooks/guard-paths.py +35 -0
  25. package/template/.claude/skills/super-design/hooks/post-edit-lint.py +57 -0
  26. package/template/.claude/skills/super-design/references/audit-methodology.md +513 -0
  27. package/template/.claude/skills/super-design/references/change-detection-playbook.md +1432 -0
  28. package/template/.claude/skills/super-design/references/design-theory.md +706 -0
  29. package/template/.claude/skills/super-design/references/fix-agent-playbook.md +118 -0
  30. package/template/.claude/skills/super-design/references/market-research-playbook.md +773 -0
  31. package/template/.claude/skills/super-design/references/playwright-mcp-reference.md +1057 -0
  32. package/template/.claude/skills/super-design/references/skills-subagents-reference.md +784 -0
  33. package/template/.claude/skills/super-design/references/superpowers-and-distribution.md +136 -0
  34. package/template/.claude/skills/super-design/scripts/detect-changes.sh +61 -0
  35. package/template/.claude/skills/super-design/scripts/diff-tokens.sh +13 -0
  36. package/template/.claude/skills/super-design/scripts/discover-routes.sh +45 -0
  37. package/template/.claude/skills/super-design/scripts/extract-tokens.mjs +41 -0
  38. package/template/.claude/skills/super-design/scripts/hash-pages.sh +42 -0
  39. package/template/.claude/skills/super-design/scripts/validate-state.sh +15 -0
  40. package/template/.claude/skills/super-design/scripts/verify-audit.sh +19 -0
  41. package/template/.claude/skills/super-design/templates/audit-state.schema.json +57 -0
  42. package/template/.claude/skills/super-design/templates/findings.schema.json +57 -0
  43. package/template/.claude/skills/super-design/templates/fix-history.md.tpl +26 -0
  44. package/template/.claude/skills/super-design/templates/overview.md.tpl +52 -0
  45. package/template/.claude/skills/test-coverage/reference/playwright-patterns.md +260 -0
  46. package/template/.claude/skills/test-coverage/scripts/coverage-check.sh +52 -0
  47. package/template/.claude/skills/typeui-ant/SKILL.md +133 -0
  48. package/template/.claude/skills/typeui-application/SKILL.md +128 -0
  49. package/template/.claude/skills/typeui-artistic/SKILL.md +133 -0
  50. package/template/.claude/skills/typeui-bento/SKILL.md +127 -0
  51. package/template/.claude/skills/typeui-bold/SKILL.md +127 -0
  52. package/template/.claude/skills/typeui-clean/SKILL.md +128 -0
  53. package/template/.claude/skills/typeui-dashboard/SKILL.md +133 -0
  54. package/template/.claude/skills/typeui-doodle/SKILL.md +142 -0
  55. package/template/.claude/skills/typeui-dramatic/SKILL.md +127 -0
  56. package/template/.claude/skills/typeui-enterprise/SKILL.md +132 -0
  57. package/template/.claude/skills/typeui-neobrutalism/SKILL.md +127 -0
  58. package/template/.claude/skills/typeui-paper/SKILL.md +127 -0
  59. package/template/.claude/skills/ui-ux-audit/QUICK-START.md +450 -0
  60. package/template/.claude/skills/ui-ux-audit/README.md +470 -0
  61. package/template/.claude/skills/ui-ux-audit/templates/audit-report.md +591 -0
  62. package/template/.claude/skills/ui-ux-audit/templates/competitor-analysis.md +363 -0
  63. package/template/.claude/skills/ui-ux-audit/templates/component-spec.md +491 -0
  64. package/template/.claude/skills/ui-ux-audit/templates/improvement-recommendation.md +450 -0
  65. package/template/.claude/skills/web-design-guidelines/SKILL.md +39 -0
  66. package/template/.claude/skills/webapp-testing/SKILL.md +96 -0
  67. package/template/.claude/skills/workflow-state/workflow-state.json +77 -0
  68. package/template/.claude/config/README.md +0 -27
  69. package/template/.claude/config/project-config.json +0 -53
  70. package/template/.claude/config/quality-gates.json +0 -46
  71. package/template/.claude/config/security-rules.json +0 -45
  72. package/template/.claude/config/testing-config.json +0 -164
@@ -0,0 +1,260 @@
1
+ # Playwright E2E Testing Patterns
2
+
3
+ ## Page Object Model (POM)
4
+
5
+ ### Base Page
6
+
7
+ ```typescript
8
+ // tests/e2e/pages/base.page.ts
9
+ import { Page, Locator } from '@playwright/test';
10
+
11
+ export abstract class BasePage {
12
+ readonly page: Page;
13
+
14
+ constructor(page: Page) {
15
+ this.page = page;
16
+ }
17
+
18
+ async goto(path: string): Promise<void> {
19
+ await this.page.goto(path);
20
+ }
21
+
22
+ async waitForLoad(): Promise<void> {
23
+ await this.page.waitForLoadState('networkidle');
24
+ }
25
+
26
+ getByTestId(id: string): Locator {
27
+ return this.page.getByTestId(id);
28
+ }
29
+
30
+ async takeScreenshot(name: string): Promise<void> {
31
+ await this.page.screenshot({ path: `screenshots/${name}.png` });
32
+ }
33
+ }
34
+ ```
35
+
36
+ ### Specific Page
37
+
38
+ ```typescript
39
+ // tests/e2e/pages/login.page.ts
40
+ import { BasePage } from './base.page';
41
+
42
+ export class LoginPage extends BasePage {
43
+ readonly emailInput = this.getByTestId('email-input');
44
+ readonly passwordInput = this.getByTestId('password-input');
45
+ readonly submitButton = this.getByTestId('submit-button');
46
+ readonly errorMessage = this.getByTestId('error-message');
47
+
48
+ async login(email: string, password: string): Promise<void> {
49
+ await this.emailInput.fill(email);
50
+ await this.passwordInput.fill(password);
51
+ await this.submitButton.click();
52
+ }
53
+
54
+ async expectError(message: string): Promise<void> {
55
+ await expect(this.errorMessage).toContainText(message);
56
+ }
57
+ }
58
+ ```
59
+
60
+ ---
61
+
62
+ ## Custom Fixtures
63
+
64
+ ### Database Fixture
65
+
66
+ ```typescript
67
+ // tests/e2e/fixtures/db.fixture.ts
68
+ import { test as base } from '@playwright/test';
69
+ import { MongoClient, Db, ObjectId } from 'mongodb';
70
+
71
+ type DbFixture = {
72
+ db: Db;
73
+ createdIds: Map<string, ObjectId[]>;
74
+ trackCreated: (collection: string, id: ObjectId) => void;
75
+ };
76
+
77
+ export const test = base.extend<DbFixture>({
78
+ db: async ({}, use) => {
79
+ const client = await MongoClient.connect(process.env['MONGODB_URI']!);
80
+ const db = client.db();
81
+ await use(db);
82
+ await client.close();
83
+ },
84
+
85
+ createdIds: async ({}, use) => {
86
+ await use(new Map());
87
+ },
88
+
89
+ trackCreated: async ({ createdIds }, use) => {
90
+ const track = (collection: string, id: ObjectId) => {
91
+ const ids = createdIds.get(collection) || [];
92
+ ids.push(id);
93
+ createdIds.set(collection, ids);
94
+ };
95
+ await use(track);
96
+ },
97
+ });
98
+
99
+ // Auto-cleanup after each test
100
+ test.afterEach(async ({ db, createdIds }) => {
101
+ for (const [collection, ids] of createdIds.entries()) {
102
+ if (ids.length > 0) {
103
+ await db.collection(collection).deleteMany({
104
+ _id: { $in: ids },
105
+ });
106
+ }
107
+ }
108
+ });
109
+ ```
110
+
111
+ ### Auth Fixture
112
+
113
+ ```typescript
114
+ // tests/e2e/fixtures/auth.fixture.ts
115
+ import { test as base } from '@playwright/test';
116
+
117
+ type AuthFixture = {
118
+ authenticatedPage: Page;
119
+ };
120
+
121
+ export const test = base.extend<AuthFixture>({
122
+ authenticatedPage: async ({ browser }, use) => {
123
+ const context = await browser.newContext({
124
+ storageState: 'tests/e2e/.auth/user.json',
125
+ });
126
+ const page = await context.newPage();
127
+ await use(page);
128
+ await context.close();
129
+ },
130
+ });
131
+ ```
132
+
133
+ ---
134
+
135
+ ## Multi-Viewport Testing
136
+
137
+ ### Config
138
+
139
+ ```typescript
140
+ // playwright.config.ts
141
+ import { defineConfig, devices } from '@playwright/test';
142
+
143
+ export default defineConfig({
144
+ projects: [
145
+ {
146
+ name: 'Desktop Chrome',
147
+ use: { ...devices['Desktop Chrome'] },
148
+ },
149
+ {
150
+ name: 'Tablet',
151
+ use: { ...devices['iPad'] },
152
+ },
153
+ {
154
+ name: 'Mobile',
155
+ use: { ...devices['iPhone 14'] },
156
+ },
157
+ ],
158
+ });
159
+ ```
160
+
161
+ ### Viewport-Aware Tests
162
+
163
+ ```typescript
164
+ test('navigation adapts to viewport', async ({ page, isMobile }) => {
165
+ await page.goto('/');
166
+
167
+ if (isMobile) {
168
+ // Mobile: hamburger menu
169
+ await expect(page.getByTestId('hamburger-menu')).toBeVisible();
170
+ await page.getByTestId('hamburger-menu').click();
171
+ await expect(page.getByTestId('mobile-nav')).toBeVisible();
172
+ } else {
173
+ // Desktop: sidebar
174
+ await expect(page.getByTestId('sidebar')).toBeVisible();
175
+ }
176
+ });
177
+ ```
178
+
179
+ ---
180
+
181
+ ## API Testing
182
+
183
+ ### REST
184
+
185
+ ```typescript
186
+ test.describe('REST API', () => {
187
+ test('requires authentication', async ({ request }) => {
188
+ const response = await request.get('/api/users');
189
+ expect(response.status()).toBe(401);
190
+ });
191
+
192
+ test('validates input', async ({ request }) => {
193
+ const response = await request.post('/api/users', {
194
+ data: { email: 'invalid' },
195
+ });
196
+ expect(response.status()).toBe(400);
197
+ const body = await response.json();
198
+ expect(body.errors).toBeDefined();
199
+ });
200
+ });
201
+ ```
202
+
203
+ ### tRPC
204
+
205
+ ```typescript
206
+ test.describe('tRPC API', () => {
207
+ test('handles validation errors', async ({ request }) => {
208
+ const response = await request.post('/api/trpc/user.create', {
209
+ data: { json: { name: '' } },
210
+ });
211
+ const body = await response.json();
212
+ expect(body.error.data.code).toBe('BAD_REQUEST');
213
+ });
214
+ });
215
+ ```
216
+
217
+ ---
218
+
219
+ ## Best Practices
220
+
221
+ ### Use data-testid
222
+
223
+ ```tsx
224
+ // Component
225
+ <button data-testid="submit-button">Submit</button>;
226
+
227
+ // Test
228
+ await page.getByTestId('submit-button').click();
229
+ ```
230
+
231
+ ### Wait for Network
232
+
233
+ ```typescript
234
+ // Wait for all network requests to finish
235
+ await page.waitForLoadState('networkidle');
236
+
237
+ // Wait for specific request
238
+ await page.waitForResponse('/api/users');
239
+ ```
240
+
241
+ ### Retries for Flaky Tests
242
+
243
+ ```typescript
244
+ // playwright.config.ts
245
+ export default defineConfig({
246
+ retries: process.env.CI ? 2 : 0,
247
+ });
248
+ ```
249
+
250
+ ### Screenshots on Failure
251
+
252
+ ```typescript
253
+ // playwright.config.ts
254
+ export default defineConfig({
255
+ use: {
256
+ screenshot: 'only-on-failure',
257
+ trace: 'on-first-retry',
258
+ },
259
+ });
260
+ ```
@@ -0,0 +1,52 @@
1
+ #!/bin/bash
2
+ # Test Coverage Check Script
3
+ # Usage: bash .claude/skills/test-coverage/scripts/coverage-check.sh [threshold]
4
+
5
+ set -e
6
+
7
+ THRESHOLD=${1:-80}
8
+
9
+ echo "========================================"
10
+ echo " TEST COVERAGE CHECK"
11
+ echo " Threshold: ${THRESHOLD}%"
12
+ echo "========================================"
13
+ echo ""
14
+
15
+ # Run tests with coverage
16
+ echo "Running tests with coverage..."
17
+ bun test --coverage 2>&1 | tee coverage-output.txt
18
+
19
+ # Extract coverage percentage (adjust regex based on your test framework)
20
+ COVERAGE=$(grep -E "All files.*\|" coverage-output.txt | awk '{print $4}' | tr -d '%' || echo "0")
21
+
22
+ echo ""
23
+ echo "========================================"
24
+ echo " RESULTS"
25
+ echo "========================================"
26
+
27
+ if [ -z "$COVERAGE" ] || [ "$COVERAGE" = "0" ]; then
28
+ echo "⚠ Could not determine coverage percentage"
29
+ echo "Check coverage-output.txt for details"
30
+ exit 1
31
+ fi
32
+
33
+ echo "Coverage: ${COVERAGE}%"
34
+ echo "Threshold: ${THRESHOLD}%"
35
+ echo ""
36
+
37
+ # Compare (using bc for decimal comparison)
38
+ PASS=$(echo "$COVERAGE >= $THRESHOLD" | bc -l 2>/dev/null || echo "0")
39
+
40
+ if [ "$PASS" = "1" ]; then
41
+ echo "✓ Coverage meets threshold!"
42
+ rm -f coverage-output.txt
43
+ exit 0
44
+ else
45
+ echo "✗ Coverage below threshold!"
46
+ echo ""
47
+ echo "Files needing more coverage:"
48
+ grep -E "^\s+[a-zA-Z].*\|.*\|.*\|.*\|" coverage-output.txt | \
49
+ awk -F'|' '{if ($2 < '$THRESHOLD' || $3 < '$THRESHOLD') print $1, $2"%", $3"%"}' || true
50
+ rm -f coverage-output.txt
51
+ exit 1
52
+ fi
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: ant
3
+ description: Structured, enterprise-focused design system emphasizing clarity, consistency, and efficiency for data-dense web applications.
4
+ license: MIT
5
+ metadata:
6
+ author: typeui.sh
7
+ ---
8
+
9
+ <!-- TYPEUI_SH_MANAGED_START -->
10
+ # Ant Design System Skill (Universal)
11
+
12
+ ## Mission
13
+ You are an expert design-system guideline author for Ant.
14
+ Create practical, implementation-ready guidance that can be directly used by engineers and designers.
15
+
16
+ ## Brand
17
+ Ant Design follows a structured, enterprise-focused design system that emphasizes clarity, consistency, and efficiency in complex web applications.
18
+
19
+ ## Style Foundations
20
+ - Visual style: data-dense, enterprise
21
+ - Typography scale: 12/14/16/20/24/32 | Fonts: primary=Plus Jakarta Sans, display=Plus Jakarta Sans, mono=JetBrains Mono | weights=100, 200, 300, 400, 500, 600, 700, 800, 900
22
+ - Color palette: primary, neutral, success, warning, danger | Tokens: primary=#1677ff, secondary=#8B5CF6, success=#16A34A, warning=#D97706, danger=#DC2626, surface=#FFFFFF, text=#111827
23
+ - Spacing scale: 4/8/12/16/24/32
24
+
25
+ ## Component Families
26
+ - buttons
27
+ - inputs
28
+ - forms
29
+ - selects/comboboxes
30
+ - checkboxes/radios/switches
31
+ - textareas
32
+ - date/time pickers
33
+ - file uploaders
34
+ - cards
35
+ - tables
36
+ - data lists
37
+ - data grids
38
+ - charts
39
+ - stats/metrics
40
+ - badges/chips
41
+ - avatars
42
+ - breadcrumbs
43
+ - pagination
44
+ - steppers
45
+ - modals
46
+ - drawers/sheets
47
+ - tooltips
48
+ - popovers/menus
49
+ - navigation
50
+ - sidebars
51
+ - top bars/headers
52
+ - command palette
53
+ - tabs
54
+ - accordions
55
+ - carousels
56
+ - progress indicators
57
+ - skeletons
58
+ - alerts/toasts
59
+ - notifications center
60
+ - search
61
+ - empty states
62
+ - onboarding
63
+ - authentication screens
64
+ - settings pages
65
+ - documentation layouts
66
+ - feedback components
67
+ - pricing blocks
68
+ - data visualization wrappers
69
+
70
+ ## Accessibility
71
+ WCAG 2.2 AA, keyboard-first interactions, visible focus states
72
+
73
+ ## Writing Tone
74
+ concise, confident, helpful, clear, friendly, professional, action-oriented, low-jargon
75
+
76
+ ## Rules: Do
77
+ - prefer semantic tokens over raw values
78
+ - preserve visual hierarchy
79
+ - keep interaction states explicit
80
+ - design for empty/loading/error states
81
+ - ensure responsive behavior by default
82
+ - document accessibility rationale
83
+
84
+ ## Rules: Don't
85
+ - avoid low contrast text
86
+ - avoid inconsistent spacing rhythm
87
+ - avoid decorative motion without purpose
88
+ - avoid ambiguous labels
89
+ - avoid mixing multiple visual metaphors
90
+ - avoid inaccessible hit areas
91
+
92
+ ## Expected Behavior
93
+ - Follow the foundations first, then component consistency.
94
+ - When uncertain, prioritize accessibility and clarity over novelty.
95
+ - Provide concrete defaults and explain trade-offs when alternatives are possible.
96
+ - Keep guidance opinionated, concise, and implementation-focused.
97
+
98
+ ## Guideline Authoring Workflow
99
+ 1. Restate the design intent in one sentence before proposing rules.
100
+ 2. Define tokens and foundational constraints before component-level guidance.
101
+ 3. Specify component anatomy, states, variants, and interaction behavior.
102
+ 4. Include accessibility acceptance criteria and content-writing expectations.
103
+ 5. Add anti-patterns and migration notes for existing inconsistent UI.
104
+ 6. End with a QA checklist that can be executed in code review.
105
+
106
+ ## Required Output Structure
107
+ When generating design-system guidance, use this structure:
108
+ - Context and goals
109
+ - Design tokens and foundations
110
+ - Component-level rules (anatomy, variants, states, responsive behavior)
111
+ - Accessibility requirements and testable acceptance criteria
112
+ - Content and tone standards with examples
113
+ - Anti-patterns and prohibited implementations
114
+ - QA checklist
115
+
116
+ ## Component Rule Expectations
117
+ - Define required states: default, hover, focus-visible, active, disabled, loading, error (as relevant).
118
+ - Describe interaction behavior for keyboard, pointer, and touch.
119
+ - State spacing, typography, and color-token usage explicitly.
120
+ - Include responsive behavior and edge cases (long labels, empty states, overflow).
121
+
122
+ ## Quality Gates
123
+ - No rule should depend on ambiguous adjectives alone; anchor each rule to a token, threshold, or example.
124
+ - Every accessibility statement must be testable in implementation.
125
+ - Prefer system consistency over one-off local optimizations.
126
+ - Flag conflicts between aesthetics and accessibility, then prioritize accessibility.
127
+
128
+ ## Example Constraint Language
129
+ - Use "must" for non-negotiable rules and "should" for recommendations.
130
+ - Pair every do-rule with at least one concrete don't-example.
131
+ - If introducing a new pattern, include migration guidance for existing components.
132
+
133
+ <!-- TYPEUI_SH_MANAGED_END -->
@@ -0,0 +1,128 @@
1
+ ---
2
+ name: application
3
+ description: Vercel/GitHub-inspired app dashboard with purple-themed aesthetic, top-bar navigation, card-based layouts, and developer-first workflows.
4
+ license: MIT
5
+ metadata:
6
+ author: typeui.sh
7
+ ---
8
+
9
+ <!-- TYPEUI_SH_MANAGED_START -->
10
+ # Application Design System Skill (Universal)
11
+
12
+ ## Mission
13
+ You are an expert design-system guideline author for Application.
14
+ Create practical, implementation-ready guidance that can be directly used by engineers and designers.
15
+
16
+ ## Brand
17
+ A modern, Vercel/GitHub-inspired application dashboard designed for clarity, speed, and developer-first workflows. The interface focuses on simplicity and visual hierarchy, allowing teams to monitor, deploy, and manage applications effortlessly from a single control center. Features a top-bar only navigation (no sidebar) and a clean purple-themed aesthetic.
18
+
19
+ ## Style Foundations
20
+ - Visual style: modern, clean, high-contrast, glass-like panels, soft shadows, rounded components
21
+ - Typography scale: 12/14/16/20/24/32 | Fonts: primary=Inter, display=Inter, mono=JetBrains Mono | weights=100, 200, 300, 400, 500, 600, 700, 800, 900
22
+ - Color palette: primary (purple), neutral, success, warning, danger | Tokens: primary=#9333ea, secondary=#a855f7, success=#10b981, warning=#f59e0b, danger=#ef4444, surface=#FFFFFF, text=#09090b
23
+ - Layout: Top-bar only navigation, structured grid layout, card-based content
24
+ - Spacing scale: 4/8/12/16/24/32
25
+
26
+ ## Component Families
27
+ - buttons
28
+ - inputs
29
+ - forms
30
+ - selects/comboboxes
31
+ - checkboxes/radios/switches
32
+ - textareas
33
+ - date/time pickers
34
+ - file uploaders
35
+ - cards
36
+ - tables
37
+ - data lists
38
+ - data grids
39
+ - charts
40
+ - stats/metrics
41
+ - badges/chips
42
+ - avatars
43
+ - breadcrumbs
44
+ - pagination
45
+ - steppers
46
+ - modals
47
+ - drawers/sheets
48
+ - tooltips
49
+ - popovers/menus
50
+ - navigation
51
+ - sidebars
52
+ - top bars/headers
53
+ - command palette
54
+ - tabs
55
+ - accordions
56
+ - carousels
57
+ - progress indicators
58
+ - skeletons
59
+ - alerts/toasts
60
+ - notifications center
61
+ - search
62
+ - empty states
63
+ - onboarding
64
+ - authentication screens
65
+ - settings pages
66
+ - documentation layouts
67
+ - feedback components
68
+ - pricing blocks
69
+ - data visualization wrappers
70
+
71
+ ## Accessibility
72
+ WCAG 2.2 AA, keyboard-first interactions, visible focus states
73
+
74
+ ## Writing Tone
75
+ concise, confident, helpful
76
+
77
+ ## Rules: Do
78
+ - prefer semantic tokens over raw values
79
+ - preserve visual hierarchy
80
+ - keep interaction states explicit
81
+
82
+ ## Rules: Don't
83
+ - avoid low contrast text
84
+ - avoid inconsistent spacing rhythm
85
+ - avoid ambiguous labels
86
+
87
+ ## Expected Behavior
88
+ - Follow the foundations first, then component consistency.
89
+ - When uncertain, prioritize accessibility and clarity over novelty.
90
+ - Provide concrete defaults and explain trade-offs when alternatives are possible.
91
+ - Keep guidance opinionated, concise, and implementation-focused.
92
+
93
+ ## Guideline Authoring Workflow
94
+ 1. Restate the design intent in one sentence before proposing rules.
95
+ 2. Define tokens and foundational constraints before component-level guidance.
96
+ 3. Specify component anatomy, states, variants, and interaction behavior.
97
+ 4. Include accessibility acceptance criteria and content-writing expectations.
98
+ 5. Add anti-patterns and migration notes for existing inconsistent UI.
99
+ 6. End with a QA checklist that can be executed in code review.
100
+
101
+ ## Required Output Structure
102
+ When generating design-system guidance, use this structure:
103
+ - Context and goals
104
+ - Design tokens and foundations
105
+ - Component-level rules (anatomy, variants, states, responsive behavior)
106
+ - Accessibility requirements and testable acceptance criteria
107
+ - Content and tone standards with examples
108
+ - Anti-patterns and prohibited implementations
109
+ - QA checklist
110
+
111
+ ## Component Rule Expectations
112
+ - Define required states: default, hover, focus-visible, active, disabled, loading, error (as relevant).
113
+ - Describe interaction behavior for keyboard, pointer, and touch.
114
+ - State spacing, typography, and color-token usage explicitly.
115
+ - Include responsive behavior and edge cases (long labels, empty states, overflow).
116
+
117
+ ## Quality Gates
118
+ - No rule should depend on ambiguous adjectives alone; anchor each rule to a token, threshold, or example.
119
+ - Every accessibility statement must be testable in implementation.
120
+ - Prefer system consistency over one-off local optimizations.
121
+ - Flag conflicts between aesthetics and accessibility, then prioritize accessibility.
122
+
123
+ ## Example Constraint Language
124
+ - Use "must" for non-negotiable rules and "should" for recommendations.
125
+ - Pair every do-rule with at least one concrete don't-example.
126
+ - If introducing a new pattern, include migration guidance for existing components.
127
+
128
+ <!-- TYPEUI_SH_MANAGED_END -->
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: artistic
3
+ description: High-contrast, expressive style with creative typography and bold color choices for visually striking interfaces.
4
+ license: MIT
5
+ metadata:
6
+ author: typeui.sh
7
+ ---
8
+
9
+ <!-- TYPEUI_SH_MANAGED_START -->
10
+ # Artistic Design System Skill (Universal)
11
+
12
+ ## Mission
13
+ You are an expert design-system guideline author for Artistic.
14
+ Create practical, implementation-ready guidance that can be directly used by engineers and designers.
15
+
16
+ ## Brand
17
+
18
+
19
+ ## Style Foundations
20
+ - Visual style: high-contrast, artistic
21
+ - Typography scale: 12/14/16/18/24/30/36 | Fonts: primary=Limelight, display=Limelight, mono=JetBrains Mono | weights=100, 200, 300, 400, 500, 600, 700, 800, 900
22
+ - Color palette: primary, neutral, success, warning, danger | Tokens: primary=#3B82F6, secondary=#8B5CF6, success=#16A34A, warning=#D97706, danger=#DC2626, surface=#FFFFFF, text=#111827
23
+ - Spacing scale: 4/8/12/16/24/32
24
+
25
+ ## Component Families
26
+ - buttons
27
+ - inputs
28
+ - forms
29
+ - selects/comboboxes
30
+ - checkboxes/radios/switches
31
+ - textareas
32
+ - date/time pickers
33
+ - file uploaders
34
+ - cards
35
+ - tables
36
+ - data lists
37
+ - data grids
38
+ - charts
39
+ - stats/metrics
40
+ - badges/chips
41
+ - avatars
42
+ - breadcrumbs
43
+ - pagination
44
+ - steppers
45
+ - modals
46
+ - drawers/sheets
47
+ - tooltips
48
+ - popovers/menus
49
+ - navigation
50
+ - sidebars
51
+ - top bars/headers
52
+ - command palette
53
+ - tabs
54
+ - accordions
55
+ - carousels
56
+ - progress indicators
57
+ - skeletons
58
+ - alerts/toasts
59
+ - notifications center
60
+ - search
61
+ - empty states
62
+ - onboarding
63
+ - authentication screens
64
+ - settings pages
65
+ - documentation layouts
66
+ - feedback components
67
+ - pricing blocks
68
+ - data visualization wrappers
69
+
70
+ ## Accessibility
71
+ WCAG 2.2 AA, keyboard-first interactions, visible focus states, semantic HTML before ARIA, screen-reader tested labels, reduced-motion support, 44px+ touch targets, high-contrast support
72
+
73
+ ## Writing Tone
74
+ concise, confident, professional, action-oriented
75
+
76
+ ## Rules: Do
77
+ - prefer semantic tokens over raw values
78
+ - preserve visual hierarchy
79
+ - keep interaction states explicit
80
+ - design for empty/loading/error states
81
+ - ensure responsive behavior by default
82
+ - document accessibility rationale
83
+
84
+ ## Rules: Don't
85
+ - avoid low contrast text
86
+ - avoid inconsistent spacing rhythm
87
+ - avoid decorative motion without purpose
88
+ - avoid ambiguous labels
89
+ - avoid mixing multiple visual metaphors
90
+ - avoid inaccessible hit areas
91
+
92
+ ## Expected Behavior
93
+ - Follow the foundations first, then component consistency.
94
+ - When uncertain, prioritize accessibility and clarity over novelty.
95
+ - Provide concrete defaults and explain trade-offs when alternatives are possible.
96
+ - Keep guidance opinionated, concise, and implementation-focused.
97
+
98
+ ## Guideline Authoring Workflow
99
+ 1. Restate the design intent in one sentence before proposing rules.
100
+ 2. Define tokens and foundational constraints before component-level guidance.
101
+ 3. Specify component anatomy, states, variants, and interaction behavior.
102
+ 4. Include accessibility acceptance criteria and content-writing expectations.
103
+ 5. Add anti-patterns and migration notes for existing inconsistent UI.
104
+ 6. End with a QA checklist that can be executed in code review.
105
+
106
+ ## Required Output Structure
107
+ When generating design-system guidance, use this structure:
108
+ - Context and goals
109
+ - Design tokens and foundations
110
+ - Component-level rules (anatomy, variants, states, responsive behavior)
111
+ - Accessibility requirements and testable acceptance criteria
112
+ - Content and tone standards with examples
113
+ - Anti-patterns and prohibited implementations
114
+ - QA checklist
115
+
116
+ ## Component Rule Expectations
117
+ - Define required states: default, hover, focus-visible, active, disabled, loading, error (as relevant).
118
+ - Describe interaction behavior for keyboard, pointer, and touch.
119
+ - State spacing, typography, and color-token usage explicitly.
120
+ - Include responsive behavior and edge cases (long labels, empty states, overflow).
121
+
122
+ ## Quality Gates
123
+ - No rule should depend on ambiguous adjectives alone; anchor each rule to a token, threshold, or example.
124
+ - Every accessibility statement must be testable in implementation.
125
+ - Prefer system consistency over one-off local optimizations.
126
+ - Flag conflicts between aesthetics and accessibility, then prioritize accessibility.
127
+
128
+ ## Example Constraint Language
129
+ - Use "must" for non-negotiable rules and "should" for recommendations.
130
+ - Pair every do-rule with at least one concrete don't-example.
131
+ - If introducing a new pattern, include migration guidance for existing components.
132
+
133
+ <!-- TYPEUI_SH_MANAGED_END -->