For AI agents#
an ships artifacts for coding agents alongside its code. This page lists
them, says where each lives in the repository, and points at the
machine-readable copies of this documentation.
Skills#
Skills are folders holding a SKILL.md (the Agent Skills format): a description that tells an agent when to use it and a body with the procedure. Install one into your agent with gh skill (any host: --agent claude-code, copilot, cursor, codex, gemini), or use the copy bundled in the wheel.
an#
Use whenever the user wants to author, edit, render, or iterate on a structured animation, cartoon, explainer video, or motion graphic via the an Python package. Triggers on “make a cartoon”, “animate”, “render a scene”, “let’s build a video”, “an init”, “an validate”, “an render”, or any request that maps to the chat-driven director workflow.
Source: .claude/skills/an.
an-art-package#
Moved to the cutan-art-package skill in the cutan repository (an#225). Use cutan-art-package for the artist-facing contract for a cut-out character and how to check a delivery. Triggers on the old name.
Source: .claude/skills/an-art-package.
an-dev#
Use when working inside the an repo itself — writing or modifying an’s own Python code, tests, schemas, adapters, or skills. Triggers when CWD is the an repo and the task is implementation work (adding a renderer, fixing a schema bug, updating a store). Not for using an from a downstream project.
Source: .claude/skills/an-dev.
an-dev-bench#
Use when working on an bench, the metrics ledger, the golden corpus, or anything that measures rendered output in the an repo. Triggers on “add a metric”, “the ledger”, “an bench”, “golden frames”, “mutation test the harness”, “why is this number moving”, “bench corpus”, or any change to an/bench/, misc/bench/, or the encode/decode flags in an/media/mp4.py (formerly an/stage/render.py), or the frame stage in an/engines/.
Source: .claude/skills/an-dev-bench.
an-dev-expression#
Moved to the cutan-dev-expression skill in the cutan repository (an#225). Use cutan-dev-expression for the cut-out face: expression presets, bindings, blinks, gaze. Triggers on the old name.
Source: .claude/skills/an-dev-expression.
an-dev-licensing#
Use before adding, upgrading, vendoring or swapping ANY third-party dependency, model weight, font, art asset or JS bundle in the an repo — and before writing any licence claim into a doc, comment or PR body. Also use when choosing between two libraries that solve the same problem, when a search result recommends the obvious package, and when deciding whether an asset an end user’s video will contain may ship. Triggers on “add a dependency”, “which library”, “vendor”, “is X permissive”, “can we use”, “licence”, “license”, “attribution”, “model weights”.
Source: .claude/skills/an-dev-licensing.
an-dev-lipsync#
Moved to the cutan-dev-lipsync skill in the cutan repository (an#225). Use cutan-dev-lipsync for cut-out lip-sync: providers, visemes and coarticulation. Triggers on the old name.
Source: .claude/skills/an-dev-lipsync.
an-dev-path#
Stroked paths in the an repo (an#160, epic
Source: .claude/skills/an-dev-path.
an-dev-render-pipeline#
The frame path in the an repo, end to end — Pixi rasterisation, Playwright element capture, the PNG stage, the x264 mux, concat and delivery — and what each stage can lose. Use when changing anything that touches a pixel or an encode flag - supersampling, resolution, antialias, device_scale_factor, autoDensity, downscale filters, -pix_fmt / CRF / preset / colour tags, _capture_frames, _ffmpeg_mux, an/engines/ (the frame stage, capture_frames, frame_stage_renderer), an/media/ (mp4.py, supersample.py, shutter.py, sinks), _ffmpeg_concat, runtime.js’s PIXI.Application options, or the per-shot mp4 store. Triggers on “supersample”, “why is the render soft”, “add an encoder flag”, “make it render bigger”, “downscale”, “4:4:4”, “faststart”, “the frames look wrong”, “speed up the render”.
an-dev-rig-contract#
Moved to the cutan-dev-rig-contract skill in the cutan repository (an#225). Use cutan-dev-rig-contract for the cut-out rig contract: descriptor, skeleton, slots and skins. Triggers on the old name.
Source: .claude/skills/an-dev-rig-contract.
an-dev-runtime-assets#
Use when adding, moving, renaming or removing any non-Python file that the renderer loads at run time — anything under an/stage/runtime/ (the stage’s runtime, an/data/cutout_runtime/ before an#247) or an/data/, a vendored JS bundle, an SVG part, a font, an HTML page. Also use when a render looks wrong rather than failing, when something works in the dev tree but not from a pip install, or when a “fix” to a data file appears to have no effect. Triggers on “vendor”, “bundle”, “asset”, “force-include”, “packaging”, “it works locally but not installed”.
Source: .claude/skills/an-dev-runtime-assets.
an-dev-stage#
The stage in the an repo — the camera (which is root.pivot, and already exists), parallax as one compile-time factor per plane, the multiplane environment descriptor, props, the StylePack, and the rename Shot.style → Shot.renderer. Load before touching _add_camera_clips, _build_environment_subtree, _build_scene_root, Camera, AssetRef.stage, the environments/styles/props stores, or any scene that pans. Triggers on “camera”, “pan”, “parallax”, “tilt”, “perspective”, “rotation_x”, “crawl”, “multiplane”, “plane”, “environment”, “backdrop”, “prop”, “style pack”, “art direction”, “renderer selector”.
Source: .claude/skills/an-dev-stage.
an-dev-swap-channels#
Moved to the cutan-dev-swap-channels skill in the cutan repository (an#225). Use cutan-dev-swap-channels for whole-character swaps, swap_poses, and the view/eyelid/viseme conventions (the generic swap mechanism itself is in an-dev-stage). Triggers on the old name.
Source: .claude/skills/an-dev-swap-channels.
an-dev-text#
Text on screen in the an repo (an#155, an#175, epic
Source: .claude/skills/an-dev-text.
an-spec#
Use when the user is starting a new an scene and needs help dialogically developing a scene specification — clarifying questions about characters, dialogue, art style, voices, pacing, and camera. Triggers on “let’s design a scene”, “I want to make a video about…”, “help me sketch a cartoon”, or any open-ended creative request handed to an.
Source: .claude/skills/an-spec.
an-style#
Moved to the cutan-style skill in the cutan repository (an#225). Use cutan-style for applying a named cut-out style (South Park, OverSimplified, Kurzgesagt, Gilliam, Reiniger, Norstein) to a scene and linting the render. Triggers on the old name.
Source: .claude/skills/an-style.
Instruction files#
Files agents read before working in this repository.
CLAUDE.md: read by Claude Code
Machine-readable documentation#
This site publishes the same documentation in forms that fit an agent’s context window:
llms.txt: an index of every page with a one-line description (llms.txt format)an.md: the whole documentation as one Markdown file<page>.html.md: a rendered Markdown twin of every page, advertised from each page’s<head>with<link rel="alternate" type="text/markdown">objects.inv: the Sphinx inventory: a symbol-to-URL index (sphobjinv convert plain objects.inv -)