[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CDJ9FN146HCV5TPE19XCG1":3,"skill-same:01M6CDJ9FN146HCV5TPE19XCG1":72},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":33,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6CDJ9FN146HCV5TPE19XCG1","cw-orient",null,"Use at the start of any Codewhale work session, or when unsure whether the canonical checkout is on current `main` and what is dirty in it: establish live repo truth before reading a plan or editing a file.","codewhale-hq\u002FCodewhale","codewhale-hq","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F326694313?v=4","01M6CDD9D70AD3631SMRJ7REW4","Codewhale","01M6CDD9H0VAXYCB2NGGPZC16K",41176,"MIT","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fcw-orient\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"orient","cw orient","codewhale","it","live","canonical","reading","at","when","main","checkout","start","work session","plan","work","file","use","session","editing","repo","2026-11-10 10:12:30",false,"---\nname: cw-orient\ndescription: \"Use at the start of any Codewhale work session, or when unsure whether the canonical checkout is on current `main` and what is dirty in it: establish live repo truth before reading a plan or editing a file.\"\n---\n\n# cw-orient\n\nOpen every session on live truth, not on a handoff note, a directory name, or\nwhat was true last time. Several agents share this one checkout on `main`; the\ncheapest bug to avoid is committing a live writer's half-written edit.\n\nThis is stage 1 of the loop: **orient → [cw-slice](..\u002Fcw-slice\u002FSKILL.md) →\n[cw-gates](..\u002Fcw-gates\u002FSKILL.md) → [cw-dogfood](..\u002Fcw-dogfood\u002FSKILL.md) →\n[cw-land](..\u002Fcw-land\u002FSKILL.md) → [cw-handoff](..\u002Fcw-handoff\u002FSKILL.md)**.\n\n## When to use\n\n- Starting a session, resuming one, or taking over from another agent.\n- A handoff, issue, or plan tells you the state of the repo — verify before\n  trusting it.\n- You are about to edit and are not certain what is dirty or who is writing.\n\n## Workflow\n\n1. **Locate yourself.** Checkout, branch, dirt, and how far you are from the\n   remote:\n   ```bash\n   git rev-parse --show-toplevel && git branch --show-current\n   git status --short --branch\n   git log --oneline --decorate -10\n   ```\n   Agent work happens on `main`. A detached HEAD or another branch here is a\n   state to reconcile (preserve dirt and stranded commits, compare with\n   `origin\u002Fmain`, return to `main`) before editing; see `AGENTS.md` § Working\n   rules.\n\n2. **Look for stranded work, not lanes.** `git worktree list` and recent\n   branches tell you what may hold unlanded commits. Inventory them; do not\n   start work in someone else's. Create your own short-lived worktree from\n   `origin\u002Fmain` only after the inventory.\n   ```bash\n   git worktree list\n   git branch --sort=-committerdate --format='%(committerdate:short) %(refname:short)' | head -20\n   ```\n\n3. **Dirt in this checkout is yours** (`AGENTS.md`, founder 2026-10-22).\n   ```bash\n   git status --porcelain\n   git diff --stat\n   ```\n   Check mtimes: a file changed in the last 15 minutes, or one a live session\n   is editing, is mid-edit — ask that writer to commit, and commit the rest\n   yourself in coherent verified groups ([cw-land](..\u002Fcw-land\u002FSKILL.md)). Never\n   stash, `checkout --`, reset or clean it.\n\n4. **Fix which guidance applies.** The nearest scoped `AGENTS.md` wins over the\n   root one, and it is where the per-area rules actually live:\n   ```bash\n   find . -name AGENTS.md -not -path '.\u002Ftmp\u002F*' -not -path '*\u002Fnode_modules\u002F*' -not -path '.\u002Ftarget\u002F*'\n   ```\n   Today: root `AGENTS.md`, `crates\u002Ftui\u002FAGENTS.md`,\n   `crates\u002Flocalization\u002Flocales\u002FAGENTS.md`, `web\u002FAGENTS.md`. Read the one that owns the\n   files you are about to touch.\n\n5. **Establish version truth from source, not memory.**\n   ```bash\n   grep -m1 '^version' Cargo.toml\n   .\u002Fscripts\u002Frelease\u002Fcheck-versions.sh\n   ```\n   `check-versions.sh` is the drift gate across the workspace version, npm,\n   `Cargo.lock`, the changelog, and the README. If it disagrees with what you\n   were told, believe the script.\n\n6. **Only if the task is about the community queue** — issues, PRs, harvesting,\n   credit — pull the live queue with the `gh-*` skills in this directory rather\n   than assuming from memory. When the task is local-only, stay offline and\n   record the missing external receipt instead.\n\n## Red flags \u002F don't\n\n- Don't infer the current state from a directory name, a stale handoff, or a\n  `.md` file's confident prose. All three have been wrong here.\n- Don't treat a plan document as current state. Plans describe intent; `git`\n  describes reality.\n- Don't clean, stash, reset, or `git checkout --` dirt in the checkout; read\n  it, prove it, and commit it, or hand it to the live writer.\n- Don't use a new worktree to escape dirt or a conflict; inherited work is still yours.\n- Don't skip step 4 because the root `AGENTS.md` \"probably covers it\". The\n  scoped files carry the rules that actually get violated.\n- Don't fetch, browse, or hit GitHub when the task was scoped local-only.\n\n## Output\n\nOpen with a short status block. Skip fields that are empty or normal — a\nclean tree on `main` with no stranded work is one line, not five:\n\n- checkout path, branch (or detached HEAD), base commit;\n- dirty files and whether a live writer owns them;\n- stranded branches or checkouts holding unlanded commits;\n- workspace version and whether `check-versions.sh` agrees;\n- which `AGENTS.md` files govern this change.\n","# cw-orient\n\nOpen every session on live truth, not on a handoff note, a directory name, or\nwhat was true last time. Several agents share this one checkout on `main`; the\ncheapest bug to avoid is committing a live writer's half-written edit.\n\nThis is stage 1 of the loop: **orient → [cw-slice](..\u002Fcw-slice\u002FSKILL.md) →\n[cw-gates](..\u002Fcw-gates\u002FSKILL.md) → [cw-dogfood](..\u002Fcw-dogfood\u002FSKILL.md) →\n[cw-land](..\u002Fcw-land\u002FSKILL.md) → [cw-handoff](..\u002Fcw-handoff\u002FSKILL.md)**.\n\n## When to use\n\n- Starting a session, resuming one, or taking over from another agent.\n- A handoff, issue, or plan tells you the state of the repo — verify before\n  trusting it.\n- You are about to edit and are not certain what is dirty or who is writing.\n\n## Workflow\n\n1. **Locate yourself.** Checkout, branch, dirt, and how far you are from the\n   remote:\n   ```bash\n   git rev-parse --show-toplevel && git branch --show-current\n   git status --short --branch\n   git log --oneline --decorate -10\n   ```\n   Agent work happens on `main`. A detached HEAD or another branch here is a\n   state to reconcile (preserve dirt and stranded commits, compare with\n   `origin\u002Fmain`, return to `main`) before editing; see `AGENTS.md` § Working\n   rules.\n\n2. **Look for stranded work, not lanes.** `git worktree list` and recent\n   branches tell you what may hold unlanded commits. Inventory them; do not\n   start work in someone else's. Create your own short-lived worktree from\n   `origin\u002Fmain` only after the inventory.\n   ```bash\n   git worktree list\n   git branch --sort=-committerdate --format='%(committerdate:short) %(refname:short)' | head -20\n   ```\n\n3. **Dirt in this checkout is yours** (`AGENTS.md`, founder 2026-10-22).\n   ```bash\n   git status --porcelain\n   git diff --stat\n   ```\n   Check mtimes: a file changed in the last 15 minutes, or one a live session\n   is editing, is mid-edit — ask that writer to commit, and commit the rest\n   yourself in coherent verified groups ([cw-land](..\u002Fcw-land\u002FSKILL.md)). Never\n   stash, `checkout --`, reset or clean it.\n\n4. **Fix which guidance applies.** The nearest scoped `AGENTS.md` wins over the\n   root one, and it is where the per-area rules actually live:\n   ```bash\n   find . -name AGENTS.md -not -path '.\u002Ftmp\u002F*' -not -path '*\u002Fnode_modules\u002F*' -not -path '.\u002Ftarget\u002F*'\n   ```\n   Today: root `AGENTS.md`, `crates\u002Ftui\u002FAGENTS.md`,\n   `crates\u002Flocalization\u002Flocales\u002FAGENTS.md`, `web\u002FAGENTS.md`. Read the one that owns the\n   files you are about to touch.\n\n5. **Establish version truth from source, not memory.**\n   ```bash\n   grep -m1 '^version' Cargo.toml\n   .\u002Fscripts\u002Frelease\u002Fcheck-versions.sh\n   ```\n   `check-versions.sh` is the drift gate across the workspace version, npm,\n   `Cargo.lock`, the changelog, and the README. If it disagrees with what you\n   were told, believe the script.\n\n6. **Only if the task is about the community queue** — issues, PRs, harvesting,\n   credit — pull the live queue with the `gh-*` skills in this directory rather\n   than assuming from memory. When the task is local-only, stay offline and\n   record the missing external receipt instead.\n\n## Red flags \u002F don't\n\n- Don't infer the current state from a directory name, a stale handoff, or a\n  `.md` file's confident prose. All three have been wrong here.\n- Don't treat a plan document as current state. Plans describe intent; `git`\n  describes reality.\n- Don't clean, stash, reset, or `git checkout --` dirt in the checkout; read\n  it, prove it, and commit it, or hand it to the live writer.\n- Don't use a new worktree to escape dirt or a conflict; inherited work is still yours.\n- Don't skip step 4 because the root `AGENTS.md` \"probably covers it\". The\n  scoped files carry the rules that actually get violated.\n- Don't fetch, browse, or hit GitHub when the task was scoped local-only.\n\n## Output\n\nOpen with a short status block. Skip fields that are empty or normal — a\nclean tree on `main` with no stranded work is one line, not five:\n\n- checkout path, branch (or detached HEAD), base commit;\n- dirty files and whether a live writer owns them;\n- stranded branches or checkouts holding unlanded commits;\n- workspace version and whether `check-versions.sh` agrees;\n- which `AGENTS.md` files govern this change.\n",{"name":5,"description":7},"a34117942a944b26f6acb66ab68703d15540cd37","docs\u002Fskills\u002Fcw-orient",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 02:35:28",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add codewhale-hq\u002FCodewhale --skill cw-orient",{"tool":64,"command":65},"bunx","bunx skills add codewhale-hq\u002FCodewhale --skill cw-orient",{"tool":67,"command":68},"pnpm","pnpm dlx skills add codewhale-hq\u002FCodewhale --skill cw-orient","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fcw-orient\u002FSKILL.md",true,[],[73,100,122,141,154,161],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":44},"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",[],[80,81,82,83,84,85,86,87,26,88,89,90,91,92,93,94,95,96,97,98,99],"find","gh find prs","gh","prs","produce","with","read-only","matrix","queue","issue","read","check","code","only","open","survey","pr","evidence","fetch","coverage",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":107,"publishedAt":44},"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",[106],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[108,82,39,109,89,110,111,112,32,113,114,115,116,26,117,118,119,85,120,121,40],"file issue","gh file issue","milestone","idea","filing","new","labels","acceptance","actionable","bug","github issue","github","acceptance criteria","repro",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":129,"publishedAt":44},"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",[128],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[130,131,132,82,31,133,134,135,85,32,136,137,26,138,139,93,140],"gh close issues","close","issues","release","reporter","scenario","closure","fixes","behavior","confirmation","landing",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":148,"publishedAt":44},"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",[147],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[149,82,132,150,40,119,110,151,152,153],"gh assign issues","assign","bulk","github issues","owners",{"skillNo":155,"name":156,"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":157,"categories":158,"keywords":160,"publishedAt":44},"01M6CDJEBMKBAGTBG18N5YJNSE","feedback","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Ffeedback\u002FSKILL.md",[159],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[156],{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":168,"publishedAt":44},"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",[167],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[169,170,35,171,172,173,174,175,176,26,177,138,80,178,92,40,179,180,97],"slice","cw slice","bar","you","Existing","upgrade","for","feature","refactor","change","writing","fix"]