Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/heygen-com/heygen-cli/agents-mdgit clone --depth 1 https://github.com/heygen-com/heygen-cliWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.01750 | $0.01750 |
| Opus 5 | $0.00875 | $0.00875 |
| Sonnet 5 | $0.00350 | $0.00350 |
| Haiku 4.5 | $0.00175 | $0.00175 |
Grade A, and why
heygen-cli AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
HeyGen CLI
Go CLI wrapping HeyGen's v3 API. Built on Cobra, command surface auto-generated from OpenAPI spec.
Build & Test
make build # → bin/heygen
make test # all tests are mocked, no API key needed
make lint # golangci-lint
make clean
make generate SPEC=path/to/spec.json # regenerate gen/ from OpenAPI spec
Smoke test against real API: HEYGEN_API_KEY=<key> ./bin/heygen video list --limit 2
For project layout and development guide, see CONTRIBUTING.md. For branch names, commit messages, and PR titles, see .github/GIT_CONVENTIONS.md.
Key Rules
gen/ is generated — never hand-edit
Files in gen/ are deleted and regenerated by make generate. Never put hand-written logic there. Hand-written enhancements (column definitions, flag constraints, custom commands) go in cmd/heygen/.
command.Spec is immutable
Spec is a generated, read-only definition. Never mutate it at runtime. Column definitions, poll configs, and other runtime enhancements are external lookup data in cmd/heygen/, passed to the formatter or builder as separate arguments.
Cobra command tree is single-use
newRootCmd() builds a fresh Cobra command tree for each CLI invocation. Command instances are never reused across executions — each main() call and each test creates a new tree. This is load-bearing: the builder's PreRunE mutates Cobra flag annotations to bypass required-flag validation for --request-schema / --response-schema.
Codegen requires examples
make generate warns if any command lacks examples but still generates the code. Use make generate STRICT=1 locally to fail on missing examples. A test in cmd/heygen/generated_examples_test.go enforces that every generated command has at least one example, so make test (and CI) will fail if examples are missing. Examples live in codegen/examples/{group}.yaml.
Codegen command naming
A command name is the path segments after the group root plus a terminal verb derived from the HTTP method. A group has at most one primary root — the one that restates the group name — and only that root is dropped. Every other root stays as a sub-group, minus the group prefix, which is why one OpenAPI tag can span several resources without any override: Brand covers both /v3/brand-kits and /v3/brand-glossaries, giving brand kits list and brand glossaries get. An umbrella group like that has no primary root, which is correct — don't add one to groupPrimaryRoots to force it.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 91 lines · 1,750 tokens per session scan A 2c524c4df124
heygen-cli AGENTS.md is an instructions file published in the GitHub repository heygen-com/heygen-cli (113 stars, last pushed 3d ago), licensed Apache-2.0. It adds 1,750 tokens to every session, about $0.0088 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
gorest AGENTS.md
Instructions for pilinux/gorest, covering agents.md, project overview, build and run commands, build and tidy dependencies.
gorest CLAUDE.md
Instructions for pilinux/gorest, covering claude.md, authoritative references, files to never read or modify, common commands and architecture (the big picture).
openclaw-operator CLAUDE.md
Instructions for paperclipinc/openclaw-operator, covering claude.md — openclaw kubernetes operator, project overview, commands, architecture and reconciliation rules.
go-proxmox AGENTS.md
Instructions for luthermonson/go-proxmox, covering agents.md, build, test, lint, integration test env vars, architecture and client and request layer (proxmox.go).
iii AGENTS.md
AGENTS.md instructions for iii-hq/iii, covering agents.md, commands, setup, build and test.
agent-message-queue CLAUDE.md
Instructions for avivsinai/agent-message-queue, covering claude.md, project overview, release contract, operational constraints and build and development commands.