actual

Feature-complete companion for the actual CLI, an ADR-powered CLAUDE.md/AGENTS.md generator. Runs and troubleshoots actual adr-bot, status, auth, config, runners, and models. Covers all 5 runners (claude-cli, anthropic-api, openai-api, codex-cli, cursor-cli), all model patterns, all 3 output formats (claude-md, agents-md, cursor-rules), and all error types. Use when working with the actual CLI, running actual adr-bot, configuring runners or models, troubleshooting errors, or managing output files.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

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 and help the user install it before doing anything else. All commands, pre-flight checks, and diagnostics require the CLI.

Detect with:

command -v actual

Install options (try in this order):

MethodCommand
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 install, verify: actual --version

ADR Pre-Check (OpenClaw)

Before creating a new skill, component, or feature, check whether the project has ADR context available. This ensures new work aligns with existing architectural decisions.

  1. Check for managed section markers in CLAUDE.md or AGENTS.md:
    grep -l "managed:actual-start" CLAUDE.md AGENTS.md 2>/dev/null
    
  2. If markers found: ADR context is already loaded into the output file. Proceed — the agent session already has this context.
  3. If no markers but actual CLI is available:
    actual adr-bot --dry-run
    
    Review the output. If relevant ADRs exist, run actual adr-bot to sync them into CLAUDE.md / AGENTS.md before starting work.
  4. If no markers and no CLI: proceed without. Do not block the user.

Commands

CommandPurposeKey Flags
actual adr-botAnalyze 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 statusCheck output file state--verbose
actual authCheck authentication status(none)
actual config showDisplay current config(none)
actual config set <key> <value>Set a config value(none)
actual config pathPrint config file path(none)
actual runnersList available runners(none)
actual modelsList known models by runner(none)

Runner Decision Tree

Use this to determine which runner a user needs:

Has claude binary installed?
  YES -> claude-cli (default runner, no API key needed)
  NO  -> Do they want Anthropic models?
           YES -> anthropic-api (needs ANTHROPIC_API_KEY)
           NO  -> Do they want OpenAI models?
                    YES -> codex-cli or openai-api (needs OPENAI_API_KEY)
                    NO  -> cursor-cli (needs agent binary, optional CURSOR_API_KEY)

Runner Summary

RunnerBinaryAuthDefault Model
claude-cliclaudeclaude auth loginclaude-sonnet-4-6
anthropic-api(none)ANTHROPIC_API_KEYclaude-sonnet-4-6
openai-api(none)OPENAI_API_KEYgpt-5.2
codex-clicodexOPENAI_API_KEY or codex login (ChatGPT OAuth)gpt-5.2
cursor-cliagentOptional CURSOR_API_KEY(cursor default)

Model-to-Runner Inference

The CLI auto-selects a runner from the model name:

Model PatternInferred Runner
sonnet, opus, haiku (short aliases)claude-cli
claude-* (full names)anthropic-api
gpt-*, o1*, o3*, o4*, chatgpt-*codex-cli
codex-*, gpt-*-codex*codex-cli
UnrecognizedError with suggestions

For deep runner details (install steps, compatibility, special behaviors), see references/runner-guide.md.

Sync Quick Reference

The most common sync patterns:

# Preview what sync would do (safe, no file changes)
actual adr-bot --dry-run

# Preview with full content
actual adr-bot --dry-run --full

# Run sync, skip confirmation prompts
actual adr-bot --force

# Sync specific subdirectories only (monorepo)
actual adr-bot --project services/api --project services/web

# Use a specific runner/model
actual adr-bot --runner anthropic-api --model claude-sonnet-4-6

# Skip AI tailoring (use raw ADRs)
actual adr-bot --no-tailor

# Re-offer previously rejected ADRs
actual adr-bot --reset-rejections

# Set spending cap
actual adr-bot --max-budget-usd 5.00

For the complete 13-step sync internals, see references/sync-workflow.md.

Operational Workflow: Running Sync

Follow this pattern whenever running sync. Do NOT skip pre-flight.

0. Verify CLI installed (LOW freedom -- exact check)

command -v actual       # Must succeed before anything else

If missing, follow the install steps in CLI Not Installed above. Do NOT proceed until actual --version succeeds.

1. Pre-flight (LOW freedom -- exact commands)

actual runners          # Verify runner is available
actual auth             # Verify authentication (for claude-cli)
actual config show      # Review current configuration

If any check shows a problem, diagnose and fix before proceeding.

2. Dry-run (LOW freedom -- exact command)

actual adr-bot --dry-run [--full] [user's flags]

Show the user what would change. Let them review.

3. Confirm (HIGH freedom)

Ask user if they want to proceed. If no, stop.

4. Execute (LOW freedom -- exact command)

actual adr-bot [user's flags]

5. On failure: Diagnose

Match the error against the troubleshooting table below. For full error details, load references/error-catalog.md.

6. Fix and retry

Apply the fix, then return to step 1 to verify.

Operational Workflow: Diagnostics

For comprehensive environment checks, run the bundled diagnostic script:

bash .claude/skills/actual/scripts/diagnose.sh

This checks all binaries, auth status, environment variables, config, and output files in one pass. It is read-only and never modifies anything.

Use inline commands instead when checking a single thing (e.g., just actual auth).

Troubleshooting Quick Reference

ErrorExit CodeLikely CauseQuick Fix
ClaudeNotFound2claude binary not in PATHInstall Claude Code CLI
ClaudeNotAuthenticated2Not logged inRun claude auth login
CodexNotFound2codex binary not in PATHInstall Codex CLI
CodexNotAuthenticated2No auth for codexSet OPENAI_API_KEY or run codex login
CursorNotFound2agent binary not in PATHInstall Cursor CLI
ApiKeyMissing2Required env var not setSet ANTHROPIC_API_KEY or OPENAI_API_KEY
CodexCliModelRequiresApiKey2ChatGPT OAuth with explicit modelSet OPENAI_API_KEY (OAuth only supports default model)
CreditBalanceTooLow3Insufficient API creditsAdd credits to account
ApiError3API request failedCheck API URL, network, credentials
ApiResponseError3Unexpected API responseCheck API status, retry
RunnerFailed1Runner process erroredCheck runner output, logs
RunnerOutputParse1Could not parse runner outputCheck model compatibility
RunnerTimeout1Runner exceeded time limitIncrease invocation_timeout_secs
ConfigError1Invalid config fileCheck YAML syntax, run actual config show
AnalysisEmpty1No analysis resultsCheck project path, repo content
TailoringValidationError1Tailored output invalidRetry, or use --no-tailor
IoError5File I/O failureCheck permissions, disk space
UserCancelled4User cancelled operation(intentional)

For full error details with hints and diagnosis steps, see references/error-catalog.md.

Exit Code Categories

CodeCategoryErrors
1General / runtimeRunnerFailed, RunnerOutputParse, ConfigError, RunnerTimeout, AnalysisEmpty, TailoringValidationError, InternalError, TerminalIOError
2Auth / setupClaudeNotFound, ClaudeNotAuthenticated, CodexNotFound, CodexNotAuthenticated, CursorNotFound, ApiKeyMissing, CodexCliModelRequiresApiKey
3Billing / APICreditBalanceTooLow, ApiError, ApiResponseError
4User cancelledUserCancelled
5I/OIoError

Config Quick Reference

Config file: ~/.actualai/actual/config.yaml (override with ACTUAL_CONFIG or ACTUAL_CONFIG_DIR env vars).

Most-used config keys:

KeyDefaultPurpose
runnerclaude-cliWhich runner to use
modelclaude-sonnet-4-6Model for Anthropic runners
output_formatclaude-mdOutput format: claude-md, agents-md, cursor-rules
batch_size15ADRs per batch (min 1)
concurrency10Parallel requests (min 1)
invocation_timeout_secs600Runner timeout in seconds (min 1)
max_budget_usd(none)Spending cap (positive, finite)

For all 18 config keys with validation rules, see references/config-reference.md.

Output Formats

FormatFileHeader
claude-md (default)CLAUDE.md# Project Guidelines
agents-mdAGENTS.md# Project Guidelines
cursor-rules.cursor/rules/actual-policies.mdcYAML frontmatter (alwaysApply: true)

Managed sections use markers: <!-- managed:actual-start --> / <!-- managed:actual-end -->.

Merge behavior:

  • New root file: header + managed section
  • New subdir file: managed section only (no header)
  • Existing with markers: replace between markers, preserve surrounding content
  • Existing without markers: append managed section

For full format details and merge internals, see references/output-formats.md.

Reference Files

Load these only when you need deeper detail on a specific topic:

FileWhen to Load
references/sync-workflow.mdDebugging sync failures, understanding sync internals
references/runner-guide.mdSetting up a runner, model compatibility, runner-specific behavior
references/error-catalog.mdTroubleshooting a specific error with full diagnosis steps
references/config-reference.mdLooking up config keys, validation rules, dotpath syntax
references/output-formats.mdOutput format questions, managed section behavior, merge logic

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Publish Checklist

对外发布前审查清单。发布 ClawHub skill、提交 GitHub PR/Issue、发帖、发邮件、任何公开内容前必须加载此 skill 并逐项检查。

Registry SourceRecently Updated
Coding00
guoqunabc
Coding

Hive Home

Control and query Hive Home (UK) smart heating, hot water, lights and devices via the unofficial API. Use when the user mentions Hive, Hive Home, Hive thermo...

Registry SourceRecently Updated
Coding00
m0nkmaster
Coding

x-osv

CLI for Google OSV database. Query vulnerabilities for packages, scan local projects for vulnerable dependencies. **Dependency**: This is an x-cmd module. In...

Registry SourceRecently Updated
Coding00
Profile unavailable