Agent SkillsHmbown/CodeWhale › contributor-onboarding

contributor-onboarding

GitHub

辅助新贡献者快速上手,通过只读检查同步状态、构建及运行CI验证门禁,生成本地变更摘要。严格禁止自动修改工作树或执行网络操作,确保操作安全透明。

crates/tui/assets/skills/contributor-onboarding/SKILL.md Hmbown/CodeWhale

Trigger Scenarios

新克隆仓库后首次初始化 确认本地代码与远程主分支同步状态 验证本地构建和测试是否通过

Install

npx skills add Hmbown/CodeWhale --skill contributor-onboarding -g -y
More Options

Non-standard path

npx skills add https://github.com/Hmbown/CodeWhale/tree/main/crates/tui/assets/skills/contributor-onboarding -g -y

Use without installing

npx skills use Hmbown/CodeWhale@contributor-onboarding

指定 Agent (Claude Code)

npx skills add Hmbown/CodeWhale --skill contributor-onboarding -a claude-code -g -y

安装 repo 全部 skill

npx skills add Hmbown/CodeWhale --all -g -y

预览 repo 内 skill

npx skills add Hmbown/CodeWhale --list

SKILL.md

Frontmatter
{
    "name": "contributor-onboarding",
    "invocation": "explicit-only",
    "description": "Help a new contributor get productive on this checkout - inspect sync state against main, build, run the repository's exact verification gate, and produce a local what's-new digest. Never fetches, pulls, or modifies a dirty tree on its own. Explicit-only."
}

Contributor Onboarding

Requested by @JayBeest in issue #4227: a first-run path for a contributor who has cloned the repo and wants to know am I current, does it build, does it pass, and what changed while I was away — without a wall of prose and without anything touching their working tree behind their back.

Invocation

Explicit-only. Loading this skill is not authority to fetch, pull, rebase, push, or write files. Every network or mutating step below is a separate action the contributor must ask for after reading the plan.

Non-goals

  • Do not run git fetch, git pull, git rebase, or git checkout on your own initiative. Report state; propose the command; wait.
  • Do not stash, discard, reset, or commit a dirty tree. Ever.
  • Do not call a model provider. Every step here is a local command with a deterministic result. The digest is built from files and git output, not generated prose.
  • Do not claim a gate passed that you did not run, and do not summarize a build you did not observe.
  • Do not privilege any provider. Codewhale is provider-neutral; a dogfood run uses whatever route the contributor already configured, or none.

Workflow

1. Inspect (read-only, always safe)

Run these and report the results verbatim. Nothing here writes:

git rev-parse --abbrev-ref HEAD
git status --porcelain
git rev-list --left-right --count origin/main...HEAD

Report three facts plainly:

  • Branch the contributor is on.
  • Tree state: clean, or the count and paths of dirty entries.
  • Sync state: N behind, M ahead of origin/main, or unavailable when origin/main is missing or has never been fetched. Unavailable is a real answer — say it rather than guessing zero.

2. Sync — propose, never perform

If behind, print the exact commands and stop:

git fetch origin
git rebase origin/main     # or: git merge origin/main

If the tree is dirty, do not propose a sync at all. Print a recovery plan first, in this order, and let the contributor choose:

  1. git stash push -u -m "wip before sync" then sync, then git stash pop
  2. Commit the work on a branch, then sync
  3. Stay behind and continue — being behind is not an error

3. Build

cargo build --release -p codewhale-cli -p codewhale-tui

Report the exit status and the first error if it fails. A build failure ends the run: do not proceed to the gate and do not report gate results.

4. Verification gate — the repository's exact CI command

Run what CI runs, not a paraphrase of it:

cargo fmt --all -- --check
cargo clippy --workspace --all-features --locked -- \
  -D warnings \
  -A clippy::uninlined_format_args \
  -A clippy::too_many_arguments \
  -A clippy::unnecessary_map_or \
  -A clippy::collapsible_if \
  -A clippy::assertions_on_constants
cargo test --workspace

These are copied from .github/workflows/ci.yml. If that file changes, this list is stale — read the workflow and say so rather than running a command CI no longer uses.

Known suite papercut: run_verifiers_background_* is flaky under full-suite parallelism and passes in isolation. Attribute it to the known flake, not to the contributor's change.

5. What's new — deterministic local digest

Built only from files already on disk. No network, no model:

git log --oneline -n 20 origin/main

plus the topmost released section of CHANGELOG.md.

Rules:

  • Cap the digest at 20 commits and 40 lines of changelog. State the cap when you hit it; do not silently truncate.
  • If origin/main is unavailable, digest HEAD instead and label it as such.
  • Quote what the files say. Do not summarize, rank, or editorialize — the point is that two contributors on the same commit get the same digest.

6. Dogfood — optional, staged, confirmed

Only after the gate has actually passed, and only if the contributor asks. Print the plan and require an explicit yes before running anything:

./target/release/codewhale exec --help

This is a provider-free smoke check: it exercises the built binary without sending a request anywhere. Anything beyond it — an actual codewhale exec turn — needs the contributor's own configured route and their explicit go-ahead. Never select a provider for them and never fall back to a default one.

Reporting

End with a compact status table: branch, tree, sync, build, gate, digest, dogfood. Use not run for anything skipped and unavailable for anything the environment could not determine. Never write passed from inference.

Credit

Requested by @JayBeest (#4227). Preserve that attribution in the changelog entry and in the commit body of any change that lands from this skill.

Version History

  • 0fe366b Current 2026-08-16 09:02

Same Skill Collection

crates/tui/assets/skills/batch/SKILL.md
crates/tui/assets/skills/best-of-n/SKILL.md
crates/tui/assets/skills/dataviz/SKILL.md
crates/tui/assets/skills/debug/SKILL.md
crates/tui/assets/skills/delegate/SKILL.md
crates/tui/assets/skills/dependency-update/SKILL.md
crates/tui/assets/skills/docx/SKILL.md
crates/tui/assets/skills/feishu/SKILL.md
crates/tui/assets/skills/fleet-manager/SKILL.md
crates/tui/assets/skills/frontend-design/SKILL.md
crates/tui/assets/skills/handoff/SKILL.md
crates/tui/assets/skills/help/SKILL.md
crates/tui/assets/skills/implement/SKILL.md
crates/tui/assets/skills/interview/SKILL.md
crates/tui/assets/skills/mcp-builder/SKILL.md
crates/tui/assets/skills/mcp-discovery/SKILL.md
crates/tui/assets/skills/pdf/SKILL.md
crates/tui/assets/skills/plan/SKILL.md
crates/tui/assets/skills/plugin-creator/SKILL.md
crates/tui/assets/skills/pptx/SKILL.md
crates/tui/assets/skills/research/SKILL.md
crates/tui/assets/skills/review/SKILL.md
crates/tui/assets/skills/security-review/SKILL.md
crates/tui/assets/skills/simplify/SKILL.md
crates/tui/assets/skills/skill-creator/SKILL.md
crates/tui/assets/skills/skill-installer/SKILL.md
crates/tui/assets/skills/test/SKILL.md
crates/tui/assets/skills/v4-best-practices/SKILL.md
crates/tui/assets/skills/verify/SKILL.md
crates/tui/assets/skills/webapp-testing/SKILL.md
crates/tui/assets/skills/xlsx/SKILL.md
docs/skills/codew-release-qa-sweep/SKILL.md
docs/skills/gh-assign-issues/SKILL.md
docs/skills/gh-close-issues/SKILL.md
docs/skills/gh-compile-issues/SKILL.md
docs/skills/gh-credit-harvest/SKILL.md
docs/skills/gh-file-issue/SKILL.md
docs/skills/gh-find-prs/SKILL.md
docs/skills/gh-treasure-hunt/SKILL.md
crates/tui/assets/skills/documents/SKILL.md
crates/tui/assets/skills/presentations/SKILL.md
crates/tui/assets/skills/spreadsheets/SKILL.md

Metadata

Files
0
Version
0fe366b
Hash
0f5dfb27
Indexed
2026-08-16 09:02

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-16 20:12
浙ICP备14020137号-1 $mapa de visitantes$