Motion Specimen Book
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.
| Volume | Numbers | Contents | Extracted Data |
|---|---|---|---|
| 01 | AE-001 to AE-322 | After Effects built-in text animation presets | Official name, category, motion description, units/order/changing properties/overlap/easing/duration. Curvilinear motions come with a reference expression |
| 02 | MG-001 to MG-137 | Common motion graphics moves | Name, explanation (mechanism and use case), full Canvas 2D code that draws the specimen |
| 03 | VT-001 to VT-130 | Audio tags for speech synthesis | Tag, 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>
| Command | When 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 |
list | Show categories and counts of all three volumes. Add --book ae to list all items in that volume, one per line |
| `table --book ae | mg |
pick | Open 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 |
info | Show data version, counts, and specimen book location |
Common: --lang en for English output, omit for Japanese.
How to Proceed
- When a number is mentioned, first run
get. If the user instructs by number, pass that number directly toget, read the resulting specification, then start working. Do not rely on the name alone or guess. - 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
getif anything is missing. The "Memo:" at the end is the user's instruction. - To let the user choose, run
pick. If the user says "I want to see and choose," or "What do you have?", executepick. If you know the context, use--bookto 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.
- Use only what was selected. The numbers from
pickor 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. - Use
searchfor 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 (
.ffxextension) are inside thePresetsfolder in the After Effects application folder. - If reproducing outside After Effects (Web, Canvas, Remotion, or prompting AI video generators), build from the
getspecification. 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
getis the one that draws the specimen. It includesdraw(c, t, s)and helper functions, and runs as-is. Canvas size is 320×180, andtis 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
searchresults as alternatives. Do not invent numbers. - Do not fetch large numbers at once.
listandsearchare for exploring candidates;getis for the few numbers you actually use.tableis 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
picksays "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.jsonis a plain JSON object. Searchitems[]byid,name,nameJa,ja, anden. Theprompt.ja(orprompt.en) field contains the same text asgetoutput.