Skip to content

Commit 026b16e

Browse files
authored
Realese v0.3.0
2 parents 2bb32b6 + d2e045b commit 026b16e

48 files changed

Lines changed: 5444 additions & 485 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
---
2+
name: ux-ui-audit
3+
description: Project-specific UX/UI audit workflow for SantaGymBot. Use when asked to review the app UX/UI, accessibility, mobile workout flows, dialogs, empty/loading/error states, or to capture repeatable screenshots and audit reports for this repository.
4+
---
5+
6+
# SantaGymBot UX/UI Audit
7+
8+
Use this skill for SantaGymBot-specific UX/UI reviews. Treat it as an audit workflow, not a redesign workflow.
9+
10+
Prefer these companion skills when needed:
11+
- `web-design-guidelines` for code-level UI/a11y review
12+
- `vercel-react-best-practices` for React interaction and perceived-performance issues
13+
- `frontend-design` only after the audit, if the user asks for redesign or implementation
14+
15+
## Project Context
16+
17+
- Frontend lives in `frontend/`
18+
- Primary app shell: `frontend/src/App.tsx`
19+
- Main user surfaces:
20+
- `frontend/src/pages/Dashboard.tsx`
21+
- `frontend/src/pages/WorkoutSession.tsx`
22+
- `frontend/src/pages/SettingsPage.tsx`
23+
- Shared workout UI:
24+
- `frontend/src/components/workout/`
25+
- Theme tokens and global styles:
26+
- `frontend/src/index.css`
27+
28+
This product is mobile-first and Telegram WebApp-oriented. Treat mobile as primary, desktop as secondary.
29+
30+
## Standard Audit Flow
31+
32+
### 1. Ground In Code
33+
34+
Read:
35+
- app bootstrap and routing
36+
- visible pages
37+
- shared workout components
38+
- theme tokens / global CSS
39+
- stores and hooks that shape loading, auth, error, and persistence behavior
40+
41+
Look especially for:
42+
- modal/dialog accessibility
43+
- primary action hierarchy conflicts
44+
- fixed-bottom controls and safe-area handling
45+
- empty/loading/error/recovery states
46+
- labels for inputs and icon-only buttons
47+
- long text handling on mobile
48+
49+
### 2. Capture Rendered UI
50+
51+
Use the bundled script instead of rewriting Playwright logic:
52+
53+
```bash
54+
cd frontend
55+
npm run dev -- --host 127.0.0.1
56+
```
57+
58+
Then in another shell:
59+
60+
```bash
61+
cd frontend
62+
npm run ux:audit:capture
63+
```
64+
65+
Optional arguments:
66+
67+
```bash
68+
node ../.agents/skills/ux-ui-audit/scripts/capture-audit.mjs \
69+
--base-url http://127.0.0.1:5173 \
70+
--output-dir ../artifacts/ux-audit/manual-run \
71+
--report ../docs/ux-audit/reports/manual-run.md
72+
```
73+
74+
The script:
75+
- injects stable localStorage fixtures
76+
- mocks API responses for repeatable screenshots
77+
- captures standard scenarios
78+
- creates a report stub
79+
80+
Default screenshot scenarios:
81+
- dashboard desktop
82+
- active workout mobile
83+
- manage exercises mobile
84+
- settings mobile
85+
- history detail desktop
86+
- auth error desktop
87+
88+
Artifacts go to:
89+
- screenshots: `artifacts/ux-audit/...`
90+
- report stubs: `docs/ux-audit/reports/...`
91+
92+
### 3. Write Findings
93+
94+
Use the report shape from `references/report-template.md`.
95+
96+
For every finding include:
97+
- severity
98+
- type: `code` or `visual`
99+
- location: file:line, route, component, or screenshot scenario
100+
- problem
101+
- impact
102+
- smallest effective fix
103+
104+
Prioritize:
105+
- `critical`: task blocked, data-loss risk, severe accessibility failure
106+
- `major`: materially harms comprehension, confidence, or efficiency
107+
- `minor`: polish, consistency, contrast, spacing, copy, affordance
108+
109+
## SantaGymBot-Specific Checks
110+
111+
Always review these flows if relevant:
112+
- dashboard start-workout CTA
113+
- active workout card layout and set-entry labels
114+
- manage-exercises mode
115+
- destructive confirmation dialog
116+
- exercise catalog and create-exercise modal
117+
- settings switch/input semantics
118+
- auth failure state
119+
- history/detail rendering
120+
121+
If the user later asks for fixes or redesign:
122+
- keep the audit findings as source of truth
123+
- separate must-fix usability/accessibility issues from purely visual upgrades
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
interface:
2+
display_name: "UX/UI Audit"
3+
short_description: "Audit SantaGymBot UX/UI with repeatable screenshots"
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# UX/UI Audit Report Template
2+
3+
## Findings
4+
5+
List findings from highest severity to lowest severity.
6+
7+
For each finding, use:
8+
- Severity: `critical` | `major` | `minor`
9+
- Type: `code` | `visual`
10+
- Location: file path and line, route, component name, or screenshot scenario
11+
- Problem: one clear sentence
12+
- Impact: why this hurts usability, accessibility, trust, or task completion
13+
- Fix: smallest effective change
14+
15+
Example:
16+
17+
```text
18+
1. [major] [visual] `/workout` mobile empty state
19+
Problem: The page says the workout is empty, but the primary next action is visually detached below the fold.
20+
Impact: Users can miss the next step and assume the screen is broken or unfinished.
21+
Fix: Keep the primary add-exercise action adjacent to the empty-state copy.
22+
```
23+
24+
## Open Questions
25+
26+
Include only uncertainties that block confident conclusions.
27+
28+
## Suggested Next Changes
29+
30+
Prefer a short, implementation-ready list:
31+
- fix critical issues first
32+
- then fix major flow and accessibility issues
33+
- then apply visual polish or redesign work

0 commit comments

Comments
 (0)