Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/vmobifystudio/app-dev-team/interaction-motionnpx skills add vmobifystudio/app-dev-team --skill interaction-motiongit clone --depth 1 https://github.com/vmobifystudio/app-dev-teamWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vmobifystudio/app-dev-team/interaction-motion)<a href="https://agentmods.dev/skills/vmobifystudio/app-dev-team/interaction-motion"><img src="https://agentmods.dev/badge/skills/vmobifystudio/app-dev-team/interaction-motion.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00061 | $0.00570 |
| Opus 5 | $0.00030 | $0.00285 |
| Sonnet 5 | $0.00012 | $0.00114 |
| Haiku 4.5 | $0.00006 | $0.00057 |
Grade A, and why
interaction-motion scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 52 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Interaction and motion
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.
The durations
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.
Feedback timing
| 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.
The rules
- Motion must be interruptible. A user tapping during an animation is answered immediately, not after it finishes.
- Position must be preserved. An element that moves animates from where it was; an element that is replaced cross-fades. Getting this backwards is what makes an interface feel arbitrary.
- Respect reduce-motion.
UIAccessibility.isReduceMotionEnabled/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. - Nothing animates on first paint except what the user's own action caused.
- No animation loops indefinitely except a genuine indeterminate progress indicator.
Output
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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 52 lines · 61 tokens per session scan A e69cc02e0895
interaction-motion is a skill published in the GitHub repository vmobifystudio/app-dev-team (4 stars, last pushed 24d ago), licensed MIT. It adds 61 tokens to every session and 570 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
execute-task
Implement one task (or a cohesion bundle) from a signed-off spec (Ready or Active): recompute the execution freshness gate, write the verifying test first, implement to green, run the project's full CI with adaptive retry, converge via the configured reviewsequence (default /polish --nested), then open a draft PR…
builder
Detect a project's stack and recommend or apply the universal mechanical quality guards from planwright's core catalog (formatter, linters, type-checker, test runner, secret scan, commit hooks, CI gate), plus the growable breadth dimensions. Escalates stake-bearing decisions (auth, data modeling, security posture…
spec-walkthrough
Render a spec bundle (or a chosen slice) into a plain-language, didactic comprehension artifact a human reads and judges for themselves: an unaided cold read before kickoff, re-orientation mid-execution, or onboarding to a finished or abandoned spec. Standalone and strictly read-only: it renders any status, never…
drain
Run the on-demand drain pass over every spec bundle's Gate deferral entries: evaluate structured GATE(when:) conditions, surface date and free-text gates, report malformed ones, inventory each live bundle's [manual] test-spec entries, and surface the observations log's unmined state. Read-only; nothing is…
orchestrate
Advance one planwright spec by one step: pick the next ready unit critical-path-first (or a cohesion bundle), run the freshness gate, record the dispatch under the per-spec lock, and dispatch /execute-task via the backend. A stateless, disposable control tower; a reconcile sweep rebuilds from disk. Never merges, marks…
spec-kickoff
Walk a spec bundle section by section to mutual understanding, producing the signed-off kickoff brief downstream skills execute from. On sign-off: runs the Discovery-Rigor lens pass, flips Draft to Ready, records the sign-off record (anchor last), commits, pushes, opens a draft PR, then on clean completion marks the…