accessibility-gate
Use as a pass/fail gate on any diff with a user-facing surface — by code-reviewer during review, by qa-engineer during the test…
Use when specifying or reviewing motion and interaction feel — transitions, gestures, feedback timing, loading and progress. Invoked by product-designer while composing screens and by any IC implementing an animated surface. Triggers whenever something moves, and whenever
Claude Code
$ npx -y skills add vmobifystudio/app-dev-team --skill interaction-motion --agent claude-code
Codex
$ npx skills add vmobifystudio/app-dev-team --skill interaction-motion -a codex -y
Cursor
$ npx skills add vmobifystudio/app-dev-team --skill interaction-motion -a cursor -y
Gemini CLI
$ npx skills add vmobifystudio/app-dev-team --skill interaction-motion -a gemini-cli -y
GitHub Copilot
$ npx skills add vmobifystudio/app-dev-team --skill interaction-motion -a github-copilot -y
OpenCode
$ npx skills add vmobifystudio/app-dev-team --skill interaction-motion -a opencode -y
Windsurf
$ npx skills add vmobifystudio/app-dev-team --skill interaction-motion -a windsurf -y
name: interaction-motion description: Use when specifying or reviewing motion and interaction feel — transitions, gestures, feedback timing, loading and progress. Invoked by product-designer while composing screens and by any IC implementing an animated surface. Triggers whenever something moves, and whenever something takes long enough that the user must be told.
Motion has one job: **tell the user what just happened and where they are now**. Motion that decorates costs battery, costs frames, and costs the users who cannot tolerate it.
Do not invent a duration. Use the token, and use the shortest one that reads:
| Token | Use | |---|---| | `fast` 150ms ease-out | state feedback — press, toggle, ripple, checkbox | | `base` 250ms ease-in-out | element enters or leaves within a screen | | `slow` 400ms | full-screen transition, only when it carries spatial meaning |
Anything longer than 400ms is not motion, it is a wait — and a wait needs progress, not an animation.
| Elapsed | The interface owes the user | |---|---| | < 100ms | nothing — it feels instant | | 100ms–1s | immediate visual acknowledgement that the input landed | | 1s–10s | a determinate progress indicator if progress is knowable, an indeterminate one if not | | > 10s | the ability to leave and come back, and a way to cancel |
A spinner with no cancel on a long operation is a trap; that is a reliability finding as much as a design one.
after it finishes.
is replaced cross-fades. Getting this backwards is what makes an interface feel arbitrary.
`Settings.Global.ANIMATOR_DURATION_SCALE` / `prefers-reduced-motion`. The reduced path replaces movement with a cross-fade or an instant change — **it never removes the feedback itself**, which would leave those users with no indication anything happened.
One `## Motion` section in `docs/14-components.md`: per component, what animates, which token, and what the reduced-motion path is. A component with no reduced-motion line is not specified.
Describe your app idea in one line. Get a shipped iOS & Android app. AI App Studio is a team of 30 AI specialists — a CEO, product manager, designers, iOS/Android engineers, a code reviewer, QA, and a release manager — that works like a real software studio.
Use as a pass/fail gate on any diff with a user-facing surface — by code-reviewer during review, by qa-engineer during the test…
Use before spawning any agent that writes files, and by every developer/fixer agent as its first and last action. Gives each…
Use to produce the technical architecture doc and engineering principles for a mobile app. Used primarily by the CTO agent.…
Use to validate docs/31-board.md before spawning any agent, and to verify a developer's "DONE" claim before moving a row to…
Use when pointing the team at an EXISTING, already-built app instead of a blank project — detects the stack, reverse-engineers…
Use when deciding or revisiting how the product makes money — pricing, tiers, trial shape, ad load, unit economics — by ceo when…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.