bros-harness 0.1.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.
- package/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/README.md +183 -0
- package/SECURITY.md +16 -0
- package/assets/agents.manifest.json +55 -0
- package/assets/commands.manifest.json +35 -0
- package/assets/docs.manifest.json +20 -0
- package/assets/import-report.md +25 -0
- package/assets/manifest.json +799 -0
- package/assets/opencode/agents/README.md +3 -0
- package/assets/opencode/agents/bro-build.md +256 -0
- package/assets/opencode/agents/bro-design.md +77 -0
- package/assets/opencode/agents/bro-docs.md +72 -0
- package/assets/opencode/agents/bro-explore.md +143 -0
- package/assets/opencode/agents/bro-ops.md +195 -0
- package/assets/opencode/agents/bro-shield.md +77 -0
- package/assets/opencode/agents/bro-test.md +204 -0
- package/assets/opencode/agents/bro-ui.md +135 -0
- package/assets/opencode/agents/mighty-bro.md +252 -0
- package/assets/opencode/commands/README.md +3 -0
- package/assets/opencode/commands/bros-assemble.md +32 -0
- package/assets/opencode/commands/bros-build.md +58 -0
- package/assets/opencode/commands/bros-plan.md +83 -0
- package/assets/opencode/commands/bros-review.md +38 -0
- package/assets/opencode/commands/bros-status.md +26 -0
- package/assets/opencode/docs/README.md +3 -0
- package/assets/opencode/docs/bros-builtin-skills.md +63 -0
- package/assets/opencode/docs/bros-harness.md +194 -0
- package/assets/opencode/skills/README.md +3 -0
- package/assets/opencode/skills/agent-architecture-audit/SKILL.md +256 -0
- package/assets/opencode/skills/agent-harness-construction/.openskills.json +7 -0
- package/assets/opencode/skills/agent-harness-construction/SKILL.md +73 -0
- package/assets/opencode/skills/agent-introspection-debugging/.openskills.json +7 -0
- package/assets/opencode/skills/agent-introspection-debugging/SKILL.md +153 -0
- package/assets/opencode/skills/api-design/.openskills.json +7 -0
- package/assets/opencode/skills/api-design/agents/openai.yaml +7 -0
- package/assets/opencode/skills/architecture-decision-records/.openskills.json +7 -0
- package/assets/opencode/skills/architecture-decision-records/SKILL.md +179 -0
- package/assets/opencode/skills/article-writing/.openskills.json +7 -0
- package/assets/opencode/skills/article-writing/SKILL.md +79 -0
- package/assets/opencode/skills/article-writing/agents/openai.yaml +7 -0
- package/assets/opencode/skills/automation-audit-ops/.openskills.json +7 -0
- package/assets/opencode/skills/automation-audit-ops/SKILL.md +142 -0
- package/assets/opencode/skills/backend-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/backend-patterns/SKILL.md +561 -0
- package/assets/opencode/skills/backend-patterns/agents/openai.yaml +7 -0
- package/assets/opencode/skills/benchmark/.openskills.json +7 -0
- package/assets/opencode/skills/benchmark/SKILL.md +93 -0
- package/assets/opencode/skills/bros-orchestrate/SKILL.md +455 -0
- package/assets/opencode/skills/browser-qa/.openskills.json +7 -0
- package/assets/opencode/skills/browser-qa/SKILL.md +87 -0
- package/assets/opencode/skills/canary-watch/.openskills.json +7 -0
- package/assets/opencode/skills/canary-watch/SKILL.md +107 -0
- package/assets/opencode/skills/code-review-expert/SKILL.md +155 -0
- package/assets/opencode/skills/code-review-expert/agents/agent.yaml +7 -0
- package/assets/opencode/skills/code-review-expert/references/code-quality-checklist.md +130 -0
- package/assets/opencode/skills/code-review-expert/references/removal-plan.md +52 -0
- package/assets/opencode/skills/code-review-expert/references/security-checklist.md +118 -0
- package/assets/opencode/skills/code-review-expert/references/solid-checklist.md +65 -0
- package/assets/opencode/skills/code-tour/.openskills.json +7 -0
- package/assets/opencode/skills/code-tour/SKILL.md +236 -0
- package/assets/opencode/skills/coding-standards/.openskills.json +7 -0
- package/assets/opencode/skills/coding-standards/SKILL.md +549 -0
- package/assets/opencode/skills/coding-standards/agents/openai.yaml +7 -0
- package/assets/opencode/skills/context-budget/.openskills.json +7 -0
- package/assets/opencode/skills/context-budget/SKILL.md +135 -0
- package/assets/opencode/skills/database-migrations/.openskills.json +7 -0
- package/assets/opencode/skills/database-migrations/SKILL.md +429 -0
- package/assets/opencode/skills/deployment-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/deployment-patterns/SKILL.md +427 -0
- package/assets/opencode/skills/design-system/.openskills.json +7 -0
- package/assets/opencode/skills/design-system/SKILL.md +82 -0
- package/assets/opencode/skills/docker-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/docker-patterns/SKILL.md +364 -0
- package/assets/opencode/skills/documentation-lookup/.openskills.json +7 -0
- package/assets/opencode/skills/documentation-lookup/SKILL.md +90 -0
- package/assets/opencode/skills/documentation-lookup/agents/openai.yaml +7 -0
- package/assets/opencode/skills/e2e-testing/.openskills.json +7 -0
- package/assets/opencode/skills/e2e-testing/SKILL.md +326 -0
- package/assets/opencode/skills/e2e-testing/agents/openai.yaml +7 -0
- package/assets/opencode/skills/error-handling/SKILL.md +376 -0
- package/assets/opencode/skills/frontend-design/.openskills.json +7 -0
- package/assets/opencode/skills/frontend-design/SKILL.md +145 -0
- package/assets/opencode/skills/frontend-design-direction/SKILL.md +92 -0
- package/assets/opencode/skills/frontend-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/frontend-patterns/SKILL.md +642 -0
- package/assets/opencode/skills/frontend-patterns/agents/openai.yaml +7 -0
- package/assets/opencode/skills/gateguard/.openskills.json +7 -0
- package/assets/opencode/skills/gateguard/SKILL.md +125 -0
- package/assets/opencode/skills/git-master/SKILL.md +60 -0
- package/assets/opencode/skills/golang-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/golang-patterns/SKILL.md +674 -0
- package/assets/opencode/skills/golang-testing/.openskills.json +7 -0
- package/assets/opencode/skills/golang-testing/SKILL.md +720 -0
- package/assets/opencode/skills/grafana-dashboard-design/SKILL.md +65 -0
- package/assets/opencode/skills/hexagonal-architecture/.openskills.json +7 -0
- package/assets/opencode/skills/hexagonal-architecture/SKILL.md +276 -0
- package/assets/opencode/skills/java-coding-standards/.openskills.json +7 -0
- package/assets/opencode/skills/java-coding-standards/SKILL.md +383 -0
- package/assets/opencode/skills/jpa-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/jpa-patterns/SKILL.md +151 -0
- package/assets/opencode/skills/knowledge-ops/.openskills.json +7 -0
- package/assets/opencode/skills/knowledge-ops/SKILL.md +154 -0
- package/assets/opencode/skills/make-interfaces-feel-better/SKILL.md +151 -0
- package/assets/opencode/skills/mysql-patterns/SKILL.md +412 -0
- package/assets/opencode/skills/nestjs-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/nestjs-patterns/SKILL.md +230 -0
- package/assets/opencode/skills/nextjs-turbopack/.openskills.json +7 -0
- package/assets/opencode/skills/nextjs-turbopack/SKILL.md +57 -0
- package/assets/opencode/skills/nextjs-turbopack/agents/openai.yaml +7 -0
- package/assets/opencode/skills/parallel-execution-optimizer/SKILL.md +72 -0
- package/assets/opencode/skills/postgres-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/postgres-patterns/SKILL.md +147 -0
- package/assets/opencode/skills/prisma-patterns/SKILL.md +371 -0
- package/assets/opencode/skills/product-capability/.openskills.json +7 -0
- package/assets/opencode/skills/product-capability/SKILL.md +141 -0
- package/assets/opencode/skills/product-lens/.openskills.json +7 -0
- package/assets/opencode/skills/product-lens/SKILL.md +92 -0
- package/assets/opencode/skills/production-audit/SKILL.md +206 -0
- package/assets/opencode/skills/python-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/python-patterns/SKILL.md +750 -0
- package/assets/opencode/skills/python-testing/.openskills.json +7 -0
- package/assets/opencode/skills/python-testing/SKILL.md +816 -0
- package/assets/opencode/skills/redis-patterns/SKILL.md +403 -0
- package/assets/opencode/skills/requirements-clarity/README.md +260 -0
- package/assets/opencode/skills/requirements-clarity/SKILL.md +324 -0
- package/assets/opencode/skills/rust-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/rust-patterns/SKILL.md +499 -0
- package/assets/opencode/skills/rust-testing/.openskills.json +7 -0
- package/assets/opencode/skills/rust-testing/SKILL.md +500 -0
- package/assets/opencode/skills/safety-guard/.openskills.json +7 -0
- package/assets/opencode/skills/safety-guard/SKILL.md +75 -0
- package/assets/opencode/skills/search-first/.openskills.json +7 -0
- package/assets/opencode/skills/search-first/SKILL.md +181 -0
- package/assets/opencode/skills/security-review/.openskills.json +7 -0
- package/assets/opencode/skills/security-review/agents/openai.yaml +7 -0
- package/assets/opencode/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/assets/opencode/skills/security-scan/.openskills.json +7 -0
- package/assets/opencode/skills/security-scan/SKILL.md +165 -0
- package/assets/opencode/skills/springboot-patterns/.openskills.json +7 -0
- package/assets/opencode/skills/springboot-patterns/SKILL.md +314 -0
- package/assets/opencode/skills/springboot-tdd/.openskills.json +7 -0
- package/assets/opencode/skills/springboot-tdd/SKILL.md +158 -0
- package/assets/opencode/skills/springboot-verification/.openskills.json +7 -0
- package/assets/opencode/skills/springboot-verification/SKILL.md +231 -0
- package/assets/opencode/skills/strategic-compact/.openskills.json +7 -0
- package/assets/opencode/skills/strategic-compact/SKILL.md +131 -0
- package/assets/opencode/skills/strategic-compact/agents/openai.yaml +7 -0
- package/assets/opencode/skills/strategic-compact/suggest-compact.sh +54 -0
- package/assets/opencode/skills/tdd-workflow/.openskills.json +7 -0
- package/assets/opencode/skills/tdd-workflow/SKILL.md +463 -0
- package/assets/opencode/skills/tdd-workflow/agents/openai.yaml +7 -0
- package/assets/opencode/skills/verification-loop/.openskills.json +7 -0
- package/assets/opencode/skills/verification-loop/SKILL.md +126 -0
- package/assets/opencode/skills/verification-loop/agents/openai.yaml +7 -0
- package/assets/opencode/skills/vite-patterns/SKILL.md +449 -0
- package/assets/opencode/skills/web-doc-search/SKILL.md +51 -0
- package/assets/opencode/templates/README.md +3 -0
- package/assets/opencode/templates/bros/adr.md +39 -0
- package/assets/opencode/templates/bros/delivery-report.md +71 -0
- package/assets/opencode/templates/bros/explorer-evidence-packet.md +51 -0
- package/assets/opencode/templates/bros/prd.md +72 -0
- package/assets/opencode/templates/bros/security-review.md +48 -0
- package/assets/opencode/templates/bros/status-board.md +33 -0
- package/assets/opencode/templates/bros/task-packet.md +94 -0
- package/assets/opencode/templates/bros/test-strategy.md +57 -0
- package/assets/opencode/templates/bros/ui-implementation-packet.md +64 -0
- package/assets/skills.manifest.json +650 -0
- package/assets/templates.manifest.json +55 -0
- package/bin/bros.mjs +122 -0
- package/docs/compatibility.md +9 -0
- package/docs/installation.md +66 -0
- package/docs/integrations/claude.md +5 -0
- package/docs/integrations/codex.md +5 -0
- package/docs/integrations/opencode.md +39 -0
- package/docs/migration/from-local-opencode-config.md +10 -0
- package/docs/release-process.md +11 -0
- package/docs/repository-structure.md +15 -0
- package/docs/roadmap.md +20 -0
- package/docs/security.md +18 -0
- package/docs/testing.md +9 -0
- package/examples/opencode/README.md +11 -0
- package/examples/opencode/opencode.example.jsonc +4 -0
- package/package.json +43 -0
- package/scripts/validate-assets.mjs +22 -0
- package/scripts/verify-no-secrets.mjs +38 -0
- package/src/plugin.mjs +98 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.
|
|
4
|
+
origin: ECC
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Frontend Design
|
|
8
|
+
|
|
9
|
+
Use this when the task is not just "make it work" but "make it look designed."
|
|
10
|
+
|
|
11
|
+
This skill is for product pages, dashboards, app shells, components, or visual systems that need a clear point of view instead of generic AI-looking UI.
|
|
12
|
+
|
|
13
|
+
## When To Use
|
|
14
|
+
|
|
15
|
+
- building a landing page, dashboard, or app surface from scratch
|
|
16
|
+
- upgrading a bland interface into something intentional and memorable
|
|
17
|
+
- translating a product concept into a concrete visual direction
|
|
18
|
+
- implementing a frontend where typography, composition, and motion matter
|
|
19
|
+
|
|
20
|
+
## Core Principle
|
|
21
|
+
|
|
22
|
+
Pick a direction and commit to it.
|
|
23
|
+
|
|
24
|
+
Safe-average UI is usually worse than a strong, coherent aesthetic with a few bold choices.
|
|
25
|
+
|
|
26
|
+
## Design Workflow
|
|
27
|
+
|
|
28
|
+
### 1. Frame the interface first
|
|
29
|
+
|
|
30
|
+
Before coding, settle:
|
|
31
|
+
|
|
32
|
+
- purpose
|
|
33
|
+
- audience
|
|
34
|
+
- emotional tone
|
|
35
|
+
- visual direction
|
|
36
|
+
- one thing the user should remember
|
|
37
|
+
|
|
38
|
+
Possible directions:
|
|
39
|
+
|
|
40
|
+
- brutally minimal
|
|
41
|
+
- editorial
|
|
42
|
+
- industrial
|
|
43
|
+
- luxury
|
|
44
|
+
- playful
|
|
45
|
+
- geometric
|
|
46
|
+
- retro-futurist
|
|
47
|
+
- soft and organic
|
|
48
|
+
- maximalist
|
|
49
|
+
|
|
50
|
+
Do not mix directions casually. Choose one and execute it cleanly.
|
|
51
|
+
|
|
52
|
+
### 2. Build the visual system
|
|
53
|
+
|
|
54
|
+
Define:
|
|
55
|
+
|
|
56
|
+
- type hierarchy
|
|
57
|
+
- color variables
|
|
58
|
+
- spacing rhythm
|
|
59
|
+
- layout logic
|
|
60
|
+
- motion rules
|
|
61
|
+
- surface / border / shadow treatment
|
|
62
|
+
|
|
63
|
+
Use CSS variables or the project's token system so the interface stays coherent as it grows.
|
|
64
|
+
|
|
65
|
+
### 3. Compose with intention
|
|
66
|
+
|
|
67
|
+
Prefer:
|
|
68
|
+
|
|
69
|
+
- asymmetry when it sharpens hierarchy
|
|
70
|
+
- overlap when it creates depth
|
|
71
|
+
- strong whitespace when it clarifies focus
|
|
72
|
+
- dense layouts only when the product benefits from density
|
|
73
|
+
|
|
74
|
+
Avoid defaulting to a symmetrical card grid unless it is clearly the right fit.
|
|
75
|
+
|
|
76
|
+
### 4. Make motion meaningful
|
|
77
|
+
|
|
78
|
+
Use animation to:
|
|
79
|
+
|
|
80
|
+
- reveal hierarchy
|
|
81
|
+
- stage information
|
|
82
|
+
- reinforce user action
|
|
83
|
+
- create one or two memorable moments
|
|
84
|
+
|
|
85
|
+
Do not scatter generic micro-interactions everywhere. One well-directed load sequence is usually stronger than twenty random hover effects.
|
|
86
|
+
|
|
87
|
+
## Strong Defaults
|
|
88
|
+
|
|
89
|
+
### Typography
|
|
90
|
+
|
|
91
|
+
- pick fonts with character
|
|
92
|
+
- pair a distinctive display face with a readable body face when appropriate
|
|
93
|
+
- avoid generic defaults when the page is design-led
|
|
94
|
+
|
|
95
|
+
### Color
|
|
96
|
+
|
|
97
|
+
- commit to a clear palette
|
|
98
|
+
- one dominant field with selective accents usually works better than evenly weighted rainbow palettes
|
|
99
|
+
- avoid cliché purple-gradient-on-white unless the product genuinely calls for it
|
|
100
|
+
|
|
101
|
+
### Background
|
|
102
|
+
|
|
103
|
+
Use atmosphere:
|
|
104
|
+
|
|
105
|
+
- gradients
|
|
106
|
+
- meshes
|
|
107
|
+
- textures
|
|
108
|
+
- subtle noise
|
|
109
|
+
- patterns
|
|
110
|
+
- layered transparency
|
|
111
|
+
|
|
112
|
+
Flat empty backgrounds are rarely the best answer for a product-facing page.
|
|
113
|
+
|
|
114
|
+
### Layout
|
|
115
|
+
|
|
116
|
+
- break the grid when the composition benefits from it
|
|
117
|
+
- use diagonals, offsets, and grouping intentionally
|
|
118
|
+
- keep reading flow obvious even when the layout is unconventional
|
|
119
|
+
|
|
120
|
+
## Anti-Patterns
|
|
121
|
+
|
|
122
|
+
Never default to:
|
|
123
|
+
|
|
124
|
+
- interchangeable SaaS hero sections
|
|
125
|
+
- generic card piles with no hierarchy
|
|
126
|
+
- random accent colors without a system
|
|
127
|
+
- placeholder-feeling typography
|
|
128
|
+
- motion that exists only because animation was easy to add
|
|
129
|
+
|
|
130
|
+
## Execution Rules
|
|
131
|
+
|
|
132
|
+
- preserve the established design system when working inside an existing product
|
|
133
|
+
- match technical complexity to the visual idea
|
|
134
|
+
- keep accessibility and responsiveness intact
|
|
135
|
+
- frontends should feel deliberate on desktop and mobile
|
|
136
|
+
|
|
137
|
+
## Quality Gate
|
|
138
|
+
|
|
139
|
+
Before delivering:
|
|
140
|
+
|
|
141
|
+
- the interface has a clear visual point of view
|
|
142
|
+
- typography and spacing feel intentional
|
|
143
|
+
- color and motion support the product instead of decorating it randomly
|
|
144
|
+
- the result does not read like generic AI UI
|
|
145
|
+
- the implementation is production-grade, not just visually interesting
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design-direction
|
|
3
|
+
description: Set an ECC-specific frontend design direction for production UI work. Use when building or improving websites, dashboards, applications, components, landing pages, visual tools, or any web UI that needs stronger product-specific design judgment.
|
|
4
|
+
origin: community
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Frontend Design Direction
|
|
8
|
+
|
|
9
|
+
Use this skill when the work is not just making UI function, but making it feel
|
|
10
|
+
purposeful, polished, and appropriate to the product domain.
|
|
11
|
+
|
|
12
|
+
Source: salvaged from stale community PR #1659 by `linus707`.
|
|
13
|
+
|
|
14
|
+
Note: ECC intentionally does not rebundle the canonical Anthropic
|
|
15
|
+
`frontend-design` skill. Install that from `anthropics/skills` when you want the
|
|
16
|
+
official upstream skill. This skill is the ECC-specific design-direction salvage
|
|
17
|
+
of the useful local guidance from #1659.
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- The user asks to build a web page, app, dashboard, artifact, component, or UI.
|
|
22
|
+
- The user asks to make an interface more polished, distinctive, beautiful, or
|
|
23
|
+
less generic.
|
|
24
|
+
- The implementation needs visual hierarchy, typography, color, motion, layout,
|
|
25
|
+
and interaction choices.
|
|
26
|
+
- The current UI works but reads as flat, generic, templated, or mismatched to
|
|
27
|
+
the audience.
|
|
28
|
+
|
|
29
|
+
## Design Direction
|
|
30
|
+
|
|
31
|
+
Before coding, choose a specific direction:
|
|
32
|
+
|
|
33
|
+
1. Purpose: what job does the interface do?
|
|
34
|
+
2. Audience: who repeats this workflow, and what do they need to scan first?
|
|
35
|
+
3. Tone: utilitarian, editorial, playful, industrial, refined, technical,
|
|
36
|
+
maximal, minimal, dense, calm, or another explicit direction.
|
|
37
|
+
4. Memorable detail: one design idea that makes the result feel intentional.
|
|
38
|
+
5. Constraints: framework, accessibility, performance, responsiveness, and
|
|
39
|
+
existing design system.
|
|
40
|
+
|
|
41
|
+
Match the direction to the domain. A SaaS operations tool should usually be
|
|
42
|
+
dense, quiet, and scannable. A portfolio, launch page, game, or editorial piece
|
|
43
|
+
can be more expressive. Do not force a landing-page composition onto a tool that
|
|
44
|
+
needs repeated daily use.
|
|
45
|
+
|
|
46
|
+
## Implementation Guidance
|
|
47
|
+
|
|
48
|
+
- Build the actual usable experience as the first screen unless the user
|
|
49
|
+
explicitly asks for marketing copy.
|
|
50
|
+
- Use existing project components, tokens, icon libraries, and routing patterns
|
|
51
|
+
before introducing a new visual system.
|
|
52
|
+
- Use real or generated visual assets when the interface depends on images,
|
|
53
|
+
products, places, people, gameplay, charts, or inspectable media.
|
|
54
|
+
- Prefer contextual typography and spacing over generic oversized hero text.
|
|
55
|
+
- Keep palettes multi-dimensional: avoid a UI dominated by one hue family.
|
|
56
|
+
- Use CSS variables or existing design tokens so the direction remains
|
|
57
|
+
coherent across states.
|
|
58
|
+
- Design responsive constraints explicitly: grids, aspect ratios, min/max
|
|
59
|
+
sizes, stable toolbars, and fixed-format controls should not shift when labels
|
|
60
|
+
or hover states appear.
|
|
61
|
+
- Use motion sparingly but deliberately. Prefer high-signal transitions that
|
|
62
|
+
clarify state over decorative animation.
|
|
63
|
+
- Verify text fit on mobile and desktop. Long labels must wrap or resize
|
|
64
|
+
cleanly rather than overflowing.
|
|
65
|
+
|
|
66
|
+
## Anti-Patterns
|
|
67
|
+
|
|
68
|
+
- Do not default to common generated patterns: purple gradients, decorative
|
|
69
|
+
blobs, oversized cards, vague hero copy, or stock-like atmospheric media.
|
|
70
|
+
- Do not add UI cards inside other cards.
|
|
71
|
+
- Do not use a single decorative style everywhere when the domain calls for
|
|
72
|
+
restraint.
|
|
73
|
+
- Do not hide the primary product, tool, object, or workflow behind generic
|
|
74
|
+
marketing sections.
|
|
75
|
+
- Do not add a new dependency for a design flourish unless it clearly pays for
|
|
76
|
+
itself.
|
|
77
|
+
- Do not describe the UI's features inside the UI when the controls can speak
|
|
78
|
+
for themselves.
|
|
79
|
+
|
|
80
|
+
## Review Checklist
|
|
81
|
+
|
|
82
|
+
- The first viewport immediately communicates the product, workflow, or object.
|
|
83
|
+
- The visual hierarchy supports scanning and repeated use.
|
|
84
|
+
- Typography fits the container and does not overlap adjacent content.
|
|
85
|
+
- Color choices have contrast and do not collapse into a one-note palette.
|
|
86
|
+
- Icons are used for familiar tool actions where available.
|
|
87
|
+
- Responsive layout has stable dimensions for boards, grids, toolbars,
|
|
88
|
+
controls, tiles, and counters.
|
|
89
|
+
- Assets render and carry the subject matter instead of acting as filler.
|
|
90
|
+
- Motion improves orientation and does not mask sluggishness.
|
|
91
|
+
- The result matches the repo's existing frontend conventions unless there is a
|
|
92
|
+
clear reason to depart.
|