4.6 KiB
4.6 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| boo-critiquing-frontend | Critiques frontend UI/UX implementation and design quality: visual hierarchy, spacing, typography, interaction states, accessibility, component structure. Use for "review my UI," "does this look right," screenshot critiques, component quality checks. Do NOT use for backend code review; use boo-reviewing-code. Do NOT use for building new UI; use boo-building-ui. |
|
Critiquing Frontend
Size
Classify small/medium/large from the number of components, screens, or flows to critique. Default: small (single component or screen). At medium+, dispatch user-experience-designer. Accept $size override.
Process
- Read
references/design-guidance.mdfor the canonical design rules (color, typography, layout, motion, interaction, absolute bans, AI slop test). - Run
ls frontend/src/components/ui/and only reference primitives that exist. If the directory does not exist or is empty, stop and report. - Apply the design guidance from references/ against each component or screen.
- If size is medium or larger, dispatch
user-experience-designerfor a full UX audit. - Group findings by severity and produce the report.
What NOT to do
- Do not use this skill for backend code review. Use boo-reviewing-code.
- Do not use this skill to build new UI. It critiques existing interfaces; building is boo-building-ui's job.
Gotchas
- BooLab primitive rule: run
ls frontend/src/components/ui/and only reference primitives that exist. If missing, stop and report. - Anti-cream / serif default-aesthetic: for dashboards and tools, avoid recommending cream backgrounds or serif type as a default aesthetic. The warm-neutral AI default (cream/sand/beige body bg) is a tell; recommend neutral or brand-aligned palettes instead.
- Evidence rule: every critique cites a specific component file:line and names the UX principle violated.
- Subagent visibility: when the Paseo MCP tools (
mcp__paseo__*) are available, spawn each agent persona as an attached Paseo subagent withcreate_agent(detached: false,notifyOnFinish: true; for an opencode provider also passsettings.modeId: "build"andsettings.features.auto_accept: true) so every persona appears in the operator's Paseo agent track. Resolve each persona's provider/model from the active preset'sagentsmap in~/.paseo/orchestration-preferences.json; supervise on the finish notification (never poll) and read each result withget_agent_activity. - Subagent fallback: when the Paseo MCP tools are not available, use the platform's native subagent dispatch. On a platform with no subagent dispatch at all (for example Pi), read each
agents/<name>.mdpersona and apply its lens in sequential passes. - Subagent concurrency: honor the active preset's
concurrencyvalue in~/.paseo/orchestration-preferences.json. When it is1(local heavy-weight presets, around 27b/35b or larger on a single llama-swap server), dispatch subagents STRICTLY ONE AT A TIME: launch one, wait for its finish notification and read its result, then launch the next. This overrides any parallel fan-out. Absent or higherconcurrencymeans parallel fan-out is fine.
- No commit: never commit, push, or stage changes; never
git add -A. Prove any edits withgit diff --stat. - No em dashes: never use em dashes (U+2014) in output or files you write.
Output format
# Frontend Critique: <target>
## Severity Summary
| Severity | Count |
|--------------|-------|
| Broken | N |
| Inconsistent | N |
| Polish | N |
## Findings
### Broken
**B1: <title>**
- **Location:** `component/file.tsx:line`
- **Principle violated:** <UX principle, WCAG criterion, or design rule>
- **Issue:** <description>
- **Suggested fix:** <concrete change>
### Inconsistent
**I1: <title>**
- **Location:** `component/file.tsx:line`
- **Issue:** <description>
- **Suggested fix:** <concrete change>
### Polish
**P1: <title>**
- **Location:** `component/file.tsx:line`
- **Issue:** <description>
- **Suggested fix:** <concrete change>
## Claims I did not verify
- <anything assumed or not checked>
Failure modes
- No frontend code to critique: the repo has no frontend source. Report and stop.
- UI primitives directory missing: run
ls frontend/src/components/ui/fails. Report the actual path and stop. - Design guidance cannot be loaded: references/design-guidance.md is missing. Report and stop.