Communitygithub.com

Motion Specimen Book

Motion Specimen Book. Extracts motion specifications by number or description from a catalog of 3 volumes of numbered specimens. AE-001~322 = After Effects standard text animation presets, MG-001~137 = motion graphics moves (principles, entrances/exits, shapes, transitions, text, camera, effects, diagrams/UI), VT-001~130 = audio tags for speech synthesis (Eleven v4/v3 tags, Suno song tags, etc.). Use when the user references a motion by number (AE-/MG-/VT-), pastes picks from the Motion Specimen Book, asks to open or browse the specimen book, or wants to search for text animation, motion-graphics moves, transitions, or audio tags by description.

What is Motion Specimen Book?

This skill provides a structured catalog of motion specifications, organized into three volumes: After Effects text animation presets (AE-001 to AE-322), motion graphics moves (MG-001 to MG-137), and audio tags for speech synthesis (VT-001 to VT-130). It allows users to retrieve detailed specifications by number or search by description, supporting both English and Japanese queries. The skill uses a local Node.js script (`scripts/specimen.mjs`) that runs without network communication, making it fast and secure. It is particularly useful for motion designers, animators, and content creators who need to precisely communicate or reproduce specific motion behaviors across After Effects, Canvas, CSS, Remotion, or AI video generation tools. The skill also includes a browser-based picker for visual selection and supports direct pasting of specimen selections from the Motion Specimen Book.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kunikunini/motion-specimen-book/tree/HEAD/skills/motion-specimen

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

What does Motion Specimen Book do?

A reference book for conveying hard-to-describe motions using numbers. Users visually select specimens and instruct by number. This skill extracts the specification of "what moves how" from that number.

VolumeNumbersContentsExtracted Data
01AE-001 to AE-322After Effects built-in text animation presetsOfficial name, category, motion description, units/order/changing properties/overlap/easing/duration. Curvilinear motions come with a reference expression
02MG-001 to MG-137Common motion graphics movesName, explanation (mechanism and use case), full Canvas 2D code that draws the specimen
03VT-001 to VT-130Audio tags for speech synthesisTag, effect, example sentence, source, usage

The tool is scripts/specimen.mjs in the same folder as this file (<skill-dir> below is the folder containing this SKILL.md). It requires Node.js 18+ and does not communicate over the network (pick listens only on your local machine).

node <skill-dir>/scripts/specimen.mjs <command>
CommandWhen to Use
get <numbers...>Output specification for the given numbers. Accepts AE-058, ae58, #MG-011, or a specimen book URL. Up to 12 at a time
search <words...>Search by words. Accepts both Japanese and English. Example: search 文字 弾む, search wipe transition. Use `--book ae
listShow categories and counts of all three volumes. Add --book ae to list all items in that volume, one per line
`table --book aemg
pickOpen the specimen book in a browser, wait for the user to select and press "Send to AI". Outputs the specifications and notes of the selected numbers then exits
infoShow data version, counts, and specimen book location

Common: --lang en for English output, omit for Japanese.

How to Proceed

  1. When a number is mentioned, first run get. If the user instructs by number, pass that number directly to get, read the resulting specification, then start working. Do not rely on the name alone or guess.
  2. Treat pasted content the same way. Text generated by "Copy selection" from the specimen book (starting with "From the Motion Specimen Book, I selected the following N items") already contains the specifications. Use it as-is, and re-query with get if anything is missing. The "Memo:" at the end is the user's instruction.
  3. To let the user choose, run pick. If the user says "I want to see and choose," or "What do you have?", execute pick. If you know the context, use --book to filter the volume (text animation = ae, shapes/transitions = mg, voice = vo).
    • Running it will show a URL and open the browser. Tell the user: "Please select the specimens and press the 'Send to AI' button at the bottom right."
    • It waits up to 15 minutes (change with --timeout <seconds>). In environments with a shell execution time limit, run it in the background and wait for it to finish, or use a short --timeout.
    • Exit code 0: The specifications and notes of the selected numbers are output in the order chosen. Exit code 4: Timeout, nothing was selected. Instead of choosing yourself, ask the user.
    • If the browser does not open, pass the displayed URL to the user. If that also fails, ask them to use "Copy selection" from the specimen book and paste it back.
  4. Use only what was selected. The numbers from pick or pasted content are final. Do not add any on your own or replace them with other numbers. If you think they don't fit the context, explain why and ask the user.
  5. Use search for discovery. When the user does not choose and says "pick something good" instead, or when the specimen book cannot be opened. Read the description to understand what happens, rather than just looking at the name.

Volume-Specific Usage

AE (After Effects Text Presets)

  • If working in After Effects, apply the preset by its official name directly. Location: Effects & Presets > Animation Presets > Text > (Category) > (Official name). This is the most accurate method. The preset files (.ffx extension) are inside the Presets folder in the After Effects application folder.
  • If reproducing outside After Effects (Web, Canvas, Remotion, or prompting AI video generators), build from the get specification. Transfer exactly: "unit of animation," "order," "changing properties," "overlap," "easing," and "duration." If a reference expression is provided, use its numeric values unchanged.
  • The specification is approximate. The name and category follow the official Adobe help list, but the motion specification was reproduced by the specimen book author in a browser, not extracted from After Effects' preset files. Mention in your report to the user that it may differ from the original.

MG (Motion Graphics Moves)

  • The code output by get is the one that draws the specimen. It includes draw(c, t, s) and helper functions, and runs as-is. Canvas size is 320×180, and t is the position within one cycle (0 to 1).
  • When porting to another technology (CSS, SVG, Remotion, After Effects keyframes), keep the duration, delay, easing, overshoot, distance, and angle values from the code unchanged. You may change the displayed text, color, logo, or image.
  • The times and percentages in the explanation text are guidelines. When adapting to a different duration, scale proportionally.

VT (Audio Tags)

  • Write the tag in square brackets, placed immediately before the word you want it to affect. The same style continues until the next tag. Separate multiple tags with commas to stack them (e.g., [whispering, fearful]).
  • Compatibility: ElevenLabs Eleven v4 / v4 Turbo / v3. Tags are not a fixed list; you can use free-form words, but they don't always work. If a tag doesn't work, replace it with a similar word and regenerate.
  • Tags with the source "Suno song tags" are for song creation. Note that they may not work in text-to-speech reading.
  • Generating speech incurs costs. Do not generate unless the user requests it.

Rules

  • If a number is not in the specimen book, report that it does not exist and offer search results as alternatives. Do not invent numbers.
  • Do not fetch large numbers at once. list and search are for exploring candidates; get is for the few numbers you actually use. table is only when the user asks for the number table itself.
  • At the end of your work, report which numbers and names were used, where they were applied, and what was changed. If there is anything you could not verify, mention that as well.

Troubleshooting

  • pick says "Specimen book location unknown" (exit code 3): If you have the specimen book folder locally, add --site <folder>. If you know a published URL, add --url <URL>. If neither is available, ask the user for numbers or ask them to copy and paste from the specimen book.
  • Node.js is not available: The file data/catalog.json is a plain JSON object. Search items[] by id, name, nameJa, ja, and en. The prompt.ja (or prompt.en) field contains the same text as get output.

Related Skills