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 commands/automatelab-tech/agency-os/rungit clone --depth 1 https://github.com/AutomateLab-tech/agency-osWrote 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/commands/automatelab-tech/agency-os/run)<a href="https://agentmods.dev/commands/automatelab-tech/agency-os/run"><img src="https://agentmods.dev/badge/commands/automatelab-tech/agency-os/run.svg" alt="Measured on agentmods" 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 | $0.00000 | $0.02575 |
| Opus 5 | $0.00000 | $0.01288 |
| Sonnet 5 | $0.00000 | $0.00515 |
| Haiku 4.5 | $0.00000 | $0.00258 |
Grade A, and why
run 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 4d 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 — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Command: run [--go]
Batch-execute every task in state/todo-ids.json (which only contains rows with Status == "To-Do" AND Exec == "Agent").
Claude Code: The Haiku subagent builds the plan from the sidecar; the orchestrator picks a model per task at runtime and spawns execution agents.
Non-Claude harnesses: The skill reads config.json to determine available models. If config.json doesn't exist, run /agency-os init first.
Auto-refresh. run always calls refresh as its first step. If refresh fails, run aborts.
Plan phase (Haiku subagent)
- Execute
scripts/query-tasks.pyvia Bash — this is mandatory and must happen before reading anything. Runpython .claude/skills/agency-os/scripts/query-tasks.pyand verify it exits 0. Only then read the freshly writtenstate/todo-ids.json. Never read the sidecar without running the script first; the file on disk is always stale. - Dedup containers. For each row with
has_todo_subtasks: true, skip the parent — its work IS its subtasks. - Resolve dependencies. Each sidecar row carries
dependencies: [{id, status}]. For every dep:status == "Done"-> satisfied, ignore.- dep
idis in the current in-batch set -> record as an intra-batch edge. - otherwise -> external blocker: drop from dispatch plan, collect into
blocked_deps[].
- Topological stage assignment. Build a DAG from intra-batch edges; assign each task a stage =
1 + max(stage of its in-batch deps)(stage 1 = no in-batch deps). If a cycle is detected, abort. - Sort within each stage: Priority asc, then overdue-recurring first, then Effort asc.
- Return the plan to the orchestrator as
stages: [[(id, title, corpus, effort, parent_id, description_preview), ...], ...]plusblocked_deps.
Dispatch phase (orchestrator)
Before spawning any execution agent, the orchestrator prints the plan outline (see ### Output below) so the user sees which tasks are about to fire, in which stages, with which model per task. Then dispatching stage 1... and dispatch begins.
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.
- 4d ago First seen · 143 lines · 0 tokens per session scan A 82dd0c369115
run is a command published in the GitHub repository AutomateLab-tech/agency-os (3 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,575 tokens. 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 commands, from other repositories
team-status
查看当前活跃的 PUA agent/team 清单、PID、TTL。/pua:team-status。Triggers on: '/pua:team-status', '查看 agent 状态', 'pua team status', 'list agents'.
done-check
PUA Done Check — 用于没跑测试别说完成、已完成但没证据、done without proof、需要验收/回归/交付质量检查的场景。.
evidence
PUA Evidence — 用于证据呢、数据在哪、验收标准是什么、怎么证明完成、需要证据链/交付物核对的场景。.
survey
PUA 调研问卷 — 7 部分交互式问卷收集用户反馈。/pua:survey。Triggers on: '/pua:survey', 'pua survey', '调研', '问卷', 'feedback survey'.
flavor
PUA 切换味道 — 从 15 种味道中选择,包括阿里/字节/华为/腾讯/Netflix/Musk/Jobs/Microsoft/钉内钉外。.
kpi
PUA KPI 报告卡 — 生成段位和绩效报告。/pua:kpi。Triggers on: '/pua:kpi', 'pua kpi', 'kpi报告', '段位报告', 'performance report', 'generate kpi'.