This is the project entry point for Animade work. Use animade-cli as the
only integration surface; MCP is optional and is not required for the normal
CLI workflow.
First use in a project
On the first Animade request in a project, prepare the environment automatically
before asking the user to run any Animade command. If animade-cli --json version is unavailable or the project has no .animade/setup.json, run this
Skill's bootstrap in the user's project:
node <animade-skill-directory>/scripts/bootstrap.mjs "$PWD"
Do not ask the user to install the CLI or Runtime separately. The bootstrap
installs the Cloud-selected animade-cli npm package globally, installs the
matching local Runtime, opens Animade Cloud for browser authorization when the
CLI has no valid session, and writes project configuration under .animade/.
It returns the installed CLI's absolute executable path; use that path for the
current run if the user's shell has not refreshed its global npm PATH yet.
The Runtime installer and bundle are SHA-256 verified. Browser login uses OAuth
2.0 Authorization Code with PKCE; the callback binds only to loopback and the
CLI stores its access and refresh credentials in its private user config. Never
print or copy those credentials into a prompt. Set ANIMADE_CLOUD_ORIGIN only
for development or a separately deployed Animade Cloud.
Users who choose the CLI without this Skill can install it persistently like other npm command-line tools:
npm install --global animade-cli
animade-cli onboard --project-root "$PWD"
For a one-off CLI invocation without a persistent installation, use:
npx --yes animade-cli@latest onboard --project-root "$PWD"
After onboarding, run these checks before creating or changing media:
animade-cli --json doctor --project-root "$PWD"
animade-cli --json auth status
Start or reuse the installed Runtime with animade-cli --json runtime start.
If status is not authenticated, stop before protected operations and use:
animade-cli login
If the CLI cannot launch a browser, keep the CLI process running and use
animade-cli login --no-open. Give the printed authorization URL to the user
to open locally; the loopback callback completes the same PKCE flow. Never ask
the user to paste a callback URL or token into the conversation.
The CLI stores credentials in its user-private config directory. Never copy a token into a prompt, document, Recipe, commit, or media URL.
Staged creation
Fetch the current instructions instead of copying them into this Skill:
animade-cli --json recipes list
animade-cli --json recipes get <recipe-id>
animade-cli --json knowledge get <module-id>
animade-cli --json preflight --region global
Create a Workflow using the returned Recipe hash and keep the default
human-gated mode unless the user explicitly authorizes full automation with
an approval note. Work in this order:
- Director: clarify intent, audience, constraints, and the smallest useful scene plan.
- Visual: make and inspect one representative visual sample before scaling.
- Motion: establish timing and transitions from the approved sample.
- Audio: create or import narration, then calibrate VoiceTiming before committing scene durations.
- Composition: assemble the local project, captions, and export; inspect the resulting MP4 with Runtime before reporting completion.
Record stage artifacts and reviews with their SHA-256 hashes and current
revision. On a revision conflict, reload and reconcile; never overwrite
blindly. Use stable idempotency keys for generation Jobs. An unknown Job
submission outcome is not permission to retry with a new key.
Prefer local project documents for briefs, stage notes, and review evidence:
animade-cli --json document write --project-id <project-id> --name brief.md --content-file brief.md
animade-cli --json project update <project-id> --revision <revision> --changes '{"scenes":[]}'
animade-cli --json export start --project-id <project-id> --revision <revision>
Keep provider credentials and private source media in their existing private stores. Do not generate provider media merely to test the integration; use doctor, catalog, API, and local Runtime fixtures unless the user separately authorizes generation.