[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KW31TSXVYMY6D77EHPP2GD":3,"skill-same:01M6KW31TSXVYMY6D77EHPP2GD":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},"01M6KW31TSXVYMY6D77EHPP2GD","agent-sync",null,"Detects and resolves platform drift between .claude\u002Fagents\u002F*.md (Claude Code) and .github\u002Fagents\u002F*.agent.md (Copilot\u002FVS Code). Produces a drift report and applies corrective edits. 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-sync\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33],"sync","agent sync","github","copilot","code","report","agent-manager","drift","platform","manager","2026-11-10 10:12:30",false,"---\nname: agent-sync\ndescription: Detects and resolves platform drift between .claude\u002Fagents\u002F*.md (Claude Code) and .github\u002Fagents\u002F*.agent.md (Copilot\u002FVS Code). Produces a drift report and applies corrective edits. Invoked exclusively by the agent-manager agent.\n---\n\n# Agent Sync\n\nUse this skill when agent definitions on Claude Code and GitHub Copilot\u002FVS Code have drifted apart, when a new agent was added to one platform but not the other, or when a full roster audit is needed. 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` and `AGENTS.md` to internalize project conventions, portability rules, and the tool exclusion list.\n2. Invoke `Skill(\"manage-memory\", args: \"agent-manager\")` to load persistent memory (prior sync decisions, known exclusions, naming conventions).\n3. Glob `.claude\u002Fagents\u002F*.md` and `.github\u002Fagents\u002F*.agent.md` to build the current agent roster index.\n\n---\n\n## Mode: audit\n\n**Args:** `audit`\n\nScan all agents on both platforms and produce a drift report.\n\n1. Glob `.claude\u002Fagents\u002F*.md` — for each file, read frontmatter and extract: `name`, `model`, `tools`, `description` (first 120 chars), `status`.\n2. Glob `.github\u002Fagents\u002F*.agent.md` — for each file, read frontmatter and extract: `name`, `tools`, `status`.\n3. Build a cross-reference map keyed on agent `name`.\n4. Classify each entry:\n   - **present-both** — exists in both `.claude\u002Fagents\u002F` and `.github\u002Fagents\u002F`\n   - **claude-only** — exists in `.claude\u002Fagents\u002F` but has no matching `.github\u002Fagents\u002F\u003Cname>.agent.md`\n   - **copilot-only** — exists in `.github\u002Fagents\u002F` but has no matching `.claude\u002Fagents\u002F\u003Cname>.md`\n   - **drifted** — exists on both platforms but `tools:`, `description`, or `status` differ\n5. For each **drifted** agent, enumerate the specific field-level differences:\n   - Tools present in Claude but missing from Copilot (excluding the Claude-only tool exclusion list — those are expected to be absent)\n   - Tools present in Copilot but not sourced from Claude\n   - Description mismatch (first 120 chars differ)\n   - `status` field mismatch\n6. Output a structured drift report:\n\n```\n## Agent Drift Report\n\n| Agent | Claude | Copilot | Status | Drift |\n|-------|--------|---------|--------|-------|\n| \u003Cname> | ✅ | ✅ | active | tools differ |\n| \u003Cname> | ✅ | ❌ | — | missing on Copilot |\n| \u003Cname> | ❌ | ✅ | — | missing on Claude |\n```\n\n7. Summarise counts: total agents, fully in sync, drifted, orphans.\n\n---\n\n## Mode: sync\n\n**Args:** `sync \u003Cname>`\n\nSync a single named agent from the Claude definition → Copilot, applying all tool exclusion rules.\n\n1. Read `.claude\u002Fagents\u002F\u003Cname>.md`; fail with a clear error if it does not exist.\n2. Read `.github\u002Fagents\u002F\u003Cname>.agent.md` if it exists (to preserve any Copilot-specific additions not in Claude).\n3. Extract from the Claude frontmatter: `name`, `description`, `tools`, `model`, `color`, `status`, any extra fields.\n4. Apply the **Claude-only Tool Exclusion List** to the `tools:` array:\n   - Remove: `Bash`, `Glob`, `Grep`, `Read`, `TodoWrite`, `WebFetch`, `WebSearch`, `PushNotification`, `ToolSearch`\n   - Translate retained Claude tools to Copilot-native equivalents:\n     - `Read` → `read` (if not already excluded)\n     - `Edit` \u002F `Write` → `edit`\n     - `Glob` \u002F `Grep` → `search`\n     - `Bash` → `execute`\n     - `TodoWrite` → `todo`\n     - `Agent` → `agent`\n   - Preserve MCP tools verbatim (names containing `mcp__` or mapping to an MCP server)\n5. Copy the body (non-frontmatter content) verbatim from the Claude file.\n6. Write `.github\u002Fagents\u002F\u003Cname>.agent.md` with the translated frontmatter and copied body.\n7. Confirm: \"Agent `\u003Cname>` synced to `.github\u002Fagents\u002F\u003Cname>.agent.md`.\"\n\n---\n\n## Mode: sync-all\n\n**Args:** `sync-all`\n\nRun `sync \u003Cname>` for every agent currently in the Claude roster.\n\n1. Glob `.claude\u002Fagents\u002F*.md` — collect all agent names.\n2. Filter out agents with `status: deprecated` in frontmatter (skip deprecated agents, report them separately).\n3. For each remaining agent name, execute **Mode: sync** in sequence.\n4. Produce a summary: agents synced, agents skipped (deprecated), any errors encountered.\n\n---\n\n## Mode: diff\n\n**Args:** `diff \u003Cname>`\n\nShow a structured diff between the Claude and Copilot versions of a single agent.\n\n1. Read `.claude\u002Fagents\u002F\u003Cname>.md`; fail if it does not exist.\n2. Read `.github\u002Fagents\u002F\u003Cname>.agent.md`; fail if it does not exist.\n3. Compare frontmatter field by field:\n   - `name` — must be identical\n   - `description` — show first 120 chars of each; flag if different\n   - `tools` — list tools in Claude but not Copilot, tools in Copilot but not Claude (ignoring expected exclusions)\n   - `model` — show both values\n   - `status` — show both values\n4. Compare body sections: identify headings present in one file but absent from the other.\n5. Output:\n\n```\n## Agent Diff: \u003Cname>\n\n### Frontmatter\n| Field | Claude | Copilot |\n|-------|--------|---------|\n| name | \u003Cval> | \u003Cval> |\n| description | \u003Cfirst 120 chars> | \u003Cfirst 120 chars> |\n| tools (extra in Claude) | Bash, Glob | (excluded — expected) |\n| tools (extra in Copilot) | execute | (translated from Bash — ok) |\n| model | \u003Cval> | \u003Cval> |\n| status | \u003Cval> | \u003Cval> |\n\n### Body Sections\n| Section heading | Claude | Copilot |\n|-----------------|--------|---------|\n| ## Responsibilities | ✅ | ✅ |\n| ## Skills | ✅ | ❌ |\n```\n\n6. Conclude with: **In sync** \u002F **Drifted — run `sync \u003Cname>` to resolve**.\n\n---\n\n## Validation Rules\n\n- The Claude-only Tool Exclusion List is always applied during sync — never copy `Bash`, `Glob`, `Grep`, `Read`, `TodoWrite`, `WebFetch`, `WebSearch`, `PushNotification`, or `ToolSearch` to `.github\u002Fagents\u002F`.\n- Agent names must be kebab-case and identical on both platforms.\n- Never delete any agent file — `sync-all` only creates or overwrites the Copilot counterpart.\n- Deprecated agents are skipped during `sync-all` but reported.\n- Never read or modify `.env` files or sensitive configuration.\n","# Agent Sync\n\nUse this skill when agent definitions on Claude Code and GitHub Copilot\u002FVS Code have drifted apart, when a new agent was added to one platform but not the other, or when a full roster audit is needed. 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` and `AGENTS.md` to internalize project conventions, portability rules, and the tool exclusion list.\n2. Invoke `Skill(\"manage-memory\", args: \"agent-manager\")` to load persistent memory (prior sync decisions, known exclusions, naming conventions).\n3. Glob `.claude\u002Fagents\u002F*.md` and `.github\u002Fagents\u002F*.agent.md` to build the current agent roster index.\n\n---\n\n## Mode: audit\n\n**Args:** `audit`\n\nScan all agents on both platforms and produce a drift report.\n\n1. Glob `.claude\u002Fagents\u002F*.md` — for each file, read frontmatter and extract: `name`, `model`, `tools`, `description` (first 120 chars), `status`.\n2. Glob `.github\u002Fagents\u002F*.agent.md` — for each file, read frontmatter and extract: `name`, `tools`, `status`.\n3. Build a cross-reference map keyed on agent `name`.\n4. Classify each entry:\n   - **present-both** — exists in both `.claude\u002Fagents\u002F` and `.github\u002Fagents\u002F`\n   - **claude-only** — exists in `.claude\u002Fagents\u002F` but has no matching `.github\u002Fagents\u002F\u003Cname>.agent.md`\n   - **copilot-only** — exists in `.github\u002Fagents\u002F` but has no matching `.claude\u002Fagents\u002F\u003Cname>.md`\n   - **drifted** — exists on both platforms but `tools:`, `description`, or `status` differ\n5. For each **drifted** agent, enumerate the specific field-level differences:\n   - Tools present in Claude but missing from Copilot (excluding the Claude-only tool exclusion list — those are expected to be absent)\n   - Tools present in Copilot but not sourced from Claude\n   - Description mismatch (first 120 chars differ)\n   - `status` field mismatch\n6. Output a structured drift report:\n\n```\n## Agent Drift Report\n\n| Agent | Claude | Copilot | Status | Drift |\n|-------|--------|---------|--------|-------|\n| \u003Cname> | ✅ | ✅ | active | tools differ |\n| \u003Cname> | ✅ | ❌ | — | missing on Copilot |\n| \u003Cname> | ❌ | ✅ | — | missing on Claude |\n```\n\n7. Summarise counts: total agents, fully in sync, drifted, orphans.\n\n---\n\n## Mode: sync\n\n**Args:** `sync \u003Cname>`\n\nSync a single named agent from the Claude definition → Copilot, applying all tool exclusion rules.\n\n1. Read `.claude\u002Fagents\u002F\u003Cname>.md`; fail with a clear error if it does not exist.\n2. Read `.github\u002Fagents\u002F\u003Cname>.agent.md` if it exists (to preserve any Copilot-specific additions not in Claude).\n3. Extract from the Claude frontmatter: `name`, `description`, `tools`, `model`, `color`, `status`, any extra fields.\n4. Apply the **Claude-only Tool Exclusion List** to the `tools:` array:\n   - Remove: `Bash`, `Glob`, `Grep`, `Read`, `TodoWrite`, `WebFetch`, `WebSearch`, `PushNotification`, `ToolSearch`\n   - Translate retained Claude tools to Copilot-native equivalents:\n     - `Read` → `read` (if not already excluded)\n     - `Edit` \u002F `Write` → `edit`\n     - `Glob` \u002F `Grep` → `search`\n     - `Bash` → `execute`\n     - `TodoWrite` → `todo`\n     - `Agent` → `agent`\n   - Preserve MCP tools verbatim (names containing `mcp__` or mapping to an MCP server)\n5. Copy the body (non-frontmatter content) verbatim from the Claude file.\n6. Write `.github\u002Fagents\u002F\u003Cname>.agent.md` with the translated frontmatter and copied body.\n7. Confirm: \"Agent `\u003Cname>` synced to `.github\u002Fagents\u002F\u003Cname>.agent.md`.\"\n\n---\n\n## Mode: sync-all\n\n**Args:** `sync-all`\n\nRun `sync \u003Cname>` for every agent currently in the Claude roster.\n\n1. Glob `.claude\u002Fagents\u002F*.md` — collect all agent names.\n2. Filter out agents with `status: deprecated` in frontmatter (skip deprecated agents, report them separately).\n3. For each remaining agent name, execute **Mode: sync** in sequence.\n4. Produce a summary: agents synced, agents skipped (deprecated), any errors encountered.\n\n---\n\n## Mode: diff\n\n**Args:** `diff \u003Cname>`\n\nShow a structured diff between the Claude and Copilot versions of a single agent.\n\n1. Read `.claude\u002Fagents\u002F\u003Cname>.md`; fail if it does not exist.\n2. Read `.github\u002Fagents\u002F\u003Cname>.agent.md`; fail if it does not exist.\n3. Compare frontmatter field by field:\n   - `name` — must be identical\n   - `description` — show first 120 chars of each; flag if different\n   - `tools` — list tools in Claude but not Copilot, tools in Copilot but not Claude (ignoring expected exclusions)\n   - `model` — show both values\n   - `status` — show both values\n4. Compare body sections: identify headings present in one file but absent from the other.\n5. Output:\n\n```\n## Agent Diff: \u003Cname>\n\n### Frontmatter\n| Field | Claude | Copilot |\n|-------|--------|---------|\n| name | \u003Cval> | \u003Cval> |\n| description | \u003Cfirst 120 chars> | \u003Cfirst 120 chars> |\n| tools (extra in Claude) | Bash, Glob | (excluded — expected) |\n| tools (extra in Copilot) | execute | (translated from Bash — ok) |\n| model | \u003Cval> | \u003Cval> |\n| status | \u003Cval> | \u003Cval> |\n\n### Body Sections\n| Section heading | Claude | Copilot |\n|-----------------|--------|---------|\n| ## Responsibilities | ✅ | ✅ |\n| ## Skills | ✅ | ❌ |\n```\n\n6. Conclude with: **In sync** \u002F **Drifted — run `sync \u003Cname>` to resolve**.\n\n---\n\n## Validation Rules\n\n- The Claude-only Tool Exclusion List is always applied during sync — never copy `Bash`, `Glob`, `Grep`, `Read`, `TodoWrite`, `WebFetch`, `WebSearch`, `PushNotification`, or `ToolSearch` to `.github\u002Fagents\u002F`.\n- Agent names must be kebab-case and identical on both platforms.\n- Never delete any agent file — `sync-all` only creates or overwrites the Copilot counterpart.\n- Deprecated agents are skipped during `sync-all` but reported.\n- Never read or modify `.env` files or sensitive configuration.\n",{"name":5,"description":7},"main","00b2c68281930728ee390bb16cec32b88d2caac7",".claude\u002Fskills\u002Fagent-sync","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-sync",{"tool":52,"command":53},"bunx","bunx skills add rafsanulhasan\u002FHypermediaEngine --skill agent-sync",{"tool":55,"command":56},"pnpm","pnpm dlx skills add rafsanulhasan\u002FHypermediaEngine --skill agent-sync","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frafsanulhasan\u002FHypermediaEngine\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fagent-sync\u002FSKILL.md",true,[],[61,91,111,130,159,180],{"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,90],"write tests","write","tests","testing","design","test","project conventions","test plan","Bash","plan","quality","xunit","read","edit","coverage","engineer","mutation testing","project","mutation","for",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"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",[],[98,72,99,100,101,102,103,79,104,105,106,107,83,84,108,88,73,109,110,90],"documentation","write documentation","writing","directory","workflow","architecture","src","repo","decisions","README","files","updates","at",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"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",[],[118,72,119,75,120,103,121,122,123,124,106,83,125,126,88,127,128,90,129],"adr","write adr","docs","architect","decision","choice","grep","architecture decision record","record","software","opus","architecture decision",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":142,"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",[136,137],{"categoryNo":68,"categoryName":69,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":138,"categoryName":139,"taxonomyType":140,"taxonomyTypeDesc":141},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[74,143,144,145,146,147,148,100,149,150,151,152,153,154,155,156,73,157,158,90],"playwright","ui","playwright ui testing","ui testing","tunit","tunit playwright ui testing","official","dev","examples","ci","lifecycle","model","page","inheritance","end","object",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":166,"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",[165],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[161,167,168,169,170,171,172,173,174,175,176,177,178,179],"routing","classification","work","user","dependency","task","priorities","decomposition","user request","mapping","with","break","request",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":190,"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",[186,189],{"categoryNo":187,"categoryName":188,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":138,"categoryName":139,"taxonomyType":140,"taxonomyTypeDesc":141},[75,191,192,193,194,195,196,124,83,197,198,199,200,201,202,127,203,204,177,205],"system","system design","web","design systems","learning","haiku","use","design patterns","design principles","expert","patterns","systems","architectures","principles","implementing"]