React Router Development
remix-run/react-router
Guides work on React Router apps by first identifying whether the app uses Framework, Data or Declarative mode, then loading the matching reference and the installed package docs.
A skill your agent uses when designing or implementing motion for web interfaces, including CSS transitions and keyframes, linear() easing design, transform strategy (translate/rotate vs…
$ npx skills add scott-fryxell/brayness --skill motion-systems -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scott-fryxell/brayness motion-systems --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/scott-fryxell/brayness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/motion-systems .claude/skills/motion-systems && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "motion-systems" agent skill from https://github.com/scott-fryxell/brayness/tree/main/skills/motion-systems into .claude/skills/motion-systems/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-systems", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/scott-fryxell/brayness/tree/main/skills/motion-systemsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add scott-fryxell/brayness --skill motion-systems -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scott-fryxell/brayness motion-systems --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scott-fryxell/brayness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/motion-systems .agents/skills/motion-systems && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "motion-systems" agent skill from https://github.com/scott-fryxell/brayness/tree/main/skills/motion-systems into .agents/skills/motion-systems/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-systems", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scott-fryxell/brayness --skill motion-systems -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scott-fryxell/brayness motion-systems --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scott-fryxell/brayness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/motion-systems .cursor/skills/motion-systems && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "motion-systems" agent skill from https://github.com/scott-fryxell/brayness/tree/main/skills/motion-systems into .cursor/skills/motion-systems/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-systems", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/scott-fryxell/brayness.git --path skills/motion-systems--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add scott-fryxell/brayness --skill motion-systems -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scott-fryxell/brayness motion-systems --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scott-fryxell/brayness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/motion-systems .gemini/skills/motion-systems && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "motion-systems" agent skill from https://github.com/scott-fryxell/brayness/tree/main/skills/motion-systems into .gemini/skills/motion-systems/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-systems", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install scott-fryxell/brayness motion-systemsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add scott-fryxell/brayness --skill motion-systems -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scott-fryxell/brayness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/motion-systems .github/skills/motion-systems && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "motion-systems" agent skill from https://github.com/scott-fryxell/brayness/tree/main/skills/motion-systems into .github/skills/motion-systems/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-systems", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scott-fryxell/brayness --skill motion-systems -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install scott-fryxell/brayness motion-systems --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scott-fryxell/brayness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/motion-systems .opencode/skills/motion-systems && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "motion-systems" agent skill from https://github.com/scott-fryxell/brayness/tree/main/skills/motion-systems into .opencode/skills/motion-systems/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-systems", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
motion-systemsA skill your agent uses when designing or implementing motion for web interfaces, including CSS transitions and keyframes, linear() easing design, transform strategy (translate/rotate vs…
Motion Systems is an agent skill from scott-fryxell/brayness. Use when designing or implementing motion for web interfaces, including CSS transitions and keyframes, linear() easing design, transform strategy (translate/rotate vs transform/translate3d()), and deep View Transitions API patterns for route and state continuity.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/LINEAR_EASING_PATTERNS.md`, `references/MOTION_REVIEW_CHECKLIST.md` and `references/VIEW_TRANSITION_RECIPES.md`).
It sits in Frontend & Design, covering Frontend development. The repository describes itself as: A harness for the anxious digital mind. A safe place for creatives to keep their creative soul while exploring digital skills. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 71f10e2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are css).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Motion Systems loads about 1.7k tokens when it runs, and up to ~3.3k if it reads all its reference files. Until then it costs about 72 tokens; SKILL.md has 605 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from scott-fryxell/brayness at commit 71f10e2, republished under its MIT licence (© scott-fryxell). 605 words, ~1,740 tokens.
.claude/skills/motion-systems/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Production-oriented motion for web UI - interaction clarity, performance, and accessibility, not decoration. Skip motion entirely when it adds cognitive load or delays a state update that must feel instant.
Each proposal should satisfy at least one of these goals:
Choose the lightest mechanism that satisfies the interaction:
translate: / rotate: / scale: (individual properties)Use individual transform properties when:
transform: shorthandUse shorthand when:
translate3d() and 3D transformsUse translate3d() only when:
Avoid using translate3d() as a blanket "GPU hack". It can increase layer memory and produce jank if overused.
linear())cubic-bezier() for most product interactionslinear() for piecewise velocity control and custom motion signatureslinear() shinesKeep point counts intentional (typically 4-8 points). Prefer readable named tokens over ad-hoc per-component values.
linear() examples by intent:root {
--ease-linear-enter-soft: linear(0, 0.08 12%, 0.34 36%, 0.74 66%, 0.93 84%, 1);
--ease-linear-exit-crisp: linear(0, 0.3 18%, 0.72 58%, 0.9 78%, 1);
--ease-linear-settle-gentle: linear(0, 0.06 10%, 0.31 32%, 0.72 62%, 0.92 82%, 1);
--ease-linear-emphasis-pop: linear(0, 0.38 20%, 0.88 62%, 1);
}
.chip-enter {
transition: opacity 180ms var(--ease-linear-enter-soft),
translate 180ms var(--ease-linear-enter-soft);
}
.panel-exit {
transition: opacity 150ms var(--ease-linear-exit-crisp),
transform 150ms var(--ease-linear-exit-crisp);
}
.shared-element-settle {
transition: transform 320ms var(--ease-linear-settle-gentle);
}
.cta-emphasis {
transition: transform 170ms var(--ease-linear-emphasis-pop);
}See: references/LINEAR_EASING_PATTERNS.md
document.startViewTransition(() => update())view-transition-name@view-transition { navigation: auto; }::view-transition-old(root) / ::view-transition-new(root)::view-transition-old(name) / ::view-transition-new(name)::view-transition-group(name)See: references/VIEW_TRANSITION_RECIPES.md
transform and opacitytop, left, width, height)will-change sparingly and remove when not needed@media (prefers-reduced-motion: reduce)120-180ms180-260ms240-420msWhen using this skill, produce these five sections:
© scott-fryxell, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in skills/motion-systems of scott-fryxell/brayness.
Open the folder on GitHubat commit 71f10e2
Motion Systems next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Motion Systems this skillscott-fryxell/brayness | 125 | — | ~1.7k | Automated safety check: Pass | MIT | |
| React Router Developmentremix-run/react-router | 57k | 1 repos | ~1.5k | Automated safety check: Pass | MIT | |
| React UI State PatternsChrisWiles/claude-code-showcase | 6.1k | 8 repos | ~1.6k | Automated safety check: Pass | None | |
| GSAP in Vue, Nuxt and Sveltegreensock/gsap-skills | 16k | 3 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Svelte Core Best Practicesrilldata/rill | 2.9k | 4 repos | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Vuetify Playgroundvuetifyjs/vuetify | 41k | — | ~730 | Automated safety check: Pass | Custom licence |
remix-run/react-router
Guides work on React Router apps by first identifying whether the app uses Framework, Data or Declarative mode, then loading the matching reference and the installed package docs.
ChrisWiles/claude-code-showcase
Sets patterns for React interfaces: when to show loading spinners or skeletons, how to surface errors, how to disable buttons during async work and how to handle empty lists.
greensock/gsap-skills
Shows how to use GSAP in Vue, Nuxt, Svelte and other lifecycle-based frameworks: create after mount, scope selectors to the component, and revert on unmount.
rilldata/rill
Rules for writing idiomatic Svelte 5 code: when to reach for runes like state, derived and effect, and how to handle props, attachments and bindings.
vuetifyjs/vuetify
Maintains the Vuetify repo's local Playground.vue so contributors get a realistic reproduction and a short demo they can paste into a pull request description.
tabler/tabler
Starts the right Tabler dev server, keeps it from clashing with builds and verifies changes in the browser before a page or component is handed back.
scott-fryxell/brayness
Find and install brand SVG logos via SVGL (https://svgl.app/) and Wikimedia Commons fallbacks into any project's static asset folder.
scott-fryxell/brayness
Write Vitest specs for Vue 3 JavaScript (Vite Plus, happy-dom, @vue/test-utils) and analyze V8 coverage + Fallow health to prioritize test-first refactors.
scott-fryxell/brayness
Derive a project's visual rules from its existing tokens, palette, type scale, logo, and icons (Intake), then generate raw SVG vector graphics from those rules as a small composable set (module…
scott-fryxell/brayness
Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML.
scott-fryxell/brayness
Inspect live Vue 3 component state via agent-browser eval - no Devtools extension, no console.log.
scott-fryxell/brayness
Refactor a Vue page or component from Vuetify to semantic HTML5 + Schema.org microdata + Stylus element selectors.
Categories
A skill your agent uses when designing or implementing motion for web interfaces, including CSS transitions and keyframes, linear() easing design, transform strategy (translate/rotate vs…. Motion Systems is an agent skill from scott-fryxell/brayness. Use when designing or implementing motion for web interfaces, including CSS transitions and keyframes, linear() easing design, transform strategy (translate/rotate vs transform/translate3d()), and deep View Transitions API patterns for route and state continuity.
Motion Systems fits situations like: implementing motion for web interfaces; including CSS transitions and keyframes; linear() easing design; transform strategy (translate/rotate vs transform/translate3d()).
Run `npx skills add scott-fryxell/brayness --skill motion-systems -a claude-code`. Or copy the skill folder (skills/motion-systems in scott-fryxell/brayness) into .claude/skills/motion-systems in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scott-fryxell/brayness --skill motion-systems -a codex`. Or copy the skill folder (skills/motion-systems in scott-fryxell/brayness) into .agents/skills/motion-systems in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scott-fryxell/brayness --skill motion-systems -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/motion-systems, .gemini/skills/motion-systems, .github/skills/motion-systems and .opencode/skills/motion-systems in your project.
SKILL.md names no scripts, command-line tools or credentials: Motion Systems is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Motion Systems is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Motion Systems: React Router Development (remix-run/react-router, 57k stars), React UI State Patterns (ChrisWiles/claude-code-showcase, 6.1k stars), GSAP in Vue, Nuxt and Svelte (greensock/gsap-skills, 16k stars) and Svelte Core Best Practices (rilldata/rill, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scott-fryxell (a GitHub user) maintains it in scott-fryxell/brayness, which has 125 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on September 28, 2026.
Source: scott-fryxell/brayness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.