[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C6A3HC65KPCEWHDA3JV5G4":3,"skill-same:01M6C6A3HC65KPCEWHDA3JV5G4":74},{"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":18,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6C6A3HC65KPCEWHDA3JV5G4","ground-response",null,"Citation-backed responses with direct quotes from source documents. Use when analyzing long docs, answering codebase\u002Fspec questions, or when response accuracy is critical.","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\u002Fprompt-engineering-plugin\u002Fskills\u002Fprompt-engineering-ground-response\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"ground response","document","2026","when","accuracy","source","path","quotes","questions","with","long","critical","task","spec","use","read","question","grep","direct","analyzing","file","documents","docs","2026-11-10 10:12:30",false,"---\nname: ground-response\ndescription: Citation-backed responses with direct quotes from source documents. Use when analyzing long docs, answering codebase\u002Fspec questions, or when response accuracy is critical.\nargs: \u003Cquestion or task> [--source \u003Cfile-or-path>]\nallowed-tools: Read, Grep, Glob, TodoWrite\nargument-hint: \u003Cquestion about a document or codebase>\ncreated: 2026-03-22\nmodified: 2026-05-09\nreviewed: 2026-03-22\n---\n\n# \u002Fprompt-engineering:ground-response\n\nProduce a grounded, citation-backed response — every claim traced to a source quote, unsupported claims retracted, unknowns stated explicitly.\n\n## When to Use This Skill\n\n| Use this skill when... | Use something else when... |\n|------------------------|---------------------------|\n| You need factual accuracy grounded in source documents | Text needs style\u002Ftone adjustment → `\u002Fprose:distill` |\n| Analyzing long documents (>20k tokens) where hallucination risk is high | You need code review → `\u002Fcode-quality:code-review` |\n| User asks to \"cite sources\" or \"verify claims\" | You need to synthesize scattered notes → `\u002Fprose:synthesize` |\n| Answering questions about specs, policies, or technical docs | General coding task with no source verification needed |\n| User wants auditable, traceable answers | Creative writing or brainstorming (accuracy not the goal) |\n\n## Core Principles\n\nThese three techniques are from Anthropic's official documentation on reducing hallucination. Apply all three in every response.\n\n### 1. Permit Uncertainty\n\nYou have explicit permission to say \"I don't know\" or \"The source does not address this.\" Do not invent, speculate, or fill gaps with plausible-sounding information. When the source is silent on a topic, say so. When the source is ambiguous, state the ambiguity.\n\n### 2. Extract Direct Quotes First\n\nBefore analyzing or answering, extract word-for-word quotes from the source material that are relevant to the task. This grounds your reasoning in actual text, not recalled impressions. For documents >20k tokens, this step is critical — extract before you analyze.\n\n### 3. Verify Claims Against Quotes\n\nAfter formulating your response, audit every claim. Each claim must have a supporting quote. If a claim lacks a supporting quote, retract it. Mark retracted claims with `[RETRACTED — no supporting quote found]`. This makes your response auditable.\n\n## Parameters\n\nParse `$ARGUMENTS`:\n\n- **Question\u002Ftask**: The primary argument — what to analyze or answer\n- **`--source \u003Cpath>`**: Optional file path or glob pattern for source material\n- If no `--source` is provided, look for source material in the conversation context\n- If no source material is available anywhere, ask the user to provide it\n\n## Execution\n\nExecute this grounded analysis workflow:\n\n### Step 1: Identify and Read Source Material\n\n1. If `--source` is provided, read the file(s):\n   - Single file: use `Read`\n   - Glob pattern: use `Glob` to find files, then `Read` each\n   - Directory: use `Glob` with `**\u002F*` to discover relevant files\n2. If no `--source`, check conversation context for documents, code, or prior content\n3. If no source material is available, stop and ask: \"What document or source should I ground my response in?\"\n\nNote the total size of source material. For large sources (>20k tokens), be especially rigorous about Step 2.\n\n### Step 2: Extract Direct Quotes\n\nSearch the source material and extract word-for-word quotes relevant to the question\u002Ftask.\n\nFor each quote, record:\n- **Quote number**: Sequential identifier (`Q1`, `Q2`, etc.)\n- **Exact text**: Word-for-word from the source — no paraphrasing\n- **Location**: File path and line number, or document section\n\nExtract comprehensively. It is better to extract too many quotes than too few — you can discard unused quotes later, but you cannot cite quotes you didn't extract.\n\nIf no relevant quotes are found, state: \"No relevant quotes found in the provided source material. I cannot provide a grounded response to this question.\"\n\n### Step 3: Formulate Claims\n\nAnswer the question or perform the task. Structure your response as a series of claims, each referencing one or more quotes:\n\n- Tag each claim with its supporting quote(s): `[Q1]`, `[Q2, Q3]`\n- Keep claims atomic — one assertion per claim\n- Distinguish between what the source explicitly states and what you infer\n\n### Step 4: Verify — Audit Every Claim\n\nWalk through each claim in your response:\n\n1. Does it have a tagged quote reference?\n2. Does the referenced quote actually support this specific claim?\n3. Is the claim a faithful representation of the quote, or does it overstate\u002Fdistort?\n\nFor any claim that fails verification:\n- If the claim overstates the quote → weaken it to match what the quote supports\n- If no quote supports it → mark as `[RETRACTED — no supporting quote found]`\n- If the quote is ambiguous → note the ambiguity explicitly\n\n### Step 5: State Unknowns\n\nAfter verification, explicitly list:\n\n- **Questions the source does not address** — gaps in the material relevant to the task\n- **Ambiguities** — where the source is unclear or contradictory\n- **Limitations** — boundaries of what can be concluded from this source alone\n\nDo not skip this step. Stating unknowns is as important as stating knowns.\n\n### Step 6: Present Grounded Response\n\nDeliver the final response using this structure:\n\n```\n## Grounded Analysis\n\n\u003CYour response with inline [QN] citations for each claim>\n\n## Supporting Quotes\n\n| # | Quote | Source |\n|---|-------|--------|\n| Q1 | \"exact text from source\" | file.md:42 |\n| Q2 | \"exact text from source\" | file.md:78 |\n\n## What the Source Does Not Address\n\n- \u003CGap 1>\n- \u003CGap 2>\n\n## Retracted Claims (if any)\n\n- \u003CClaim that was removed and why>\n```\n\n## Handling Edge Cases\n\n| Situation | Approach |\n|-----------|----------|\n| Source contradicts itself | Quote both passages, note the contradiction, do not resolve it |\n| Question is partially answerable | Answer the answerable part with citations, list unanswerable parts in unknowns |\n| Source is code, not prose | Extract relevant code blocks as quotes, cite file:line |\n| Multiple sources disagree | Present each source's position with its quotes, note the disagreement |\n| Source is very short (\u003C1k tokens) | Still follow the full workflow — brevity doesn't eliminate hallucination risk |\n\n## Agentic Optimizations\n\n| Context | Approach |\n|---------|----------|\n| Short document (\u003C5k tokens) | Read fully, extract quotes inline, present compact response |\n| Long document (5k-50k tokens) | Use `Grep` to find relevant sections, then `Read` targeted ranges |\n| Very long document (>50k tokens) | Use `Grep` with multiple patterns, read only matching regions |\n| Codebase analysis | Use `Glob` + `Grep` to locate relevant files, extract code quotes with file:line |\n| Multiple files | Process each file, merge quotes, deduplicate overlapping citations |\n| No source provided | Ask user before proceeding — never ground in imagined sources |\n","# \u002Fprompt-engineering:ground-response\n\nProduce a grounded, citation-backed response — every claim traced to a source quote, unsupported claims retracted, unknowns stated explicitly.\n\n## When to Use This Skill\n\n| Use this skill when... | Use something else when... |\n|------------------------|---------------------------|\n| You need factual accuracy grounded in source documents | Text needs style\u002Ftone adjustment → `\u002Fprose:distill` |\n| Analyzing long documents (>20k tokens) where hallucination risk is high | You need code review → `\u002Fcode-quality:code-review` |\n| User asks to \"cite sources\" or \"verify claims\" | You need to synthesize scattered notes → `\u002Fprose:synthesize` |\n| Answering questions about specs, policies, or technical docs | General coding task with no source verification needed |\n| User wants auditable, traceable answers | Creative writing or brainstorming (accuracy not the goal) |\n\n## Core Principles\n\nThese three techniques are from Anthropic's official documentation on reducing hallucination. Apply all three in every response.\n\n### 1. Permit Uncertainty\n\nYou have explicit permission to say \"I don't know\" or \"The source does not address this.\" Do not invent, speculate, or fill gaps with plausible-sounding information. When the source is silent on a topic, say so. When the source is ambiguous, state the ambiguity.\n\n### 2. Extract Direct Quotes First\n\nBefore analyzing or answering, extract word-for-word quotes from the source material that are relevant to the task. This grounds your reasoning in actual text, not recalled impressions. For documents >20k tokens, this step is critical — extract before you analyze.\n\n### 3. Verify Claims Against Quotes\n\nAfter formulating your response, audit every claim. Each claim must have a supporting quote. If a claim lacks a supporting quote, retract it. Mark retracted claims with `[RETRACTED — no supporting quote found]`. This makes your response auditable.\n\n## Parameters\n\nParse `$ARGUMENTS`:\n\n- **Question\u002Ftask**: The primary argument — what to analyze or answer\n- **`--source \u003Cpath>`**: Optional file path or glob pattern for source material\n- If no `--source` is provided, look for source material in the conversation context\n- If no source material is available anywhere, ask the user to provide it\n\n## Execution\n\nExecute this grounded analysis workflow:\n\n### Step 1: Identify and Read Source Material\n\n1. If `--source` is provided, read the file(s):\n   - Single file: use `Read`\n   - Glob pattern: use `Glob` to find files, then `Read` each\n   - Directory: use `Glob` with `**\u002F*` to discover relevant files\n2. If no `--source`, check conversation context for documents, code, or prior content\n3. If no source material is available, stop and ask: \"What document or source should I ground my response in?\"\n\nNote the total size of source material. For large sources (>20k tokens), be especially rigorous about Step 2.\n\n### Step 2: Extract Direct Quotes\n\nSearch the source material and extract word-for-word quotes relevant to the question\u002Ftask.\n\nFor each quote, record:\n- **Quote number**: Sequential identifier (`Q1`, `Q2`, etc.)\n- **Exact text**: Word-for-word from the source — no paraphrasing\n- **Location**: File path and line number, or document section\n\nExtract comprehensively. It is better to extract too many quotes than too few — you can discard unused quotes later, but you cannot cite quotes you didn't extract.\n\nIf no relevant quotes are found, state: \"No relevant quotes found in the provided source material. I cannot provide a grounded response to this question.\"\n\n### Step 3: Formulate Claims\n\nAnswer the question or perform the task. Structure your response as a series of claims, each referencing one or more quotes:\n\n- Tag each claim with its supporting quote(s): `[Q1]`, `[Q2, Q3]`\n- Keep claims atomic — one assertion per claim\n- Distinguish between what the source explicitly states and what you infer\n\n### Step 4: Verify — Audit Every Claim\n\nWalk through each claim in your response:\n\n1. Does it have a tagged quote reference?\n2. Does the referenced quote actually support this specific claim?\n3. Is the claim a faithful representation of the quote, or does it overstate\u002Fdistort?\n\nFor any claim that fails verification:\n- If the claim overstates the quote → weaken it to match what the quote supports\n- If no quote supports it → mark as `[RETRACTED — no supporting quote found]`\n- If the quote is ambiguous → note the ambiguity explicitly\n\n### Step 5: State Unknowns\n\nAfter verification, explicitly list:\n\n- **Questions the source does not address** — gaps in the material relevant to the task\n- **Ambiguities** — where the source is unclear or contradictory\n- **Limitations** — boundaries of what can be concluded from this source alone\n\nDo not skip this step. Stating unknowns is as important as stating knowns.\n\n### Step 6: Present Grounded Response\n\nDeliver the final response using this structure:\n\n```\n## Grounded Analysis\n\n\u003CYour response with inline [QN] citations for each claim>\n\n## Supporting Quotes\n\n| # | Quote | Source |\n|---|-------|--------|\n| Q1 | \"exact text from source\" | file.md:42 |\n| Q2 | \"exact text from source\" | file.md:78 |\n\n## What the Source Does Not Address\n\n- \u003CGap 1>\n- \u003CGap 2>\n\n## Retracted Claims (if any)\n\n- \u003CClaim that was removed and why>\n```\n\n## Handling Edge Cases\n\n| Situation | Approach |\n|-----------|----------|\n| Source contradicts itself | Quote both passages, note the contradiction, do not resolve it |\n| Question is partially answerable | Answer the answerable part with citations, list unanswerable parts in unknowns |\n| Source is code, not prose | Extract relevant code blocks as quotes, cite file:line |\n| Multiple sources disagree | Present each source's position with its quotes, note the disagreement |\n| Source is very short (\u003C1k tokens) | Still follow the full workflow — brevity doesn't eliminate hallucination risk |\n\n## Agentic Optimizations\n\n| Context | Approach |\n|---------|----------|\n| Short document (\u003C5k tokens) | Read fully, extract quotes inline, present compact response |\n| Long document (5k-50k tokens) | Use `Grep` to find relevant sections, then `Read` targeted ranges |\n| Very long document (>50k tokens) | Use `Grep` with multiple patterns, read only matching regions |\n| Codebase analysis | Use `Glob` + `Grep` to locate relevant files, extract code quotes with file:line |\n| Multiple files | Process each file, merge quotes, deduplicate overlapping citations |\n| No source provided | Ask user before proceeding — never ground in imagined sources |\n",{"args":47,"name":5,"created":48,"modified":49,"reviewed":48,"description":7,"allowed-tools":50,"argument-hint":51},"\u003Cquestion or task> [--source \u003Cfile-or-path>]",1774137600000,1778284800000,"Read, Grep, Glob, TodoWrite","\u003Cquestion about a document or codebase>","main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","prompt-engineering-plugin\u002Fskills\u002Fprompt-engineering-ground-response",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":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add laurigates\u002Fclaude-plugins --skill ground-response",{"tool":66,"command":67},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill ground-response",{"tool":69,"command":70},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill ground-response","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fprompt-engineering-plugin\u002Fskills\u002Fprompt-engineering-ground-response\u002FSKILL.md",true,[],[75,101,122,138,160,190],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":86,"publishedAt":42},"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",[81],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[87,88,89,90,91,92,93,94,95,96,33,22,97,39,98,28,99,100,21,34],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","Bash","text","xdg","via",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":42},"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",[],[90,108,109,110,111,112,22,97,113,114,115,21,34,116,117,118,119,120,121,33],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","write","edit","snapshot","macos","sessions","restore",{"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":128,"publishedAt":42},"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",[],[129,130,90,131,132,92,133,134,93,135,136,33,22,137,97,98,28,115,21,34],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":42},"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",[],[145,146,147,148,41,149,150,151,152,153,33,22,97,154,39,155,156,157,158,159],"docs reference check","check","reference check","reference","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"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":175,"publishedAt":42},"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",[166,169,170],{"categoryNo":167,"categoryName":168,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},{"categoryNo":171,"categoryName":172,"taxonomyType":173,"taxonomyTypeDesc":174},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[176,177,178,179,150,180,34,181,117,182,183,184,33,97,39,185,186,22,187,188,189,100,21],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":199,"publishedAt":42},"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",[196],{"categoryNo":197,"categoryName":198,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000023","Skill与智能体开发",[200,201,202,203,178,179,204,205,206,207,208,34,209,210,211,212,33,213,22,28,214,21],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]