[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KWCWZ73VVEHM7QSCVFM2WP":3,"skill-same:01M6KWCWZ73VVEHM7QSCVFM2WP":69},{"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":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":14,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6KWCWZ73VVEHM7QSCVFM2WP","research",null,"Structured external-knowledge and codebase-exploration research skill for HypermediaEngine. Invoked by the research-assistant agent to clarify the question, select authoritative sources (context7 for library docs, web search\u002Ffetch for general information, Grep\u002FGlob\u002FRead for codebase exploration), triangulate findings, and produce a cited findings report with confidence assessment.","rafsanulhasan\u002FHypermediaEngine","rafsanulhasan","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2341142?v=4","01M6KW2HWPTZWK051N7B0HTBVG","Rafsanul Hasan","01M6KW2J0N3613382MF5DRN79H",0,"GPL-3.0","https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fresearch\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"question","for","with","information","sources","exploration","context7","general","fetch","read","clarify","select","web search","knowledge","search","produce","report","assessment","web","2026-11-10 10:12:30",false,"---\nname: research\ndescription: \"Structured external-knowledge and codebase-exploration research skill for HypermediaEngine. Invoked by the research-assistant agent to clarify the question, select authoritative sources (context7 for library docs, web search\u002Ffetch for general information, Grep\u002FGlob\u002FRead for codebase exploration), triangulate findings, and produce a cited findings report with confidence assessment.\"\n---\n\n# research\n\nYou are executing the `research` skill on behalf of the `research-assistant` agent. Your job is to take a research question and produce a structured, cited findings report ready to hand back to the requesting agent.\n\n## Input\n\nThe calling agent passes the research question and any scope\u002Ftime-sensitivity hints as `args`.\n\n## Process\n\n### Step 1 — Clarify the research question\n\nBefore searching, pin down:\n\n- **Scope** — what is in and out. Is this about one library, multiple options, a specification, or codebase behavior?\n- **Depth** — quick answer, comparison, or deep dive?\n- **Time sensitivity** — does the answer depend on the *current* version of a library or recent changes? If yes, prefer authoritative live sources over training-data recall.\n\nIf the question is materially ambiguous, return a single targeted clarifying question to the caller before continuing. Do not guess scope.\n\n### Step 2 — Choose sources\n\nPick sources by the type of question. Use multiple categories when appropriate.\n\n| Question type | Primary tool | Notes |\n|---|---|---|\n| Library \u002F framework \u002F SDK \u002F API \u002F CLI docs | `mcp__plugin_context7_context7__resolve-library-id` then `mcp__plugin_context7_context7__query-docs` | Always prefer context7 over web search — even for well-known libraries. Training data may be stale. |\n| General \u002F current information | `WebSearch` then `WebFetch` on the most authoritative hit | Use the smallest number of fetches that proves the claim. |\n| Specific known URL | `mcp__docker-mcp-gateway__fetch` or `mcp__docker-mcp-gateway__fetch_content`, optionally `mcp__docker-mcp-gateway__convert_to_markdown` | Use when the caller hands you a URL. |\n| Standards \u002F RFCs \u002F specifications | `WebSearch` for the canonical URL, then `WebFetch` | Cite the spec URL with the section\u002Fanchor when possible. |\n| Codebase exploration | `Glob`, `Grep`, `Read` | Build a list of evidence files. Quote the relevant lines. |\n\nRules:\n\n- For any library\u002Fframework\u002FSDK\u002FAPI\u002FCLI question, run `resolve-library-id` first to confirm the canonical context7 identifier, then `query-docs` with the specific topic. Do not skip resolve-library-id even if you \"know\" the ID.\n- Never fabricate URLs. Only cite URLs you have actually fetched or that came from a search result.\n- For codebase exploration, prefer Grep over reading every file. Read in full only when context demands it.\n\n### Step 3 — Triangulate\n\nFor any non-trivial claim, find **at least two independent sources** that agree. If sources disagree:\n\n- Record the disagreement explicitly in the Findings section.\n- Prefer the most authoritative source (official docs > vendor blog > third-party tutorial).\n- Flag the conflict in the Confidence section.\n\nFor codebase claims, the code itself is one source; a documented decision (ADR, comment, README) is the second.\n\n### Step 4 — Synthesize the structured report\n\nProduce a Markdown report with this exact section order:\n\n```\n# Research Findings: \u003Cshort title>\n\n## Question\n\u003Cthe precise question, with scope and time-sensitivity captured>\n\n## Method\n\u003Csources consulted, queries issued, library IDs resolved, files inspected>\n\n## Findings\n\u003Cthe synthesized answer, with inline citations like [1], [2] tied to the Sources list>\n\n## Sources\n1. \u003CURL or library:identifier or absolute file path> — \u003Cone-line description>\n2. ...\n\n## Confidence\n\u003CHigh | Medium | Low> — \u003Cone-sentence justification; note any stale, conflicting, or single-source claims>\n\n## Open Questions\n\u003Canything outside scope, unresolved, or that the caller should follow up on>\n```\n\nRules for the report:\n\n- Every external claim must cite at least one numbered source.\n- Quote code or doc snippets when the exact text is load-bearing; otherwise paraphrase.\n- Confidence is **Low** if only one source was found for a non-trivial claim, or if any source is older than the library's current major version.\n- Never write the report to a file — return it as the skill's text output.\n\n### Step 5 — Persist learnings\n\nAfter the report is produced, save high-signal learnings via `manage-memory` under the `research-assistant` namespace. Worth saving:\n\n- A library's canonical context7 ID and a one-line summary of what it covers.\n- A version pin or API quirk you discovered for a library the project depends on.\n- A source that proved authoritative (or one that proved misleading — record as a reference to avoid).\n- A recurring topic so future research can build on this report rather than redo it.\n\nNot worth saving: the verbatim report, ephemeral facts, anything already in CLAUDE.md or the codebase.\n\n```\nSkill(\"manage-memory\", args: \"save research-assistant\\ntype: reference\\nname: \u003Ctopic>\\ndescription: \u003Cone-line>\\n\\n\u003Cbody>\")\n```\n\n## Output\n\nReturn the structured findings report to the calling agent. The caller reads your text output — do not write to files.\n","# research\n\nYou are executing the `research` skill on behalf of the `research-assistant` agent. Your job is to take a research question and produce a structured, cited findings report ready to hand back to the requesting agent.\n\n## Input\n\nThe calling agent passes the research question and any scope\u002Ftime-sensitivity hints as `args`.\n\n## Process\n\n### Step 1 — Clarify the research question\n\nBefore searching, pin down:\n\n- **Scope** — what is in and out. Is this about one library, multiple options, a specification, or codebase behavior?\n- **Depth** — quick answer, comparison, or deep dive?\n- **Time sensitivity** — does the answer depend on the *current* version of a library or recent changes? If yes, prefer authoritative live sources over training-data recall.\n\nIf the question is materially ambiguous, return a single targeted clarifying question to the caller before continuing. Do not guess scope.\n\n### Step 2 — Choose sources\n\nPick sources by the type of question. Use multiple categories when appropriate.\n\n| Question type | Primary tool | Notes |\n|---|---|---|\n| Library \u002F framework \u002F SDK \u002F API \u002F CLI docs | `mcp__plugin_context7_context7__resolve-library-id` then `mcp__plugin_context7_context7__query-docs` | Always prefer context7 over web search — even for well-known libraries. Training data may be stale. |\n| General \u002F current information | `WebSearch` then `WebFetch` on the most authoritative hit | Use the smallest number of fetches that proves the claim. |\n| Specific known URL | `mcp__docker-mcp-gateway__fetch` or `mcp__docker-mcp-gateway__fetch_content`, optionally `mcp__docker-mcp-gateway__convert_to_markdown` | Use when the caller hands you a URL. |\n| Standards \u002F RFCs \u002F specifications | `WebSearch` for the canonical URL, then `WebFetch` | Cite the spec URL with the section\u002Fanchor when possible. |\n| Codebase exploration | `Glob`, `Grep`, `Read` | Build a list of evidence files. Quote the relevant lines. |\n\nRules:\n\n- For any library\u002Fframework\u002FSDK\u002FAPI\u002FCLI question, run `resolve-library-id` first to confirm the canonical context7 identifier, then `query-docs` with the specific topic. Do not skip resolve-library-id even if you \"know\" the ID.\n- Never fabricate URLs. Only cite URLs you have actually fetched or that came from a search result.\n- For codebase exploration, prefer Grep over reading every file. Read in full only when context demands it.\n\n### Step 3 — Triangulate\n\nFor any non-trivial claim, find **at least two independent sources** that agree. If sources disagree:\n\n- Record the disagreement explicitly in the Findings section.\n- Prefer the most authoritative source (official docs > vendor blog > third-party tutorial).\n- Flag the conflict in the Confidence section.\n\nFor codebase claims, the code itself is one source; a documented decision (ADR, comment, README) is the second.\n\n### Step 4 — Synthesize the structured report\n\nProduce a Markdown report with this exact section order:\n\n```\n# Research Findings: \u003Cshort title>\n\n## Question\n\u003Cthe precise question, with scope and time-sensitivity captured>\n\n## Method\n\u003Csources consulted, queries issued, library IDs resolved, files inspected>\n\n## Findings\n\u003Cthe synthesized answer, with inline citations like [1], [2] tied to the Sources list>\n\n## Sources\n1. \u003CURL or library:identifier or absolute file path> — \u003Cone-line description>\n2. ...\n\n## Confidence\n\u003CHigh | Medium | Low> — \u003Cone-sentence justification; note any stale, conflicting, or single-source claims>\n\n## Open Questions\n\u003Canything outside scope, unresolved, or that the caller should follow up on>\n```\n\nRules for the report:\n\n- Every external claim must cite at least one numbered source.\n- Quote code or doc snippets when the exact text is load-bearing; otherwise paraphrase.\n- Confidence is **Low** if only one source was found for a non-trivial claim, or if any source is older than the library's current major version.\n- Never write the report to a file — return it as the skill's text output.\n\n### Step 5 — Persist learnings\n\nAfter the report is produced, save high-signal learnings via `manage-memory` under the `research-assistant` namespace. Worth saving:\n\n- A library's canonical context7 ID and a one-line summary of what it covers.\n- A version pin or API quirk you discovered for a library the project depends on.\n- A source that proved authoritative (or one that proved misleading — record as a reference to avoid).\n- A recurring topic so future research can build on this report rather than redo it.\n\nNot worth saving: the verbatim report, ephemeral facts, anything already in CLAUDE.md or the codebase.\n\n```\nSkill(\"manage-memory\", args: \"save research-assistant\\ntype: reference\\nname: \u003Ctopic>\\ndescription: \u003Cone-line>\\n\\n\u003Cbody>\")\n```\n\n## Output\n\nReturn the structured findings report to the calling agent. The caller reads your text output — do not write to files.\n",{"name":5,"description":7},"main","00b2c68281930728ee390bb16cec32b88d2caac7",".github\u002Fskills\u002Fresearch","https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine","https:\u002F\u002Fgithub.com\u002Frafsanulhasan","\r\n    MCSD || A-CSD || Software Architect\r\n\r\n","2026-06-06 07:47:06",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add rafsanulhasan\u002FHypermediaEngine --skill research",{"tool":61,"command":62},"bunx","bunx skills add rafsanulhasan\u002FHypermediaEngine --skill research",{"tool":64,"command":65},"pnpm","pnpm dlx skills add rafsanulhasan\u002FHypermediaEngine --skill research","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fresearch\u002FSKILL.md",true,[],[70,98,118,137,166,188],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":79,"publishedAt":43},"01M6KWEJD606FG3DBBRM0W4DKW","write-tests","Test implementation skill for HypermediaEngine. Takes a confirmed test plan from design-test-cases and produces compilable, runnable xUnit tests following project conventions. Validates coverage quality through mutation testing. Invoked by the sqa-engineer agent after the test plan is approved.","https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fwrite-tests\u002FSKILL.md",[76],{"categoryNo":77,"categoryName":78,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[80,81,82,83,84,85,86,87,88,89,90,91,33,92,93,94,95,96,97,25],"write tests","write","tests","testing","design","test","project conventions","test plan","Bash","plan","quality","xunit","edit","coverage","engineer","mutation testing","project","mutation",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":43},"01M6KWEF2XQ00C1Y6QCK7YHZ1H","write-documentation","Structured documentation writing workflow for HypermediaEngine. Writes or updates README.md files at the repo root and in each project directory (src\u002F, tests\u002F, samples\u002F, etc.) based on current implementation, ADRs, and architecture decisions.","https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fwrite-documentation\u002FSKILL.md",[],[105,81,106,107,108,109,110,88,111,112,113,114,33,92,115,96,82,116,117,25],"documentation","write documentation","writing","directory","workflow","architecture","src","repo","decisions","README","files","updates","at",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":43},"01M6KWEBDXTXAVPQ3BHS3YYYNT","write-adr","Writes a numbered Architecture Decision Record (ADR) for a significant architectural choice in the HypermediaEngine project. Invoked by the software-architect agent whenever a consequential design decision is made or ratified. Saves the ADR to docs\u002Farchitecture\u002Fdecisions\u002F.","https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fwrite-adr\u002FSKILL.md",[],[125,81,126,84,127,110,128,129,130,131,113,33,132,133,96,134,135,25,136],"adr","write adr","docs","architect","decision","choice","grep","architecture decision record","record","software","opus","architecture decision",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":149,"publishedAt":43},"01M6KWE76TM3QHGQ08PEB3KY6D","tunit-playwright-ui-testing","Comprehensive guidance for writing coded end-to-end UI tests in C# using TUnit.Playwright. Tests inherit from PageTest — the base class manages all browser lifecycle. Covers NuGet setup, PageTest inheritance, Page Object Model, browser configuration, parallelism limiting, and CI integration. Based on the official TUnit docs at https:\u002F\u002Ftunit.dev\u002Fdocs\u002Fexamples\u002Fplaywright.","https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ftunit-playwright-ui-testing\u002FSKILL.md",[143,144],{"categoryNo":77,"categoryName":78,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":145,"categoryName":146,"taxonomyType":147,"taxonomyTypeDesc":148},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[83,150,151,152,153,154,155,107,156,157,158,159,160,161,162,163,82,164,165,25],"playwright","ui","playwright ui testing","ui testing","tunit","tunit playwright ui testing","official","dev","examples","ci","lifecycle","model","page","inheritance","end","object",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":175,"publishedAt":43},"01M6KWE44A738GDK65QS02XJBG","triage","Task classification, decomposition, dependency mapping, and routing skill. Invoked by the triage-agent to break any user request into discrete, independently-routable work items with assigned priorities and agent chains.","https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ftriage\u002FSKILL.md",[172],{"categoryNo":173,"categoryName":174,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[168,176,177,178,179,180,181,182,183,184,185,26,186,187],"routing","classification","work","user","dependency","task","priorities","decomposition","user request","mapping","break","request",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":198,"publishedAt":43},"01M6KWDZ3W9ZKPR7FTTTSX8H2K","system-design","Expert system design skill. Use PROACTIVELY to design systems, review architectures, and assist software engineers in learning design principles and implementing them in the code with design patterns.","https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fsystem-design\u002FSKILL.md",[194,197],{"categoryNo":195,"categoryName":196,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":145,"categoryName":146,"taxonomyType":147,"taxonomyTypeDesc":148},[84,199,200,42,201,202,203,131,33,204,205,206,207,208,209,134,210,211,26,212],"system","system design","design systems","learning","haiku","use","design patterns","design principles","expert","patterns","systems","architectures","principles","implementing"]