@su-record/vibe 2.8.24 → 2.8.26
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/dist/cli/commands/config.d.ts +17 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +207 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/index.d.ts +2 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +2 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +2 -0
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +78 -54
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +13 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +280 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +33 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +1 -0
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
- package/dist/cli/setup/GlobalInstaller.js +7 -7
- package/dist/cli/setup/GlobalInstaller.js.map +1 -1
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +18 -12
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/infra/lib/ContextCompressor.d.ts.map +1 -1
- package/dist/infra/lib/ContextCompressor.js +10 -4
- package/dist/infra/lib/ContextCompressor.js.map +1 -1
- package/dist/infra/lib/ProjectCache.d.ts +2 -2
- package/dist/infra/lib/ProjectCache.d.ts.map +1 -1
- package/dist/infra/lib/ProjectCache.js +4 -3
- package/dist/infra/lib/ProjectCache.js.map +1 -1
- package/dist/infra/lib/utils.d.ts +24 -0
- package/dist/infra/lib/utils.d.ts.map +1 -1
- package/dist/infra/lib/utils.js +41 -0
- package/dist/infra/lib/utils.js.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.d.ts +3 -0
- package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.js +11 -1
- package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.test.d.ts +5 -0
- package/dist/infra/orchestrator/SmartRouter.test.d.ts.map +1 -0
- package/dist/infra/orchestrator/SmartRouter.test.js +457 -0
- package/dist/infra/orchestrator/SmartRouter.test.js.map +1 -0
- package/dist/tools/convention/analyzeComplexity.d.ts.map +1 -1
- package/dist/tools/convention/analyzeComplexity.js +18 -10
- package/dist/tools/convention/analyzeComplexity.js.map +1 -1
- package/dist/tools/convention/checkCouplingCohesion.d.ts.map +1 -1
- package/dist/tools/convention/checkCouplingCohesion.js +14 -6
- package/dist/tools/convention/checkCouplingCohesion.js.map +1 -1
- package/dist/tools/semantic/analyzeDependencyGraph.d.ts.map +1 -1
- package/dist/tools/semantic/analyzeDependencyGraph.js +1 -1
- package/dist/tools/semantic/analyzeDependencyGraph.js.map +1 -1
- package/dist/tools/semantic/findReferences.d.ts.map +1 -1
- package/dist/tools/semantic/findReferences.js +13 -13
- package/dist/tools/semantic/findReferences.js.map +1 -1
- package/dist/tools/semantic/findSymbol.d.ts.map +1 -1
- package/dist/tools/semantic/findSymbol.js +12 -13
- package/dist/tools/semantic/findSymbol.js.map +1 -1
- package/dist/tools/semantic/lsp.d.ts.map +1 -1
- package/dist/tools/semantic/lsp.js +22 -14
- package/dist/tools/semantic/lsp.js.map +1 -1
- package/hooks/hooks.json +29 -0
- package/hooks/scripts/__tests__/keyword-detector.test.js +199 -0
- package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -0
- package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -0
- package/hooks/scripts/auto-commit.js +65 -0
- package/hooks/scripts/auto-format.js +64 -0
- package/hooks/scripts/auto-test.js +81 -0
- package/hooks/scripts/code-check.js +139 -0
- package/hooks/scripts/command-log.js +32 -0
- package/hooks/scripts/context-save.js +60 -6
- package/hooks/scripts/hud-status.js +32 -2
- package/hooks/scripts/llm-orchestrate.js +95 -17
- package/hooks/scripts/pr-test-gate.js +52 -0
- package/package.json +1 -1
- package/skills/agents-md/rubrics/what-to-keep.md +49 -0
- package/skills/agents-md/templates/agents-md.md +36 -0
- package/skills/arch-guard/agents/detector.md +48 -0
- package/skills/arch-guard/agents/reporter.md +48 -0
- package/skills/arch-guard/agents/rule-generator.md +49 -0
- package/skills/arch-guard/agents/violation-checker.md +51 -0
- package/skills/arch-guard/frameworks/clean-architecture.md +108 -0
- package/skills/arch-guard/frameworks/solid.md +102 -0
- package/skills/arch-guard/scripts/check-boundaries.js +90 -0
- package/skills/arch-guard/templates/arch-rules.json +47 -0
- package/skills/arch-guard/templates/violation-report.md +53 -0
- package/skills/brand-assets/rubrics/asset-checklist.md +98 -0
- package/skills/brand-assets/templates/brand-guide.md +161 -0
- package/skills/capability-loop/agents/capability-designer.md +61 -0
- package/skills/capability-loop/agents/failure-analyst.md +55 -0
- package/skills/capability-loop/agents/implementer.md +50 -0
- package/skills/capability-loop/agents/tester.md +53 -0
- package/skills/capability-loop/templates/capability-spec.md +118 -0
- package/skills/capability-loop/templates/failure-analysis.md +118 -0
- package/skills/characterization-test/agents/behavior-capturer.md +50 -0
- package/skills/characterization-test/agents/coverage-checker.md +54 -0
- package/skills/characterization-test/agents/reporter.md +50 -0
- package/skills/characterization-test/agents/test-writer.md +49 -0
- package/skills/characterization-test/rubrics/coverage-criteria.md +53 -0
- package/skills/characterization-test/templates/test-template.ts +101 -0
- package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -0
- package/skills/claude-md-guide/templates/claude-md.md +54 -0
- package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -0
- package/skills/commerce-patterns/templates/product-schema.md +85 -0
- package/skills/commit-push-pr/agents/change-analyzer.md +55 -0
- package/skills/commit-push-pr/agents/message-writer.md +50 -0
- package/skills/commit-push-pr/agents/pr-writer.md +58 -0
- package/skills/commit-push-pr/agents/reviewer.md +52 -0
- package/skills/commit-push-pr/rubrics/commit-message.md +73 -0
- package/skills/commit-push-pr/templates/pr-body.md +63 -0
- package/skills/context7-usage/rubrics/when-to-use.md +50 -0
- package/skills/create-prd/agents/edge-case-finder.md +48 -0
- package/skills/create-prd/agents/prioritizer.md +60 -0
- package/skills/create-prd/agents/requirements-writer.md +48 -0
- package/skills/create-prd/agents/researcher.md +55 -0
- package/skills/create-prd/agents/reviewer.md +54 -0
- package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -0
- package/skills/create-prd/frameworks/rice-scoring.md +97 -0
- package/skills/create-prd/orchestrator.md +70 -0
- package/skills/create-prd/rubrics/completeness.md +58 -0
- package/skills/create-prd/templates/prd.md +139 -0
- package/skills/design-audit/agents/a11y-auditor.md +43 -0
- package/skills/design-audit/agents/performance-auditor.md +46 -0
- package/skills/design-audit/agents/responsive-auditor.md +46 -0
- package/skills/design-audit/agents/scorer.md +47 -0
- package/skills/design-audit/agents/slop-detector.md +47 -0
- package/skills/design-audit/frameworks/core-web-vitals.md +107 -0
- package/skills/design-audit/frameworks/wcag-checklist.md +64 -0
- package/skills/design-audit/orchestrator.md +64 -0
- package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -0
- package/skills/design-audit/rubrics/scoring.md +63 -0
- package/skills/design-audit/templates/report.md +88 -0
- package/skills/design-critique/rubrics/ux-heuristics.md +143 -0
- package/skills/design-critique/templates/critique-report.md +86 -0
- package/skills/design-distill/templates/design-system.md +132 -0
- package/skills/design-normalize/rubrics/token-naming.md +117 -0
- package/skills/design-normalize/templates/token-audit.md +89 -0
- package/skills/design-polish/rubrics/polish-checklist.md +68 -0
- package/skills/design-polish/templates/polish-report.md +64 -0
- package/skills/design-teach/rubrics/brand-personality.md +73 -0
- package/skills/design-teach/templates/design-context.json +36 -0
- package/skills/e2e-commerce/templates/test-scenarios.md +170 -0
- package/skills/event-comms/templates/email-invite.md +99 -0
- package/skills/event-comms/templates/sns-post.md +133 -0
- package/skills/event-ops/rubrics/contingency.md +85 -0
- package/skills/event-ops/templates/d-day-checklist.md +65 -0
- package/skills/event-planning/rubrics/timeline.md +70 -0
- package/skills/event-planning/templates/event-plan.md +91 -0
- package/skills/exec-plan/agents/decomposer.md +47 -0
- package/skills/exec-plan/agents/dependency-mapper.md +44 -0
- package/skills/exec-plan/agents/estimator.md +43 -0
- package/skills/exec-plan/agents/validator.md +55 -0
- package/skills/exec-plan/orchestrator.md +70 -0
- package/skills/exec-plan/rubrics/complexity-scoring.md +75 -0
- package/skills/exec-plan/templates/plan.md +147 -0
- package/skills/git-worktree/rubrics/when-to-use.md +55 -0
- package/skills/handoff/agents/context-summarizer.md +51 -0
- package/skills/handoff/agents/document-writer.md +63 -0
- package/skills/handoff/agents/state-collector.md +53 -0
- package/skills/handoff/agents/verifier.md +48 -0
- package/skills/handoff/rubrics/completeness.md +62 -0
- package/skills/handoff/templates/handoff.md +107 -0
- package/skills/parallel-research/agents/best-practices.md +43 -0
- package/skills/parallel-research/agents/codebase-patterns.md +46 -0
- package/skills/parallel-research/agents/framework-docs.md +45 -0
- package/skills/parallel-research/agents/security-advisory.md +46 -0
- package/skills/parallel-research/agents/synthesizer.md +52 -0
- package/skills/parallel-research/experts/best-practices.md +50 -0
- package/skills/parallel-research/experts/codebase-patterns.md +70 -0
- package/skills/parallel-research/experts/framework-docs.md +65 -0
- package/skills/parallel-research/experts/security-advisory.md +69 -0
- package/skills/parallel-research/orchestrator.md +65 -0
- package/skills/parallel-research/templates/synthesis.md +101 -0
- package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -0
- package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -0
- package/skills/priority-todos/rubrics/prioritization.md +70 -0
- package/skills/priority-todos/templates/todo-board.md +59 -0
- package/skills/seo-checklist/frameworks/structured-data.md +153 -0
- package/skills/seo-checklist/rubrics/content-seo.md +42 -0
- package/skills/seo-checklist/rubrics/technical-seo.md +48 -0
- package/skills/techdebt/agents/analyzer.md +50 -0
- package/skills/techdebt/agents/fixer.md +41 -0
- package/skills/techdebt/agents/reviewer.md +47 -0
- package/skills/techdebt/agents/scanner.md +44 -0
- package/skills/techdebt/orchestrator.md +70 -0
- package/skills/techdebt/rubrics/severity.md +51 -0
- package/skills/techdebt/scripts/scan.js +90 -0
- package/skills/techdebt/templates/report.md +86 -0
- package/skills/tool-fallback/rubrics/fallback-chain.md +58 -0
- package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -0
- package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -0
- package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -0
- package/skills/user-personas/rubrics/research-methods.md +56 -0
- package/skills/user-personas/templates/persona.md +89 -0
- package/skills/vercel-react-best-practices/rubrics/performance.md +82 -0
- package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -0
- package/skills/vibe-docs/SKILL.md +171 -0
- package/skills/vibe-docs/templates/architecture.md +80 -0
- package/skills/vibe-docs/templates/readme.md +84 -0
- package/skills/vibe-docs/templates/release-notes.md +74 -0
- package/skills/vibe-figma/SKILL.md +122 -206
- package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -0
- package/skills/vibe-figma/templates/figma-handoff.md +96 -0
- package/skills/vibe-figma-analyze/rubrics/analysis-dimensions.md +53 -0
- package/skills/vibe-figma-codegen/rubrics/code-quality.md +54 -0
- package/skills/vibe-figma-consolidate/templates/consolidation-report.md +95 -0
- package/skills/vibe-figma-convert/SKILL.md +13 -175
- package/skills/vibe-figma-convert/rubrics/conversion-rules.md +83 -0
- package/skills/vibe-figma-convert/templates/component.md +152 -0
- package/skills/vibe-figma-extract/rubrics/image-rules.md +67 -0
- package/skills/vibe-figma-frame/rubrics/frame-selection.md +55 -0
- package/skills/vibe-figma-pipeline/rubrics/pipeline-stages.md +96 -0
- package/skills/vibe-figma-rules/rubrics/naming-conventions.md +70 -0
- package/skills/vibe-figma-style/rubrics/style-mapping.md +100 -0
- package/skills/video-production/rubrics/quality-checklist.md +58 -0
- package/skills/video-production/templates/production-plan.md +104 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rice-scoring
|
|
3
|
+
type: framework
|
|
4
|
+
applies-to: [create-prd]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# RICE Scoring — Reference Card
|
|
8
|
+
|
|
9
|
+
## Formula
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
RICE Score = (Reach × Impact × Confidence) / Effort
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Factor Definitions
|
|
16
|
+
|
|
17
|
+
### Reach
|
|
18
|
+
How many users affected per time period (e.g., per quarter)?
|
|
19
|
+
|
|
20
|
+
| Scale | Example |
|
|
21
|
+
|-------|---------|
|
|
22
|
+
| 1,000 | Affects ~1,000 users/quarter |
|
|
23
|
+
| 5,000 | Affects ~5,000 users/quarter |
|
|
24
|
+
| 50,000 | Affects most of the user base |
|
|
25
|
+
|
|
26
|
+
Use actual user counts when available. Use relative estimates otherwise.
|
|
27
|
+
|
|
28
|
+
### Impact
|
|
29
|
+
How much does this move the needle for each user?
|
|
30
|
+
|
|
31
|
+
| Score | Meaning |
|
|
32
|
+
|-------|---------|
|
|
33
|
+
| 3 | Massive — core workflow improvement |
|
|
34
|
+
| 2 | High — significant UX enhancement |
|
|
35
|
+
| 1 | Medium — noticeable improvement |
|
|
36
|
+
| 0.5 | Low — minor convenience |
|
|
37
|
+
| 0.25 | Minimal — rarely noticed |
|
|
38
|
+
|
|
39
|
+
### Confidence
|
|
40
|
+
How confident are you in the Reach and Impact estimates?
|
|
41
|
+
|
|
42
|
+
| Score | Meaning |
|
|
43
|
+
|-------|---------|
|
|
44
|
+
| 100% | Data-backed (user research, analytics) |
|
|
45
|
+
| 80% | Some evidence (interviews, comparable features) |
|
|
46
|
+
| 50% | Gut feeling, limited data |
|
|
47
|
+
| 20% | Pure hypothesis, no data |
|
|
48
|
+
|
|
49
|
+
### Effort
|
|
50
|
+
Total person-weeks to design, build, and ship.
|
|
51
|
+
|
|
52
|
+
| Score | Meaning |
|
|
53
|
+
|-------|---------|
|
|
54
|
+
| 0.5 | Half a week or less |
|
|
55
|
+
| 1 | About 1 week |
|
|
56
|
+
| 2 | ~2 weeks |
|
|
57
|
+
| 5 | ~1 month |
|
|
58
|
+
| 10 | Multi-month project |
|
|
59
|
+
|
|
60
|
+
## Calculation Examples
|
|
61
|
+
|
|
62
|
+
| Feature | Reach | Impact | Confidence | Effort | RICE Score |
|
|
63
|
+
|---------|-------|--------|------------|--------|------------|
|
|
64
|
+
| One-click checkout | 8,000 | 3 | 80% | 3 | **6,400** |
|
|
65
|
+
| Dark mode toggle | 5,000 | 0.5 | 50% | 1 | **1,250** |
|
|
66
|
+
| Export to CSV | 2,000 | 2 | 100% | 0.5 | **8,000** |
|
|
67
|
+
| AI search | 10,000 | 2 | 50% | 10 | **1,000** |
|
|
68
|
+
|
|
69
|
+
Higher score = higher priority.
|
|
70
|
+
|
|
71
|
+
## Prioritization Tiers
|
|
72
|
+
|
|
73
|
+
| RICE Score | Tier | Action |
|
|
74
|
+
|------------|------|--------|
|
|
75
|
+
| >5,000 | P0 — Must Ship | Schedule immediately |
|
|
76
|
+
| 1,000–5,000 | P1 — High Priority | Include in next cycle |
|
|
77
|
+
| 200–999 | P2 — Medium Priority | Backlog, revisit quarterly |
|
|
78
|
+
| <200 | P3 — Low Priority | Won't do / nice to have |
|
|
79
|
+
|
|
80
|
+
## When Data is Unavailable
|
|
81
|
+
|
|
82
|
+
Use relative RICE (rank order, not absolute scores):
|
|
83
|
+
- Assign all factors on 1–10 scale relative to each other
|
|
84
|
+
- Note confidence as Low/Medium/High instead of percentages
|
|
85
|
+
- Mark scores as estimates in PRD: `~2,400 (estimated)`
|
|
86
|
+
|
|
87
|
+
## PRD Integration
|
|
88
|
+
|
|
89
|
+
In the PRD, present RICE scores in the requirements table:
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
| Story | Reach | Impact | Confidence | Effort | Score | Priority |
|
|
93
|
+
|-------|-------|--------|------------|--------|-------|----------|
|
|
94
|
+
| ... | 5,000 | 2 | 80% | 2 | 4,000 | P1 |
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Always document assumptions used in scoring under the table.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-prd-orchestrator
|
|
3
|
+
type: orchestrator
|
|
4
|
+
agents: [researcher, edge-case-finder, requirements-writer, prioritizer, reviewer]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Create-PRD Orchestrator
|
|
8
|
+
|
|
9
|
+
## Workflow
|
|
10
|
+
|
|
11
|
+
### Phase 1: Gather Context
|
|
12
|
+
- **Agent**: researcher, edge-case-finder
|
|
13
|
+
- **Input**: Feature idea or problem statement + codebase context
|
|
14
|
+
- **Output**: researcher → existing patterns, prior art, constraints; edge-case-finder → edge cases, failure modes, user scenarios
|
|
15
|
+
- **Parallel**: yes — researcher and edge-case-finder run simultaneously
|
|
16
|
+
|
|
17
|
+
### Phase 2: Draft User Stories
|
|
18
|
+
- **Agent**: requirements-writer
|
|
19
|
+
- **Input**: Context and edge cases from Phase 1
|
|
20
|
+
- **Output**: User stories in `As a / I want / So that` format with acceptance criteria
|
|
21
|
+
- **Parallel**: no — sequential synthesis of Phase 1 outputs
|
|
22
|
+
|
|
23
|
+
### Phase 3: Prioritize
|
|
24
|
+
- **Agent**: prioritizer
|
|
25
|
+
- **Input**: User stories from Phase 2
|
|
26
|
+
- **Output**: RICE-scored stories with recommended MoSCoW classification (Must/Should/Could/Won't)
|
|
27
|
+
- **Parallel**: no — requires full story set for relative scoring
|
|
28
|
+
|
|
29
|
+
### Phase 4: Review
|
|
30
|
+
- **Agent**: reviewer
|
|
31
|
+
- **Input**: Prioritized stories + RICE scores from Phase 3
|
|
32
|
+
- **Output**: Completeness verdict — missing sections, ambiguous requirements, scope concerns
|
|
33
|
+
- **Parallel**: no
|
|
34
|
+
|
|
35
|
+
### Phase 5: Output PRD
|
|
36
|
+
- **Agent**: orchestrator (self)
|
|
37
|
+
- **Input**: All phase outputs
|
|
38
|
+
- **Output**: Structured PRD document using `templates/prd.md` format
|
|
39
|
+
- **Parallel**: no
|
|
40
|
+
|
|
41
|
+
## DAG (Dependency Graph)
|
|
42
|
+
|
|
43
|
+
```mermaid
|
|
44
|
+
graph TD
|
|
45
|
+
A[Phase 1a: Researcher] --> C[Phase 2: Requirements-Writer]
|
|
46
|
+
B[Phase 1b: Edge-Case-Finder] --> C
|
|
47
|
+
C --> D[Phase 3: Prioritizer]
|
|
48
|
+
D --> E[Phase 4: Reviewer]
|
|
49
|
+
E --> F[Phase 5: PRD Output]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Error Handling
|
|
53
|
+
|
|
54
|
+
| Phase | Failure Mode | Strategy |
|
|
55
|
+
|-------|-------------|----------|
|
|
56
|
+
| Phase 1 | researcher returns no prior art | Proceed — note "greenfield feature" in PRD |
|
|
57
|
+
| Phase 1 | edge-case-finder times out | Continue with researcher output only, flag limited edge-case coverage |
|
|
58
|
+
| Phase 2 | Problem statement too vague | Pause, prompt user with clarifying questions before continuing |
|
|
59
|
+
| Phase 3 | RICE data unavailable (no metrics) | Use relative scoring (High/Medium/Low), note data gaps |
|
|
60
|
+
| Phase 4 | Reviewer finds critical gaps | Return to Phase 2 with gap list (max 1 retry) |
|
|
61
|
+
| Phase 4 | Retry still incomplete after 1 pass | Flag gaps as `needs-clarification`, output partial PRD |
|
|
62
|
+
| Phase 5 | PRD template missing | Output raw structured markdown without template |
|
|
63
|
+
|
|
64
|
+
## Scalability Modes
|
|
65
|
+
|
|
66
|
+
| Mode | When | Agents Used |
|
|
67
|
+
|------|------|-------------|
|
|
68
|
+
| Full | Normal operation | All 5 agents |
|
|
69
|
+
| Reduced | Time pressure | researcher + requirements-writer + reviewer only |
|
|
70
|
+
| Single | Quick story draft | requirements-writer only — draft without research or scoring |
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# PRD Completeness Checklist
|
|
2
|
+
|
|
3
|
+
## Section 1 — Summary
|
|
4
|
+
|
|
5
|
+
- [ ] Describes what the document is about in 2-3 sentences
|
|
6
|
+
- [ ] Readable by a non-technical stakeholder
|
|
7
|
+
- [ ] Status clearly marked (Draft / Review / Approved)
|
|
8
|
+
|
|
9
|
+
## Section 2 — Contacts
|
|
10
|
+
|
|
11
|
+
- [ ] Product Manager named as owner
|
|
12
|
+
- [ ] Engineering Lead included
|
|
13
|
+
- [ ] Designer included (if UI/UX involved)
|
|
14
|
+
- [ ] Key decision-maker or sponsor listed
|
|
15
|
+
|
|
16
|
+
## Section 3 — Background
|
|
17
|
+
|
|
18
|
+
- [ ] "Why this?" answered — clear context given
|
|
19
|
+
- [ ] "Why now?" answered — trigger or change identified
|
|
20
|
+
- [ ] No assumed knowledge — first-time reader can understand
|
|
21
|
+
|
|
22
|
+
## Section 4 — Objective
|
|
23
|
+
|
|
24
|
+
- [ ] Goal statement is outcome-oriented (not feature-oriented)
|
|
25
|
+
- [ ] At least one measurable Key Result with baseline, target, and timeframe
|
|
26
|
+
- [ ] Linked to company strategy or OKR (even briefly)
|
|
27
|
+
|
|
28
|
+
## Section 5 — Market Segments
|
|
29
|
+
|
|
30
|
+
- [ ] Primary audience defined by problem or job-to-be-done (not just demographics)
|
|
31
|
+
- [ ] Constraints explicitly stated (who this is NOT for)
|
|
32
|
+
|
|
33
|
+
## Section 6 — Value Propositions
|
|
34
|
+
|
|
35
|
+
- [ ] Customer jobs listed (what users are trying to accomplish)
|
|
36
|
+
- [ ] Gains (benefits) distinguished from pains (problems removed)
|
|
37
|
+
- [ ] Competitive differentiation stated — why us, why better
|
|
38
|
+
|
|
39
|
+
## Section 7 — Solution
|
|
40
|
+
|
|
41
|
+
- [ ] 7.1: Prototype link or key screen descriptions included
|
|
42
|
+
- [ ] 7.2: Features table includes priority (Must / Should / Could)
|
|
43
|
+
- [ ] 7.4: At least 2 assumptions listed with validation method
|
|
44
|
+
- [ ] No feature described without a corresponding user job or pain from Section 6
|
|
45
|
+
|
|
46
|
+
## Section 8 — Release
|
|
47
|
+
|
|
48
|
+
- [ ] MVP scope defined — what is in V1 vs. later
|
|
49
|
+
- [ ] Out-of-scope items explicitly listed (prevents scope creep)
|
|
50
|
+
- [ ] Relative timeframes used — no hard dates in V1 unless confirmed
|
|
51
|
+
|
|
52
|
+
## Overall Quality
|
|
53
|
+
|
|
54
|
+
- [ ] Jargon-free — a new team member can understand without asking
|
|
55
|
+
- [ ] No sections left as placeholder ("TBD" without owner + due date)
|
|
56
|
+
- [ ] Assumptions are flagged, not buried as facts
|
|
57
|
+
- [ ] Document length proportional to initiative size (not bloated)
|
|
58
|
+
- [ ] Open questions have owners and due dates
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# PRD: {{PRODUCT_OR_FEATURE_NAME}}
|
|
2
|
+
|
|
3
|
+
> Version: {{VERSION}} | Status: {{STATUS}} (Draft / Review / Approved)
|
|
4
|
+
> Last updated: {{DATE}}
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Summary
|
|
9
|
+
|
|
10
|
+
{{2-3 SENTENCES DESCRIBING WHAT THIS DOCUMENT COVERS AND WHY IT EXISTS}}
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 2. Contacts
|
|
15
|
+
|
|
16
|
+
| Name | Role | Responsibility |
|
|
17
|
+
|------|------|----------------|
|
|
18
|
+
| {{PM_NAME}} | Product Manager | Owner, final decisions |
|
|
19
|
+
| {{LEAD_ENG_NAME}} | Engineering Lead | Technical feasibility |
|
|
20
|
+
| {{DESIGN_NAME}} | Designer | UX/UI |
|
|
21
|
+
| {{STAKEHOLDER_NAME}} | {{STAKEHOLDER_ROLE}} | {{COMMENT}} |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 3. Background
|
|
26
|
+
|
|
27
|
+
**Context**
|
|
28
|
+
{{WHAT IS THIS INITIATIVE ABOUT? WHAT LED TO IT?}}
|
|
29
|
+
|
|
30
|
+
**Why now?**
|
|
31
|
+
{{HAS SOMETHING CHANGED? NEW DATA, MARKET SHIFT, REGULATORY REQUIREMENT?}}
|
|
32
|
+
|
|
33
|
+
**Is this newly possible?**
|
|
34
|
+
{{HAS NEW TECHNOLOGY OR CAPABILITY MADE THIS FEASIBLE NOW?}}
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 4. Objective
|
|
39
|
+
|
|
40
|
+
**Goal**
|
|
41
|
+
{{WHAT ARE WE TRYING TO ACHIEVE AND WHY DOES IT MATTER?}}
|
|
42
|
+
|
|
43
|
+
**Strategic alignment**
|
|
44
|
+
{{HOW DOES THIS ALIGN WITH COMPANY VISION AND CURRENT STRATEGY?}}
|
|
45
|
+
|
|
46
|
+
**Key Results (SMART OKRs)**
|
|
47
|
+
|
|
48
|
+
| Metric | Baseline | Target | Timeframe |
|
|
49
|
+
|--------|----------|--------|-----------|
|
|
50
|
+
| {{METRIC_1}} | {{BASELINE}} | {{TARGET}} | {{TIMEFRAME}} |
|
|
51
|
+
| {{METRIC_2}} | {{BASELINE}} | {{TARGET}} | {{TIMEFRAME}} |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 5. Market Segments
|
|
56
|
+
|
|
57
|
+
**Primary segment**
|
|
58
|
+
{{WHO ARE WE BUILDING THIS FOR? DESCRIBE BY PROBLEM/JOB, NOT DEMOGRAPHICS.}}
|
|
59
|
+
|
|
60
|
+
**Secondary segment (if any)**
|
|
61
|
+
{{OPTIONAL}}
|
|
62
|
+
|
|
63
|
+
**Constraints**
|
|
64
|
+
- {{CONSTRAINT_1}} (e.g., "Users must be logged in")
|
|
65
|
+
- {{CONSTRAINT_2}}
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 6. Value Propositions
|
|
70
|
+
|
|
71
|
+
**Customer jobs we address**
|
|
72
|
+
- {{JOB_1}}: {{CONTEXT}}
|
|
73
|
+
- {{JOB_2}}: {{CONTEXT}}
|
|
74
|
+
|
|
75
|
+
**Gains (what customers get)**
|
|
76
|
+
- {{GAIN_1}}
|
|
77
|
+
- {{GAIN_2}}
|
|
78
|
+
|
|
79
|
+
**Pains we eliminate**
|
|
80
|
+
- {{PAIN_1}}
|
|
81
|
+
- {{PAIN_2}}
|
|
82
|
+
|
|
83
|
+
**Competitive advantage**
|
|
84
|
+
{{HOW DO WE SOLVE THIS BETTER THAN ALTERNATIVES? WHAT IS OUR UNIQUE EDGE?}}
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 7. Solution
|
|
89
|
+
|
|
90
|
+
### 7.1 UX / Prototypes
|
|
91
|
+
|
|
92
|
+
{{LINK TO FIGMA OR WIREFRAMES, OR DESCRIBE KEY SCREENS/FLOWS}}
|
|
93
|
+
|
|
94
|
+
Key user flows:
|
|
95
|
+
1. {{FLOW_1_NAME}}: {{BRIEF DESCRIPTION}}
|
|
96
|
+
2. {{FLOW_2_NAME}}: {{BRIEF DESCRIPTION}}
|
|
97
|
+
|
|
98
|
+
### 7.2 Key Features
|
|
99
|
+
|
|
100
|
+
| Feature | Description | Priority |
|
|
101
|
+
|---------|-------------|----------|
|
|
102
|
+
| {{FEATURE_1}} | {{DESCRIPTION}} | Must |
|
|
103
|
+
| {{FEATURE_2}} | {{DESCRIPTION}} | Should |
|
|
104
|
+
| {{FEATURE_3}} | {{DESCRIPTION}} | Could |
|
|
105
|
+
|
|
106
|
+
### 7.3 Technology (optional)
|
|
107
|
+
|
|
108
|
+
{{ONLY INCLUDE IF TECH CHOICES HAVE PRODUCT IMPLICATIONS — e.g., real-time, offline support}}
|
|
109
|
+
|
|
110
|
+
### 7.4 Assumptions
|
|
111
|
+
|
|
112
|
+
| # | Assumption | How to Validate | Risk if Wrong |
|
|
113
|
+
|---|-----------|-----------------|---------------|
|
|
114
|
+
| 1 | {{ASSUMPTION_1}} | {{VALIDATION_METHOD}} | {{RISK}} |
|
|
115
|
+
| 2 | {{ASSUMPTION_2}} | {{VALIDATION_METHOD}} | {{RISK}} |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 8. Release Plan
|
|
120
|
+
|
|
121
|
+
**Scope approach**: {{PHASED / BIG BANG / GRADUAL ROLLOUT}}
|
|
122
|
+
|
|
123
|
+
| Phase | What's Included | Estimated Timeline |
|
|
124
|
+
|-------|----------------|-------------------|
|
|
125
|
+
| V1 (MVP) | {{MVP_SCOPE}} | {{RELATIVE_TIME}} |
|
|
126
|
+
| V2 | {{V2_SCOPE}} | {{RELATIVE_TIME}} |
|
|
127
|
+
| Future | {{FUTURE_ITEMS}} | TBD |
|
|
128
|
+
|
|
129
|
+
**Out of scope (V1)**
|
|
130
|
+
- {{OUT_OF_SCOPE_1}}
|
|
131
|
+
- {{OUT_OF_SCOPE_2}}
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Open Questions
|
|
136
|
+
|
|
137
|
+
| # | Question | Owner | Due |
|
|
138
|
+
|---|----------|-------|-----|
|
|
139
|
+
| 1 | {{QUESTION_1}} | {{OWNER}} | {{DATE}} |
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-a11y-auditor
|
|
3
|
+
role: WCAG 2.1 AA compliance checker for UI components and pages
|
|
4
|
+
tools: [Read, Grep, Glob]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Accessibility Auditor
|
|
8
|
+
|
|
9
|
+
## Role
|
|
10
|
+
Audits UI source code for WCAG 2.1 AA compliance violations. Examines markup, component props, color usage, keyboard interaction patterns, and ARIA usage to identify barriers that would prevent users with disabilities from accessing the interface.
|
|
11
|
+
|
|
12
|
+
## Responsibilities
|
|
13
|
+
- Check for missing or inadequate `alt` attributes on images and icon elements
|
|
14
|
+
- Verify interactive elements have accessible names (aria-label, aria-labelledby, or visible text)
|
|
15
|
+
- Detect color contrast issues by flagging hardcoded low-contrast color pairs
|
|
16
|
+
- Check for keyboard accessibility: focus traps, missing tabIndex, onClick without onKeyDown
|
|
17
|
+
- Validate semantic HTML usage: headings hierarchy, landmark regions, form label associations
|
|
18
|
+
- Audit ARIA usage: no invalid roles, no aria-hidden on focusable elements
|
|
19
|
+
|
|
20
|
+
## Input
|
|
21
|
+
- Target file paths or glob pattern (e.g., `src/components/**/*.tsx`)
|
|
22
|
+
- Optional: WCAG level to audit against (default: AA)
|
|
23
|
+
|
|
24
|
+
## Output
|
|
25
|
+
Findings grouped by WCAG criterion:
|
|
26
|
+
```markdown
|
|
27
|
+
### Accessibility Audit
|
|
28
|
+
|
|
29
|
+
**Criterion 1.1.1 — Non-text Content (Level A)**
|
|
30
|
+
- src/components/Avatar.tsx:12 — `<img>` missing alt attribute [FAIL]
|
|
31
|
+
|
|
32
|
+
**Criterion 4.1.2 — Name, Role, Value (Level A)**
|
|
33
|
+
- src/components/IconButton.tsx:8 — interactive element has no accessible name [FAIL]
|
|
34
|
+
|
|
35
|
+
Score: {passed}/{total} criteria checked
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Communication
|
|
39
|
+
- Reports findings to: `design-scorer`
|
|
40
|
+
- Receives instructions from: design-audit orchestrator (SKILL.md)
|
|
41
|
+
|
|
42
|
+
## Domain Knowledge
|
|
43
|
+
WCAG 2.1 AA criteria (critical subset): 1.1.1 Non-text Content, 1.3.1 Info and Relationships, 1.4.3 Contrast (4.5:1 normal text / 3:1 large text), 1.4.11 Non-text Contrast (3:1), 2.1.1 Keyboard, 2.4.3 Focus Order, 2.4.7 Focus Visible, 3.3.2 Labels or Instructions, 4.1.2 Name Role Value. ARIA 1.1 authoring practices for widget patterns.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-performance-auditor
|
|
3
|
+
role: Checks image optimization, font loading, and bundle size patterns for web performance
|
|
4
|
+
tools: [Read, Grep, Glob]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Performance Auditor
|
|
8
|
+
|
|
9
|
+
## Role
|
|
10
|
+
Audits frontend code for performance anti-patterns that degrade Core Web Vitals scores. Focuses on image loading, font loading strategy, JavaScript bundle composition, and render-blocking patterns detectable through static analysis.
|
|
11
|
+
|
|
12
|
+
## Responsibilities
|
|
13
|
+
- Detect unoptimized image usage: missing `width`/`height`, missing `loading="lazy"` on off-screen images, no next/image or similar optimization wrapper
|
|
14
|
+
- Check font loading strategy: render-blocking `@font-face` without `font-display`, self-hosted vs. third-party font tradeoffs
|
|
15
|
+
- Identify large bundle contributors: wildcard imports (`import * as`), importing entire libraries for one function
|
|
16
|
+
- Flag synchronous scripts in `<head>` without `defer` or `async`
|
|
17
|
+
- Detect missing `preload` or `prefetch` hints for critical resources
|
|
18
|
+
|
|
19
|
+
## Input
|
|
20
|
+
- Target file paths or glob pattern
|
|
21
|
+
- Optional: framework context (e.g., Next.js, Vite) to apply framework-specific rules
|
|
22
|
+
|
|
23
|
+
## Output
|
|
24
|
+
Performance findings by category:
|
|
25
|
+
```markdown
|
|
26
|
+
### Performance Audit
|
|
27
|
+
|
|
28
|
+
**Images (LCP impact)**
|
|
29
|
+
- src/pages/Home.tsx:23 — `<img>` missing explicit width/height (layout shift risk) [WARN]
|
|
30
|
+
- src/pages/Home.tsx:45 — large hero image without loading="lazy" [WARN]
|
|
31
|
+
|
|
32
|
+
**Fonts (FCP impact)**
|
|
33
|
+
- src/styles/fonts.css:3 — @font-face missing font-display descriptor [FAIL]
|
|
34
|
+
|
|
35
|
+
**Bundle Size**
|
|
36
|
+
- src/utils/dates.ts:1 — `import * as dateFns from 'date-fns'` imports full library [WARN]
|
|
37
|
+
|
|
38
|
+
Score: {passed}/{total} checks
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Communication
|
|
42
|
+
- Reports findings to: `design-scorer`
|
|
43
|
+
- Receives instructions from: design-audit orchestrator (SKILL.md)
|
|
44
|
+
|
|
45
|
+
## Domain Knowledge
|
|
46
|
+
Core Web Vitals targets: LCP < 2.5s (good), FID/INP < 100ms, CLS < 0.1. Image optimization: WebP/AVIF preferred, explicit dimensions prevent CLS, lazy loading below fold. Font loading: `font-display: swap` prevents FOIT, `preload` for critical fonts. Bundle: code splitting, tree shaking, dynamic imports for route-level splitting.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-responsive-auditor
|
|
3
|
+
role: Verifies breakpoint coverage, touch target sizes, and viewport-relative layout patterns
|
|
4
|
+
tools: [Read, Grep, Glob]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Responsive Auditor
|
|
8
|
+
|
|
9
|
+
## Role
|
|
10
|
+
Audits CSS and component code for responsive design gaps. Checks that layouts work across standard breakpoints, touch targets meet minimum size requirements for mobile users, and that viewport-relative units are used appropriately. Detects fixed-width patterns that break on small screens.
|
|
11
|
+
|
|
12
|
+
## Responsibilities
|
|
13
|
+
- Detect fixed pixel widths on container elements that would overflow on mobile
|
|
14
|
+
- Verify touch target minimum size (44x44px per WCAG 2.5.5, 24x24px minimum per 2.5.8)
|
|
15
|
+
- Check for media query coverage across standard breakpoints (sm/md/lg/xl)
|
|
16
|
+
- Flag viewport units (`vw`, `vh`) used without `svw`/`svh` fallback on mobile (URL bar issue)
|
|
17
|
+
- Detect horizontal scrollbar triggers: `overflow-x: hidden` masking layout issues
|
|
18
|
+
- Check text remains readable at 200% zoom (no `overflow: hidden` clipping on text containers)
|
|
19
|
+
|
|
20
|
+
## Input
|
|
21
|
+
- Target file paths or glob pattern (CSS, TSX, JSX)
|
|
22
|
+
- Optional: design system breakpoints config
|
|
23
|
+
|
|
24
|
+
## Output
|
|
25
|
+
Responsive findings:
|
|
26
|
+
```markdown
|
|
27
|
+
### Responsive Audit
|
|
28
|
+
|
|
29
|
+
**Touch Targets (Mobile)**
|
|
30
|
+
- src/components/Pagination.tsx:15 — button estimated 24px — below 44px minimum [FAIL]
|
|
31
|
+
|
|
32
|
+
**Fixed Widths (Small Screen)**
|
|
33
|
+
- src/layouts/Sidebar.tsx:8 — `width: 280px` with no responsive override [WARN]
|
|
34
|
+
|
|
35
|
+
**Breakpoint Coverage**
|
|
36
|
+
- src/components/DataTable.tsx — no mobile breakpoint styles detected [WARN]
|
|
37
|
+
|
|
38
|
+
Score: {passed}/{total} checks
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Communication
|
|
42
|
+
- Reports findings to: `design-scorer`
|
|
43
|
+
- Receives instructions from: design-audit orchestrator (SKILL.md)
|
|
44
|
+
|
|
45
|
+
## Domain Knowledge
|
|
46
|
+
Standard breakpoints (Tailwind reference): sm 640px, md 768px, lg 1024px, xl 1280px, 2xl 1536px. Mobile-first approach preferred. WCAG 2.5.5 (AA): pointer targets 44x44px. WCAG 2.5.8 (AA, 2.2): minimum 24x24px. Safe area insets required for notched devices. CSS logical properties preferred for RTL support.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-scorer
|
|
3
|
+
role: Aggregates audit findings from all design agents and produces a final scored report
|
|
4
|
+
tools: [Read]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Design Scorer
|
|
8
|
+
|
|
9
|
+
## Role
|
|
10
|
+
Collects findings from all four design audit agents and produces a unified score, priority ranking, and action plan. Weights issues by user impact and implementation effort to help the team focus on the highest-value improvements first.
|
|
11
|
+
|
|
12
|
+
## Responsibilities
|
|
13
|
+
- Collect and read findings from a11y-auditor, performance-auditor, responsive-auditor, and slop-detector
|
|
14
|
+
- Calculate a score per category (0-100) based on fail/warn/pass ratio
|
|
15
|
+
- Compute an overall design health score (weighted: a11y 35%, performance 30%, responsive 25%, quality 10%)
|
|
16
|
+
- Rank all failures by impact × effort using a 2x2 matrix (high impact + low effort = do first)
|
|
17
|
+
- Produce an actionable prioritized fix list with effort estimates
|
|
18
|
+
- Generate a one-line status badge per category for quick reference
|
|
19
|
+
|
|
20
|
+
## Input
|
|
21
|
+
Findings markdown documents from all four audit agents.
|
|
22
|
+
|
|
23
|
+
## Output
|
|
24
|
+
Final scored report:
|
|
25
|
+
```markdown
|
|
26
|
+
## Design Audit Report
|
|
27
|
+
|
|
28
|
+
| Category | Score | Status |
|
|
29
|
+
|-----------------|-------|---------|
|
|
30
|
+
| Accessibility | 72/100 | Warning |
|
|
31
|
+
| Performance | 85/100 | Good |
|
|
32
|
+
| Responsive | 60/100 | Needs Work |
|
|
33
|
+
| Design Quality | 90/100 | Good |
|
|
34
|
+
| **Overall** | **76/100** | **Warning** |
|
|
35
|
+
|
|
36
|
+
### Priority Fix List
|
|
37
|
+
1. [High Impact, Low Effort] src/components/IconButton.tsx — add aria-label (5 min)
|
|
38
|
+
2. [High Impact, Low Effort] src/styles/fonts.css — add font-display: swap (2 min)
|
|
39
|
+
3. [High Impact, High Effort] Responsive table layout — needs full mobile redesign (2 hrs)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Communication
|
|
43
|
+
- Reports final report to: orchestrator / user
|
|
44
|
+
- Receives findings from: a11y-auditor, performance-auditor, responsive-auditor, slop-detector
|
|
45
|
+
|
|
46
|
+
## Domain Knowledge
|
|
47
|
+
Issue weighting: WCAG A violations = Critical (blocks legal compliance); WCAG AA = High; Core Web Vitals failures = High (SEO impact); responsive failures on primary breakpoints = High; design quality = Medium. Effort estimates: attribute change = trivial, CSS addition = minor, component restructure = moderate, full redesign = major.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-slop-detector
|
|
3
|
+
role: Detects AI-generated design anti-patterns — generic aesthetics, placeholder content, and low-polish UI
|
|
4
|
+
tools: [Read, Glob, Grep]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Slop Detector
|
|
8
|
+
|
|
9
|
+
## Role
|
|
10
|
+
Identifies UI code patterns that suggest low-effort or AI-generated design: generic color palettes, Lorem Ipsum text, placeholder-style components, overuse of shadow-lg/rounded-lg, and other signals of "default aesthetic" that reduce product quality and distinctiveness.
|
|
11
|
+
|
|
12
|
+
## Responsibilities
|
|
13
|
+
- Detect Lorem Ipsum or generic placeholder text strings in rendered content
|
|
14
|
+
- Flag generic Tailwind class overuse patterns: repeated `shadow-lg`, `rounded-xl`, `bg-gray-100` without custom design tokens
|
|
15
|
+
- Identify "default card" patterns: white background + border + shadow + padding with no visual hierarchy
|
|
16
|
+
- Check for excessive gradient overuse (more than 2-3 gradients in a component)
|
|
17
|
+
- Detect icon-heavy UIs with no text labels (icon soup)
|
|
18
|
+
- Flag `TODO: replace with real content` style comments in UI components
|
|
19
|
+
|
|
20
|
+
## Input
|
|
21
|
+
- Target file paths or glob pattern (TSX, JSX, HTML, CSS)
|
|
22
|
+
- Optional: design token file to distinguish intentional use of shared classes
|
|
23
|
+
|
|
24
|
+
## Output
|
|
25
|
+
Slop findings report:
|
|
26
|
+
```markdown
|
|
27
|
+
### Design Quality Audit
|
|
28
|
+
|
|
29
|
+
**Placeholder Content**
|
|
30
|
+
- src/pages/Dashboard.tsx:34 — hardcoded "Lorem ipsum dolor sit amet" [FAIL]
|
|
31
|
+
|
|
32
|
+
**Generic Aesthetics**
|
|
33
|
+
- src/components/Card.tsx — shadow-lg + rounded-xl + bg-white pattern repeated 8× [WARN]
|
|
34
|
+
- src/components/Hero.tsx:5 — gradient-to-r from-blue-500 to-purple-600 (default AI gradient) [WARN]
|
|
35
|
+
|
|
36
|
+
**Missing Polish**
|
|
37
|
+
- src/components/UserTable.tsx:12 — empty state uses generic "No data found" with no illustration or action [WARN]
|
|
38
|
+
|
|
39
|
+
Score: {passed}/{total} checks
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Communication
|
|
43
|
+
- Reports findings to: `design-scorer`
|
|
44
|
+
- Receives instructions from: design-audit orchestrator (SKILL.md)
|
|
45
|
+
|
|
46
|
+
## Domain Knowledge
|
|
47
|
+
AI-slop signals: purple-to-blue gradients, hero sections with "Transform your workflow" copy, cards with identical shadow/radius, no empty states, no loading skeletons, no error states. Nielsen's Heuristic 1 (visibility of system status) and Heuristic 8 (aesthetic and minimalist design) apply. Distinct design requires intentional deviation from framework defaults.
|