# AutoAE body

This body is served by the AutoAE environment that installed this Skill. Load only the branch that
matches the current stage of the user's intent, then return here when the workflow advances to its
next stage or a new intent arrives.

Use the exact Skill-compatible CLI. Node.js 24 or newer is required.



```sh
npx --yes @autoae/cli@0.2.1 --help
```

This Skill is not for ordinary full-video editing or generation, and not for stock-footage
searches. Treat “motion graphics” only as auxiliary wording for the animated template segments
described above; it does not broaden AutoAE into a full-video creation tool.

## Choose the smallest branch

- **Discover:** search or inspect templates; read fonts or read-only BrandKit only when relevant.
  → `https://autoae.online/.well-known/agent-skills/references/discover.md`
- **Credits:** read the current balance and Preview/Render quotes.
  → `https://autoae.online/.well-known/agent-skills/references/credits.md`
- **Preview or Render:** inspect one template, upload any required media, submit once, then wait and
  download when requested. A known template can skip search; a request without media can skip upload.
  → `https://autoae.online/.well-known/agent-skills/references/submit.md`
- **Resume a Job:** use the supplied Job ID to inspect, wait, or download without creating a Job.
  → `https://autoae.online/.well-known/agent-skills/references/jobs.md`
- **Feedback:** prepare and submit an AutoAE bug, improvement, template request, or other feedback.
  → `https://autoae.online/.well-known/agent-skills/references/feedback.md`

Run only the selected branch. When a command reports that authorization is required, follow the
Authorization contract below, then retry that rejected command.

Before any mutating submission, load the relevant current branch and follow its one-submit and
ambiguous-response safety rules. Do not invent commands that AutoAE does not document.

## Authorization

The CLI owns authentication. Never ask for, read, list, copy, print, or modify passwords, Web
cookies, access/refresh tokens, signed URLs, or credential storage; use the CLI `auth` commands
only.

- When a command reports that authorization is required, run
  `npx --yes @autoae/cli@0.2.1 auth login` and let the user complete browser authorization, then
  retry that rejected command.
- Run `auth status` only when the user asks or while diagnosing authorization, not before every
  command.
- Ask the user before `auth logout`; switching accounts requires an approved logout followed by a
  login.

## Common contract

- Every AutoAE command runs as its own shell invocation so its JSON and exit status remain
  unambiguous. Do not chain it with other commands, use command substitution, or redirect its
  output. Treat every returned ID, query, input key, and local path as an opaque single argument
  and quote it correctly for the current shell.
- Every business command writes one `{code,msg,data}` JSON envelope to stdout. Branch on `code`, not
  `msg`. Exit `0` is success, `1` a declared input/auth/business result, `2` a local/network/protocol
  failure, and `130` user interruption. Stderr contains diagnostics, not business JSON.
- AutoAE accepts prepared local JPG/JPEG, PNG, WebP, and MP4 files. It does not fetch remote URLs;
  download one only with user approval, then inspect the local copy before upload. Use installed
  local tools when useful; do not install FFmpeg/ImageMagick without approval.
- `credits get` is for an explicit balance or quote request. If a submission returns
  `insufficient_credits`, explain that the account does not have enough AutoAE Credits and ask the
  user to open [AutoAE Billing](https://autoae.online/billing#credit) to subscribe or purchase
  Credits. Do not retry the rejected command or attempt billing through the CLI. After the user
  confirms their Billing change is complete, run `credits get` before a new submission attempt.
- A completed or failed Job does not authorize a new submission. After a timeout, network error, or
  ambiguous response, mark the outcome unknown and ask the user before creating another Job.

The selected branch is authoritative for its workflow. If the branch does not document a requested
action, do not improvise it.
