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 skills/sdsrss/onboard/onboardnpx skills add sdsrss/onboard --skill onboardgit clone --depth 1 https://github.com/sdsrss/onboardWrote 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/skills/sdsrss/onboard/onboard)<a href="https://agentmods.dev/skills/sdsrss/onboard/onboard"><img src="https://agentmods.dev/badge/skills/sdsrss/onboard/onboard.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.00085 | $0.27489 |
| Opus 5 | $0.00043 | $0.13744 |
| Sonnet 5 | $0.00017 | $0.05498 |
| Haiku 4.5 | $0.00009 | $0.02749 |
Grade D, and why
onboard scanned grade D with 2 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 5d 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.
--body "$(cat .claude/onboarding-logs/pr-body.md)" \ Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
- `rm -rf .claude/local-only/` How it starts
The opening of the file, as written. The whole thing — 1,704 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/onboard — Legacy Project Onboarding Protocol (v3.2.0)
参数:$ARGUMENTS
本包是 Skill 形式发布(
.claude/skills/onboard/)。 包含预制的 4 个 hook 脚本作为 supporting files:
hooks/guard-bash.sh— PreToolUse on Bash,拦截危险命令hooks/guard-edit.sh— PreToolUse on Edit|Write|MultiEdit,拦截禁区编辑hooks/post-edit-check.sh— PostToolUse on Edit|Write|MultiEdit,记录触及文件 + 轻量检查hooks/stop-verify.sh— Stop hook,按 mode 跑增量验证Phase 7 不再动态生成脚本,而是直接在
.claude/settings.json中引用${CLAUDE_PROJECT_DIR}/.claude/skills/onboard/hooks/<name>.sh。兼容 Command 形式:把 SKILL.md 重命名为
.claude/commands/onboard.md,Phase 7 改回动态生成脚本到.claude/hooks/。关于
disable-model-invocation: true防止 Claude 自动触发。已知 Skill 形式有兼容性 bug,若异常移除该字段或改用 Command 形式。关于
allowed-tools故意限制为只读工具。Bash/Write/Edit 走正文授权流程。会话开始时若希望连续执行,请在首个权限弹窗选择"允许本会话";否则保持逐次确认。两种节奏都安全。
0. 总则(贯穿全流程)
文件四分类
- PROJECT:仓库已有内容。默认不得修改;仅当 Phase 2 plan 列入
touches并经授权后可改。 - RUNTIME:本命令运行期状态与日志:
.claude/onboarding-state.json、.claude/onboarding-logs/、.claude/tmp/。 - OUTPUT:本流程新增/维护的 Claude 产物:
CLAUDE.md、.claude/settings.json、.claude/hooks/*、.gitignore修订等。 - LOCAL-SIDE-EFFECT:不入仓但改变本机环境的写入目标:
.git/hooks/*、.git/info/exclude、专用 onboarding 分支。不参与 touch_budget。
工作区"干净"仅针对 PROJECT。
Iron Laws(19 条,与 v2.3 同;Iron Law 3 / 14 措辞精化)
- Read-before-write:未读取现状不得写入;现状报告未生成不得进入 Phase 1.5/2。
- No silent overwrite:覆盖任何已存在配置文件前必须 diff + 用户确认。
- Respect existing stack(s):同一语言栈内禁止引入冲突工具(如 Node 内同时 ESLint + JSHint)。允许多语言项目并存多套工具栈——按栈分别应用。
- Idempotent:可重复执行;已完成阶段须基于状态文件跳过或验证而非重做。
- Verifiable:每个阶段必须有可执行验证步骤,失败不得标记为完成。
- Stateful:所有阶段决策、产出、验证结果写入状态文件。
- No auto-install:任何安装/升级动作必须先列清单 + 显式授权。凡
installs != [],对应 lockfile 自动追加到该 item 的touches。(v2.7 注释):Phase 2.5 引入的 batch AUTH(approve dev-tools-all)满足"显式授权"语义——用户看过清单后给出的一次性授权 = N 次单批授权之和,颗粒度变粗但约束未弱化。绝不允许"只要是 dev-only 就跳过 AUTH"的无差别豁免。 - No business logic changes:onboarding 不得修改业务代码;唯一例外是 Phase 5 中用户批准的最小 smoke test。
- No dependency upgrades:不得升级已有依赖版本;只允许新增经授权的开发依赖。
- Prefer existing task runner:若项目已有 Makefile / justfile / package scripts,不新增平行入口;新增 script 前必须先做任务运行器健康检查。
- Cross-platform awareness:hook 脚本默认 POSIX shell;Windows-first 项目必须提示兼容性风险并给替代或 defer。
- CI alignment:本地 lint/test/typecheck 命令必须优先复用 CI 中已有命令。
- Touch budget:实际改动文件集合若超出 Phase 2 计划中
touches并集(含自动追加的 lockfile),立即中止并重新进入 Phase 2。local_side_effects不计入。 - No file-level reset on PROJECT:禁止对 PROJECT 文件执行
git reset --hard/git checkout -- <file>/git restore <file>。git checkout -b <new-branch>(创建新分支)不在此限——配合--isolate-branch模式使用。测试改动一律走.claude/tmp/。 - Exit code or JSON, never both:hook 脚本必须明确选择
exit 0 + stdout JSON或exit 2 + stderr;混用时 JSON 被忽略。 - Forbidden zones are global:Phase 1 探测出的禁区是 candidates;只有 Phase 1.5 用户确认的 confirmed forbidden zones 才进入全流程消费——CLAUDE.md / lint ignore / hook env / guard-edit 必须保持一致。
- New-check first failure is deferred, not blocking:Phase 4 首次引入的检查若首次跑失败,标
deferred: pre_existing_violations,不阻塞。 - Mutex group authorization:同一
mutex_group最多批准一个 plan item;Phase 2 即刻拒绝冲突。 - warn-only must exit 0:标 warn-only 的检查必须输出 warning 但 exit 0,绝不返回非零退出码导致推送阻断。
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- hooks/guard-bash.sh 2.9 KB runs code
- hooks/guard-edit.sh 1.8 KB runs code
- hooks/post-edit-check.sh 3.2 KB runs code
- hooks/stop-verify.sh 6.7 KB runs code
- phases/phase-7.md 19 KB
- phases/uninstall.md 13 KB
- references/recommendations.md 3.9 KB
- references/state-schema.md 5.2 KB
- scripts/mirror-hooks.sh 4.4 KB runs code
- settings.local.template.json 4.3 KB
- settings.template.json 3.4 KB
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.
- 5d ago First seen · 1,704 lines · 85 tokens per session scan D 2dd694149575
onboard is a skill published in the GitHub repository sdsrss/onboard (2 stars, last pushed 3mo ago), licensed MIT. It adds 85 tokens to every session and 27,489 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it D with 2 findings (reads agent configuration directories, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
bun-http-server
Use when building HTTP servers with Bun.serve, handling requests/responses, implementing routing, creating REST APIs, or configuring fetch handlers.
api-testing
HTTP API testing for TypeScript (Supertest) and Python (httpx, pytest). Test REST APIs, GraphQL, request/response validation, authentication, and error handling.
bun-jest-migration
Use when migrating from Jest to Bun's test runner, import compatibility, mocks, and config.
bun-test-mocking
Use for mock functions in Bun tests, spyOn, mock.module, implementations, and test doubles.
cloudflare-workers-migration
Migrate to Cloudflare Workers from AWS Lambda, Vercel, Express, and Node.js. Use when porting existing applications to the edge, adapting serverless functions, or resolving Node.js API compatibility issues.
bun-test-coverage
Use for test coverage with Bun, --coverage flag, lcov reports, thresholds, and CI integration.