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.
git clone --depth 1 https://github.com/trustmybot/pluginWrote 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/trustmybot/plugin/onboard)<a href="https://agentmods.dev/commands/trustmybot/plugin/onboard"><img src="https://agentmods.dev/badge/commands/trustmybot/plugin/onboard/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/trustmybot/plugin/onboard"><img src="https://agentmods.dev/badge/commands/trustmybot/plugin/onboard.svg" alt="Reviewed on agentmods" width="80" 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.00033 | $0.02400 |
| Opus 5.5 | $0.00013 | $0.00960 |
| Sonnet 5.5 | $0.00007 | $0.00480 |
| Haiku 4.5 | $0.00003 | $0.00240 |
Grade B, and why
onboard scanned grade B with 1 finding 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 7d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
Call `onboard_get_questions(agent='bro', round='sandbox')` and feed the returned question into `AskUserQuestion`. Store the answer as `sandbox_enforcement` (default: the question's first option). The Yes/No question itse How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Onboard / Re-onboard
Bro orchestrates an AskUserQuestion ceremony in 3-5 rounds — Round 0 runs only when the session is nested below the project or another trajectory DB exists, Round 3 only when shape == 'remote'. Pass answers between AUQ and the server; all deterministic logic lives in the onboard_* MCP tools.
1. Read state (one MCP call)
Call onboard_state_get(agent='bro'). Returns { first_run, current, probe, nesting, scan }. The server re-probes internally on each call, so bro never feeds the probe back — read state.probe only to spot a shape/remote conflict in Round 1, state.nesting for Round 0, and state.scan for Round 2. scan is the offline pre-onboard scan of every registered repo: scan.summary (repo_count, hosts, with_dev_branch, main_only, uniform) and one scan.repos[] entry per repo with its evidence and recommendation.
2. Ask the questions
Run the AskUserQuestion ceremony in up to five rounds.
Every question from onboard_get_questions carries evidence (short facts from the scan) and recommended_reason (why the option marked recommended: true comes first, or null when the evidence picks none). Before each AskUserQuestion, write that round's evidence lines in chat as a short list, each line once, then each question's recommended_reason as one sentence. They stay in chat prose: feed the option labels and descriptions to AskUserQuestion exactly as the server built them. The Human confirms what the scan found instead of guessing.
Round 0 — Which project (only when nested)
nesting is { session_dir, project_root, nested, other_dbs: [{path, issues, tasks, empty}] }. Skip this round when nested is false and other_dbs is empty.
Otherwise explain in chat first: this session opened in session_dir, but the TMB project it uses is the workspace at project_root; list each other_dbs entry with its path and its issue and task counts. Then ask one AskUserQuestion:
- Use workspace
<project_root>(Recommended) — keep the workspace project. For eachother_dbsentry withempty: true, ask whether to remove that empty DB (one Yes/No question per DB). Collect the paths the Human said yes to and pass them asremove_stray_dbs=[...]with the final workspace apply in step 3 (or in anonboard_apply(agent='bro', remove_stray_dbs=[...])call of their own if the ceremony stops early). The server deletes a DB only while it is still empty and below the project root, and reports each refusal; a DB with any issue or task is never offered or removed. Continue with Round 1. - Make
<session_dir>its own TMB project — offer this only whennestedis true. Callonboard_apply(agent='bro', standalone=true)on its own. The server writes astandalonemarker and a fresh DB undersession_dir. Tell the Human to restart the session (quit and relaunch Claude Code insession_dir), then run/onboardagain there. Stop this ceremony. - Cancel — stop. Call no apply; nothing is written.
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.
- 7d ago Changed · +9 lines · -4 tokens per session 50df53251bfa
- 8d ago Changed · +10 lines d8dee19b7e2c
- 9d ago Changed · +2 lines 001a46952c94
- 16d ago Changed · +8 lines · +8 tokens per session scan A → B f2288c457483
- 1mo ago First seen · 70 lines · 29 tokens per session scan A 5f674ad9a23c
onboard is a command published in the GitHub repository trustmybot/plugin (6 stars, last pushed yesterday), licensed MIT. It adds 33 tokens to every session and 2,400 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
hybrid-complete
Complete Hybrid Ralph task in worktree, verify all stories complete, commit code changes (excluding planning files), merge to target branch, and cleanup worktree directory. Can be run from any directory.
lifecycle
Complete milestone lifecycle: audit, archive, and next version.
release
Release manager for frontend and mobile. Writes App Store notes, user-facing changelog, flags stale docs and landing copy. Actions: notes | changelog | docs | sync.
status
The state of play, computed fresh: branch, dirty files, the active sprint, open work, index freshness.
lavra-ship
Fully automated ship sequence from code-ready to PR-open with beads closed and knowledge captured.
sync-github
Ejecuta SonIA Sync: refleja el tablero local en GitHub Issues usando gh CLI.