[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7DFS7ZVWRP2V41Y9FVB4PR6":3,"skill-same:01M7DFS7ZVWRP2V41Y9FVB4PR6":53},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":23,"commitSha":24,"skillDirectory":25,"forksCount":13,"repositoryHtmlUrl":26,"repositoryHomepageUrl":6,"ownerHtmlUrl":27,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":28,"install":29,"resources":42},"01M7DFS7ZVWRP2V41Y9FVB4PR6","dsh-trim-cot-leakage",null,"Use when auditing or fixing prose that reads like a leaked reasoning transcript — dead design-session citations such as (decision N), audit item codes, or §N of uncommitted drafts; change narration such as \"used to\", \"no longer\", \"this cut\"; stack or review vantage (\"a later PR in this stack\", \"rejected in review\"); reviewer-addressed justifications; control-flow narration; or hedged planning residue in comments, JSDoc, docs, or Agent Notes.","Samera2022\u002FTK-DSH","Samera2022","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F106940556?v=4","01M7DFQ9J88HHH3ZA4P17A1JQZ","01M7DFQ9KABNM1D2NEAX5CNY31",0,"MIT","https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdsh-trim-cot-leakage\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: dsh-trim-cot-leakage\ndescription: Use when auditing or fixing prose that reads like a leaked reasoning transcript — dead design-session citations such as (decision N), audit item codes, or §N of uncommitted drafts; change narration such as \"used to\", \"no longer\", \"this cut\"; stack or review vantage (\"a later PR in this stack\", \"rejected in review\"); reviewer-addressed justifications; control-flow narration; or hedged planning residue in comments, JSDoc, docs, or Agent Notes.\n---\n\n# Trimming Chain-of-Thought Leakage\n\nChain-of-thought leakage is prose whose vantage is the authoring session rather than the repository: it cites artifacts only that session could see, narrates the change instead of the state, or argues with a reviewer who has left. The fix is never deletion alone when a passage carries factual clauses — restate each so it stands at HEAD, then delete the transcript around it; a passage carrying none (an audit code, control-flow narration) is deleted outright. **REQUIRED BACKGROUND:** [dsh-prose-standard](..\u002Fdsh-prose-standard\u002FSKILL.md) owns the complete-proposition rule this skill applies; the [committed-artifact-citations note](..\u002F..\u002Fnotes\u002Fimplemented\u002Fprocess\u002F2026-08-09-committed-artifact-citations.md) owns the citation rule's rationale. It is guidance, not a script.\n\n## The one test\n\nFor every suspect passage ask: **could a reader at HEAD, with no access to any session transcript, PR thread, or uncommitted draft, resolve every reference and verify every claim?** If no, restate the surviving facts from the repository's vantage and delete the rest. If yes, it is not leakage, however historical it sounds — but resolvability only clears this skill's bar: on current-state surfaces (READMEs, docs, JSDoc) a resolvable change story is still change narration, and class 3 routes it to its sanctioned home.\n\n## Taxonomy\n\n1. **Dead design-session citations** — `(decision 7)`, `(audit C2)`, `design §4.7`, `plan §1.4`, phase labels (`T4`, `W3`, `P-I`), \"the design ledger\", \"(B ruling)\". If the decision has a committed owner, cite it by name and path; otherwise delete the citation and restate its factual clause to stand alone.\n2. **Stack and PR vantage** — \"a later PR in this stack\", \"this PR adds\", \"the previous commit\". State the shipped mechanism or the extension point; deferred work moves to a `TODO` marker or an issue reference.\n3. **Change narration and version stamps** — \"used to\", \"no longer\", \"the old X\", and indexical stamps (\"v1\", \"this cut\", \"today\", \"now\" contrasting with a past state). State the present behavior; a fixed regression becomes a present-tense counterfactual (\"without X, Y happens\"), never repo history (\"used to Y\").\n4. **Review choreography** — \"Rejected in review:\", \"the reviewer confirmed\", draft ordinals (\"v5 of this note\"), round attributions. Keep the surviving decision and rationale as plain fact; delete who said it when.\n5. **Reviewer-addressed justification** — \"the cast is safe — it simply…\", \"this is correct because…\". A comment arguing its own correctness addresses a reviewer, not a maintainer. State the invariant that makes the code safe, or delete the comment if the code shows it.\n6. **Restatement and derivation transcripts** — control-flow narration (\"first we X, then we Y\"), test walkthroughs, proofs of obvious branches. Delete; keep only a non-obvious contract or invariant.\n7. **Hedges and planning residue** — \"probably fine for now\", \"should be enough\", deferrals with no marker. Promote to `TODO`\u002F`FIXME` or restate as the actual bound; delete the hedge.\n8. **Authoring-language slips** — untranslated working-language fragments (端, 设计稿, `---- 私有 ----` separators) in prose whose language is otherwise English, or the reverse in a zh counterpart. Translate or delete.\n\n## What is not leakage\n\nUnaided citation passes fail in both directions by deleting durable references and keeping dead ones. Apply these keep rules as written; [examples](references\u002Fexamples.md) calibrates each:\n\n- **Issue references** — `#1470`, `TODO(name):`, \"issue #N owns the follow-up\" resolve at HEAD; keep them on any surface, including READMEs. Do not relocate them to Agent Notes.\n- **Merged-PR and issue citations inside Agent Notes and postmortems** — sanctioned evidence per the [documentation standard](..\u002F..\u002F..\u002Fdocs\u002FAGENTS.md)'s change-story routing.\n- **Suppression justifications** — `oxlint-disable … -- reason`, coverage-ignore reasons, empty-catch explanations are required prose; fix a false reason, never delete it.\n- **Counterfactual-present regression pins** — \"without X, Y happens\", \"a naive X would…\".\n- **Measured bounds** — \"(measured: 512 nests ≈ 0.15s)\" calibrating a constant; the evidence word \"measured\" is load-bearing.\n- **Runtime old\u002Fnew states** — \"the old connection drains before the new one accepts\" is runtime lifecycle, not change history.\n- **Historical stage names inside a note's change-story sections** — \"the first cut shipped X\" is current-state-safe there; indexical stamps (\"this cut\") stay banned everywhere.\n- **External references that resolve outside the repo by design** — standards sections (RFC 9110 §10.1.5), Figma frame names; the §-ban covers uncommitted internal drafts, not external standards or committed docs that own their §-numbering.\n- **Project voice and genre forms** — \"we\" as project voice; a note's Alternatives-considered section.\n\n## Workflow\n\n1. Scope and exclusions per [dsh-prose-standard](..\u002Fdsh-prose-standard\u002FSKILL.md): require an explicit scope; never touch `vendor\u002F` or `.agents\u002Fnotes\u002Farchived\u002F`. Recorded fixtures and snapshots are derivatives, not prose targets: change the owning source or scenario and regenerate them only when an authorized behavior change requires new evidence.\n2. Audit read-only first: run the [recall batteries](references\u002Frecall-batteries.md) (with `--hidden` so `.agents\u002F` is searched), calibrating each probe against a known positive and a near-miss negative before trusting its output, then judge every hit semantically. The batteries are probes, not the definition — each review round of the original purge found cases the batteries missed, so also read the densest prose in scope (module JSDoc, READMEs, Agent Notes) without a pattern in hand.\n3. Fix owner-first per surface: generated catalogs → trace every consumer, fix the source JSDoc or generator template, then regenerate all derivatives; type-equivalence fences → fix the source JSDoc, then re-paste both bilingual pages (`verify-type-equiv` pins them); bilingual prose → update the counterpart minimally and re-record it through the [lightweight routine](..\u002F..\u002F..\u002Fdocs\u002FAGENTS.md#writing-rules); bilingual fences → copy the corrected verbatim block byte-for-byte into both sides per [dsh-doc](..\u002Fdsh-doc\u002FSKILL.md), then re-record the pair; model- or user-visible strings → route through [dsh-prose-standard](..\u002Fdsh-prose-standard\u002FSKILL.md) and change only with owning behavior evidence, otherwise leave unchanged and report the deferral.\n4. Before deleting anything, enumerate the passage's propositions (prose-standard) and check the [overcorrection traps](references\u002Fexamples.md#overcorrection-traps): trims that flip an obligation into an endorsement, promote a hypothetical to a shipped feature, delete a true fact, or drop the evidence source.\n5. Verify: re-run the batteries expecting only sanctioned keeps, this skill's own directory, and the owning note's quoted evidence; confirm every remaining citation resolves at HEAD; run the gates for touched surfaces (`doc-sync` for docs, `verify-type-equiv`, `verify-translation-pairing`).\n","# Trimming Chain-of-Thought Leakage\n\nChain-of-thought leakage is prose whose vantage is the authoring session rather than the repository: it cites artifacts only that session could see, narrates the change instead of the state, or argues with a reviewer who has left. The fix is never deletion alone when a passage carries factual clauses — restate each so it stands at HEAD, then delete the transcript around it; a passage carrying none (an audit code, control-flow narration) is deleted outright. **REQUIRED BACKGROUND:** [dsh-prose-standard](..\u002Fdsh-prose-standard\u002FSKILL.md) owns the complete-proposition rule this skill applies; the [committed-artifact-citations note](..\u002F..\u002Fnotes\u002Fimplemented\u002Fprocess\u002F2026-08-09-committed-artifact-citations.md) owns the citation rule's rationale. It is guidance, not a script.\n\n## The one test\n\nFor every suspect passage ask: **could a reader at HEAD, with no access to any session transcript, PR thread, or uncommitted draft, resolve every reference and verify every claim?** If no, restate the surviving facts from the repository's vantage and delete the rest. If yes, it is not leakage, however historical it sounds — but resolvability only clears this skill's bar: on current-state surfaces (READMEs, docs, JSDoc) a resolvable change story is still change narration, and class 3 routes it to its sanctioned home.\n\n## Taxonomy\n\n1. **Dead design-session citations** — `(decision 7)`, `(audit C2)`, `design §4.7`, `plan §1.4`, phase labels (`T4`, `W3`, `P-I`), \"the design ledger\", \"(B ruling)\". If the decision has a committed owner, cite it by name and path; otherwise delete the citation and restate its factual clause to stand alone.\n2. **Stack and PR vantage** — \"a later PR in this stack\", \"this PR adds\", \"the previous commit\". State the shipped mechanism or the extension point; deferred work moves to a `TODO` marker or an issue reference.\n3. **Change narration and version stamps** — \"used to\", \"no longer\", \"the old X\", and indexical stamps (\"v1\", \"this cut\", \"today\", \"now\" contrasting with a past state). State the present behavior; a fixed regression becomes a present-tense counterfactual (\"without X, Y happens\"), never repo history (\"used to Y\").\n4. **Review choreography** — \"Rejected in review:\", \"the reviewer confirmed\", draft ordinals (\"v5 of this note\"), round attributions. Keep the surviving decision and rationale as plain fact; delete who said it when.\n5. **Reviewer-addressed justification** — \"the cast is safe — it simply…\", \"this is correct because…\". A comment arguing its own correctness addresses a reviewer, not a maintainer. State the invariant that makes the code safe, or delete the comment if the code shows it.\n6. **Restatement and derivation transcripts** — control-flow narration (\"first we X, then we Y\"), test walkthroughs, proofs of obvious branches. Delete; keep only a non-obvious contract or invariant.\n7. **Hedges and planning residue** — \"probably fine for now\", \"should be enough\", deferrals with no marker. Promote to `TODO`\u002F`FIXME` or restate as the actual bound; delete the hedge.\n8. **Authoring-language slips** — untranslated working-language fragments (端, 设计稿, `---- 私有 ----` separators) in prose whose language is otherwise English, or the reverse in a zh counterpart. Translate or delete.\n\n## What is not leakage\n\nUnaided citation passes fail in both directions by deleting durable references and keeping dead ones. Apply these keep rules as written; [examples](references\u002Fexamples.md) calibrates each:\n\n- **Issue references** — `#1470`, `TODO(name):`, \"issue #N owns the follow-up\" resolve at HEAD; keep them on any surface, including READMEs. Do not relocate them to Agent Notes.\n- **Merged-PR and issue citations inside Agent Notes and postmortems** — sanctioned evidence per the [documentation standard](..\u002F..\u002F..\u002Fdocs\u002FAGENTS.md)'s change-story routing.\n- **Suppression justifications** — `oxlint-disable … -- reason`, coverage-ignore reasons, empty-catch explanations are required prose; fix a false reason, never delete it.\n- **Counterfactual-present regression pins** — \"without X, Y happens\", \"a naive X would…\".\n- **Measured bounds** — \"(measured: 512 nests ≈ 0.15s)\" calibrating a constant; the evidence word \"measured\" is load-bearing.\n- **Runtime old\u002Fnew states** — \"the old connection drains before the new one accepts\" is runtime lifecycle, not change history.\n- **Historical stage names inside a note's change-story sections** — \"the first cut shipped X\" is current-state-safe there; indexical stamps (\"this cut\") stay banned everywhere.\n- **External references that resolve outside the repo by design** — standards sections (RFC 9110 §10.1.5), Figma frame names; the §-ban covers uncommitted internal drafts, not external standards or committed docs that own their §-numbering.\n- **Project voice and genre forms** — \"we\" as project voice; a note's Alternatives-considered section.\n\n## Workflow\n\n1. Scope and exclusions per [dsh-prose-standard](..\u002Fdsh-prose-standard\u002FSKILL.md): require an explicit scope; never touch `vendor\u002F` or `.agents\u002Fnotes\u002Farchived\u002F`. Recorded fixtures and snapshots are derivatives, not prose targets: change the owning source or scenario and regenerate them only when an authorized behavior change requires new evidence.\n2. Audit read-only first: run the [recall batteries](references\u002Frecall-batteries.md) (with `--hidden` so `.agents\u002F` is searched), calibrating each probe against a known positive and a near-miss negative before trusting its output, then judge every hit semantically. The batteries are probes, not the definition — each review round of the original purge found cases the batteries missed, so also read the densest prose in scope (module JSDoc, READMEs, Agent Notes) without a pattern in hand.\n3. Fix owner-first per surface: generated catalogs → trace every consumer, fix the source JSDoc or generator template, then regenerate all derivatives; type-equivalence fences → fix the source JSDoc, then re-paste both bilingual pages (`verify-type-equiv` pins them); bilingual prose → update the counterpart minimally and re-record it through the [lightweight routine](..\u002F..\u002F..\u002Fdocs\u002FAGENTS.md#writing-rules); bilingual fences → copy the corrected verbatim block byte-for-byte into both sides per [dsh-doc](..\u002Fdsh-doc\u002FSKILL.md), then re-record the pair; model- or user-visible strings → route through [dsh-prose-standard](..\u002Fdsh-prose-standard\u002FSKILL.md) and change only with owning behavior evidence, otherwise leave unchanged and report the deferral.\n4. Before deleting anything, enumerate the passage's propositions (prose-standard) and check the [overcorrection traps](references\u002Fexamples.md#overcorrection-traps): trims that flip an obligation into an endorsement, promote a hypothetical to a shipped feature, delete a true fact, or drop the evidence source.\n5. Verify: re-run the batteries expecting only sanctioned keeps, this skill's own directory, and the owning note's quoted evidence; confirm every remaining citation resolves at HEAD; run the gates for touched surfaces (`doc-sync` for docs, `verify-type-equiv`, `verify-translation-pairing`).\n",{"name":5,"description":7},"master","ab90337f410e7454ca9dc530eec914c57ca103d3",".agents\u002Fskills\u002Fdsh-trim-cot-leakage","https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH","https:\u002F\u002Fgithub.com\u002FSamera2022","2026-10-03 09:38:24",{"source":8,"skillName":5,"commands":30,"prompt":40,"zipAvailable":41},[31,34,37],{"tool":32,"command":33},"npx","npx skills add Samera2022\u002FTK-DSH --skill dsh-trim-cot-leakage",{"tool":35,"command":36},"bunx","bunx skills add Samera2022\u002FTK-DSH --skill dsh-trim-cot-leakage",{"tool":38,"command":39},"pnpm","pnpm dlx skills add Samera2022\u002FTK-DSH --skill dsh-trim-cot-leakage","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdsh-trim-cot-leakage\u002FSKILL.md",true,[43,49],{"path":44,"resourceType":45,"resourceTypeDesc":46,"sizeBytes":47,"sourceHtmlUrl":48},"references\u002Fexamples.md","REFERENCE","参考文档",12566,"https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdsh-trim-cot-leakage\u002Freferences\u002Fexamples.md",{"path":50,"resourceType":45,"resourceTypeDesc":46,"sizeBytes":51,"sourceHtmlUrl":52},"references\u002Frecall-batteries.md",5041,"https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdsh-trim-cot-leakage\u002Freferences\u002Frecall-batteries.md",[54,61,68,75,82,89],{"skillNo":55,"name":56,"nameZh":6,"description":57,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":58,"categories":59,"keywords":60,"publishedAt":18},"01M7DFTJFTENNMHWBT60MYX3MQ","user-only-skill","Prove model-disabled skills stay outside the model catalog.","https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002Fsnapshots\u002Fsession\u002Fskill-load\u002Fworkspace\u002F.dsh\u002Fskills\u002Fuser-only-skill\u002FSKILL.md",[],[],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":18},"01M7DFTGYDSEYVE815K96HDJ56","snapshot-skill","Exercise project skill discovery and loading in snapshot tests.","https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002Fsnapshots\u002Fsession\u002Fskill-load\u002Fworkspace\u002F.dsh\u002Fskills\u002Fsnapshot-skill\u002FSKILL.md",[],[],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":18},"01M7DFTFDW90RPJR51X1RE265N","model-only-skill","Prove user-disabled skills remain available to the model.","https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002Fsnapshots\u002Fsession\u002Fskill-load\u002Fworkspace\u002F.dsh\u002Fskills\u002Fmodel-only-skill\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":18},"01M7DFT8W3RAFSK5WX339F21ZE","office-xlsx","Read, create, and modify Excel workbooks (.xlsx), including data, formulas, formatting, and pandas analysis. Use for Excel inputs or deliverables. Load before running Office commands. Data and formula tasks skip visual inspection; inspect only for formatting or layout needs. Use only bundled LibreOffice unless the user explicitly opts out; without that opt-out, do not search for another LibreOffice executable.","https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002Fpackages\u002Fskill\u002Fskill-office\u002Fassets\u002Foffice-xlsx\u002FSKILL.md",[],[],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":18},"01M7DFT4SKPXDT3Z0RRVNDS25G","office-pptx","Create, read, edit, and check PowerPoint presentations (.pptx), including slide text, tables, images, and charts. Use when a PPTX file is an input or requested deliverable. Load this skill before running Office commands. Use only bundled LibreOffice unless the user explicitly opts out; without that opt-out, do not search for another LibreOffice executable.","https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002Fpackages\u002Fskill\u002Fskill-office\u002Fassets\u002Foffice-pptx\u002FSKILL.md",[],[],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":18},"01M7DFT0ZW6N4818N6W4JZWK09","office-docx","Create, read, edit, and check Word documents (.docx), including reports, letters, and formatted tables. Use when a DOCX file is an input or requested deliverable. Load this skill before running Office commands. Use only bundled LibreOffice unless the user explicitly opts out; without that opt-out, do not search for another LibreOffice executable.","https:\u002F\u002Fgithub.com\u002FSamera2022\u002FTK-DSH\u002Fblob\u002Fmaster\u002Fpackages\u002Fskill\u002Fskill-office\u002Fassets\u002Foffice-docx\u002FSKILL.md",[],[]]