Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/actual-software/actual-skillnpx agentmods add skills/actual-software/actual-skill/actualWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/actual-software/actual-skill/actual)<a href="https://agentmods.dev/skills/actual-software/actual-skill/actual"><img src="https://agentmods.dev/badge/skills/actual-software/actual-skill/actual/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/actual-software/actual-skill/actual"><img src="https://agentmods.dev/badge/skills/actual-software/actual-skill/actual.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00157 | $0.13823 |
| Opus 5.5 | $0.00063 | $0.05529 |
| Sonnet 5.5 | $0.00031 | $0.02765 |
| Haiku 4.5 | $0.00016 | $0.01382 |
Grade A, and why
actual 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 yesterday.
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 — 850 lines — stays where its author put it; the contents beside it link to each section on GitHub.
actual CLI Companion
Inline knowledge and operational workflows for the actual CLI. Read this file first; load reference files only when you need deeper detail for a specific topic.
CLI Not Installed
If the actual binary is not in PATH, stop before doing anything else — all commands, pre-flight checks, and diagnostics require the CLI. Offer to install it rather than just printing the steps: ask using an interactive question tool (e.g. AskUserQuestion) so your turn actually pauses for an answer, and don't continue — not even to keep exploring or planning — until the user responds. Mentioning it and continuing anyway isn't the same as asking. If they agree, run the command yourself with the Bash tool; if they decline, leave it at that and resume — installation stays optional, but only once they've actually answered.
Detect with:
command -v actual
Install options (try in this order):
| Method | Command |
|---|---|
| npm/npx (quickest) | npm install -g @actualai/actual |
| Homebrew (macOS/Linux) | brew install actual-software/actual/actual |
| GitHub Release (manual) | Download from actual-software/actual-releases on GitHub |
For one-off use without installing globally:
npx @actualai/actual adr-bot [flags]
After installing (or after the user declines and installs it themselves), verify: actual --version
Before using a documented subcommand or flag, verify it exists in the installed
CLI with actual --help or actual <subcommand> --help. If it is missing,
help the user update the CLI; do not run development-only flags against an older
release.
Commands
| Command | Purpose | Key Flags |
|---|---|---|
actual adr-bot |
Analyze repo, fetch ADRs, tailor, write output | --dry-run [--full], --force, --no-tailor, --project PATH, --model, --runner, --verbose, --reset-rejections, --max-budget-usd, --no-tui, --output-format, --show-errors |
actual status |
Check output file state | --verbose |
actual auth |
Check the runner (coding-agent) auth status | (none) |
actual config show |
Display current config | (none) |
actual config set <key> <value> |
Set a config value | (none) |
actual config path |
Print config file path | (none) |
actual runners |
List available runners | (none) |
actual models |
List known models by runner | (none) |
actual login |
Sign in to Actual AI (browser OAuth) | --org <id>, --api-url <url>, --no-browser |
actual logout |
Sign out of Actual AI and clear local credentials | (none) |
actual whoami |
Show the signed-in Actual AI identity (no network) | (none) |
actual advisor "<query>" |
Ask the Advisor an architecture question | Released v0.2.0: --org <uuid>, --repo <uuid>, --api-url <url>; newer builds may add named/automatic scope |
actual cache clear |
Clear local analysis and tailoring caches | (none) |
actual plan-check |
Check an implementation plan against the rules in .actual/rules/ |
--claude-hook, --rules-dir <dir>, --max-rounds (newer builds only; verify with actual plan-check --help). Resolve plan text in the order below; never emit permissionDecision: "allow" |
actual impl-check |
Check a working-tree diff against the rules in .actual/rules/ — plan-check's implementation-stage counterpart (AK-755) |
--claude-hook, --diff-file <path>, --rules-dir <dir>, --max-rounds (newer builds only; verify with actual impl-check --help). --claude-hook always resolves the working-tree diff (tracked changes plus untracked, non-ignored files) against the commit the turn started from when a UserPromptSubmit call recorded one, otherwise against HEAD. Direct mode also accepts --diff-file or piped stdin, and diffs the working tree against HEAD when neither is given. Never emit permissionDecision: "allow" |
actual check-override |
A human explicitly clears a rule that plan-check or impl-check denied for a session (refuses to run non-interactively; never invoked by the agent). plan-check-override still works as a backward-compatible alias |
--session <id>, --rule <doc-slug>::<rule-id> (repeatable), --reason "<text>" — all required; --repo/--rules-dir optional, defaulting to the current directory |
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- yesterday Changed · +39 lines 499ea5c94fda
- 3d ago Changed · +19 lines ff04e3255ee2
- 4d ago Changed a2a2127c4446
- 5d ago Changed · +7 lines e91b7ba916cb
- 8d ago Changed bdd5034e7f18
- 10d ago Changed · +6 lines 1a25902f5107
- 11d ago Changed · +87 lines adb3084de9e0
- 1mo ago Changed · +107 lines ea3b588ceb18
- 1mo ago Changed ad0c9c06acbf
- 1mo ago First seen · 585 lines · 157 tokens per session scan A 8dccd129ac66
actual is a skill published in the GitHub repository actual-software/actual-skill (5 stars, last pushed 2d ago), licensed Apache-2.0. It adds 157 tokens to every session and 13,823 once invoked, about $0.0006 per session on Opus 5.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-31.
Other skills, from other repositories
browser-relay
Operate the user's existing, logged-in Chrome locally or on an explicitly connected remote machine. Read complete page content with actionable refs and links, perform grouped actions, and use screenshots in persistent browser sessions. Skip static public pages and pure REST APIs.
mediagen
Generate images and video from text prompts via the mediagen CLI, across Gemini, OpenAI and Kie AI. Use when asked to create, generate, render, or edit an image or a video — a logo, an illustration, a mockup, a photo, a banner, a clip — or to mark existing media as AI-generated. Also covers choosing a provider or…
decision-backfill
Use when auditing an existing codebase, documentation set, plans, RFCs, or git history for architecture decisions that were made but never recorded as ADRs, and when triaging potential records before drafting them.
decision-memory
Use when planning, designing, reviewing, or changing code in a repository that keeps ADRs (usually docs/adr) — to load the decisions that already govern the work, check a plan or diff against them, or record a new decision. Also use when a choice feels already-settled and you cannot find where it was settled.
agent-wave
Run a bounded wave over the plan/todo queue in a documentation-led repo, using available parallel agents or sequential execution. Establishes width, budget and supervision; isolates work and collects verified outcomes. Use for "spawn a wave of agents", "run the queue in parallel", "fan out the work", or "agent wave"…
new-plan
Queue a UNIT OF WORK in the plan/todo queue of a documentation-led repo, tracing to an existing ADR — names the owning ADR(s), scope, exit criteria mapped to acceptance criteria, dependencies, and queue position. Use when the user says "add a plan item", "queue this work", "create a todo for ADR X", "new plan", "put…