[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5B1ZTQDFSQFN34AVZ78QC":3,"skill-same:01M6C5B1ZTQDFSQFN34AVZ78QC":96},{"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":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":6,"ownerHtmlUrl":65,"ownerBlogUrl":6,"ownerDescription":66,"updatedAt":67,"install":68,"resources":81},"01M6C5B1ZTQDFSQFN34AVZ78QC","cold-read-gate",null,"Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.","laurigates\u002Fclaude-plugins","laurigates","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13014001?v=4","01M6C59YHWS9C7KMXKSRX1YXNP","Lauri Gates","01M6C59YP2APG9YAM4DWYQYGFJ",59,"MIT","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fagent-patterns-plugin\u002Fskills\u002Fcold-read-gate\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,44,45,46,47,48,49],"read","gate","cold","cold read gate","sep","opus","context","wed","edit","2026","when","artifact","fresh","with","upstream","project","ZeRO","pr","write","critique","haiku","text","code","use","publishing","issues","2026-11-10 10:12:30",false,"---\nname: cold-read-gate\ndescription: Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.\nallowed-tools: Agent, Read, Write, Edit, TodoWrite\nmodel: opus\ncreated: 2026-06-11\nmodified: 2026-10-07\ncompatibility: claude-code\nreviewed: 2026-09-02\n---\n\n\u003C!-- skill-size-exception: scripts\u002Fplugin-compliance-check.sh check_skill_body (cold-read-gate block) -->\n\n# Cold-Read Gate\n\nText written inside a long session inherits the session's context — codenames,\nversion baselines, internal PR numbers, \"the obvious fix\" — and the author can\nno longer see which parts won't survive contact with a reader who has none of\nit. Before publishing an outward-bound artifact, **dispatch an isolated,\ncheap, context-free agent to read it cold and interrogate it**. What confuses\nthe cold reader is what will cost you a round-trip question (or a silent\ndeprioritization) from the real audience.\n\nThe reader is deliberately **haiku, isolated, and shown only the artifact**.\nThis is a measured exception to the \"always Opus for subagents\" rule: the\nsubagent here is not doing delegated work — it *is* the measurement\ninstrument. The test is \"can a low-context reader act on this text alone?\",\nand a stronger model (or one with session context) would answer a different,\neasier question. If haiku can act on it, a busy maintainer can.\n\n## When to Use This Skill\n\n\"Outward-bound\" means any audience that lacks your session context — external\nmaintainers *and* future teammates reading internal docs cold both qualify.\n\n| Use this skill when... | Skip when... |\n|---|---|\n| Filing issues\u002FMRs on an upstream tracker (external maintainers) | Internal scratch notes, commit messages, chat replies |\n| Publishing docs a new team member will land on cold | The artifact is throwaway or has a captive expert audience |\n| PR descriptions for reviewers outside the work's context | The text is one paragraph — just reread it yourself |\n| Emails \u002F announcements leaving the team | The same artifact already passed a gate and only typos changed |\n| Batch-producing N artifacts (one reader per artifact, parallel) | |\n\n## The Gate Protocol\n\n### Step 1: Artifact on disk\n\nThe artifact must be a file. The reader gets a path, not pasted text — paste\ninvites the orchestrator to \"helpfully\" add context, which defeats the test.\n\n### Step 2: Dispatch the cold reader — synchronously\n\nOne `Agent` per artifact, all in a single message when batching. Run each\nreader **synchronously** (`run_in_background: false` — set it explicitly; as\nof Claude Code 2.1.232 non-teammate spawns run in the background by default)\n— the reader's entire job is a one-shot critique, and a synchronous run\nreturns that critique directly as the `Agent` tool result. There is nothing to\ngain from backgrounding it.\n\nIf a reader *was* spawned with `run_in_background: true`, read its critique\nfrom the **task-completion result** the harness returns when the task ends —\nnever by `SendMessage`. A completed background agent only emits\n`idle_notification`s on the message channel, so asking it there for its\noutput loops forever without ever returning the analysis (issue #2063).\n\nTemplate:\n\n```\nsubagent_type: general-purpose\nmodel: haiku\nrun_in_background: false\nprompt: |\n  You are \u003Cpersona — see table>. You have NO context beyond the text itself.\n  Read ONLY this file (no other files, no repository exploration, no web):\n  \u003Cabsolute path>\n\n  Produce:\n  1. THE ASK — state in ONE sentence what this text wants you to DO. If you\n     cannot state it, say so plainly: that is the most important finding.\n  2. QUESTIONS — anything unclear, ambiguous, undefined (jargon, acronyms,\n     unexplained references), or missing that you'd have to ask the author\n     before acting. Quote the exact phrase that confused you.\n  3. HESITATIONS — claims you can't verify from the text alone, confusing\n     structure, anything that would make you deprioritize it.\n  4. Verdict: exactly one of `clear` | `needs-revision`.\n\n  Ignore: \u003Cknown artifacts of the test — see Step 3. Plus anything the\n  surrounding UI renders for the real reader — see \"The reader is\n  context-free; your audience may not be\" below. Example:\n  \"Ignore the HTML comments at the top (they are stripped by the filing\n  script before publishing) and do not ask which repository this is —\n  the issue is filed on the target project's own tracker. The reader can\n  see the merge box, the check names, the review state and both branch\n  names; do not ask about those.\">\n  Concise bullets. Your final message is the deliverable.\n```\n\nItem 1 is load-bearing: QUESTIONS and HESITATIONS surface *local* defects, but\nan artifact can be locally clear and still ask for something incoherent. A\nreader that cannot state the ask has found a structural flaw the author cannot\nsee, because each half of the argument is individually true.\n\n| Audience | Persona |\n|---|---|\n| Upstream bug report | \"an open-source maintainer triaging a newly filed issue\" |\n| Team documentation | \"a new team member reading this doc with no project context\" |\n| PR description | \"a reviewer seeing this change for the first time\" |\n\n### The reader is context-free; your audience may not be\n\nThe gate removes context on purpose, and for a bug report filed into an empty\ntracker that matches the real reader well. It matches badly whenever the\nartifact is published *into a surface that renders state around it* — a PR or\nissue comment, a review thread, a dashboard card, a chat message under a link\npreview. There the real reader sees the page; the cold reader sees a bare file.\nThe gate then asks for explanations the surface already supplies, and acting on\nthem inflates the artifact with duplication.\n\n> Observed 2026-09-02 (`Comfy-Org\u002FComfyUI_frontend#13280`): round-one readers\n> asked what the fork-PR approval gate was and whether the four named workflows\n> were the whole set. Answering both produced a closing paragraph that restated\n> the merge box sitting directly below the comment — \"17 workflows awaiting\n> approval \u002F This workflow requires approval from a maintainer\", GitHub's own\n> explainer link, and the required checks by name. The comment lost 58% of its\n> words when a human asked whether that paragraph needed to exist.\n\n- **Name the rendered context in the `Ignore:` list**, concretely enough that\n  the reader stops asking: the merge box, check names and states, review\n  status, branch names, labels, diff size.\n- **A verdict scores sentences, never whether a paragraph should exist.** Both\n  this gate and a prose linter judge what is on the page. Neither asks what\n  should be cut, so a `needs-revision` acted on literally makes an artifact\n  longer — check the word count across rounds, and treat growth as a signal to\n  re-read rather than a sign of progress.\n- **Disclosed limitations are not defects.** A reader will often restate a\n  caveat the author volunteered as a reason to hesitate. Tell it to judge\n  clarity, not merge-readiness, or it converts your honesty into a `needs-revision`.\n\nFor the GitHub-specific inventory of what the page renders, see\n`repos-claude-config` `.claude\u002Frules\u002Fpr-comment-vs-ui-affordances.md`.\n\n**When one artifact serves two channels, give each reader its real audience.**\nAn issue-triage persona and a busy-chat-skimmer persona on the same argument\nreturned non-overlapping findings — coherence and exception-shopping from the\nfirst, skimmability and cross-section consistency from the second. Two personas\ncover two axes; the same persona twice covers one.\n\n### Step 3: Triage the critique — gaps, measurements, test artifacts\n\nThe cold reader cannot know the publishing context, so some complaints are\nartifacts of the test, not defects. A third class is neither: an objection the\ntext cannot settle but a **command** can. Triage into three buckets before\nrevising:\n\n| Genuine gap — fix it | Answerable with evidence — measure it | Test artifact — ignore it |\n|---|---|---|\n| Bare file paths instead of clickable links pinned to a ref | \"Impact is environment-specific\" — a result quoted on one machine\u002Fconfig only | \"Which repo is this?\" when the artifact is filed *on* that repo's tracker |\n| Unexplained acronym\u002Fjargon on first use | \"I can't verify this claim\" about something a single run would settle | Complaints about metadata the publish step strips (HTML comments, frontmatter) |\n| Symptom asserted without the actual error output | A benchmark with no baseline, or a ratio with no absolute numbers | Demands for repro environments beyond what quoted source code shows |\n| Three suggested fixes with no preference | | Critique of pre-existing scope the current change didn't touch |\n| Internal references (PR #s, ticket IDs) leaking into external text | | Requests to restructure a document section you didn't write |\n| Internal arithmetic that doesn't add up (\"12 across two waves\" — which 12?) | | |\n\n**Test the objection before softening the sentence.** A hedge (\"results may\nvary\") answers nothing; the measurement often *inverts* the objection. Capping\n`RAYON_NUM_THREADS` at 1\u002F2\u002F4\u002F8\u002F24 to answer \"the 8.7x is on 24 cores, which is\nuncommon\" cost one command and showed the win saturates near 4 threads — an\nordinary laptop gets nearly all of it (tracel-ai\u002Fburn#5332). Route here, not to\na rewrite, whenever a bounded run can produce the number.\n\n### Step 4: Revise once, re-read only on failure\n\nApply the genuine gaps with a revise pass (the orchestrator or a revise\nagent). Re-dispatch a fresh cold reader **only if the first verdict was\n`needs-revision`**; a `clear` verdict with minor notes means apply the\ngenuine ones and publish without a second opinion. Do not loop more than twice — a third round means the artifact has a\nstructural problem the gate can't fix.\n\n**Fallback when the reader can't deliver.** If the critique cannot be\nretrieved (reader died, harness hiccup, background-spawn confusion), do not\nblock publication on the gate: perform the deterministic portion inline —\nscan the artifact yourself for internal references (PR\u002Fticket numbers,\ncodenames), unexplained jargon, and self-containment — and publish on that\nbasis. The cold read is the better instrument, but a hand scan beats an\nabandoned gate.\n\n## Workflow-Script Integration\n\nInside a `Workflow` script the gate is one schema-enforced stage per item: [references\u002Fworkflow-script.md](references\u002Fworkflow-script.md).\n\n## Evidence and common mistakes\n\nProduction runs: [references\u002Fevidence.md](references\u002Fevidence.md). Mistakes to check before dispatching or acting on a critique: [references\u002Fcommon-mistakes.md](references\u002Fcommon-mistakes.md).\n\n## Related\n\n- [`verify-before-plan`](..\u002Fverify-before-plan\u002FSKILL.md) — verifies premises\n  before work; this skill verifies legibility after\n- `workflow-orchestration-plugin:workflow-verify-before-filing` — the filing\n  pipeline this gate slots into as the pre-publish stage\n- [`parallel-agent-dispatch`](..\u002Fparallel-agent-dispatch\u002FSKILL.md) — batching\n  N readers follows its single-message dispatch contract\n","\u003C!-- skill-size-exception: scripts\u002Fplugin-compliance-check.sh check_skill_body (cold-read-gate block) -->\n\n# Cold-Read Gate\n\nText written inside a long session inherits the session's context — codenames,\nversion baselines, internal PR numbers, \"the obvious fix\" — and the author can\nno longer see which parts won't survive contact with a reader who has none of\nit. Before publishing an outward-bound artifact, **dispatch an isolated,\ncheap, context-free agent to read it cold and interrogate it**. What confuses\nthe cold reader is what will cost you a round-trip question (or a silent\ndeprioritization) from the real audience.\n\nThe reader is deliberately **haiku, isolated, and shown only the artifact**.\nThis is a measured exception to the \"always Opus for subagents\" rule: the\nsubagent here is not doing delegated work — it *is* the measurement\ninstrument. The test is \"can a low-context reader act on this text alone?\",\nand a stronger model (or one with session context) would answer a different,\neasier question. If haiku can act on it, a busy maintainer can.\n\n## When to Use This Skill\n\n\"Outward-bound\" means any audience that lacks your session context — external\nmaintainers *and* future teammates reading internal docs cold both qualify.\n\n| Use this skill when... | Skip when... |\n|---|---|\n| Filing issues\u002FMRs on an upstream tracker (external maintainers) | Internal scratch notes, commit messages, chat replies |\n| Publishing docs a new team member will land on cold | The artifact is throwaway or has a captive expert audience |\n| PR descriptions for reviewers outside the work's context | The text is one paragraph — just reread it yourself |\n| Emails \u002F announcements leaving the team | The same artifact already passed a gate and only typos changed |\n| Batch-producing N artifacts (one reader per artifact, parallel) | |\n\n## The Gate Protocol\n\n### Step 1: Artifact on disk\n\nThe artifact must be a file. The reader gets a path, not pasted text — paste\ninvites the orchestrator to \"helpfully\" add context, which defeats the test.\n\n### Step 2: Dispatch the cold reader — synchronously\n\nOne `Agent` per artifact, all in a single message when batching. Run each\nreader **synchronously** (`run_in_background: false` — set it explicitly; as\nof Claude Code 2.1.232 non-teammate spawns run in the background by default)\n— the reader's entire job is a one-shot critique, and a synchronous run\nreturns that critique directly as the `Agent` tool result. There is nothing to\ngain from backgrounding it.\n\nIf a reader *was* spawned with `run_in_background: true`, read its critique\nfrom the **task-completion result** the harness returns when the task ends —\nnever by `SendMessage`. A completed background agent only emits\n`idle_notification`s on the message channel, so asking it there for its\noutput loops forever without ever returning the analysis (issue #2063).\n\nTemplate:\n\n```\nsubagent_type: general-purpose\nmodel: haiku\nrun_in_background: false\nprompt: |\n  You are \u003Cpersona — see table>. You have NO context beyond the text itself.\n  Read ONLY this file (no other files, no repository exploration, no web):\n  \u003Cabsolute path>\n\n  Produce:\n  1. THE ASK — state in ONE sentence what this text wants you to DO. If you\n     cannot state it, say so plainly: that is the most important finding.\n  2. QUESTIONS — anything unclear, ambiguous, undefined (jargon, acronyms,\n     unexplained references), or missing that you'd have to ask the author\n     before acting. Quote the exact phrase that confused you.\n  3. HESITATIONS — claims you can't verify from the text alone, confusing\n     structure, anything that would make you deprioritize it.\n  4. Verdict: exactly one of `clear` | `needs-revision`.\n\n  Ignore: \u003Cknown artifacts of the test — see Step 3. Plus anything the\n  surrounding UI renders for the real reader — see \"The reader is\n  context-free; your audience may not be\" below. Example:\n  \"Ignore the HTML comments at the top (they are stripped by the filing\n  script before publishing) and do not ask which repository this is —\n  the issue is filed on the target project's own tracker. The reader can\n  see the merge box, the check names, the review state and both branch\n  names; do not ask about those.\">\n  Concise bullets. Your final message is the deliverable.\n```\n\nItem 1 is load-bearing: QUESTIONS and HESITATIONS surface *local* defects, but\nan artifact can be locally clear and still ask for something incoherent. A\nreader that cannot state the ask has found a structural flaw the author cannot\nsee, because each half of the argument is individually true.\n\n| Audience | Persona |\n|---|---|\n| Upstream bug report | \"an open-source maintainer triaging a newly filed issue\" |\n| Team documentation | \"a new team member reading this doc with no project context\" |\n| PR description | \"a reviewer seeing this change for the first time\" |\n\n### The reader is context-free; your audience may not be\n\nThe gate removes context on purpose, and for a bug report filed into an empty\ntracker that matches the real reader well. It matches badly whenever the\nartifact is published *into a surface that renders state around it* — a PR or\nissue comment, a review thread, a dashboard card, a chat message under a link\npreview. There the real reader sees the page; the cold reader sees a bare file.\nThe gate then asks for explanations the surface already supplies, and acting on\nthem inflates the artifact with duplication.\n\n> Observed 2026-09-02 (`Comfy-Org\u002FComfyUI_frontend#13280`): round-one readers\n> asked what the fork-PR approval gate was and whether the four named workflows\n> were the whole set. Answering both produced a closing paragraph that restated\n> the merge box sitting directly below the comment — \"17 workflows awaiting\n> approval \u002F This workflow requires approval from a maintainer\", GitHub's own\n> explainer link, and the required checks by name. The comment lost 58% of its\n> words when a human asked whether that paragraph needed to exist.\n\n- **Name the rendered context in the `Ignore:` list**, concretely enough that\n  the reader stops asking: the merge box, check names and states, review\n  status, branch names, labels, diff size.\n- **A verdict scores sentences, never whether a paragraph should exist.** Both\n  this gate and a prose linter judge what is on the page. Neither asks what\n  should be cut, so a `needs-revision` acted on literally makes an artifact\n  longer — check the word count across rounds, and treat growth as a signal to\n  re-read rather than a sign of progress.\n- **Disclosed limitations are not defects.** A reader will often restate a\n  caveat the author volunteered as a reason to hesitate. Tell it to judge\n  clarity, not merge-readiness, or it converts your honesty into a `needs-revision`.\n\nFor the GitHub-specific inventory of what the page renders, see\n`repos-claude-config` `.claude\u002Frules\u002Fpr-comment-vs-ui-affordances.md`.\n\n**When one artifact serves two channels, give each reader its real audience.**\nAn issue-triage persona and a busy-chat-skimmer persona on the same argument\nreturned non-overlapping findings — coherence and exception-shopping from the\nfirst, skimmability and cross-section consistency from the second. Two personas\ncover two axes; the same persona twice covers one.\n\n### Step 3: Triage the critique — gaps, measurements, test artifacts\n\nThe cold reader cannot know the publishing context, so some complaints are\nartifacts of the test, not defects. A third class is neither: an objection the\ntext cannot settle but a **command** can. Triage into three buckets before\nrevising:\n\n| Genuine gap — fix it | Answerable with evidence — measure it | Test artifact — ignore it |\n|---|---|---|\n| Bare file paths instead of clickable links pinned to a ref | \"Impact is environment-specific\" — a result quoted on one machine\u002Fconfig only | \"Which repo is this?\" when the artifact is filed *on* that repo's tracker |\n| Unexplained acronym\u002Fjargon on first use | \"I can't verify this claim\" about something a single run would settle | Complaints about metadata the publish step strips (HTML comments, frontmatter) |\n| Symptom asserted without the actual error output | A benchmark with no baseline, or a ratio with no absolute numbers | Demands for repro environments beyond what quoted source code shows |\n| Three suggested fixes with no preference | | Critique of pre-existing scope the current change didn't touch |\n| Internal references (PR #s, ticket IDs) leaking into external text | | Requests to restructure a document section you didn't write |\n| Internal arithmetic that doesn't add up (\"12 across two waves\" — which 12?) | | |\n\n**Test the objection before softening the sentence.** A hedge (\"results may\nvary\") answers nothing; the measurement often *inverts* the objection. Capping\n`RAYON_NUM_THREADS` at 1\u002F2\u002F4\u002F8\u002F24 to answer \"the 8.7x is on 24 cores, which is\nuncommon\" cost one command and showed the win saturates near 4 threads — an\nordinary laptop gets nearly all of it (tracel-ai\u002Fburn#5332). Route here, not to\na rewrite, whenever a bounded run can produce the number.\n\n### Step 4: Revise once, re-read only on failure\n\nApply the genuine gaps with a revise pass (the orchestrator or a revise\nagent). Re-dispatch a fresh cold reader **only if the first verdict was\n`needs-revision`**; a `clear` verdict with minor notes means apply the\ngenuine ones and publish without a second opinion. Do not loop more than twice — a third round means the artifact has a\nstructural problem the gate can't fix.\n\n**Fallback when the reader can't deliver.** If the critique cannot be\nretrieved (reader died, harness hiccup, background-spawn confusion), do not\nblock publication on the gate: perform the deterministic portion inline —\nscan the artifact yourself for internal references (PR\u002Fticket numbers,\ncodenames), unexplained jargon, and self-containment — and publish on that\nbasis. The cold read is the better instrument, but a hand scan beats an\nabandoned gate.\n\n## Workflow-Script Integration\n\nInside a `Workflow` script the gate is one schema-enforced stage per item: [references\u002Fworkflow-script.md](references\u002Fworkflow-script.md).\n\n## Evidence and common mistakes\n\nProduction runs: [references\u002Fevidence.md](references\u002Fevidence.md). Mistakes to check before dispatching or acting on a critique: [references\u002Fcommon-mistakes.md](references\u002Fcommon-mistakes.md).\n\n## Related\n\n- [`verify-before-plan`](..\u002Fverify-before-plan\u002FSKILL.md) — verifies premises\n  before work; this skill verifies legibility after\n- `workflow-orchestration-plugin:workflow-verify-before-filing` — the filing\n  pipeline this gate slots into as the pre-publish stage\n- [`parallel-agent-dispatch`](..\u002Fparallel-agent-dispatch\u002FSKILL.md) — batching\n  N readers follows its single-message dispatch contract\n",{"name":5,"model":29,"created":55,"modified":56,"reviewed":57,"description":7,"allowed-tools":58,"compatibility":59},1781136000000,1791331200000,1788307200000,"Agent, Read, Write, Edit, TodoWrite","claude-code","main","51e0f120e9cb48382ee27086b2e8be32eff0ac9a","agent-patterns-plugin\u002Fskills\u002Fcold-read-gate",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-13 03:22:01",{"source":8,"skillName":5,"commands":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add laurigates\u002Fclaude-plugins --skill cold-read-gate",{"tool":74,"command":75},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill cold-read-gate",{"tool":77,"command":78},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill cold-read-gate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fagent-patterns-plugin\u002Fskills\u002Fcold-read-gate\u002FSKILL.md",true,[82,88,92],{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fcommon-mistakes.md","REFERENCE","参考文档",1355,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fagent-patterns-plugin\u002Fskills\u002Fcold-read-gate\u002Freferences\u002Fcommon-mistakes.md",{"path":89,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fevidence.md",1135,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fagent-patterns-plugin\u002Fskills\u002Fcold-read-gate\u002Freferences\u002Fevidence.md",{"path":93,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fworkflow-script.md",878,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fagent-patterns-plugin\u002Fskills\u002Fcold-read-gate\u002Freferences\u002Fworkflow-script.md",[97,121,140,156,179,208],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":106,"publishedAt":50},"01M70PFHMH9ADY0CRE6047Y4B2","kitty-show-image","Show the user an image with a note on what to judge, via a file send or a labelled kitty tab. Use when the user must see an image, or icat fails with no \u002Fdev\u002Ftty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-show-image\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[107,108,109,110,111,112,113,114,115,116,47,34,117,118,45,37,119,120,33,24],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","Bash","file","xdg","via",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":50},"01M70PFEN18HKQ4RCQ1VPGMPTB","kitty-session-persistence","Snapshot and restore kitty terminal sessions on macOS. Use when surviving WindowServer hangs without losing tabs, configuring snapshots, or restoring after a force-reboot.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-session-persistence\u002FSKILL.md",[],[110,128,129,130,131,132,34,117,133,134,135,33,24,42,32,136,137,138,139,47],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","snapshot","macos","sessions","restore",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":50},"01M70PFC77XGXCVQ1543VGZHYR","kitty-remote-control","Safe kitty remote control from an agent — read panes with kitty @ ls\u002Fget-text, notify, and never mutate the live terminal unasked. Use when running inside kitty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-remote-control\u002FSKILL.md",[],[147,148,110,149,150,112,151,152,113,153,154,47,34,155,117,45,37,135,33,24],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":50},"01M70P6WVMCT5JG4SACTM69AF9","docs-reference-check","Dangling doc-reference gate: flag markdown naming repo paths or relative links that no longer exist. Use when docs cite moved\u002Fdeleted files, or wiring a doc-drift lint.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002FSKILL.md",[],[163,164,165,166,167,168,169,170,171,172,47,34,117,173,118,174,175,176,177,178],"docs reference check","check","reference check","reference","docs","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":194,"publishedAt":50},"01M6C6NDE7DAQGNWSF22J5CJ0Z","youtube-upload","Upload a video to YouTube via the Data API v3 and edit its title, description, tags or thumbnail afterwards. Use when publishing or retitling a YouTube video.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-upload\u002FSKILL.md",[185,188,189],{"categoryNo":186,"categoryName":187,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":104,"categoryName":105,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":190,"categoryName":191,"taxonomyType":192,"taxonomyTypeDesc":193},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[195,196,197,198,169,199,24,200,32,48,201,202,47,117,118,203,204,34,205,206,207,120,33],"youtube upload","upload","youtube","Video","run","uv run","data","uv","api","v3","tags","id","title",{"skillNo":209,"name":210,"nameZh":6,"description":211,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":212,"categories":213,"keywords":215,"publishedAt":50},"01M6C6NABWW1X58KJJM4F6GQMQ","youtube-studio-share","Share a private YouTube video with a whole Google Workspace organization by scripting YouTube Studio in the browser. Use when a video must be org-only.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-studio-share\u002FSKILL.md",[214],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[216,217,218,219,197,198,220,221,222,223,224,24,225,226,227,228,47,229,34,37,230,33],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]