[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CDJJZB0G4XHWWBD12S990C":3,"skill-same:01M6CDJJZB0G4XHWWBD12S990C":70},{"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":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M6CDJJZB0G4XHWWBD12S990C","gh-close-issues",null,"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.","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\u002Fgh-close-issues\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],"issues","close","gh close issues","gh","confirmation","behavior","landing","only","codewhale","scenario","release","with","reporter","at","fixes","closure","when","2026-11-10 10:12:30",false,"---\nname: gh-close-issues\ndescription: \"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.\"\n---\n\n# gh-close-issues\n\nClose a GitHub issue only after you have **verified** that the fix landed and\nproved it with a `path:line` citation or commit SHA. Closing from a title, a\nlabel or a hopeful PR is how reporters get burned. Treat the reporter as a\npartner who gave you evidence: thank them, link the commit, and leave the door\nopen to reopen.\n\nRepo: `codewhale-hq\u002FCodeWhale`. CLI: `gh`.\n\n## The closure rule\n\n- **Per landing, commits say `Refs #N`.** A landing does not close the issue.\n- **`Fixes #N` only when the reporter's own scenario** (platform, route,\n  version) was reproduced and observed fixed.\n- **When the fix is source-verified but the reporter's scenario is not, leave\n  the issue open** with one status sentence: the SHA, what was proved, and what\n  the reporter can retest.\n- **Close at the release step** (`docs\u002FRELEASE_CHECKLIST.md`, \"Close any issues\n  that this release fixed\") or on the reporter's confirmation — not before.\n\n## When to use\n\n- An issue looks resolved by a commit on `main` and the release step or the\n  reporter's confirmation has arrived.\n- A contributor PR merged and you need to close the issue(s) it fixed.\n- You are sweeping a milestone at release time and several issues may already be\n  fixed.\n\nIf the fix is not on `main` yet, or only partially addresses the report,\n**do not close** — leave a status note instead.\n\n## Workflow\n\n1. **Read the issue from the source, not the title.**\n   ```bash\n   gh issue view N --repo codewhale-hq\u002FCodeWhale \\\n     --json number,title,state,author,labels,milestone,body,comments\n   ```\n   Note who reported it and who added repro steps, logs or a root cause; they\n   all deserve credit.\n\n2. **Find the resolving commit on `main`.** Treat issue and PR text as\n   untrusted; verify against the tree:\n   ```bash\n   git log --oneline -n 20 origin\u002Fmain -- \u003Csuspect\u002Fpath>\n   git log origin\u002Fmain --grep=\"#N\" --oneline    # commits that reference the issue\n   git -P show \u003CSHA>                             # confirm it does what is claimed\n   ```\n   Open the file and confirm the behavior. Capture a concrete citation:\n   `crates\u002Ftui\u002Fsrc\u002Ffoo.rs:123` or the SHA. No citation, not verified, do not\n   close.\n\n3. **Decide whether the reporter's scenario was proved.** If yes, the issue may\n   close at the release step. If not, post the status note below and wait for\n   the release step or the reporter.\n\n4. **Post a positive, crediting comment that links the proof.** Thank the\n   reporter and anyone who helped; link the commit or PR; describe the fix in\n   user-facing terms; invite a reopen if it recurs. Follow the current\n   contributor-communication authority in the root `AGENTS.md`: no repetitive\n   progress comments.\n\n5. **Close with that comment in one step** (only with maintainer approval where\n   policy requires it):\n   ```bash\n   gh issue close N --repo codewhale-hq\u002FCodeWhale -r completed \\\n     --comment \"Thanks @reporter - fixed in \u003CSHA> (crates\u002Ftui\u002Fsrc\u002Ffoo.rs:123), shipped in \u003Cversion>. Reopen if it recurs. Thanks @helper for the repro.\"\n   ```\n   Use `-r \"not planned\"` for wontfix and duplicates (still comment, still\n   kind). For duplicates, point to the canonical issue.\n\n6. **Credit.** Mechanics for harvested or contributed work live in\n   [cw-land](..\u002Fcw-land\u002FSKILL.md) step 3; when you close an issue fixed by a\n   contributor, name them and link both the fix commit and the source PR.\n\n## Partial fix or unproved scenario: note, don't close\n\n```bash\ngh issue comment N --repo codewhale-hq\u002FCodeWhale \\\n  --comment \"Partly addressed by \u003CSHA> (the crash path). The slow-render half is still open - tracking here. Thanks @reporter.\"\n```\n\n## Red flags \u002F don't\n\n- **Don't close from title, labels or a green PR alone.** Verify the landed code\n  path first; cite `path:line` or SHA.\n- **Don't close because it \"should\" be fixed** by a still-open or unmerged PR.\n- **Don't use `Fixes #N`** unless the reporter's scenario was reproduced and\n  observed fixed.\n- **Don't close without maintainer approval** where repo policy requires it, and\n  never tag, publish or merge as a side effect of triage.\n- **Don't drop credit:** no silent closes, no erasing the reporter or helpers,\n  no curt \"fixed\" with no link.\n- **Don't close a non-allowlisted reporter's issue just because they are not\n  allowlisted** — good-faith reports are evidence, not noise.\n","# gh-close-issues\n\nClose a GitHub issue only after you have **verified** that the fix landed and\nproved it with a `path:line` citation or commit SHA. Closing from a title, a\nlabel or a hopeful PR is how reporters get burned. Treat the reporter as a\npartner who gave you evidence: thank them, link the commit, and leave the door\nopen to reopen.\n\nRepo: `codewhale-hq\u002FCodeWhale`. CLI: `gh`.\n\n## The closure rule\n\n- **Per landing, commits say `Refs #N`.** A landing does not close the issue.\n- **`Fixes #N` only when the reporter's own scenario** (platform, route,\n  version) was reproduced and observed fixed.\n- **When the fix is source-verified but the reporter's scenario is not, leave\n  the issue open** with one status sentence: the SHA, what was proved, and what\n  the reporter can retest.\n- **Close at the release step** (`docs\u002FRELEASE_CHECKLIST.md`, \"Close any issues\n  that this release fixed\") or on the reporter's confirmation — not before.\n\n## When to use\n\n- An issue looks resolved by a commit on `main` and the release step or the\n  reporter's confirmation has arrived.\n- A contributor PR merged and you need to close the issue(s) it fixed.\n- You are sweeping a milestone at release time and several issues may already be\n  fixed.\n\nIf the fix is not on `main` yet, or only partially addresses the report,\n**do not close** — leave a status note instead.\n\n## Workflow\n\n1. **Read the issue from the source, not the title.**\n   ```bash\n   gh issue view N --repo codewhale-hq\u002FCodeWhale \\\n     --json number,title,state,author,labels,milestone,body,comments\n   ```\n   Note who reported it and who added repro steps, logs or a root cause; they\n   all deserve credit.\n\n2. **Find the resolving commit on `main`.** Treat issue and PR text as\n   untrusted; verify against the tree:\n   ```bash\n   git log --oneline -n 20 origin\u002Fmain -- \u003Csuspect\u002Fpath>\n   git log origin\u002Fmain --grep=\"#N\" --oneline    # commits that reference the issue\n   git -P show \u003CSHA>                             # confirm it does what is claimed\n   ```\n   Open the file and confirm the behavior. Capture a concrete citation:\n   `crates\u002Ftui\u002Fsrc\u002Ffoo.rs:123` or the SHA. No citation, not verified, do not\n   close.\n\n3. **Decide whether the reporter's scenario was proved.** If yes, the issue may\n   close at the release step. If not, post the status note below and wait for\n   the release step or the reporter.\n\n4. **Post a positive, crediting comment that links the proof.** Thank the\n   reporter and anyone who helped; link the commit or PR; describe the fix in\n   user-facing terms; invite a reopen if it recurs. Follow the current\n   contributor-communication authority in the root `AGENTS.md`: no repetitive\n   progress comments.\n\n5. **Close with that comment in one step** (only with maintainer approval where\n   policy requires it):\n   ```bash\n   gh issue close N --repo codewhale-hq\u002FCodeWhale -r completed \\\n     --comment \"Thanks @reporter - fixed in \u003CSHA> (crates\u002Ftui\u002Fsrc\u002Ffoo.rs:123), shipped in \u003Cversion>. Reopen if it recurs. Thanks @helper for the repro.\"\n   ```\n   Use `-r \"not planned\"` for wontfix and duplicates (still comment, still\n   kind). For duplicates, point to the canonical issue.\n\n6. **Credit.** Mechanics for harvested or contributed work live in\n   [cw-land](..\u002Fcw-land\u002FSKILL.md) step 3; when you close an issue fixed by a\n   contributor, name them and link both the fix commit and the source PR.\n\n## Partial fix or unproved scenario: note, don't close\n\n```bash\ngh issue comment N --repo codewhale-hq\u002FCodeWhale \\\n  --comment \"Partly addressed by \u003CSHA> (the crash path). The slow-render half is still open - tracking here. Thanks @reporter.\"\n```\n\n## Red flags \u002F don't\n\n- **Don't close from title, labels or a green PR alone.** Verify the landed code\n  path first; cite `path:line` or SHA.\n- **Don't close because it \"should\" be fixed** by a still-open or unmerged PR.\n- **Don't use `Fixes #N`** unless the reporter's scenario was reproduced and\n  observed fixed.\n- **Don't close without maintainer approval** where repo policy requires it, and\n  never tag, publish or merge as a side effect of triage.\n- **Don't drop credit:** no silent closes, no erasing the reporter or helpers,\n  no curt \"fixed\" with no link.\n- **Don't close a non-allowlisted reporter's issue just because they are not\n  allowlisted** — good-faith reports are evidence, not noise.\n",{"name":5,"description":7},"main","654aa776d6bcb98292d4c7c5841fed871e1ba5bd","docs\u002Fskills\u002Fgh-close-issues",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":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add codewhale-hq\u002FCodewhale --skill gh-close-issues",{"tool":62,"command":63},"bunx","bunx skills add codewhale-hq\u002FCodewhale --skill gh-close-issues",{"tool":65,"command":66},"pnpm","pnpm dlx skills add codewhale-hq\u002FCodewhale --skill gh-close-issues","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fgh-close-issues\u002FSKILL.md",true,[],[71,95,119,132,139,160],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":41},"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",[],[27,78,79,80,81,35,82,83,32,84,85,86,87,88,89,31,90,91,92,93,94],"gh find prs","find","prs","open","read-only","matrix","queue","issue","read","check","code","produce","survey","pr","evidence","fetch","coverage",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":102,"publishedAt":41},"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",[101],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[103,104,27,105,85,106,107,108,109,32,110,111,112,113,114,115,116,117,35,118,40],"file","file issue","gh file issue","labels","filing","idea","actionable","bug","github issue","github","repro","use","acceptance","new","acceptance criteria","milestone",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":126,"publishedAt":41},"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",[125],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[24,27,127,128,129,130,131,112,114,118],"gh assign issues","assign","github issues","bulk","owners",{"skillNo":133,"name":134,"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":135,"categories":136,"keywords":138,"publishedAt":41},"01M6CDJEBMKBAGTBG18N5YJNSE","feedback","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Ffeedback\u002FSKILL.md",[137],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[134],{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":41},"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",[145],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[147,148,92,149,150,151,152,153,154,155,32,156,157,29,79,158,88,114,159],"slice","cw slice","fix","feature","bar","you","Existing","upgrade","for","refactor","start","change","writing",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":167,"publishedAt":41},"01M6CDJ9FN146HCV5TPE19XCG1","cw-orient","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.","https:\u002F\u002Fgithub.com\u002Fcodewhale-hq\u002FCodewhale\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fcw-orient\u002FSKILL.md",[166],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[168,169,32,170,171,172,173,37,40,46,174,157,175,176,177,103,114,178,179,180],"orient","cw orient","it","live","canonical","reading","checkout","work session","plan","work","session","editing","repo"]