[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D1PM88EB73ZWVRHZB9XMEF":3,"skill-same:01M6D1PM88EB73ZWVRHZB9XMEF":102},{"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":27,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":6,"updatedAt":65,"install":66,"resources":79},"01M6D1PM88EB73ZWVRHZB9XMEF","harness-docs",null,"Harness Kit documentation — installation, plugin catalog, creating plugins, cross-harness setup, architecture, and FAQ. Use when working with or configuring harness-kit plugins, understanding the plugin\u002Fskill system, installing slash commands, setting up AI coding tool configuration, answering questions about the plugin marketplace, writing SKILL.md files, using harness.yaml, or integrating with Copilot, Cursor, or Codex. Do NOT use for general Claude Code questions unrelated to harness-kit.","harnessprotocol\u002Fharness-kit","harnessprotocol","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F267220942?v=4","01M6D1K4XD5XB0796XXYA0W3JV","01M6D1K527EZ0PVYTN3PD133W2",10,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fharness-docs\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"docs","harness","harness docs","when","writing","plugin catalog","kit","false","commands","plugin marketplace","do","general","files","harness setup","unrelated","up","catalog","coding","tool","system","code","documentation","copilot","architecture","2026-11-10 10:12:30",false,"---\nname: harness-docs\ndescription: Harness Kit documentation — installation, plugin catalog, creating plugins, cross-harness setup, architecture, and FAQ. Use when working with or configuring harness-kit plugins, understanding the plugin\u002Fskill system, installing slash commands, setting up AI coding tool configuration, answering questions about the plugin marketplace, writing SKILL.md files, using harness.yaml, or integrating with Copilot, Cursor, or Codex. Do NOT use for general Claude Code questions unrelated to harness-kit.\nuser-invocable: false\n---\n\n# Harness Kit Documentation\n\nharness-kit is a harness-agnostic framework for AI coding tools. Plugins, skills, MCP servers, hooks, and conventions live in one portable config. It works with Claude Code today and is designed to travel across tools.\n\n**Repo:** https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit  \n**Docs:** https:\u002F\u002Fharnesskit.ai\u002Fdocs\n\n## How to Use This Skill\n\nThis is a background knowledge skill. When the user asks about harness-kit, load the relevant reference file from `${CLAUDE_SKILL_DIR}\u002Freferences\u002F` and answer from it.\n\n| Topic | Reference file |\n|-------|---------------|\n| Installation, architecture, quick start | `getting-started.md` |\n| Plugin list, what each plugin does | `plugin-catalog.md` |\n| Creating plugins, writing SKILL.md, frontmatter | `creating-plugins.md` |\n| Using with Copilot, Cursor, Codex | `cross-harness.md` |\n| Core concepts, FAQ, harness.yaml, comparison with MCP\u002FA2A | `concepts-and-faq.md` |\n\nLoad with: `Read ${CLAUDE_SKILL_DIR}\u002Freferences\u002F\u003Cfilename>.md`\n\n## Quick Reference: 17 Plugins\n\n| Plugin | Slash command | What it does |\n|--------|---------------|-------------|\n| research | `\u002Fresearch` | Process any source (URL, GitHub, YouTube, PDF) into a structured knowledge base |\n| orient | `\u002Forient` | Topic-focused session orientation across knowledge graph and research |\n| capture | `\u002Fcapture` | Capture session info into a staging file for later reflection |\n| review | `\u002Freview` | Structured code review for branches, PRs, or file paths with severity labels |\n| rubber-ducky | `\u002Frubber-ducky` | Second opinion on a plan, design, or diff — independent critics on different Claude models |\n| explain | `\u002Fexplain` | Layered explanations of files, functions, directories, or concepts |\n| lineage | `\u002Flineage` | Column-level lineage tracing through SQL, Kafka, Spark, JDBC |\n| docgen | `\u002Fdocgen` | Generate or update README, API docs, architecture overview, or changelog |\n| open-pr | `\u002Fopen-pr` | Pre-flight checks and PR creation: tests, review, CI |\n| merge-pr | `\u002Fmerge-pr` | Merge a ready PR: verify CI, sync base, squash merge, clean up |\n| pr-sweep | `\u002Fpr-sweep` | Cross-repo PR sweep: triage, review, merge, fix CI |\n| dependabot-sweep | `\u002Fdependabot-sweep` | End-to-end Dependabot remediation: fetch alerts, fix per ecosystem, verify, open\u002Fmerge a PR |\n| harness-share | `\u002Fharness-export`, `\u002Fharness-import` | Compile, export, import, and sync harness configs across 8 AI coding tools |\n| stats | `\u002Fstats` | Interactive HTML dashboard for Claude Code token and session usage |\n| iterm-notify | — | macOS desktop notifications and iTerm2 badge management for Claude Code events |\n| frontend-design | `\u002Ffrontend-design` | Production-grade frontend design rules: OKLCH color, typography, motion, accessibility |\n| membrain | `\u002Fmemory` | Graph-based agent memory — search, trace, and manage a persistent knowledge graph |\n\n## Key Concepts\n\n**Skill** — A `SKILL.md` file: the workflow Claude reads when you type a slash command.  \n**Plugin** — The package wrapping a skill: a directory with `plugin.json`, the skill, optional scripts, hooks, and agents.  \n**harness** — Your complete AI tool setup: CLAUDE.md, plugins, MCP servers, hooks, permissions.  \n**harness.yaml** — A portable snapshot of your complete harness. Export with `\u002Fharness-export`, restore with `\u002Fharness-import`.\n\n## Install\n\n```\n\u002Fplugin marketplace add harnessprotocol\u002Fharness-kit\n\u002Fplugin install \u003Cplugin-name>@harness-kit\n```\n","# Harness Kit Documentation\n\nharness-kit is a harness-agnostic framework for AI coding tools. Plugins, skills, MCP servers, hooks, and conventions live in one portable config. It works with Claude Code today and is designed to travel across tools.\n\n**Repo:** https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit  \n**Docs:** https:\u002F\u002Fharnesskit.ai\u002Fdocs\n\n## How to Use This Skill\n\nThis is a background knowledge skill. When the user asks about harness-kit, load the relevant reference file from `${CLAUDE_SKILL_DIR}\u002Freferences\u002F` and answer from it.\n\n| Topic | Reference file |\n|-------|---------------|\n| Installation, architecture, quick start | `getting-started.md` |\n| Plugin list, what each plugin does | `plugin-catalog.md` |\n| Creating plugins, writing SKILL.md, frontmatter | `creating-plugins.md` |\n| Using with Copilot, Cursor, Codex | `cross-harness.md` |\n| Core concepts, FAQ, harness.yaml, comparison with MCP\u002FA2A | `concepts-and-faq.md` |\n\nLoad with: `Read ${CLAUDE_SKILL_DIR}\u002Freferences\u002F\u003Cfilename>.md`\n\n## Quick Reference: 17 Plugins\n\n| Plugin | Slash command | What it does |\n|--------|---------------|-------------|\n| research | `\u002Fresearch` | Process any source (URL, GitHub, YouTube, PDF) into a structured knowledge base |\n| orient | `\u002Forient` | Topic-focused session orientation across knowledge graph and research |\n| capture | `\u002Fcapture` | Capture session info into a staging file for later reflection |\n| review | `\u002Freview` | Structured code review for branches, PRs, or file paths with severity labels |\n| rubber-ducky | `\u002Frubber-ducky` | Second opinion on a plan, design, or diff — independent critics on different Claude models |\n| explain | `\u002Fexplain` | Layered explanations of files, functions, directories, or concepts |\n| lineage | `\u002Flineage` | Column-level lineage tracing through SQL, Kafka, Spark, JDBC |\n| docgen | `\u002Fdocgen` | Generate or update README, API docs, architecture overview, or changelog |\n| open-pr | `\u002Fopen-pr` | Pre-flight checks and PR creation: tests, review, CI |\n| merge-pr | `\u002Fmerge-pr` | Merge a ready PR: verify CI, sync base, squash merge, clean up |\n| pr-sweep | `\u002Fpr-sweep` | Cross-repo PR sweep: triage, review, merge, fix CI |\n| dependabot-sweep | `\u002Fdependabot-sweep` | End-to-end Dependabot remediation: fetch alerts, fix per ecosystem, verify, open\u002Fmerge a PR |\n| harness-share | `\u002Fharness-export`, `\u002Fharness-import` | Compile, export, import, and sync harness configs across 8 AI coding tools |\n| stats | `\u002Fstats` | Interactive HTML dashboard for Claude Code token and session usage |\n| iterm-notify | — | macOS desktop notifications and iTerm2 badge management for Claude Code events |\n| frontend-design | `\u002Ffrontend-design` | Production-grade frontend design rules: OKLCH color, typography, motion, accessibility |\n| membrain | `\u002Fmemory` | Graph-based agent memory — search, trace, and manage a persistent knowledge graph |\n\n## Key Concepts\n\n**Skill** — A `SKILL.md` file: the workflow Claude reads when you type a slash command.  \n**Plugin** — The package wrapping a skill: a directory with `plugin.json`, the skill, optional scripts, hooks, and agents.  \n**harness** — Your complete AI tool setup: CLAUDE.md, plugins, MCP servers, hooks, permissions.  \n**harness.yaml** — A portable snapshot of your complete harness. Export with `\u002Fharness-export`, restore with `\u002Fharness-import`.\n\n## Install\n\n```\n\u002Fplugin marketplace add harnessprotocol\u002Fharness-kit\n\u002Fplugin install \u003Cplugin-name>@harness-kit\n```\n",{"name":5,"description":7,"user-invocable":53},"main","6b2b0246afe5acd50748e4fef13ee9805cfb1336","skills\u002Fharness-docs",2,"https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit","https:\u002F\u002Fharnesskit.ai","https:\u002F\u002Fgithub.com\u002Fharnessprotocol","harnessprotocol.io","2026-11-11 13:53:57",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add harnessprotocol\u002Fharness-kit --skill harness-docs",{"tool":72,"command":73},"bunx","bunx skills add harnessprotocol\u002Fharness-kit --skill harness-docs",{"tool":75,"command":76},"pnpm","pnpm dlx skills add harnessprotocol\u002Fharness-kit --skill harness-docs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fharness-docs\u002FSKILL.md",true,[80,86,90,94,98],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fconcepts-and-faq.md","REFERENCE","参考文档",6352,"https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fharness-docs\u002Freferences\u002Fconcepts-and-faq.md",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fcreating-plugins.md",6795,"https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fharness-docs\u002Freferences\u002Fcreating-plugins.md",{"path":91,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fcross-harness.md",6140,"https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fharness-docs\u002Freferences\u002Fcross-harness.md",{"path":95,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fgetting-started.md",4586,"https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fharness-docs\u002Freferences\u002Fgetting-started.md",{"path":99,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fplugin-catalog.md",6076,"https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fskills\u002Fharness-docs\u002Freferences\u002Fplugin-catalog.md",[103,134,163,195,223,246],{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":113,"publishedAt":52},"01M6D1PFZMZCFYTE0CFBJNGPB4","stats","Use when user invokes \u002Fstats or asks about Claude Code usage, token consumption, session history, model distribution, or activity patterns. Generates an interactive HTML dashboard with charts and tables, auto-opens in browser. Also triggers on \"how much have I used Claude\", \"show my usage\", \"token usage\", \"session stats\", \"usage report\", \"usage dashboard\". Do NOT use for API billing or cost estimation — token counts are not costs.","https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fplugins\u002Fstats\u002Fskills\u002Fstats\u002FSKILL.md",[109,112],{"categoryNo":110,"categoryName":111,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[105,114,115,48,116,117,118,119,120,121,122,123,124,125,38,126,127,128,129,130,131,132,133,31],"dashboard","cost estimation","browser","api","Charts","how","model","history","session","html","auto","show","patterns","estimation","token","session history","distribution","billing","activity","my",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":52},"01M6D1PB4FJSD1FXVX4WPG5JMA","rubber-ducky","Use when you've planned a non-trivial change and are about to implement it, finished a complex or multi-file piece of work, just wrote tests, or are stuck on repeated failures or unexpected results — and any time the user says \"rubber duck this\", \"rubber ducky\", \"get a second opinion\", \"sanity-check my plan\", \"poke holes in this\", \"what am I missing\", \"critique my approach\", \"review this before I build it\", or \"\u002Frubber-ducky\". Spawns independent read-only critics on DIFFERENT Claude models than the one driving the session to catch blind spots, design flaws, and substantive bugs while course corrections are still cheap. Skip it only for small, obvious, well-understood changes. Do NOT use for reviewing a finished diff or PR — use \u002Freview for that; rubber-ducky pressure-tests your own in-progress thinking before and during implementation.","https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fplugins\u002Frubber-ducky\u002Fskills\u002Frubber-ducky\u002FSKILL.md",[],[141,142,143,144,145,146,147,148,149,150,122,151,152,38,153,154,155,156,157,158,159,160,161,133,162,31],"rubber ducky","design","review","change","pr","critique","plan","just","work","read","diff","only","spots","thinking","poke","time","get","tests","progress","sanity","you","catch",{"skillNo":164,"name":143,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":169,"publishedAt":52},"01M6D1P7806YR94Y41M7131ZCM","Use when user invokes \u002Freview to review code changes. Also triggers on \"review my code\", \"check this PR\", \"look at my changes\". Accepts a PR number (e.g. \u002Freview 123), a path filter (e.g. \u002Freview src\u002Fauth\u002F), or no argument (reviews current branch vs base). Produces structured per-file review with severity labels, cross-file analysis, and an overall verdict. Do NOT use for explaining what code does — use \u002Fexplain instead.","https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fplugins\u002Freview\u002Fskills\u002Freview\u002FSKILL.md",[168],{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[143,170,145,48,171,172,173,174,175,176,177,178,179,180,181,182,38,183,184,185,186,187,188,189,190,133,191,192,193,194,31],"auth","file","severity","analysis","review code","src","explain","branch","check","user","use","look","file analysis","base","structured","triggers","file review","filter","argument","reviews","number","at","path","for","labels",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":202,"publishedAt":52},"01M6D1P1X8ZHYVM41AZ9PZ2H8V","research","Use when user invokes \u002Fresearch command with any source — URL, GitHub repo, YouTube video, podcast, Reddit post, academic paper, documentation page, product site, local file, or empty. Processes and indexes research materials with raw source preservation and topic-level synthesis coalescing. Do NOT use for quick factual questions — use \u002Fexplain instead.","https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fplugins\u002Fresearch\u002Fskills\u002Fresearch\u002FSKILL.md",[201],{"categoryNo":110,"categoryName":111,"taxonomyType":20,"taxonomyTypeDesc":21},[197,203,204,49,205,171,206,207,176,208,209,210,180,211,212,213,38,214,215,216,217,218,219,220,221,222,193],"python","github","product","Video","site","page","repo","command","youtube","indexes","podcast","reddit","reddit post","local","empty","preservation","post","processes","quick","URL",{"skillNo":224,"name":225,"nameZh":6,"description":226,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":227,"categories":228,"keywords":230,"publishedAt":52},"01M6D1NY1R704A6P4G8STE69WQ","refresh-research","Use when user invokes \u002Frefresh-research to re-fetch refreshable research sources, detect meaningful changes, and update synthesis files. Supports specific files, categories, staleness thresholds, backfill of source_type, and audit-only dry runs.","https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fplugins\u002Fresearch\u002Fskills\u002Frefresh-research\u002FSKILL.md",[229],{"categoryNo":110,"categoryName":111,"taxonomyType":20,"taxonomyTypeDesc":21},[197,231,232,203,233,234,179,235,180,152,236,40,237,238,239,240,241,242,243,244,245,31],"refresh","refresh research","update","audit","fetch","Synthesis","type","dry","thresholds","sources","re","categories","source","changes","backfill",{"skillNo":247,"name":248,"nameZh":6,"description":249,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":250,"categories":251,"keywords":257,"publishedAt":52},"01M6D1NT3D8QC9SGC6QWDQFB88","pr-sweep","Use when you want to sweep all open pull requests across all repos, triage their status, run code reviews on unreviewed PRs, merge what's ready, fix quick blockers, and produce a full status report. Trigger when the user says \"check my PRs\", \"close out open PRs\", \"what's the status of my PRs\", \"sweep my PRs\", \"PR sweep\", \"pull request sweep\", or wants a cross-repo PR status report. Future: pairs with the loop skill for ongoing automated PR management.","https:\u002F\u002Fgithub.com\u002Fharnessprotocol\u002Fharness-kit\u002Fblob\u002Fmain\u002Fplugins\u002Fpr-sweep\u002Fskills\u002Fpr-sweep\u002FSKILL.md",[252,255,256],{"categoryNo":253,"categoryName":254,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[145,258,259,260,261,262,263,264,48,265,266,267,268,209,178,269,180,270,271,272,273,274,221,161,189,275,276,31],"sweep","pr sweep","pull requests","merge","repos","status","run","pull","produce","open","loop","fix","ready","across","full","status report","close","request","run code"]