بنقرة واحدة
using-atm
Run using ATM.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Run using ATM.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Temporary inboxes for agent signup QA — create disposable addresses, wait for verification email, extract OTP or magic links. Use when automating signup, login, or email verification without parsing HTML manually.
Spin up isolated sandboxes ("boxes") for coding agents, run them in parallel, queue background runs with -i, and push commits safely through the host relay. Use when the user wants to run Claude Code / Codex / OpenCode in a sandbox, start more boxes, attach to a running box, or otherwise operate the `agentbox` CLI on their laptop.
Use when building an HTTP val — a web endpoint, API route, webhook receiver, or any val that responds to HTTP requests. Covers the handler signature, Hono usage, the endpoint URL, CORS behavior, redirects, and Val Town-specific limitations.
Use when creating a new val and choosing which starter to fork. Covers the catalog of official starter templates, which project shape each one fits, and when forking an existing val is the better starting point.
Switch coding-agent accounts on a usage/rate limit, routed by host and agent.
Use Agent Mail from Codex for file leases, notifications, inboxes, and conflict prevention.
استنادا إلى تصنيف SOC المهني
| name | using-atm |
| description | Run using ATM. |
AgentOps 3.0 runs its loops in session and ships no daemon, scheduler, or
overnight runner. To run the loop unattended — always-on, scheduled,
queue-driven — you hand it to an orchestration substrate. The reference
substrate is ATM + Agent Mail (am) + managed-agents; this skill covers the ATM leg: a
local Named Tmux Manager swarm of Claude/Codex agent panes. ATM is an adopted
external tool (atm on PATH), not an AgentOps-owned surface.
ATM is Bo's fork/alias of upstream NTM: atm points at
~/dev/ntm/dist/atm-darwin-arm64 and keeps the upstream ntm command surface.
Skills are the runtime, not the CLI. The substrate dispatches a whole loop by spawning an agent that runs the $rpi or $evolve skill — it does not shell out to a retired CLI subprocess. Those terminal wrappers are retired; the loop lives as a skill an agent executes. The seam is ATM pane → agent → $rpi , one bead dispatched as one invocable unit.
Use it when: you want a bead queue worked unattended out of session; you're standing up or tending an ATM swarm that runs AgentOps loops; a pane is stuck, rate-limited, or wedged; you need to know whether the swarm has converged.
Skip it when: the work fits a single in-session run (run $rpi or $evolve yourself); you want in-session parallel fan-out across worktrees (use $swarm); you're choosing between automation shapes (start at $automation-shape-routing).
This skill does not re-document the full atm command surface — run
atm help. It covers the AgentOps substrate contract: how to dispatch and
tend AgentOps loops on an ATM swarm.
$rpi <bead> (one cycle) or $evolve (the outer loop). The substrate never
decomposes the loop into per-phase steps — whoever owns the loop owns its
invariants, and AgentOps owns the loop. Dispatch the skill; don't reimplement it.$rpi, $evolve,
$validate resolve in-pane.br ready, picks the next
bead, and dispatches it to a free worker pane.When the operator asks for "a fresh Claude and Codex", "fresh peer models", a "duel", or a cross-family opinion, the default substrate is ATM panes, not headless one-shot CLIs. Spawn the requested model families, give both panes the same bounded prompt, verify engagement, collect pane output, and kill the temporary session.
Do not use print-mode CLIs for the other-family pane; use an interactive pane.
Use headless codex exec only when the operator explicitly asks for a headless
run or when there is no pane/TUI requirement.
Minimal bounded pattern:
atm spawn agentops --label navi-duel --no-user --cc=1:opus --cod=1:gpt-5.5 \
--no-cass-context --ready-timeout=2m --json
atm send agentops--navi-duel --pane=1 --file prompt.md \
--no-cass-check --force-non-interactive --json
atm codex preflight --session agentops--navi-duel --pane 2 --json
atm send agentops--navi-duel --pane=2 --codex-goal --file prompt.md \
--no-cass-check --force-non-interactive --json
atm codex wait-goal-engaged --session agentops--navi-duel --pane 2 --json
atm kill agentops--navi-duel --json
If a requested alias resolves to a nearby installed model (for example opus
resolving to the available Opus build), report the actual pane model in the
verdict.
# 1. Spawn a swarm of agent panes — BORN INTO COORDINATION (ag-tixgy gateway).
# --reserve makes each worker register in Agent Mail + hold its file scope +
# receive the "coordinate via am, never hand-roll" contract, by construction.
# Pass a per-lane scope so workers can't silently collide. (Implies --coord-contract.)
atm spawn agentops --cc=2 --cod=1 --reserve "cli/ tests/"
# Bare spawn (no --reserve) is still valid, but workers are then UNCOORDINATED
# until each runs `am macros start-session` by hand — the #1 swarm failure mode.
# scripts/check-spawn-reservation-coverage.sh flags atm-registered workers holding
# no reservation, so you can catch an uncoordinated lane before it collides.
# 2. Dispatch a whole loop to a pane — the SKILL, not a CLI subprocess.
atm send agentops --pane=1 "$rpi ag-1234"
atm send agentops --pane=2 "$evolve --beads-only"
# 3. Watch / attach.
atm activity agentops # per-pane agent state
atm attach agentops # drop into the swarm
# 4. Health + dependencies (run before a long unattended session).
atm doctor # validate the ATM ecosystem
atm deps # required agent CLIs present
Scheduled cadence (e.g. a nightly $evolve pass) is driven by host-OS timing (a
systemd user timer or cron) that runs atm send … "$evolve", or by a
managed-agent driver — not an AgentOps daemon.
Run one tick at a time; take the first action whose trigger fires:
ACTION NEEDED, Hey! Listen!, merge-gate,
unblock-condition, verdict/dry-run before merge/close) → interrupt broad
watching, run the named verifier, and answer in a channel the peer can read.
If AM reads are degraded, use a bead note, PR comment, or tmux relay with
C-m plus capture evidence; mail-send alone is not delivery.br ready bead.The wedged-vs-working call depends on reading the pane right — the atm meter misleads:
atm status context-% + atm activity are UNRELIABLE for codex panes — freeze ~4K/256K showing WAITING/available while the lane works. Never conclude wedged from the meter alone.atm save <session> → ./outputs/<session>_<pane>_<ts>.txt; read those (atm copy to clipboard). No atm capture/atm read exists.git ls-remote --heads origin 'task/*', gh pr list).atm respawn (it kills + restarts) — read the atm save dump first; respawn only on a confirmed wedge (error / login prompt / frozen transcript).atm send --pane=N delivers DIRECT prompts; slash-commands may not fire on codex panes (--codex-goal is the tell). Prefer self-contained instructions; verify engagement via atm save + artifacts.tmux send-keys ... C-m and capture
the pane. Text still sitting in the input box is not delivery.bd) — shared work queue + state source: br ready, bd update --claim, bd close.am) (its own daemon at 127.0.0.1:8765 — the am CLI, not an ao subcommand; old "MCP Agent Mail" name retired) — register with am macros start-session, then cross-pane messages + file reservations (reserve before edit, release on commit).Done when br ready is empty, no pane has an in-flight bead, and the last few CI
runs are green. Confirm with atm activity (all idle) + br ready (empty) before
atm kill <session>. Don't shut down on a transient quiet patch — a rate-limited
pane also looks idle.
$rpi / $evolve skill instead.ao agent) or a plain in-session run are equally valid legs. Choose via $automation-shape-routing.ao agent bundle produces the loop definition a managed-agents substrate runs.