[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KW2TAJW7W0FTC0C1DFHS79":3,"skill-same:01M6KW2TAJW7W0FTC0C1DFHS79":60},{"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":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":14,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M6KW2TAJW7W0FTC0C1DFHS79","agent-management",null,"Creates, updates, and deprecates agent definitions for both Claude Code (.claude\u002Fagents\u002F*.md) and GitHub Copilot\u002FVS Code (.github\u002Fagents\u002F*.agent.md). Invoked exclusively by the agent-manager agent.","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.claude\u002Fskills\u002Fagent-management\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33],"agent management","management","github","github copilot","copilot","code","agent-manager","updates","manager","for","2026-11-10 10:12:30",false,"---\nname: agent-management\ndescription: Creates, updates, and deprecates agent definitions for both Claude Code (.claude\u002Fagents\u002F*.md) and GitHub Copilot\u002FVS Code (.github\u002Fagents\u002F*.agent.md). Invoked exclusively by the agent-manager agent.\n---\n\n# agent-management\n\nYou scaffold and maintain all agent definitions across both platforms. Parse the args to determine the operation mode, then execute the corresponding procedure.\n\n---\n\n## Phase 0 — Context Load (silent)\n\n1. Read `.claude\u002FCLAUDE.md` to internalize project conventions and portability rules.\n2. Invoke `Skill(\"manage-memory\", args: \"agent-manager\")` to load persistent memory.\n3. Glob `.claude\u002Fagents\u002F*.md` and `.github\u002Fagents\u002F*.agent.md` to build the current agent roster.\n\n---\n\n## Mode: list\n\n**Args:** `list`\n\n1. Glob `.claude\u002Fagents\u002F*.md` — collect `name`, `model`, `tools`, and `description` from frontmatter.\n2. Glob `.github\u002Fagents\u002F*.agent.md` — collect `name` from frontmatter.\n3. Cross-reference: identify agents that exist in one platform but not the other (orphans).\n4. Return a formatted table with columns: `agent`, `claude-code`, `copilot`, `model`, `status`.\n\n---\n\n## Mode: create-agent\n\n**Args:** `create-agent \u003Cname>`\n\n1. Validate `\u003Cname>` is kebab-case.\n2. Fail if `.claude\u002Fagents\u002F\u003Cname>.md` already exists.\n3. Collect required inputs:\n   - `model` — default `claude-sonnet-4-6`\n   - `color` — default `cyan`\n   - `tools` — default `Read, Glob, Grep, Skill, TodoWrite`\n   - One-line purpose describing the agent's domain\n   - 2–4 bullet responsibilities\n4. Write `.claude\u002Fagents\u002F\u003Cname>.md` using the **Claude Agent Template** below.\n5. Write `.github\u002Fagents\u002F\u003Cname>.agent.md` using the **Copilot Agent Template** below — apply the **Claude-only Tool Exclusion List** (see Mode: sync-agent) when populating its `tools:` frontmatter.\n6. Create `.claude\u002Fagent-memory\u002F\u003Cname>\u002F` directory:\n\ta. Windows: `mkdir -p \".claude\u002Fagent-memory\u002F\u003Cname>\"`\n\tb. Linux\u002FMac: `mkdir -p \".claude\u002Fagent-memory\u002F\u003Cname>\u002F\"`\n7. Write `.claude\u002Fagent-memory\u002F\u003Cname>\u002FMEMORY.md` using the **Memory Index Template** below.\n8. Confirm: \"Agent '\u003Cname>' created in `.claude\u002Fagents\u002F` and `.github\u002Fagents\u002F`.\"\n\n### Claude Agent Template\n\n```markdown\n---\nname: \"\u003Cname>\"\ndescription: \"\u003Cmulti-line description with at least one \u003Cexample> block>\"\ntools: Read, Glob, Grep, Skill, TodoWrite\nmodel: \u003Cmodel>\ncolor: \u003Ccolor>\nmemory: project\n---\n\nYou are the **\u003CTitle>** agent for the HypermediaEngine project.\n\n## Responsibilities\n\n- [Responsibility 1]\n- [Responsibility 2]\n- [Responsibility 3]\n\n## Skills\n\n### `manage-memory` — invoke at session start and when learning something worth preserving\n\n```\nSkill(\"manage-memory\", args: \"\u003Cname>\")            \u002F\u002F load\nSkill(\"manage-memory\", args: \"save \u003Cname> ...\")   \u002F\u002F save\n```\n\nRecord: [what this agent should remember across sessions]\n\n### `agent-management` — route all agent definition changes through agent-manager\n\nTo create or update an agent definition:\n```\nAgent(\"agent-manager\", prompt: \"create-agent \u003Cname>\")\nAgent(\"agent-manager\", prompt: \"update-agent \u003Cname> \u003Cchange-description>\")\n```\n\n## Protocols\n\n- [Protocol 1]\n- [Protocol 2]\n```\n\n### Copilot Agent Template\n\n```markdown\n---\nname: \"\u003Cname>\"\ndescription: \"\u003Cone-line description for Copilot agent picker>\"\ntools: [read, edit, search, todo]\nuser-invocable: true\n---\nYou are the \u003CTitle> for the HypermediaEngine project.\n\n## Responsibilities\n1. [Responsibility 1]\n2. [Responsibility 2]\n\n## Preferred Skills\n- `\u003Cprimary-skill>`\n- `manage-memory`\n```\n\n### Memory Index Template\n\n```markdown\n# Memory Index\n\n```\n\n---\n\n## Mode: update-agent\n\n**Args:** `update-agent \u003Cname> \u003Cchange-description>`\n\n1. Validate that both `.claude\u002Fagents\u002F\u003Cname>.md` and `.github\u002Fagents\u002F\u003Cname>.agent.md` exist; warn on missing platform file.\n2. Parse `\u003Cchange-description>` to determine what to change (frontmatter field, responsibilities, skills section, protocols, etc.).\n3. Apply changes to `.claude\u002Fagents\u002F\u003Cname>.md` using Edit.\n4. Apply equivalent changes to `.github\u002Fagents\u002F\u003Cname>.agent.md` using Edit.\n5. If the change touches the `tools:` frontmatter, apply the **Claude-only Tool Exclusion List** (see Mode: sync-agent) before writing the Copilot file — never propagate excluded tools.\n6. Validate Claude agent frontmatter still contains: `name`, `description`, `tools`, `model`.\n7. Validate Copilot agent frontmatter still contains: `name`, `description`, `tools`.\n8. Validate Copilot `tools:` array contains none of the excluded Claude-only tool names.\n9. Confirm: \"Agent '\u003Cname>' updated on both platforms.\"\n\n---\n\n## Mode: sync-agent\n\n**Args:** `sync-agent \u003Cname>`\n\nUse when a Claude agent definition exists but the Copilot counterpart is missing or out of date.\n\n1. Read `.claude\u002Fagents\u002F\u003Cname>.md`.\n2. Derive the equivalent `.github\u002Fagents\u002F\u003Cname>.agent.md` content from it using the **Copilot Agent Template**.\n3. **Apply the Claude-only Tool Exclusion List** (see below) when translating the `tools:` frontmatter — strip excluded tools and substitute Copilot-native equivalents where appropriate.\n4. Write or overwrite `.github\u002Fagents\u002F\u003Cname>.agent.md`.\n5. Confirm: \"Agent '\u003Cname>' synced to `.github\u002Fagents\u002F\u003Cname>.agent.md`.\"\n\n### Claude-only Tool Exclusion List (sync, create, update)\n\nWhen projecting the `tools:` array from a Claude agent definition into a Copilot agent file, the following Claude Code-specific built-in tool names MUST be removed. They do not exist in the GitHub Copilot \u002F VS Code custom agent environment, and including them produces an invalid Copilot agent configuration.\n\n**Excluded tools — never copy to `.github\u002Fagents\u002F*.agent.md`:**\n\n- `Bash`\n- `Glob`\n- `Grep`\n- `Read`\n- `TodoWrite`\n- `WebFetch`\n- `WebSearch`\n- `PushNotification`\n- `ToolSearch`\n\n**Tools that are kept or translated:**\n\n- MCP tools (any tool whose name contains `mcp__` or that maps to an MCP server, e.g. `mcp__docker-mcp-gateway__search`, `microsoft_docs_search`) — keep verbatim, they are platform-portable.\n- Skill \u002F Agent invocations — keep verbatim.\n- Translate Claude built-ins to Copilot-native equivalents where there is a 1:1 match (apply during sync only when the Copilot file currently lacks the equivalent):\n   - `Read` → `read`\n   - `Edit` \u002F `Write` → `edit`\n   - `Glob` \u002F `Grep` → `search`\n   - `Bash` → `execute`\n   - `TodoWrite` → `todo`\n   - `Agent` → `agent`\n\n**Procedure for translating `tools:`:**\n\n1. Read the Claude `tools:` array.\n2. For each tool, look it up in the Excluded list — if matched, drop it.\n3. For each remaining tool, look it up in the translation map — if matched, substitute the Copilot-native alias.\n4. Preserve all MCP and Skill\u002FAgent entries verbatim.\n5. Emit the translated array as the Copilot file's `tools:` frontmatter.\n\n---\n\n## Mode: deprecate-agent\n\n**Args:** `deprecate-agent \u003Cname> \u003Creason>`\n\n1. Read `.claude\u002Fagents\u002F\u003Cname>.md`; fail if it does not exist.\n2. Add `status: deprecated` and a `deprecated-reason: \u003Creason>` field to the frontmatter of `.claude\u002Fagents\u002F\u003Cname>.md`.\n3. Add `status: deprecated` to the frontmatter of `.github\u002Fagents\u002F\u003Cname>.agent.md` if it exists.\n4. Do not delete any files.\n5. Confirm: \"Agent '\u003Cname>' deprecated on both platforms.\"\n\n---\n\n## Validation Rules\n\n- Agent files must never be deleted — only deprecated via `status: deprecated` in frontmatter.\n- Claude agent files (`.claude\u002Fagents\u002F*.md`) must have: `name`, `description`, `tools`, `model`.\n- Copilot agent files (`.github\u002Fagents\u002F*.agent.md`) must have: `name`, `description`, `tools`.\n- Copilot agent `tools:` arrays MUST NOT contain any of the Claude-only excluded tools: `Bash`, `Glob`, `Grep`, `Read`, `TodoWrite`, `WebFetch`, `WebSearch`, `PushNotification`, `ToolSearch`. Reject the write if any are present.\n- Every Claude agent must have a matching Copilot agent of the same name — warn when they are out of sync.\n- Agent names must be kebab-case and match across both platform files.\n- Never read or modify `.env` files or sensitive configuration.\n","# agent-management\n\nYou scaffold and maintain all agent definitions across both platforms. Parse the args to determine the operation mode, then execute the corresponding procedure.\n\n---\n\n## Phase 0 — Context Load (silent)\n\n1. Read `.claude\u002FCLAUDE.md` to internalize project conventions and portability rules.\n2. Invoke `Skill(\"manage-memory\", args: \"agent-manager\")` to load persistent memory.\n3. Glob `.claude\u002Fagents\u002F*.md` and `.github\u002Fagents\u002F*.agent.md` to build the current agent roster.\n\n---\n\n## Mode: list\n\n**Args:** `list`\n\n1. Glob `.claude\u002Fagents\u002F*.md` — collect `name`, `model`, `tools`, and `description` from frontmatter.\n2. Glob `.github\u002Fagents\u002F*.agent.md` — collect `name` from frontmatter.\n3. Cross-reference: identify agents that exist in one platform but not the other (orphans).\n4. Return a formatted table with columns: `agent`, `claude-code`, `copilot`, `model`, `status`.\n\n---\n\n## Mode: create-agent\n\n**Args:** `create-agent \u003Cname>`\n\n1. Validate `\u003Cname>` is kebab-case.\n2. Fail if `.claude\u002Fagents\u002F\u003Cname>.md` already exists.\n3. Collect required inputs:\n   - `model` — default `claude-sonnet-4-6`\n   - `color` — default `cyan`\n   - `tools` — default `Read, Glob, Grep, Skill, TodoWrite`\n   - One-line purpose describing the agent's domain\n   - 2–4 bullet responsibilities\n4. Write `.claude\u002Fagents\u002F\u003Cname>.md` using the **Claude Agent Template** below.\n5. Write `.github\u002Fagents\u002F\u003Cname>.agent.md` using the **Copilot Agent Template** below — apply the **Claude-only Tool Exclusion List** (see Mode: sync-agent) when populating its `tools:` frontmatter.\n6. Create `.claude\u002Fagent-memory\u002F\u003Cname>\u002F` directory:\n\ta. Windows: `mkdir -p \".claude\u002Fagent-memory\u002F\u003Cname>\"`\n\tb. Linux\u002FMac: `mkdir -p \".claude\u002Fagent-memory\u002F\u003Cname>\u002F\"`\n7. Write `.claude\u002Fagent-memory\u002F\u003Cname>\u002FMEMORY.md` using the **Memory Index Template** below.\n8. Confirm: \"Agent '\u003Cname>' created in `.claude\u002Fagents\u002F` and `.github\u002Fagents\u002F`.\"\n\n### Claude Agent Template\n\n```markdown\n---\nname: \"\u003Cname>\"\ndescription: \"\u003Cmulti-line description with at least one \u003Cexample> block>\"\ntools: Read, Glob, Grep, Skill, TodoWrite\nmodel: \u003Cmodel>\ncolor: \u003Ccolor>\nmemory: project\n---\n\nYou are the **\u003CTitle>** agent for the HypermediaEngine project.\n\n## Responsibilities\n\n- [Responsibility 1]\n- [Responsibility 2]\n- [Responsibility 3]\n\n## Skills\n\n### `manage-memory` — invoke at session start and when learning something worth preserving\n\n```\nSkill(\"manage-memory\", args: \"\u003Cname>\")            \u002F\u002F load\nSkill(\"manage-memory\", args: \"save \u003Cname> ...\")   \u002F\u002F save\n```\n\nRecord: [what this agent should remember across sessions]\n\n### `agent-management` — route all agent definition changes through agent-manager\n\nTo create or update an agent definition:\n```\nAgent(\"agent-manager\", prompt: \"create-agent \u003Cname>\")\nAgent(\"agent-manager\", prompt: \"update-agent \u003Cname> \u003Cchange-description>\")\n```\n\n## Protocols\n\n- [Protocol 1]\n- [Protocol 2]\n```\n\n### Copilot Agent Template\n\n```markdown\n---\nname: \"\u003Cname>\"\ndescription: \"\u003Cone-line description for Copilot agent picker>\"\ntools: [read, edit, search, todo]\nuser-invocable: true\n---\nYou are the \u003CTitle> for the HypermediaEngine project.\n\n## Responsibilities\n1. [Responsibility 1]\n2. [Responsibility 2]\n\n## Preferred Skills\n- `\u003Cprimary-skill>`\n- `manage-memory`\n```\n\n### Memory Index Template\n\n```markdown\n# Memory Index\n\n```\n\n---\n\n## Mode: update-agent\n\n**Args:** `update-agent \u003Cname> \u003Cchange-description>`\n\n1. Validate that both `.claude\u002Fagents\u002F\u003Cname>.md` and `.github\u002Fagents\u002F\u003Cname>.agent.md` exist; warn on missing platform file.\n2. Parse `\u003Cchange-description>` to determine what to change (frontmatter field, responsibilities, skills section, protocols, etc.).\n3. Apply changes to `.claude\u002Fagents\u002F\u003Cname>.md` using Edit.\n4. Apply equivalent changes to `.github\u002Fagents\u002F\u003Cname>.agent.md` using Edit.\n5. If the change touches the `tools:` frontmatter, apply the **Claude-only Tool Exclusion List** (see Mode: sync-agent) before writing the Copilot file — never propagate excluded tools.\n6. Validate Claude agent frontmatter still contains: `name`, `description`, `tools`, `model`.\n7. Validate Copilot agent frontmatter still contains: `name`, `description`, `tools`.\n8. Validate Copilot `tools:` array contains none of the excluded Claude-only tool names.\n9. Confirm: \"Agent '\u003Cname>' updated on both platforms.\"\n\n---\n\n## Mode: sync-agent\n\n**Args:** `sync-agent \u003Cname>`\n\nUse when a Claude agent definition exists but the Copilot counterpart is missing or out of date.\n\n1. Read `.claude\u002Fagents\u002F\u003Cname>.md`.\n2. Derive the equivalent `.github\u002Fagents\u002F\u003Cname>.agent.md` content from it using the **Copilot Agent Template**.\n3. **Apply the Claude-only Tool Exclusion List** (see below) when translating the `tools:` frontmatter — strip excluded tools and substitute Copilot-native equivalents where appropriate.\n4. Write or overwrite `.github\u002Fagents\u002F\u003Cname>.agent.md`.\n5. Confirm: \"Agent '\u003Cname>' synced to `.github\u002Fagents\u002F\u003Cname>.agent.md`.\"\n\n### Claude-only Tool Exclusion List (sync, create, update)\n\nWhen projecting the `tools:` array from a Claude agent definition into a Copilot agent file, the following Claude Code-specific built-in tool names MUST be removed. They do not exist in the GitHub Copilot \u002F VS Code custom agent environment, and including them produces an invalid Copilot agent configuration.\n\n**Excluded tools — never copy to `.github\u002Fagents\u002F*.agent.md`:**\n\n- `Bash`\n- `Glob`\n- `Grep`\n- `Read`\n- `TodoWrite`\n- `WebFetch`\n- `WebSearch`\n- `PushNotification`\n- `ToolSearch`\n\n**Tools that are kept or translated:**\n\n- MCP tools (any tool whose name contains `mcp__` or that maps to an MCP server, e.g. `mcp__docker-mcp-gateway__search`, `microsoft_docs_search`) — keep verbatim, they are platform-portable.\n- Skill \u002F Agent invocations — keep verbatim.\n- Translate Claude built-ins to Copilot-native equivalents where there is a 1:1 match (apply during sync only when the Copilot file currently lacks the equivalent):\n   - `Read` → `read`\n   - `Edit` \u002F `Write` → `edit`\n   - `Glob` \u002F `Grep` → `search`\n   - `Bash` → `execute`\n   - `TodoWrite` → `todo`\n   - `Agent` → `agent`\n\n**Procedure for translating `tools:`:**\n\n1. Read the Claude `tools:` array.\n2. For each tool, look it up in the Excluded list — if matched, drop it.\n3. For each remaining tool, look it up in the translation map — if matched, substitute the Copilot-native alias.\n4. Preserve all MCP and Skill\u002FAgent entries verbatim.\n5. Emit the translated array as the Copilot file's `tools:` frontmatter.\n\n---\n\n## Mode: deprecate-agent\n\n**Args:** `deprecate-agent \u003Cname> \u003Creason>`\n\n1. Read `.claude\u002Fagents\u002F\u003Cname>.md`; fail if it does not exist.\n2. Add `status: deprecated` and a `deprecated-reason: \u003Creason>` field to the frontmatter of `.claude\u002Fagents\u002F\u003Cname>.md`.\n3. Add `status: deprecated` to the frontmatter of `.github\u002Fagents\u002F\u003Cname>.agent.md` if it exists.\n4. Do not delete any files.\n5. Confirm: \"Agent '\u003Cname>' deprecated on both platforms.\"\n\n---\n\n## Validation Rules\n\n- Agent files must never be deleted — only deprecated via `status: deprecated` in frontmatter.\n- Claude agent files (`.claude\u002Fagents\u002F*.md`) must have: `name`, `description`, `tools`, `model`.\n- Copilot agent files (`.github\u002Fagents\u002F*.agent.md`) must have: `name`, `description`, `tools`.\n- Copilot agent `tools:` arrays MUST NOT contain any of the Claude-only excluded tools: `Bash`, `Glob`, `Grep`, `Read`, `TodoWrite`, `WebFetch`, `WebSearch`, `PushNotification`, `ToolSearch`. Reject the write if any are present.\n- Every Claude agent must have a matching Copilot agent of the same name — warn when they are out of sync.\n- Agent names must be kebab-case and match across both platform files.\n- Never read or modify `.env` files or sensitive configuration.\n",{"name":5,"description":7},"main","00b2c68281930728ee390bb16cec32b88d2caac7",".claude\u002Fskills\u002Fagent-management","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":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add rafsanulhasan\u002FHypermediaEngine --skill agent-management",{"tool":52,"command":53},"bunx","bunx skills add rafsanulhasan\u002FHypermediaEngine --skill agent-management",{"tool":55,"command":56},"pnpm","pnpm dlx skills add rafsanulhasan\u002FHypermediaEngine --skill agent-management","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fagent-management\u002FSKILL.md",true,[],[61,90,109,128,157,178],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":70,"publishedAt":34},"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",[67],{"categoryNo":68,"categoryName":69,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,33],"write tests","write","tests","testing","design","test","project conventions","test plan","Bash","plan","quality","xunit","read","edit","coverage","engineer","mutation testing","project","mutation",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":34},"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",[],[97,72,98,99,100,101,102,79,103,104,105,106,83,84,107,88,73,31,108,33],"documentation","write documentation","writing","directory","workflow","architecture","src","repo","decisions","README","files","at",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":34},"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",[],[116,72,117,75,118,102,119,120,121,122,105,83,123,124,88,125,126,33,127],"adr","write adr","docs","architect","decision","choice","grep","architecture decision record","record","software","opus","architecture decision",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":140,"publishedAt":34},"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",[134,135],{"categoryNo":68,"categoryName":69,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":136,"categoryName":137,"taxonomyType":138,"taxonomyTypeDesc":139},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[74,141,142,143,144,145,146,99,147,148,149,150,151,152,153,154,73,155,156,33],"playwright","ui","playwright ui testing","ui testing","tunit","tunit playwright ui testing","official","dev","examples","ci","lifecycle","model","page","inheritance","end","object",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":34},"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",[163],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[159,165,166,167,168,169,170,171,172,173,174,175,176,177],"routing","classification","work","user","dependency","task","priorities","decomposition","user request","mapping","with","break","request",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":188,"publishedAt":34},"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",[184,187],{"categoryNo":185,"categoryName":186,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":136,"categoryName":137,"taxonomyType":138,"taxonomyTypeDesc":139},[75,189,190,191,192,193,194,122,83,195,196,197,198,199,200,125,201,202,175,203],"system","system design","web","design systems","learning","haiku","use","design patterns","design principles","expert","patterns","systems","architectures","principles","implementing"]