angular-motion-accessibility

A review of animation and movement in Angular interfaces against WCAG 2.2 accessibility guidance. It checks reduced-motion support, controls for moving content, focus timing, shared timing rules, and animation methods.

In plain words
What is it for?
Use it to review `prefers-reduced-motion` support, pause controls for carousels and parallax, route-transition focus, shared motion tokens, and transform- or opacity-based animations.
Why use it?
Unrestricted movement can cause nausea or migraines for some users, while poorly timed transitions can confuse keyboard and assistive-technology users. Layout-heavy animations can also make the interface less stable.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/agenticpawan/fullstack-pilot/angular-motion-accessibility
Any agent
npx skills add AgenticPawan/FullStack-Pilot --skill angular-motion-accessibility
Clone the repo
git clone --depth 1 https://github.com/AgenticPawan/FullStack-Pilot

Made for: Claude Code, Codex.

Per session 111 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,298 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00111 $0.02298
Opus 5 $0.00056 $0.01149
Sonnet 5 $0.00022 $0.00460
Haiku 4.5 $0.00011 $0.00230

Measured 2d ago against content hash cc833fb8570c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

angular-motion-accessibility 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 2d ago.

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.

plugins/pilot-angular/skills/angular-motion-accessibility/SKILL.md · 265 lines

How it starts

The opening of the file, as written. The whole thing — 265 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Standard IDs

ID Severity What it checks
MOT-001 P1 Animations with no prefers-reduced-motion: reduce fallback (WCAG 2.3.3)
MOT-002 P1 Auto-playing carousel/parallax/loop with no pause/stop control (WCAG 2.2.2)
MOT-003 P1 Router page-transition moves focus before the transition visually completes
MOT-004 P2 Animation timing/easing hardcoded per-component with no shared design token
MOT-005 P2 Animations drive layout-affecting CSS properties instead of transform/opacity

Check A — No reduced-motion fallback (MOT-001)

Detection

Grep @angular/animations trigger()/transition() definitions and CSS @keyframes/ transition rules for any that ignore the OS-level prefers-reduced-motion setting. Some users enable "reduce motion" specifically because animation triggers vestibular disorders, migraines, or nausea (WCAG 2.3.3 Animation from Interactions). Shipping every animation unconditionally means the app actively works against an accessibility setting the user explicitly turned on at the OS level.

BAD — animation always plays regardless of OS setting

export const slideIn = trigger('slideIn', [
  transition(':enter', [
    style({ transform: 'translateX(100%)', opacity: 0 }),
    animate('400ms ease-out', style({ transform: 'translateX(0)', opacity: 1 })),
  ]),
]);

GOOD — reduced-motion query gates the animated variant

const prefersReducedMotion =
  typeof matchMedia === 'function' && matchMedia('(prefers-reduced-motion: reduce)').matches;

export const slideIn = trigger('slideIn', [
  transition(':enter', [
    style({ transform: 'translateX(100%)', opacity: 0 }),
    animate(
      prefersReducedMotion ? '0ms' : '400ms ease-out',
      style({ transform: 'translateX(0)', opacity: 1 })
    ),
  ]),
]);
/* CSS-driven animations: prefer a media query over JS branching where possible */
.card {
  transition: transform 400ms ease-out, opacity 400ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .card {
    transition: none;
  }
}

Read the full file on GitHub · 265 lines

Changes

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.

  1. 2d ago First seen · 265 lines · 111 tokens per session scan A cc833fb8570c

Subscribe to this mod's changes

angular-motion-accessibility is a skill published in the GitHub repository AgenticPawan/FullStack-Pilot (2 stars, last pushed 1mo ago), licensed MIT. It adds 111 tokens to every session and 2,298 once invoked, about $0.0006 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-08-31.

Related

Other skills, from other repositories

weekly-demo-video

WORKFLOW SKILL — Generate narrated weekly demo videos for azd features. Pulls latest commits, identifies demo-worthy features, researches PRs, and produces MP4 videos with dark-themed slides and neural TTS narration. INVOKES: Python, Pillow, ffmpeg, edge-tts, explore sub-agents, askuser. USE FOR: weekly demo, generate…

Azure/azure-dev · 135 tokens

image-gen

生成图片。当用户想让 AI 生成图片、插画、海报、头像等图像内容时使用。读取生图供应商配置,调用 OpenAI 兼容的图片生成 API(支持 OpenAI、火山方舟、SiliconFlow 三种方言与参考图),把生成的图片保存到项目目录。.

ayuayue/PiDeck · 75 tokens

nano-banana-prompting

This skill should be used when crafting prompts for Nano Banana Pro (Gemini image generation). Use when users want help writing image generation prompts, need guidance on prompt structure, or want to optimize their prompts for better results.

NikiforovAll/claude-code-rules · 51 tokens

nano-banana

This skill should be used for Python scripting and Gemini image generation. Use when users ask to generate images, create AI art, edit images with AI, or run Python scripts with uv. Trigger phrases include "generate an image", "create a picture", "draw", "make an image of", "nano banana", or any image generation…

NikiforovAll/claude-code-rules · 73 tokens

visualize

Create visualizations and interactive tools directly in conversation. Use when asked to show how something works, make simulators or labs, maps, plots, charts or graphs, comparisons, UI mockups, scenarios, adjustable inputs, and exploration beyond regular text.

rojim666/SztuCode · 53 tokens

azure-diagrams

ROUTING SKILL — delegates to specialized diagram skills. USE FOR: any diagram request when the caller does not know which tool to use. Routes to drawio, python-diagrams, or mermaid based on diagram type.

jonathan-vella/apex-accelerator · 50 tokens