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/suggestgit 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/suggest)<a href="https://agentmods.dev/commands/automatelab-tech/agency-os/suggest"><img src="https://agentmods.dev/badge/commands/automatelab-tech/agency-os/suggest.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.1 | $0.00000 | $0.00643 |
| Opus 5 | $0.00000 | $0.00321 |
| Sonnet 5 | $0.00000 | $0.00129 |
| Haiku 4.5 | $0.00000 | $0.00064 |
Grade A, and why
suggest 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 6d 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.
What it actually says
Command: suggest "<title>" ...
Add a row in Suggestion status. Structure check runs inside suggest — the subagent enforces it, not just the orchestrator. The orchestrator decides the shape (which parent, whether a container is needed); suggest verifies that decision was made rather than silently creating a root-level row.
- Structure preflight (skip only when
--parentis provided or--force-top-levelis passed).- Read
state/task-tree.jsonfor the active task tree. If the file is absent, it will be built as a side-effect of the sync preflight in step 2 — proceed. - Scan In-Progress and To-Do top-level rows for an obvious umbrella. "Obvious" = the candidate's title or corpus clearly covers the work being suggested (confidence >= 80%).
- If one candidate:
Candidate parent: [<title>](<url>) — attach as subtask? Reply with --parent=<id> to confirm, or --force-top-level to create at root.Stop and wait for the orchestrator to relay the answer. Do not create the row until confirmed. - If multiple candidates: list all, wait.
- If no candidate: proceed silently.
- Read
- Sync preflight.
- Validate:
--corpusis in pointers (else list and refuse); if--type=recurring,--cadenceis required. If--parent=<id>is provided, resolve it live and refuse if unknown, Done, or Killed; refuse self-reference and cycles. - Dedup check: refuse if Title-Jaccard >= 0.8 against any row with status in
{Suggestion, Discussion, To-Do, In Progress}. notion-create-pageswith parent = Tasks data source. Properties: Title, Status=Suggestion, Corpus, Type, Cadence (if recurring), Effort. If--parent=<id>provided, also set Parent Task to that id and inherit Corpus from the parent unless--corpuswas explicitly passed. Page body =task-page-template.mdrendered.- If
--notesprovided, write into the Description section. - Update tree snapshot: append the new row to
state/task-tree.jsonso the snapshot stays current without a full re-fetch. - Print:
+ Suggestion: [<title>](<url>){ parent=<parent-title>}.
--parent makes suggest the canonical way to create a row under any existing task. add-subtask remains a convenience for the in-discussion flow (it inherits parent's status; suggest --parent always lands in Suggestion). --force-top-level is the explicit override when a root-level task is genuinely unrelated to any active initiative — it skips the structure preflight without a prompt.
See references/structuring-work.md for the parent-vs-subtask-vs-log decision rules and the structure preflight protocol.
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.
- 6d ago First seen · 22 lines · 0 tokens per session scan A 7ed691017c2c
suggest 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 643 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
p9
PUA P9 Tech Lead 模式 — 写 Prompt 管 P8 团队。/pua:p9。Triggers on: '/pua:p9', 'pua p9', 'P9模式', 'tech-lead', '帮我管理这个项目', '任务拆解'.
survey
PUA 调研问卷 — 7 部分交互式问卷收集用户反馈。/pua:survey。Triggers on: '/pua:survey', 'pua survey', '调研', '问卷', 'feedback survey'.
dashboard-session-fork
Fork a session into a new one. Usage /dashboard:session-fork.
dashboard-session-hide
Hide a session from the dashboard list. Usage /dashboard:session-hide.
kpi
PUA KPI 报告卡 — 生成段位和绩效报告。/pua:kpi。Triggers on: '/pua:kpi', 'pua kpi', 'kpi报告', '段位报告', 'performance report', 'generate kpi'.
sdd
Generate a Kiro-style spec triple — specs/ /{requirements,design,tasks}.md.