Agent skill

Afx

by cluesmith in cluesmith/codev

Agent Farm CLI — the tool for spawning builders, managing Tower, workspaces, and cron tasks.

Apache-2.0Auto-check passedProductivity & Automation

Install Afx

skills CLI
$ npx skills add cluesmith/codev --skill afx -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cluesmith/codev afx --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cluesmith/codev.git skills-src && mkdir -p .claude/skills && cp -r skills-src/codev-skeleton/.codex/skills/afx .claude/skills/afx && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
afx
GitHub stars
288
Token cost
~2.4k tokens
SKILL.md length
733 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
Apache-2.0

At a glance

Agent Farm CLI — the tool for spawning builders, managing Tower, workspaces, and cron tasks.

  • Works in 3 steps: git status — worktree must be clean (or… → Commit specs/plans first — builders… → protocol is required for numbered spawns
  • Tasks that involve Scheduled and recurring tasks
  • SKILL.md covers afx spawn, afx send, afx interrupt and afx refresh, plus 7 more sections
  • Calls git

What it does

Afx is an agent skill from cluesmith/codev. Agent Farm CLI — the tool for spawning builders, managing Tower, workspaces, and cron tasks. ALWAYS consult this skill BEFORE running any afx command to get the exact syntax. This prevents wasting time guessing flags that don't exist. Use this whenever you need to spawn a builder, check status, send messages, clean up worktrees, manage Tower, or run cron tasks. If you're about to type afx followed by anything, check here first.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Scheduled and recurring tasks and Git worktrees. The repository describes itself as: Codev helps humans and agents co-develop both the context and the code of the project. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Scheduled and recurring tasks
  • Tasks that involve Git worktrees

Example prompts

  • “/afx”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. git status — worktree must be clean (or use --force)
  2. Commit specs/plans first — builders branch from HEAD and can't see uncommitted files
  3. protocol is required for numbered spawns

What it can do on your machine

Read from SKILL.md and the folder at commit 9cd8607. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Afx loads about 2.4k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 733 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~110
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from cluesmith/codev at commit 9cd8607, republished under its Apache-2.0 licence (© cluesmith). 733 words, ~2,360 tokens.

Download SKILL.mdSave it as .claude/skills/afx/SKILL.md (or your agent's skills folder).
name
afx
description
Agent Farm CLI — the tool for spawning builders, managing Tower, workspaces, and cron tasks. ALWAYS consult this skill BEFORE running any `afx` command to get the exact syntax. This prevents wasting time guessing flags that don't exist. Use this whenever you need to spawn a builder, check status, send messages, clean up worktrees, manage Tower, or run cron tasks. If you're about to type `afx` followed by anything, check here first.

Agent Farm CLI

afx spawn

Spawns a new builder in an isolated git worktree.

afx spawn [number] [options]

The ONLY flags that exist:

FlagDescription
--protocol <name>Protocol: spir, aspir, air, bugfix, maintain, experiment. Required for numbered spawns.
--task <text>Ad-hoc task (no issue number needed)
--shellBare Claude session
--worktreeBare worktree session
--files <files>Context files, comma-separated. Requires --task.
--no-commentSkip commenting on the GitHub issue
--forceSkip dirty-worktree and collision checks
--softSoft mode (AI follows protocol, you verify)
--strictStrict mode (porch orchestrates) — this is the default
--resumeResume builder in existing worktree
--no-roleSkip loading role prompt

There is NO -t, --title, --name, or --branch flag. The branch name is auto-generated from the issue title.

Examples:

bash
afx spawn 42 --protocol spir           # SPIR builder for issue #42
afx spawn 42 --protocol aspir          # ASPIR (autonomous, no human gates)
afx spawn 42 --protocol air            # AIR (small features)
afx spawn 42 --protocol bugfix         # Bugfix
afx spawn 42 --protocol spir --soft    # Soft mode
afx spawn 42 --resume                  # Resume existing builder
afx spawn --task "fix the flaky test"  # Ad-hoc task (no issue)
afx spawn 42 --protocol spir --force   # Skip dirty-worktree check

Pre-spawn checklist:

  1. git status — worktree must be clean (or use --force)
  2. Commit specs/plans first — builders branch from HEAD and can't see uncommitted files
  3. --protocol is required for numbered spawns

afx send

Sends a message to a running builder.

afx send [builder] [message]
FlagDescription
--allSend to all builders
--file <path>Include file content
--interruptSend Ctrl+C first
--rawSkip structured formatting
--no-enterDon't press Enter after message
bash
afx send 0042 "PR approved, please merge"
afx send 0585 "check the test output" --file /tmp/test-results.txt

afx interrupt

Sends an ESC keystroke to a builder's PTY — the only thing that reaches it mid-turn.

afx interrupt <builder>
FlagDescription
--no-enterSend ESC alone, without the trailing Enter

A builder chaining foreground waits inside one turn queues every afx send unread — including your order to stop. ESC ends the turn so the queue processes. Distinct from afx send --interrupt (Ctrl+C).

bash
afx interrupt 0042
afx send 0042 "That producer died — stop waiting and report."

afx refresh

Refreshes a builder's context: save working state → /clear → re-orient. Use when a builder's context window is exhausted; afx spawn --resume reattaches the same conversation and does not give it a fresh one.

afx refresh <builder>
FlagDescription
--dry-runPrint what would be sent; write nothing to the builder
--note <text>Extra context appended to the re-orientation
--file <path>Append file content (48KB max, read from your filesystem)
--interrupt-firstESC before the save request, for a builder already wedged
--mode <strict|soft>Override mode if it cannot be detected
--timeout <seconds>Wait for the save-state receipt (default 300)
--min-bytes <n>Minimum state-file size to accept (default 1000)
--quiet-window <ms>Terminal silence counting as turn-ended (default 1500)

Every gate fails safe: if the state file never arrives, carries a stale nonce, is a stub, is still being written, or the builder will not go quiet, the command aborts without clearing and exits non-zero, naming the gate. Requires a harness with in-session context clearing (Claude Code); others abort loudly.

afx reset is a deprecated alias: it still works, prints a one-line notice to stderr, and will be removed in a future release.

bash
afx refresh 0042 --dry-run                # inspect first — touches nothing
afx refresh 0042
afx refresh 0042 --note "PR #90 merged while you were mid-phase. Rebase first."
afx refresh 0042 --interrupt-first        # builder is wedged mid-turn
Show full SKILL.md (303 more words)Show less

afx cleanup

Removes a builder's worktree and branch after work is done.

afx cleanup [options]
FlagDescription
-p, --project <id>Builder project ID (no leading zeros: 585 not 0585)
-i, --issue <number>Cleanup bugfix builder by issue number
-t, --task <id>Cleanup task builder (e.g., task-bEPd)
-f, --forceForce cleanup even if branch not merged
bash
afx cleanup -p 585              # Clean up project 585
afx cleanup -p 585 -f           # Force (unmerged branch)

Note: afx cleanup uses plain numbers (585), not zero-padded (0585). But afx send uses zero-padded IDs (0585).

afx status

bash
afx status                      # Show all builders and workspace status

No flags needed. Shows Tower status, workspace, and all active builders.

afx whoami

bash
afx whoami                      # Report this terminal's identity (workspace, type, name)
afx whoami --json               # Same, as a single JSON object

Resolves identity from Tower/global.db's perspective: builder-worktree cwd match first, then the Tower-injected CODEV_ARCHITECT_NAME env var. Exits 1 with an explanation when identity cannot be determined — it never guesses and never defaults to main (issue #1094). Builders also get an architect: field naming their spawning architect when recorded. Works without Tower.

afx tower

bash
afx tower start                 # Start Tower on port 4100
afx tower stop                  # Stop Tower
afx tower log                   # Tail Tower logs
afx tower status                # Check daemon and cloud connection status
afx tower connect               # Connect to Codev Cloud
afx tower disconnect            # Disconnect from Codev Cloud

There is NO afx tower restart — use afx tower stop && afx tower start.

afx workspace

bash
afx workspace start             # Start workspace for current project
afx workspace stop              # Stop workspace processes
afx workspace add-architect --name <name>   # Add a named sibling architect terminal
afx workspace remove-architect <name>       # Remove a sibling architect (cannot remove main)
afx workspace recover           # Revive builders whose shellper died (e.g. after reboot)

Recreating a dead architect (its process died while Tower kept the registration): re-add it under the SAME name, then re-init its identity:

bash
afx workspace add-architect --name <name>
afx send architect:<name> "/arch-init <name>"

Builder-to-architect affinity survives the death (builders keep their Owner), so a same-name re-add restores routing with no worktree impact and no builder disruption. afx workspace recover revives builders only, not architects.

afx dash is a deprecated alias — use afx workspace instead.

afx cron

bash
afx cron list                   # List all cron tasks
afx cron status <name>          # Check task status
afx cron run <name>             # Run immediately
afx cron enable <name>          # Enable
afx cron disable <name>         # Disable

There is NO afx cron add — create YAML files in .af-cron/ directly:

yaml
name: Service Health Check      # required, unique per workspace
schedule: "*/15 * * * *"        # required, cron expression (or @hourly/@daily/@startup)
command: ./health-check.sh      # required, run via shell
message: "Health alert: ${output}"  # required, ${output} = trimmed command output
condition: "exitCode != 0"      # optional JS expression, see below
target: architect               # optional, default architect
timeout: 30                     # optional, seconds, default 30
enabled: true                   # optional, default true

condition is a JavaScript expression with two variables in scope: output (string — the command's trimmed output) and exitCode (number — 0 on success, the command's exit code on non-zero exit, 124 on timeout, -1 on spawn failure). With a condition, the message is delivered exactly when it evaluates truthy — including on failed runs (e.g. exitCode != 0 alerts when the command fails). Without a condition, the message is delivered only when the command exits 0.

Other commands

bash
afx open <file>                 # Open file in annotation viewer (NOT system open)
afx shell                       # Spawn utility shell
afx attach                      # Attach to running builder terminal
afx rename <name>               # Rename current shell session
afx architect                   # Start architect session in current terminal

© cluesmith, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in codev-skeleton/.codex/skills/afx of cluesmith/codev.

Open the folder on GitHubat commit 9cd8607

Compare with similar skills

Afx next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Afx compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Afx this skillcluesmith/codev288—~2.4kAutomated safety check: PassApache-2.0
Swampswamp-club/swamp644—~1.9kAutomated safety check: PassCustom licence
Development WorkflownelsonPires5/herdr-board170—~2.4kAutomated safety check: PassNone
Implement Next Taskrvdbreemen/OTGW-firmware207—~2.1kAutomated safety check: PassGPL-3.0
Autopilothanamizuki/solopreneur152—~6.8kAutomated safety check: PassMIT
OpenObserve PR Briefopenobserve/openobserve22k—~1.8kAutomated safety check: PassAGPL-3.0

Similar skills

  • Swamp

    swamp-club/swamp

    Swamp CLI — create and run models, build and validate workflows, query and manage data, store and retrieve vault secrets, develop and publish extensions, initialize repos, run reports, file issues…

    644 GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Development Workflow

    nelsonPires5/herdr-board

    Default sandbox-first developer workflow for herdr-board. An agent skill from nelsonPires5/herdr-board.

    170 GitHub stars~2.4k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Implement Next Task

    rvdbreemen/OTGW-firmware

    Drive the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865).

    207 GitHub stars~2.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Autopilot

    hanamizuki/solopreneur

    PR orchestration planner. An agent skill from hanamizuki/solopreneur.

    152 GitHub stars~6.8k tokensUpdated 12 days ago
    Productivity & AutomationAuto-check passed
  • OpenObserve PR Brief

    openobserve/openobserve

    Produces a read-only morning brief of your open pull requests across the openobserve GitHub org, with a next step for each and a reminder for idle ones.

    22k GitHub stars~1.8k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • AI Desk Card

    op7418/ai-desk-card

    Drives an M5Paper e-ink desk display from an agent: probes device state, guides first-time setup, and pushes widgets such as calendar, todos and weather.

    151 GitHub stars~2k tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check: notes

More from cluesmith/codev

All 12 skills in this repo
  • Arch Init

    cluesmith/codev

    Adopt an architect identity and recover its state from codev/state/<name.md.

    288 GitHub stars~2.7k tokensUpdated 2 days ago
    Auto-check passed
  • Arch Save

    cluesmith/codev

    Save an architect's state, clear its context, and re-init automatically — the packaged save→clear→re-init refresh cycle.

    288 GitHub stars~3.8k tokensUpdated 2 days ago
    Auto-check passed
  • Builder Refresh

    cluesmith/codev

    Refresh a builder's own context at a protocol boundary — save working state, verify it, clear, and re-orient.

    288 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Codev

    cluesmith/codev

    Codev project management CLI — init, adopt, update, and doctor commands.

    288 GitHub stars~962 tokensUpdated 2 days ago
    Auto-check passed
  • Consult

    cluesmith/codev

    AI consultation CLI — query Gemini, Codex, or Claude for reviews and analysis.

    288 GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check: notes
  • Generate Image

    cluesmith/codev

    AI image generation via Gemini with optional async providers.

    288 GitHub stars~751 tokensUpdated 2 days ago
    Auto-check passed

Questions about Afx

What does Afx do?

Agent Farm CLI — the tool for spawning builders, managing Tower, workspaces, and cron tasks. Afx is an agent skill from cluesmith/codev. Agent Farm CLI — the tool for spawning builders, managing Tower, workspaces, and cron tasks.

When should I use Afx?

Afx fits situations like: tasks that involve Scheduled and recurring tasks; tasks that involve Git worktrees.

How do I install Afx in Claude Code?

Run `npx skills add cluesmith/codev --skill afx -a claude-code`. Or copy the skill folder (codev-skeleton/.codex/skills/afx in cluesmith/codev) into .claude/skills/afx in your project. Claude Code loads it when a task matches its description.

How do I install Afx in Codex?

Run `npx skills add cluesmith/codev --skill afx -a codex`. Or copy the skill folder (codev-skeleton/.codex/skills/afx in cluesmith/codev) into .agents/skills/afx in your project. Codex loads it when a task matches its description.

Can I use Afx in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cluesmith/codev --skill afx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/afx, .gemini/skills/afx, .github/skills/afx and .opencode/skills/afx in your project.

What does Afx need to run?

Going by SKILL.md and its folder, Afx needs the command-line tools its instructions call (git).

Does Afx access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Afx safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Afx use?

Afx is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Afx use?

About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Afx?

Skills that share tags, products or a category with Afx: Swamp (swamp-club/swamp, 644 stars), Development Workflow (nelsonPires5/herdr-board, 170 stars), Implement Next Task (rvdbreemen/OTGW-firmware, 207 stars) and Autopilot (hanamizuki/solopreneur, 152 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Afx?

cluesmith (a GitHub organization) maintains it in cluesmith/codev, which has 288 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 6, 2026.

Source: cluesmith/codev on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.