[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CDHWV09BH1PZ1YZVZNAGAV":3,"skill-same:01M6CDHWV09BH1PZ1YZVZNAGAV":75},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":46,"linkOnly":47,"markdownContent":48,"markdownBody":49,"frontMatter":50,"refName":35,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":56,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6CDHWV09BH1PZ1YZVZNAGAV","contributor-onboarding",null,"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.","codewhale-hq\u002FCodewhale","codewhale-hq","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F326694313?v=4","01M6CDD9D70AD3631SMRJ7REW4","Codewhale","01M6CDD9H0VAXYCB2NGGPZC16K",41177,"MIT","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fcontributor-onboarding\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"contributor","onboarding","contributor onboarding","gate","new","inspect","tree","checkout","get","local","digest","main","sync","only","never","verification gate","repository","produce","verification","state","help","run","2026-11-10 10:12:30",false,"---\nname: contributor-onboarding\ndescription: 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.\ninvocation: explicit-only\n---\n\n# Contributor Onboarding\n\nA first-run path for a contributor who has cloned the repo and wants to know\n*am I current, does it build, does it pass, and what changed while I was\naway* — without a wall of prose and without anything touching their working\ntree behind their back.\n\n## Invocation\n\nExplicit-only. Loading this skill is **not** authority to fetch, pull, rebase,\npush, or write files. Every network or mutating step below is a separate action\nthe contributor must ask for after reading the plan.\n\n## Non-goals\n\n- Do not run `git fetch`, `git pull`, `git rebase`, or `git checkout` on your\n  own initiative. Report state; propose the command; wait.\n- Do not stash, discard, reset, or commit a dirty tree. Ever.\n- Do not call a model provider. Every step here is a local command with a\n  deterministic result. The digest is built from files and git output, not\n  generated prose.\n- Do not claim a gate passed that you did not run, and do not summarize a\n  build you did not observe.\n- Do not privilege any provider. Codewhale is provider-neutral; a dogfood run\n  uses whatever route the contributor already configured, or none.\n\n## Workflow\n\n### 1. Inspect (read-only, always safe)\n\nRun these and report the results verbatim. Nothing here writes:\n\n```\ngit rev-parse --abbrev-ref HEAD\ngit status --porcelain\ngit rev-list --left-right --count origin\u002Fmain...HEAD\n```\n\nReport three facts plainly:\n\n- **Branch** the contributor is on.\n- **Tree state**: clean, or the count and paths of dirty entries.\n- **Sync state**: `N behind, M ahead` of `origin\u002Fmain`, or **unavailable** when\n  `origin\u002Fmain` is missing or has never been fetched. Unavailable is a real\n  answer — say it rather than guessing zero.\n\n### 2. Sync — propose, never perform\n\nIf behind, print the exact commands and stop:\n\n```\ngit fetch origin\ngit rebase origin\u002Fmain     # or: git merge origin\u002Fmain\n```\n\n**If the tree is dirty, do not propose a sync at all.** Print a recovery plan\nfirst, in this order, and let the contributor choose:\n\n1. `git stash push -u -m \"wip before sync\"` then sync, then `git stash pop`\n2. Commit the work on a branch, then sync\n3. Stay behind and continue — being behind is not an error\n\n### 3. Build\n\n```\ncargo build --release -p codewhale-cli --bin codewhale\n```\n\nReport the exit status and the first error if it fails. A build failure ends\nthe run: do not proceed to the gate and do not report gate results.\n\n### 4. Verification gate — the repository's exact CI command\n\nRun what CI runs, not a paraphrase of it. Read `.github\u002Fworkflows\u002Fci.yml`\nfirst and run its Rust steps verbatim; the list below is a snapshot that\nloses to the workflow when they disagree:\n\n```\ncargo fmt --all -- --check\ncargo clippy --workspace --all-targets --all-features --locked -- \\\n  -D warnings \\\n  -A clippy::uninlined_format_args \\\n  -A clippy::too_many_arguments \\\n  -A clippy::unnecessary_map_or\ncargo test --workspace\n```\n\nIf the workflow uses flags this snapshot lacks (or vice versa), say so and\nfollow the workflow.\n\nKnown suite papercut: `run_verifiers_background_*` is flaky under full-suite\nparallelism and passes in isolation. Attribute it to the known flake, not to\nthe contributor's change.\n\n### 5. What's new — deterministic local digest\n\nBuilt only from files already on disk. No network, no model:\n\n```\ngit log --oneline -n 20 origin\u002Fmain\n```\n\nplus the topmost released section of `CHANGELOG.md`.\n\nRules:\n\n- Cap the digest at **20 commits and 40 lines** of changelog. State the cap\n  when you hit it; do not silently truncate.\n- If `origin\u002Fmain` is unavailable, digest `HEAD` instead and label it as such.\n- Quote what the files say. Do not summarize, rank, or editorialize — the\n  point is that two contributors on the same commit get the same digest.\n\n### 6. Dogfood — optional, staged, confirmed\n\nOnly after the gate has actually passed, and only if the contributor asks.\nPrint the plan and require an explicit yes before running anything:\n\n```\n.\u002Ftarget\u002Frelease\u002Fcodewhale exec --help\n```\n\nThis is a provider-free smoke check: it exercises the built binary without\nsending a request anywhere. Anything beyond it — an actual `codewhale exec`\nturn — needs the contributor's own configured route and their explicit\ngo-ahead. Never select a provider for them and never fall back to a default\none.\n\n## Reporting\n\nEnd with a compact status table: branch, tree, sync, build, gate, digest,\ndogfood. Use `not run` for anything skipped and `unavailable` for anything the\nenvironment could not determine. Never write `passed` from inference.\n\n## Credit\n\nRequested by @JayBeest (#4227). Preserve that attribution in the changelog\nentry and in the commit body of any change that lands from this skill.\n","# Contributor Onboarding\n\nA first-run path for a contributor who has cloned the repo and wants to know\n*am I current, does it build, does it pass, and what changed while I was\naway* — without a wall of prose and without anything touching their working\ntree behind their back.\n\n## Invocation\n\nExplicit-only. Loading this skill is **not** authority to fetch, pull, rebase,\npush, or write files. Every network or mutating step below is a separate action\nthe contributor must ask for after reading the plan.\n\n## Non-goals\n\n- Do not run `git fetch`, `git pull`, `git rebase`, or `git checkout` on your\n  own initiative. Report state; propose the command; wait.\n- Do not stash, discard, reset, or commit a dirty tree. Ever.\n- Do not call a model provider. Every step here is a local command with a\n  deterministic result. The digest is built from files and git output, not\n  generated prose.\n- Do not claim a gate passed that you did not run, and do not summarize a\n  build you did not observe.\n- Do not privilege any provider. Codewhale is provider-neutral; a dogfood run\n  uses whatever route the contributor already configured, or none.\n\n## Workflow\n\n### 1. Inspect (read-only, always safe)\n\nRun these and report the results verbatim. Nothing here writes:\n\n```\ngit rev-parse --abbrev-ref HEAD\ngit status --porcelain\ngit rev-list --left-right --count origin\u002Fmain...HEAD\n```\n\nReport three facts plainly:\n\n- **Branch** the contributor is on.\n- **Tree state**: clean, or the count and paths of dirty entries.\n- **Sync state**: `N behind, M ahead` of `origin\u002Fmain`, or **unavailable** when\n  `origin\u002Fmain` is missing or has never been fetched. Unavailable is a real\n  answer — say it rather than guessing zero.\n\n### 2. Sync — propose, never perform\n\nIf behind, print the exact commands and stop:\n\n```\ngit fetch origin\ngit rebase origin\u002Fmain     # or: git merge origin\u002Fmain\n```\n\n**If the tree is dirty, do not propose a sync at all.** Print a recovery plan\nfirst, in this order, and let the contributor choose:\n\n1. `git stash push -u -m \"wip before sync\"` then sync, then `git stash pop`\n2. Commit the work on a branch, then sync\n3. Stay behind and continue — being behind is not an error\n\n### 3. Build\n\n```\ncargo build --release -p codewhale-cli --bin codewhale\n```\n\nReport the exit status and the first error if it fails. A build failure ends\nthe run: do not proceed to the gate and do not report gate results.\n\n### 4. Verification gate — the repository's exact CI command\n\nRun what CI runs, not a paraphrase of it. Read `.github\u002Fworkflows\u002Fci.yml`\nfirst and run its Rust steps verbatim; the list below is a snapshot that\nloses to the workflow when they disagree:\n\n```\ncargo fmt --all -- --check\ncargo clippy --workspace --all-targets --all-features --locked -- \\\n  -D warnings \\\n  -A clippy::uninlined_format_args \\\n  -A clippy::too_many_arguments \\\n  -A clippy::unnecessary_map_or\ncargo test --workspace\n```\n\nIf the workflow uses flags this snapshot lacks (or vice versa), say so and\nfollow the workflow.\n\nKnown suite papercut: `run_verifiers_background_*` is flaky under full-suite\nparallelism and passes in isolation. Attribute it to the known flake, not to\nthe contributor's change.\n\n### 5. What's new — deterministic local digest\n\nBuilt only from files already on disk. No network, no model:\n\n```\ngit log --oneline -n 20 origin\u002Fmain\n```\n\nplus the topmost released section of `CHANGELOG.md`.\n\nRules:\n\n- Cap the digest at **20 commits and 40 lines** of changelog. State the cap\n  when you hit it; do not silently truncate.\n- If `origin\u002Fmain` is unavailable, digest `HEAD` instead and label it as such.\n- Quote what the files say. Do not summarize, rank, or editorialize — the\n  point is that two contributors on the same commit get the same digest.\n\n### 6. Dogfood — optional, staged, confirmed\n\nOnly after the gate has actually passed, and only if the contributor asks.\nPrint the plan and require an explicit yes before running anything:\n\n```\n.\u002Ftarget\u002Frelease\u002Fcodewhale exec --help\n```\n\nThis is a provider-free smoke check: it exercises the built binary without\nsending a request anywhere. Anything beyond it — an actual `codewhale exec`\nturn — needs the contributor's own configured route and their explicit\ngo-ahead. Never select a provider for them and never fall back to a default\none.\n\n## Reporting\n\nEnd with a compact status table: branch, tree, sync, build, gate, digest,\ndogfood. Use `not run` for anything skipped and `unavailable` for anything the\nenvironment could not determine. Never write `passed` from inference.\n\n## Credit\n\nRequested by @JayBeest (#4227). Preserve that attribution in the changelog\nentry and in the commit body of any change that lands from this skill.\n",{"name":5,"invocation":51,"description":7},"explicit-only","654aa776d6bcb98292d4c7c5841fed871e1ba5bd","docs\u002Fskills\u002Fcontributor-onboarding",3571,"https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale","https:\u002F\u002Fcodewhale.net\u002F","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq","https:\u002F\u002Fcodewhale.net","Open-source coding agent for your terminal. Works with the model provider you choose.","2026-11-12 20:19:43",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add codewhale-hq\u002FCodewhale --skill contributor-onboarding",{"tool":67,"command":68},"bunx","bunx skills add codewhale-hq\u002FCodewhale --skill contributor-onboarding",{"tool":70,"command":71},"pnpm","pnpm dlx skills add codewhale-hq\u002FCodewhale --skill contributor-onboarding","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fcontributor-onboarding\u002FSKILL.md",true,[],[76,102,130,150,163,170],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":46},"01M6CDJRMPR8FX1WVFP94PGDMD","gh-find-prs","Survey the open Codewhale PR and issue queue read-only: fetch each item, check it against current code, and produce one coverage and disposition matrix with cited evidence and credit owed.","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fgh-find-prs\u002FSKILL.md",[],[83,84,85,86,41,87,88,89,90,91,92,93,94,95,37,96,97,98,99,100,101],"find","gh find prs","gh","prs","with","read-only","matrix","codewhale","queue","issue","read","check","code","open","survey","pr","evidence","fetch","coverage",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":113,"publishedAt":46},"01M6CDJP0ZYMQNA6AN028X7A96","gh-file-issue","Use when filing a new Codewhale GitHub issue: turn a bug or idea into a well-formed, actionable issue with repro, acceptance criteria, labels, and milestone.","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fgh-file-issue\u002FSKILL.md",[108],{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[114,85,115,116,92,117,118,119,120,28,121,122,123,90,124,125,126,87,127,128,129],"file issue","file","gh file issue","milestone","idea","filing","when","labels","acceptance","actionable","bug","github issue","github","acceptance criteria","repro","use",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":46},"01M6CDJJZB0G4XHWWBD12S990C","gh-close-issues","Close resolved Codewhale issues only after verifying the landed behavior: Refs #N per landing, Fixes #N only when the reporter's scenario was reproduced, closure at the release step or on the reporter's confirmation, always with a crediting comment.","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fgh-close-issues\u002FSKILL.md",[136],{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},[138,139,140,85,141,142,143,144,87,120,145,146,90,147,148,37,149],"gh close issues","close","issues","at","release","reporter","scenario","closure","fixes","behavior","confirmation","landing",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":46},"01M6CDJGR688JJVTG0A1ETBJGQ","gh-assign-issues","Use to assign GitHub issues to a milestone and\u002For owners in bulk, verifying each.","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fgh-assign-issues\u002FSKILL.md",[156],{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},[158,85,140,159,129,126,117,160,161,162],"gh assign issues","assign","bulk","github issues","owners",{"skillNo":164,"name":165,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":169,"publishedAt":46},"01M6CDJEBMKBAGTBG18N5YJNSE","feedback","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Ffeedback\u002FSKILL.md",[168],{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},[165],{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":177,"publishedAt":46},"01M6CDJBRQ86PP9XNXQMRB1CGX","cw-slice","Use before writing code for any Codewhale feature, upgrade, or refactor: find the existing owner of the behavior, bound the change to one reviewable slice, and fix the evidence bar before you start.","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fcw-slice\u002FSKILL.md",[176],{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},[178,179,180,181,182,183,184,185,186,90,187,147,83,188,95,129,189,190,99],"slice","cw slice","start","bar","you","Existing","upgrade","for","feature","refactor","change","writing","fix"]