dsh-trim-cot-leakage 精选
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.
安装方式
cp -r .agents/skills/dsh-trim-cot-leakage ~/.claude/skills/dsh-trim-cot-leakage把该 skill 目录放进客户端 skills 目录。不同客户端的目录可能不同,Claude Code 默认是 ~/.claude/skills/
https://raw.githubusercontent.com/deepseek-ai/deepseek-harness/d743267388641bc76f17c45ce8b4c231aed1d32c/.agents/skills/dsh-trim-cot-leakage/SKILL.md下载后另存为 ~/.claude/skills/dsh-trim-cot-leakage/SKILL.md。链接锁定采集时的 commit,内容与本站展示一致。
整仓一次性获取:git clone --depth 1 https://github.com/deepseek-ai/deepseek-harness.git
依赖与权限
- 无需 API Key
- 无需联网
- 无外部命令依赖
- 以上为按正文与 frontmatter 自动推断的信号,仅供参考;安装前建议先阅读原文。
SKILL.md 正文
Trimming Chain-of-Thought Leakage
Chain-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](../dsh-prose-standard/SKILL.md) owns the complete-proposition rule this skill applies; the [archived committed-artifact-citations note](../../notes/archived/process/2026-08-09-committed-artifact-citations.md) records the citation rule's historical rationale. It is guidance, not a script.
The one test
For 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.
Taxonomy
- 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. - 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
TODOmarker or an issue reference. - 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").
- 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.
- 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.
- 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.
- Hedges and planning residue — "probably fine for now", "should be enough", deferrals with no marker. Promote to
TODO/FIXMEor restate as the actual bound; delete the hedge. - 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.
What is not leakage
Unaided citation passes fail in both directions by deleting durable references and keeping dead ones. Apply these keep rules as written; [examples](references/examples.md) calibrates each:
- 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. - Merged-PR and issue citations inside Agent Notes and postmortems — sanctioned evidence per the [documentation standard](../../../docs/AGENTS.md)'s change-story routing.
- Suppression justifications —
oxlint-disable … -- reason, coverage-ignore reasons, empty-catch explanations are required prose; fix a false reason, never delete it. - Counterfactual-present regression pins — "without X, Y happens", "a naive X would…".
- Measured bounds — "(measured: 512 nests ≈ 0.15s)" calibrating a constant; the evidence word "measured" is load-bearing.
- Runtime old/new states — "the old connection drains before the new one accepts" is runtime lifecycle, not change history.
- 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.
- 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.
- Project voice and genre forms — "we" as project voice; a note's Alternatives-considered section.
Workflow
- Scope and exclusions per [dsh-prose-standard](../dsh-prose-standard/SKILL.md): require an explicit scope; never touch
vendor/or.agents/notes/archived/. 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. - Audit read-only first: run the [recall batteries](references/recall-batteries.md) (with
--hiddenso.agents/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. - 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-equivpins them); bilingual prose → update the counterpart minimally and re-record it through the [lightweight routine](../../../docs/AGENTS.md#writing-rules); bilingual fences → copy the corrected verbatim block byte-for-byte into both sides per [dsh-doc](../dsh-doc/SKILL.md), then re-record the pair; model- or user-visible strings → route through [dsh-prose-standard](../dsh-prose-standard/SKILL.md) and change only with owning behavior evidence, otherwise leave unchanged and report the deferral. - Before deleting anything, enumerate the passage's propositions (prose-standard) and check the [overcorrection traps](references/examples.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.
- 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-syncfor docs,verify-type-equiv,verify-translation-pairing).
质量与来源
- 所属仓库
- deepseek-ai/deepseek-harness
- 仓库星标
- 25 万
- 最近更新
- 3 天前
- 采集时间
- 今天
- commit
- d74326738864
- 内容指纹
- sha256:977eeb1dfe694e1
- 文件路径
- .agents/skills/dsh-trim-cot-leakage/SKILL.md