[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69AFCRAMS3FCCC939QD19Y3":3,"skill-same:01M69AFCRAMS3FCCC939QD19Y3":89},{"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":31,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M69AFCRAMS3FCCC939QD19Y3","design-ahp-protocol",null,"Design or review Agent Host Protocol commands, actions, state, errors, reducers, schemas, code generation, versioning, compatibility, and multi-client invariants. Use when changing the AHP contract or assessing a protocol-level design, not when implementing only one host, client, or test suite.","microsoft\u002Fagent-host-protocol-contrib","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69AF73MFMMND7YZVT4F00XV",1,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fagent-host-protocol-contrib\u002Fblob\u002Fmain\u002Fplugins\u002Fahp-development\u002Fskills\u002Fdesign-ahp-protocol\u002FSKILL.md",[18,23,28],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务",[32,33,34,35],"design","design ahp protocol","review","test","2026-11-10 10:12:30",false,"---\nname: design-ahp-protocol\ndescription: Design or review Agent Host Protocol commands, actions, state, errors, reducers, schemas, code generation, versioning, compatibility, and multi-client invariants. Use when changing the AHP contract or assessing a protocol-level design, not when implementing only one host, client, or test suite.\nlicense: MIT\n---\n\n# Design AHP Protocol\n\nUse this skill for a change to the AHP contract itself: a command, action,\nchannel state shape, error, reducer rule, schema, generated binding, version\nrule, or interoperability invariant.\n\n## Use this \u002F use another skill\n\n| Use this skill | Use another skill |\n| --- | --- |\n| The requested outcome changes what AHP peers may send, receive, reduce, or negotiate. | Use `build-ahp-host` for an implementation-only server concern. |\n| You need to evaluate compatibility, capability gating, or cross-language code generation. | Use `build-ahp-client` for consuming an established contract in an app or SDK client. |\n| You are defining the observable contract that tests must enforce. | Use `test-ahp-conformance` to implement black-box probes for an established contract. |\n\nIf a task includes design and implementation, settle the contract and its\nobservable invariants here first, then activate the implementation skill for\nthe code-owning portion.\n\n## Establish the current authority\n\n1. Identify the protocol version and branch actually targeted; do not infer\n   shapes from an old sample, package, or blog post.\n2. Locate the protocol source in the workspace. Read its `types\u002F`, canonical\n   channel reducers, schemas, `docs\u002Fspecification\u002F`, `docs\u002Fguide\u002F`, version\n   registry, and the relevant Rust and TypeScript SDK bindings.\n3. If the source is not present, use the released schemas and documentation in\n   `microsoft\u002Fagent-host-protocol`; state which revision or release informed the\n   decision. Do not hard-code a local sibling-repository path.\n4. Inspect nearby prior art, existing test cases, generated-file conventions,\n   and release\u002Fversioning instructions before proposing a new shape.\n5. Separate **normative AHP behavior** from profile, host, or sample policy.\n   A bounded replay log, a selected persistence engine, or an unsupported\n   feature in one host is not automatically a protocol requirement.\n\n## Model the change before editing\n\nWrite a compact contract table:\n\n| Question | Decide explicitly |\n| --- | --- |\n| Scope | Channel URI, command\u002Fnotification, action, state fields, and ownership |\n| Direction | Client request\u002Fnotification, server response\u002Fnotification, or both |\n| Reducer | Pure state transition, idempotence, replacement\u002Fmerge\u002Fappend behavior |\n| Ordering | `serverSeq`, origin echo\u002Frejection, and ordering with related actions |\n| Failure | JSON-RPC versus rejected action, error code\u002Fdata, recoverability |\n| Compatibility | Version introduction, capability gate, old-peer behavior, omission rules |\n\nActions are state mutations, not a substitute for vague side effects. Route an\ninner action by its envelope's channel; retain action fields that are intrinsic\nto the action. Define who assigns identifiers and how multiple clients converge.\n\nFor client-dispatchable actions, specify authoritative echo and rejection\nsemantics. A client may optimistically reduce an action, but it must rebase\npending work on server-authoritative envelopes and undo a rejected prediction.\n\n## State and reducer discipline\n\n- Start from the canonical state and action discriminated unions, not a\n  handwritten partial copy.\n- Make reducers pure, exhaustive, and immutable. Keep I\u002FO, transport, model\n  calls, and persistence outside reducer code.\n- Define snapshot and action equivalence: reducing a snapshot followed by\n  ordered actions must reach the same observable state for all subscribers.\n- State which fields are complete replacements, patches, keyed upserts, or\n  append-only histories. Define unknown IDs, duplicate IDs, and terminal-state\n  handling.\n- Do not let a session catalog summary silently become live session state; use\n  the current channel definitions and typed snapshots.\n\n## Versioning and generated artifacts\n\n1. Classify the change as additive, breaking, or clarification under the\n   protocol's current SemVer and stability policy.\n2. For additive behavior, decide whether a capability is needed before it\n   becomes baseline. Older peers must safely ignore behavior they do not know.\n3. Ensure negotiation selects one offered version for the whole connection;\n   never design per-message renegotiation.\n4. Change canonical types, schemas, version registry, and fixtures first.\n   Run the repository's generators and commit their outputs only when that\n   repository tracks them. Never hand-edit generated bindings as the source of\n   truth.\n5. Update normative documentation, compatibility notes, and changelog material\n   required by the repository's release process.\n\n## Validate the contract\n\nTest the smallest affected layer first: schema\u002Ftype checks and reducer fixtures.\nThen run generated-binding checks and cross-client or wire tests relevant to the\nchange. Include:\n\n- valid and malformed shapes;\n- ordering and repeated delivery;\n- old\u002Fnew compatible peers and unsupported negotiation;\n- two clients racing or observing the same resource;\n- snapshots versus action replay and rejection reconciliation.\n\nStop when the types, schema, canonical reducer behavior, generated SDKs, and\nnormative docs agree. Record intentional scope and non-goals, especially\nfeatures left capability-gated or profile-specific.\n","# Design AHP Protocol\n\nUse this skill for a change to the AHP contract itself: a command, action,\nchannel state shape, error, reducer rule, schema, generated binding, version\nrule, or interoperability invariant.\n\n## Use this \u002F use another skill\n\n| Use this skill | Use another skill |\n| --- | --- |\n| The requested outcome changes what AHP peers may send, receive, reduce, or negotiate. | Use `build-ahp-host` for an implementation-only server concern. |\n| You need to evaluate compatibility, capability gating, or cross-language code generation. | Use `build-ahp-client` for consuming an established contract in an app or SDK client. |\n| You are defining the observable contract that tests must enforce. | Use `test-ahp-conformance` to implement black-box probes for an established contract. |\n\nIf a task includes design and implementation, settle the contract and its\nobservable invariants here first, then activate the implementation skill for\nthe code-owning portion.\n\n## Establish the current authority\n\n1. Identify the protocol version and branch actually targeted; do not infer\n   shapes from an old sample, package, or blog post.\n2. Locate the protocol source in the workspace. Read its `types\u002F`, canonical\n   channel reducers, schemas, `docs\u002Fspecification\u002F`, `docs\u002Fguide\u002F`, version\n   registry, and the relevant Rust and TypeScript SDK bindings.\n3. If the source is not present, use the released schemas and documentation in\n   `microsoft\u002Fagent-host-protocol`; state which revision or release informed the\n   decision. Do not hard-code a local sibling-repository path.\n4. Inspect nearby prior art, existing test cases, generated-file conventions,\n   and release\u002Fversioning instructions before proposing a new shape.\n5. Separate **normative AHP behavior** from profile, host, or sample policy.\n   A bounded replay log, a selected persistence engine, or an unsupported\n   feature in one host is not automatically a protocol requirement.\n\n## Model the change before editing\n\nWrite a compact contract table:\n\n| Question | Decide explicitly |\n| --- | --- |\n| Scope | Channel URI, command\u002Fnotification, action, state fields, and ownership |\n| Direction | Client request\u002Fnotification, server response\u002Fnotification, or both |\n| Reducer | Pure state transition, idempotence, replacement\u002Fmerge\u002Fappend behavior |\n| Ordering | `serverSeq`, origin echo\u002Frejection, and ordering with related actions |\n| Failure | JSON-RPC versus rejected action, error code\u002Fdata, recoverability |\n| Compatibility | Version introduction, capability gate, old-peer behavior, omission rules |\n\nActions are state mutations, not a substitute for vague side effects. Route an\ninner action by its envelope's channel; retain action fields that are intrinsic\nto the action. Define who assigns identifiers and how multiple clients converge.\n\nFor client-dispatchable actions, specify authoritative echo and rejection\nsemantics. A client may optimistically reduce an action, but it must rebase\npending work on server-authoritative envelopes and undo a rejected prediction.\n\n## State and reducer discipline\n\n- Start from the canonical state and action discriminated unions, not a\n  handwritten partial copy.\n- Make reducers pure, exhaustive, and immutable. Keep I\u002FO, transport, model\n  calls, and persistence outside reducer code.\n- Define snapshot and action equivalence: reducing a snapshot followed by\n  ordered actions must reach the same observable state for all subscribers.\n- State which fields are complete replacements, patches, keyed upserts, or\n  append-only histories. Define unknown IDs, duplicate IDs, and terminal-state\n  handling.\n- Do not let a session catalog summary silently become live session state; use\n  the current channel definitions and typed snapshots.\n\n## Versioning and generated artifacts\n\n1. Classify the change as additive, breaking, or clarification under the\n   protocol's current SemVer and stability policy.\n2. For additive behavior, decide whether a capability is needed before it\n   becomes baseline. Older peers must safely ignore behavior they do not know.\n3. Ensure negotiation selects one offered version for the whole connection;\n   never design per-message renegotiation.\n4. Change canonical types, schemas, version registry, and fixtures first.\n   Run the repository's generators and commit their outputs only when that\n   repository tracks them. Never hand-edit generated bindings as the source of\n   truth.\n5. Update normative documentation, compatibility notes, and changelog material\n   required by the repository's release process.\n\n## Validate the contract\n\nTest the smallest affected layer first: schema\u002Ftype checks and reducer fixtures.\nThen run generated-binding checks and cross-client or wire tests relevant to the\nchange. Include:\n\n- valid and malformed shapes;\n- ordering and repeated delivery;\n- old\u002Fnew compatible peers and unsupported negotiation;\n- two clients racing or observing the same resource;\n- snapshots versus action replay and rejection reconciliation.\n\nStop when the types, schema, canonical reducer behavior, generated SDKs, and\nnormative docs agree. Record intentional scope and non-goals, especially\nfeatures left capability-gated or profile-specific.\n",{"name":5,"license":15,"description":7},"main","cfdd74a4b9aa5710d2bee3ebbdac587f7a13f3e5","plugins\u002Fahp-development\u002Fskills\u002Fdesign-ahp-protocol",0,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fagent-host-protocol-contrib","https:\u002F\u002Fmicrosoft.github.io\u002Fagent-host-protocol\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-04 11:16:20",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add microsoft\u002Fagent-host-protocol-contrib --skill design-ahp-protocol",{"tool":57,"command":58},"bunx","bunx skills add microsoft\u002Fagent-host-protocol-contrib --skill design-ahp-protocol",{"tool":60,"command":61},"pnpm","pnpm dlx skills add microsoft\u002Fagent-host-protocol-contrib --skill design-ahp-protocol","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fagent-host-protocol-contrib\u002Fblob\u002Fmain\u002Fplugins\u002Fahp-development\u002Fskills\u002Fdesign-ahp-protocol\u002FSKILL.md",true,[65,71,75,79,85],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"assets\u002Ftemplate-api-docs.md","ASSET","资产文件",5648,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fadhd-friendly-documentation\u002Fassets\u002Ftemplate-api-docs.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"assets\u002Ftemplate-quick-start.md",2600,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fadhd-friendly-documentation\u002Fassets\u002Ftemplate-quick-start.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"assets\u002Ftemplate-tutorial.md",4768,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fadhd-friendly-documentation\u002Fassets\u002Ftemplate-tutorial.md",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fadhd-patterns.md","REFERENCE","参考文档",7397,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fadhd-friendly-documentation\u002Freferences\u002Fadhd-patterns.md",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fchecklist.md",4134,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002F_collections\u002Frghamilton3-dotfiles\u002Fdot_claude\u002Fskills\u002Fadhd-friendly-documentation\u002Freferences\u002Fchecklist.md",[90,103,113],{"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":99,"publishedAt":36},"01M69AFEK5JE1BA30TTAMKZABV","test-ahp-conformance","Create or review black-box Agent Host Protocol conformance tests, including deterministic model fixtures, lifecycle and error cases, multi-client and restart coverage, bounded timeouts, and CLI\u002FHTML reports with optional JSON results. Use for observable interoperability testing, not for changing protocol design or implementing host\u002Fclient production code.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fagent-host-protocol-contrib\u002Fblob\u002Fmain\u002Fplugins\u002Fahp-development\u002Fskills\u002Ftest-ahp-conformance\u002FSKILL.md",[96],{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[35,100,101,32,34,102],"test ahp conformance","testing","cli",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":36},"01M69AFB3QY85TDMW0KFD4VQHN","build-ahp-host","Implement or review an Agent Host Protocol host or server, including JSON-RPC transport routing, subscriptions, serverSeq and reconnect, durable state, cancellation, concurrency, model adapters, and explicit unsupported behavior. Use for host architecture and server behavior, not for changing the AHP contract or building a client UI.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fagent-host-protocol-contrib\u002Fblob\u002Fmain\u002Fplugins\u002Fahp-development\u002Fskills\u002Fbuild-ahp-host\u002FSKILL.md",[],[110,34,111,112],"build ahp host","implement","architecture",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":36},"01M69AF9501PNSDFNDRY6C9QFC","build-ahp-client","Implement or review an SDK-backed Agent Host Protocol client application, including initialization, subscriptions, immutable reducer state, reconnect cleanup, multi-host behavior, and UI-friendly projections. Use for browser, TypeScript, desktop, or other client consumers, not for host internals or protocol contract changes.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fagent-host-protocol-contrib\u002Fblob\u002Fmain\u002Fplugins\u002Fahp-development\u002Fskills\u002Fbuild-ahp-client\u002FSKILL.md",[],[120,34,121,122,111],"build ahp client","typescript","sdk"]