Onboard
alirezarezvani/claude-skills
/cs:onboard — Founder interview that populates ~/.claude/company-context.md using the canonical 7-dimension cs-onboard schema.
Bootstrap a new image from this template: rename the project, enable Actions and Renovate, protect the branch, and reach a first green build.
$ npx skills add projectbluefin/finpilot --skill onboarding -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install projectbluefin/finpilot onboarding --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/projectbluefin/finpilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/onboarding .claude/skills/onboarding && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "onboarding" agent skill from https://github.com/projectbluefin/finpilot/tree/main/.agents/skills/onboarding into .claude/skills/onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboarding", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/projectbluefin/finpilot/tree/main/.agents/skills/onboardingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add projectbluefin/finpilot --skill onboarding -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install projectbluefin/finpilot onboarding --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/projectbluefin/finpilot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/onboarding .agents/skills/onboarding && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "onboarding" agent skill from https://github.com/projectbluefin/finpilot/tree/main/.agents/skills/onboarding into .agents/skills/onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboarding", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add projectbluefin/finpilot --skill onboarding -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install projectbluefin/finpilot onboarding --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/projectbluefin/finpilot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/onboarding .cursor/skills/onboarding && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "onboarding" agent skill from https://github.com/projectbluefin/finpilot/tree/main/.agents/skills/onboarding into .cursor/skills/onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboarding", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/projectbluefin/finpilot.git --path .agents/skills/onboarding--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add projectbluefin/finpilot --skill onboarding -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install projectbluefin/finpilot onboarding --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/projectbluefin/finpilot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/onboarding .gemini/skills/onboarding && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "onboarding" agent skill from https://github.com/projectbluefin/finpilot/tree/main/.agents/skills/onboarding into .gemini/skills/onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboarding", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install projectbluefin/finpilot onboardingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add projectbluefin/finpilot --skill onboarding -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/projectbluefin/finpilot.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/onboarding .github/skills/onboarding && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "onboarding" agent skill from https://github.com/projectbluefin/finpilot/tree/main/.agents/skills/onboarding into .github/skills/onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboarding", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add projectbluefin/finpilot --skill onboarding -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install projectbluefin/finpilot onboarding --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/projectbluefin/finpilot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/onboarding .opencode/skills/onboarding && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "onboarding" agent skill from https://github.com/projectbluefin/finpilot/tree/main/.agents/skills/onboarding into .opencode/skills/onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "onboarding", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
onboardingBootstrap a new image from this template: rename the project, enable Actions and Renovate, protect the branch, and reach a first green build.
Onboarding is an agent skill from projectbluefin/finpilot. Bootstrap a new image from this template: rename the project, enable Actions and Renovate, protect the branch, and reach a first green build. Use when forking the template or when setup has stalled.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Build your own custom Bluefin. The licence is Apache-2.0.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8e0eb5d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghjustgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
RENOVATE_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Onboarding loads about 2.9k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 1,395 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from projectbluefin/finpilot at commit 8e0eb5d, republished under its Apache-2.0 licence (© projectbluefin). 1,395 words, ~2,894 tokens.
.claude/skills/onboarding/SKILL.md (or your agent's skills folder).Take a fresh fork from "Use this template" to a green build on main.
Every step has two routes: a gh command and a by-hand walkthrough through the
GitHub website (or git). They do the same thing, so use whichever suits you —
the by-hand route is written for someone who has never opened these settings
before. Substitute your own {owner}/{repo} throughout.
gh route, run gh auth login and authenticate as that admin.See the Quick start in README.md. Three identity
sites, and just test-contract fails when they disagree.
Without this no workflow runs at all, including the first build.
gh — gh api -X PUT repos/{owner}/{repo}/actions/permissions -F enabled=true -f allowed_actions=allRenovate merges low-risk updates on its own, and it cannot without this.
gh — gh api -X PATCH repos/{owner}/{repo} -F allow_auto_merge=trueTwo settings on one screen. The first lets workflows write — push images, open pull requests. The second is what lets the promotion workflow approve the check runs GitHub holds for its own pull request.
gh — gh api -X PUT repos/{owner}/{repo}/actions/permissions/workflow -f default_workflow_permissions=write -f can_approve_pull_request_reviews=trueThe one step with no shortcut. Renovate uses this token to push branches and open pull requests, so it needs to act as you.
Skip this step if you do not want Renovate. Without the secret the workflow logs a skip and the run stays green; nothing else in the image depends on it.
On any GitHub page, click your profile picture in the top right, then Settings.
In the left sidebar, click Developer settings.
Under Personal access tokens, click Tokens (classic).
Click Generate new token, then Generate new token (classic).
Give it a Note, for example renovate-your-repo.
Set an Expiration. The default is 30 days. When it lapses, Renovate stops opening pull requests until you replace the secret, so pick a date you will notice.
Under Select scopes, tick:
repo — read and write the repositoryworkflow — update the files under .github/workflows/Click Generate token.
Copy the token now. GitHub shows it once. If you lose it, generate another and replace the secret.
A classic token carries every permission you have, on every repository you can reach. If you would rather not, create a fine-grained token instead, scoped to this repository, with Contents: Read and write and Workflows: Write.
gh — gh secret set RENOVATE_TOKEN --repo {owner}/{repo}, then paste the
token when prompted.RENOVATE_TOKEN.stablePromotion opens a pull request into stable, so the branch has to exist before
the first promotion can run. Create it from main.
git — from a clone: git push origin main:stablegh — gh api -X POST repos/{owner}/{repo}/git/refs -f ref=refs/heads/stable -f sha="$(gh api repos/{owner}/{repo}/git/ref/heads/main --jq .object.sha)"stable and set the source to main.Never commit to stable directly. It only ever receives the promotion.
mainRequire the validate check, so nothing lands without passing shellcheck and
hadolint.
gh:
gh api -X PUT repos/{owner}/{repo}/branches/main/protection --input - <<'JSON'
{
"required_status_checks": {"strict": false, "contexts": ["validate"]},
"enforce_admins": false,
"required_pull_request_reviews": null,
"restrictions": null
}
JSONBy hand:
main.validate and select the validate check. It
must be exactly validate. A check that has never run does not appear in
the list — push something first if it is missing.main takes no direct pushes, but the setting is what
enforces it.stableThe same check, and zero required approvals so promotion merges the moment checks pass.
gh — the same call against stable, with:
"required_pull_request_reviews": {"required_approving_review_count": 0}By hand:
stable.validate.stable to squash mergesPromotion is a squash PR, so the branch should accept nothing else.
gh:
gh api -X POST repos/{owner}/{repo}/rulesets --input - <<'JSON'
{
"name": "stable — squash-only promotion",
"target": "branch",
"enforcement": "active",
"conditions": {"ref_name": {"include": ["refs/heads/stable"], "exclude": []}},
"rules": [{"type": "pull_request", "parameters": {
"allowed_merge_methods": ["squash"],
"required_approving_review_count": 0,
"dismiss_stale_reviews_on_push": false,
"require_code_owner_review": false,
"require_last_push_approval": false,
"required_review_thread_resolution": false
}}]
}
JSONBy hand:
stable — squash-only promotion.stable.The release gate applies release/ready and release/blocked, and the shared
label workflow uses the lifecycle set. When a label is missing, the step that
applies it fails, and the failure is easy to miss.
gh — one call per label:
gh label create <name> --repo {owner}/{repo} --color <hex> --force
(--force updates a label that already exists, so the block is safe to
re-run.)gh route is worth
it here even if you did everything else by hand.Required:
| Label | Colour |
|---|---|
release/ready | 0e8a16 |
release/blocked | b60205 |
1-triage | FBCA04 |
2-discussing | D876E3 |
3-human-queue | 1D76DB |
3-clanker-queue | 0E8A16 |
4-review | 0052CC |
blocked | B60205 |
hold | 6E7781 |
Optional: area/ci, kind/bug, priority/p1 (all ededed), and GitHub's
defaults.
The issue templates in .github/ISSUE_TEMPLATE/ only appear when issues are on.
gh — gh api -X PATCH repos/{owner}/{repo} -F has_issues=trueRun every check and compare against the values in this skill:
gh api repos/{owner}/{repo} --jq '{auto_merge: .allow_auto_merge, issues: .has_issues}'
gh api repos/{owner}/{repo}/actions/permissions
gh api repos/{owner}/{repo}/actions/permissions/workflow
gh api repos/{owner}/{repo}/branches --jq '.[].name'
gh api repos/{owner}/{repo}/branches/main/protection --jq '.required_status_checks.contexts'
gh api repos/{owner}/{repo}/branches/stable/protection --jq '.required_status_checks.contexts'
gh api repos/{owner}/{repo}/rulesets --jq '.[].name'
gh secret list --repo {owner}/{repo}Done when main and stable both exist and both require validate, the squash
ruleset is active, RENOVATE_TOKEN is set, and a push to main that changes
more than documentation produces a green Build and Push Image run and a
:stable-testing image. Documentation-only pushes are skipped by paths-ignore.
validate is not offered as a check — it has never run. Push something
that is not documentation-only and try again.workflow scope (step 5).stable does not exist (step 6).stable requires an approval, or the
check name is not exactly validate (steps 7–8).release/blocked — the labels in step 10 are
missing, or the candidate image is unsigned.© projectbluefin, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/onboarding of projectbluefin/finpilot.
Open the folder on GitHubat commit 8e0eb5d
Onboarding next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Onboarding this skillprojectbluefin/finpilot | 126 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Onboardalirezarezvani/claude-skills | 28k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Codebase Onboardingaffaan-m/ECC | 275k | 3 repos | ~2k | Automated safety check: Pass | MIT | |
| Onboardingsickn33/agentic-awesome-skills | 47k | 1 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Contributor Onboarding DocDonchitos/Claude-Code-Game-Studios | 26k | — | ~1.4k | Automated safety check: Pass | MIT | |
| RuView Onboarding Path Pickerruvnet/RuView | 97k | — | ~333 | Automated safety check: Pass | MIT |
alirezarezvani/claude-skills
/cs:onboard — Founder interview that populates ~/.claude/company-context.md using the canonical 7-dimension cs-onboard schema.
affaan-m/ECC
Analyze an unfamiliar codebase and generate a structured onboarding guide with architecture map, key entry points, conventions, and a starter CLAUDE.md.
sickn33/agentic-awesome-skills
When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value.
Donchitos/Claude-Code-Game-Studios
Writes an onboarding document for a new contributor or agent, covering project state, conventions and priorities relevant to a chosen role.
ruvnet/RuView
Zero-to-sensing path picker for RuView (WiFi-DensePose) — pick docker-demo, repo-build, or live-esp32 and run the next concrete step.
affaan-m/ECC
分析一个陌生的代码库,并生成一个结构化的入门指南,包括架构图、关键入口点、规范和一个起始的CLAUDE.md文件。适用于加入新项目或首次在代码仓库中设置Claude Code时。
projectbluefin/finpilot
Decide where a package, app, or command belongs — dnf5 at build time, Homebrew, Flatpak, or ujust — and how each is validated.
projectbluefin/finpilot
GitHub Actions, Renovate, the two-branch release model, signing, and promotion.
projectbluefin/finpilot
Architecture, repository layout, and file map for this template.
projectbluefin/finpilot
Symptom to cause to fix for build, CI, and runtime failures, plus the pre-commit checklist.
Bootstrap a new image from this template: rename the project, enable Actions and Renovate, protect the branch, and reach a first green build. Onboarding is an agent skill from projectbluefin/finpilot. Bootstrap a new image from this template: rename the project, enable Actions and Renovate, protect the branch, and reach a first green build.
Onboarding fits situations like: forking the template; setup has stalled.
Run `npx skills add projectbluefin/finpilot --skill onboarding -a claude-code`. Or copy the skill folder (.agents/skills/onboarding in projectbluefin/finpilot) into .claude/skills/onboarding in your project. Claude Code loads it when a task matches its description.
Run `npx skills add projectbluefin/finpilot --skill onboarding -a codex`. Or copy the skill folder (.agents/skills/onboarding in projectbluefin/finpilot) into .agents/skills/onboarding in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add projectbluefin/finpilot --skill onboarding -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/onboarding, .gemini/skills/onboarding, .github/skills/onboarding and .opencode/skills/onboarding in your project.
Going by SKILL.md and its folder, Onboarding needs the command-line tools its instructions call (gh, just and git) and credentials named RENOVATE_TOKEN. Our summary lists: A credential in RENOVATE_TOKEN.
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Onboarding is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Onboarding: Onboard (alirezarezvani/claude-skills, 28k stars), Codebase Onboarding (affaan-m/ECC, 275k stars), Onboarding (sickn33/agentic-awesome-skills, 47k stars) and Contributor Onboarding Doc (Donchitos/Claude-Code-Game-Studios, 26k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
projectbluefin (a GitHub organization) maintains it in projectbluefin/finpilot, which has 126 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.
Source: projectbluefin/finpilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.