AI Engineering from Scratch is a free, open-source curriculum that teaches people to build AI systems through lessons and reusable artifacts such as prompts, skills, agents, and MCP servers. It is for learners who want practical foundations or want to create AI applications, and the catalogue skills support parts of that curriculum.
Borrowing it
Nothing to install: this file belongs to rohitg00/ai-engineering-from-scratch. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/.claude/skills/motion-figure/SKILL.mdgit clone --depth 1 https://github.com/rohitg00/ai-engineering-from-scratchWrote 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/rohitg00/ai-engineering-from-scratch/motion-figure)<a href="https://agentmods.dev/skills/rohitg00/ai-engineering-from-scratch/motion-figure"><img src="https://agentmods.dev/badge/skills/rohitg00/ai-engineering-from-scratch/motion-figure/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/rohitg00/ai-engineering-from-scratch/motion-figure"><img src="https://agentmods.dev/badge/skills/rohitg00/ai-engineering-from-scratch/motion-figure.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
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.1 | $0.00100 | $0.03167 |
| Opus 5.5 | $0.00040 | $0.01267 |
| Sonnet 5.5 | $0.00020 | $0.00633 |
| Haiku 4.5 | $0.00010 | $0.00317 |
Grade A, and why
motion-figure 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 24d 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.
How it starts
The opening of the file, as written. The whole thing — 158 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Motion figure
This skill makes figures that move or respond to input. It has three tiers. Use this skill with Claude, Cursor, Codex, OpenClaw, Hermes, or any agent that reads SKILL.md.
| Tier | What it makes | Where it goes |
|---|---|---|
| 1. Lesson figure | Declarative SMIL animation, or a slider widget that redraws an SVG. Both mount from a ```figure fence. | Course lessons |
| 2. Mechanism figure | An HTML panel that shows the named parts of a system. The reader drives one control and reads a computed verdict. | Standalone pages, READMEs, essays, the course site outside lessons |
| 3. Dither field | A WebGL band of ordered dither dots in the paper, accent, and ink colours, with four seeded motions. | Page mastheads and section breaks |
Tier 1 has the most rules, because the lesson runtime has hard limits. Tiers 2 and 3 have their own reference files.
When to use
- A lesson explains a process that changes over time: a token that moves through stages, a queue that fills, a loop that repeats.
- A lesson explains a formula where one input changes the output: learning rate, temperature, chunk size, batch size.
- An author writes "animate this figure", "add a slider", or "make the diagram interactive".
- A page needs a demo where the reader changes one thing and sees what the system does: a cache, a queue, a context window, a router. Use tier 2.
- A page needs a slow moving header in the course colours. Use tier 3.
When not to use
- The idea is a fixed structure with no time axis and no input. Make a static SVG figure. The sibling skill
blueprint-figurecovers static figures. - The page is a full explainer page with its own state model and machine geometry. The sibling skill
isometric-explainercovers that. - You only need palette, fonts, or prose rules. The sibling skill
course-styleholds those. This skill copies the parts it needs intoreferences/tokens.md.
Method
- Write one sentence that names the single change the figure shows. If you need two sentences, make two figures.
- Pick the tier. Inside a lesson, use tier 1. For tier 2, read
references/mechanism-figures.mdand start fromtemplates/mechanism.html. For tier 3, readreferences/dither-fields.mdand copytemplates/dither.js. The steps below are for tier 1. In tier 1, use an animated figure when time is the variable. Use a slider widget when a number is the variable. - Pick a name in kebab case, for example
request-pathorcontext-budget. Search the registry for that name first. A later module that registers the same name replaces the earlier figure. - Put the code in a module file named
figures-<topic>.js. Wrap it in an IIFE, readwindow.LF, and return early if it is missing. - Write a figure function
function (host, cfg). It appends one.lfcard tohostand can return a dispose function. - Build the card:
.lf-headwith an uppercase.lf-labeland a short hint,.lf-body, and.lf-capwith the caption. - Use
viewBox="0 0 520 H"for the SVG. Most course figures use an H from 200 to 250. A single bar needs less. - Add a
<title>and a<desc>with ids that you create once, outside any render function. - For an animated figure, add entries first, then one slow loop. Follow
references/smil-rules.mdline by line. - For a slider widget, define
state._renderbefore you callLF.sliderorLF.select. Then callstate._render()once at the end. - Call
LF.register({ 'your-name': fn })at the end of the module. - In the lesson Markdown, add the fence. Put the name on the first line and optional JSON config after it:
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 24d ago First seen · 158 lines · 100 tokens per session scan A 6d728b2c4dea
motion-figure is a skill published in the GitHub repository rohitg00/ai-engineering-from-scratch (77,007 stars, last pushed yesterday), licensed MIT. It adds 100 tokens to every session and 3,167 once invoked, about $0.0004 per session on Opus 5.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-10-14.
motion-figure compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| motion-figurerohitg00/ai-engineering-from-scratch | Skill | 77k | yesterday | MIT | A | 100 | Claude Code |
| playwrightopenai/openai-agents-python | Skill | 31k | today | MIT | A | 19 | Claude Code, Codex |
| show-mehumanlayer/humanlayer | Skill | 13k | yesterday | Apache-2.0 | A | 25 | Claude Code |
| eli5genkit-ai/genkit | Skill | 6.6k | yesterday | Apache-2.0 | A | 16 | Claude Code, Codex |
| deck-course-modulenexu-io/html-anything | Skill | 9.4k | 24d ago | Apache-2.0 | A | 25 | Claude Code, Codex |
| skill-invocation-routerfancyboi999/ai-engineering-from-scratch-zh | Skill | 1.3k | 3d ago | MIT | A | 38 | Claude Code, Codex |
| skill-safety-reviewerfancyboi999/ai-engineering-from-scratch-zh | Skill | 1.3k | 3d ago | MIT | A | 40 | Claude Code, Codex |