onboard

onboard is a skill for Claude Code, Codex from sdsrss/onboard. It costs 85 tokens per session (27,489 once invoked), scanned D, original, MIT.

A standardized onboarding workflow for connecting Claude Code to an older project, including project instructions and safety checks.

In plain words
What is it for?
Use it to generate a CLAUDE.md file, configure guard and verification hooks, align local commands with CI, run health checks, or remove the setup.
Why use it?
It helps bring an unfamiliar legacy codebase into a consistent working setup while guarding risky commands and edits.

Skill for Claude CodeCodex

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the onboard plugin — 1 skill shipped together

Install

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.

agentmods
npx agentmods add skills/sdsrss/onboard/onboard
Any agent
npx skills add sdsrss/onboard --skill onboard
Clone the repo
git clone --depth 1 https://github.com/sdsrss/onboard

Made for: Claude Code, Codex.

Or install onboard, the plugin that ships this one along with the rest of its 1 skill.

Wrote 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.

agentmods badge for onboard

README.md
[![agentmods](https://agentmods.dev/badge/skills/sdsrss/onboard/onboard.svg)](https://agentmods.dev/skills/sdsrss/onboard/onboard)
Your own site
<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>
Per session 85 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 27,489 The whole file, excluding the scripts and references it only reads on demand.
Security scan D 2 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 5d ago against content hash 2dd694149575, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

The scan reads SKILL.md. This mod also ships 5 executable files (hooks/guard-bash.sh, hooks/guard-edit.sh, hooks/post-edit-check.sh, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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/`
skills/onboard/SKILL.md · 1,704 lines

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 措辞精化)

  1. Read-before-write:未读取现状不得写入;现状报告未生成不得进入 Phase 1.5/2。
  2. No silent overwrite:覆盖任何已存在配置文件前必须 diff + 用户确认。
  3. Respect existing stack(s)同一语言栈内禁止引入冲突工具(如 Node 内同时 ESLint + JSHint)。允许多语言项目并存多套工具栈——按栈分别应用。
  4. Idempotent:可重复执行;已完成阶段须基于状态文件跳过或验证而非重做。
  5. Verifiable:每个阶段必须有可执行验证步骤,失败不得标记为完成。
  6. Stateful:所有阶段决策、产出、验证结果写入状态文件。
  7. No auto-install:任何安装/升级动作必须先列清单 + 显式授权。凡 installs != [],对应 lockfile 自动追加到该 item 的 touches(v2.7 注释):Phase 2.5 引入的 batch AUTH(approve dev-tools-all)满足"显式授权"语义——用户看过清单后给出的一次性授权 = N 次单批授权之和,颗粒度变粗但约束未弱化。绝不允许"只要是 dev-only 就跳过 AUTH"的无差别豁免。
  8. No business logic changes:onboarding 不得修改业务代码;唯一例外是 Phase 5 中用户批准的最小 smoke test。
  9. No dependency upgrades:不得升级已有依赖版本;只允许新增经授权的开发依赖。
  10. Prefer existing task runner:若项目已有 Makefile / justfile / package scripts,不新增平行入口;新增 script 前必须先做任务运行器健康检查。
  11. Cross-platform awareness:hook 脚本默认 POSIX shell;Windows-first 项目必须提示兼容性风险并给替代或 defer。
  12. CI alignment:本地 lint/test/typecheck 命令必须优先复用 CI 中已有命令。
  13. Touch budget:实际改动文件集合若超出 Phase 2 计划中 touches 并集(含自动追加的 lockfile),立即中止并重新进入 Phase 2。local_side_effects 不计入。
  14. 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/
  15. Exit code or JSON, never both:hook 脚本必须明确选择 exit 0 + stdout JSONexit 2 + stderr;混用时 JSON 被忽略。
  16. Forbidden zones are global:Phase 1 探测出的禁区是 candidates;只有 Phase 1.5 用户确认的 confirmed forbidden zones 才进入全流程消费——CLAUDE.md / lint ignore / hook env / guard-edit 必须保持一致。
  17. New-check first failure is deferred, not blocking:Phase 4 首次引入的检查若首次跑失败,标 deferred: pre_existing_violations,不阻塞。
  18. Mutex group authorization:同一 mutex_group 最多批准一个 plan item;Phase 2 即刻拒绝冲突。
  19. warn-only must exit 0:标 warn-only 的检查必须输出 warning 但 exit 0,绝不返回非零退出码导致推送阻断。

Read the full file on GitHub · 1,704 lines

Changes

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.

  1. 5d ago First seen · 1,704 lines · 85 tokens per session scan D 2dd694149575

Subscribe to this mod's changes

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.