[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ET0XVXD2425GZ8EPCBVDCQ":3,"skill-same:01M6ET0XVXD2425GZ8EPCBVDCQ":74},{"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":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6ET0XVXD2425GZ8EPCBVDCQ","comparative-matrix",null,"Generate structured comparisons and decision matrices across analyzed frameworks. Use when (1) comparing multiple frameworks or approaches side-by-side, (2) making architectural decisions between alternatives, (3) creating best-of-breed selection documentation, (4) synthesizing findings from multiple analysis skills into actionable decisions, or (5) producing recommendation reports for technical stakeholders.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdowwie\u002Fcomparative-matrix\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"comparative matrix","documentation","generate","analysis","decision","technical","decisions","use","reports","selection","frameworks","across","structured","matrices","recommendation","actionable","2026-11-10 10:12:30",false,"---\nname: comparative-matrix\ndescription: Generate structured comparisons and decision matrices across analyzed frameworks. Use when (1) comparing multiple frameworks or approaches side-by-side, (2) making architectural decisions between alternatives, (3) creating best-of-breed selection documentation, (4) synthesizing findings from multiple analysis skills into actionable decisions, or (5) producing recommendation reports for technical stakeholders.\n---\n\n# Comparative Matrix\n\nSynthesizes analysis outputs into structured decision frameworks.\n\n## Process\n\n1. **Collect** analysis outputs from multiple frameworks\n2. **Normalize** findings to comparable dimensions\n3. **Generate** comparison matrix\n4. **Apply** decision heuristics\n5. **Document** recommendations with rationale\n\n## Comparison Dimensions\n\n### Core Dimensions (Always Include)\n\n| Dimension | What to Compare | Decision Criteria |\n|-----------|-----------------|-------------------|\n| **Typing** | Strict (Pydantic) vs Loose (dicts) | Team preference, runtime safety needs |\n| **Async** | Native async vs sync-with-wrappers | Scalability requirements |\n| **State** | Immutable vs mutable | Concurrency safety, debugging |\n| **Config** | Code-first vs config-first | Flexibility vs discoverability |\n| **Extensibility** | Composition vs inheritance | Maintainability, learning curve |\n\n### Domain-Specific Dimensions\n\n| Dimension | When to Include |\n|-----------|-----------------|\n| **Reasoning Pattern** | Comparing agent frameworks |\n| **Memory Strategy** | Long-running agents |\n| **Multi-Agent** | Orchestration systems |\n| **Observability** | Production deployments |\n| **Tool Interface** | Custom tool development |\n\n## Matrix Template\n\n```markdown\n## Best-of-Breed Matrix: [Analysis Title]\n\n| Dimension | Framework A | Framework B | Framework C | **Recommendation** |\n|:----------|:------------|:------------|:------------|:-------------------|\n| **Typing** | Pydantic V1, deep nesting | TypedDict, flat | Loose dicts | *Pydantic V2, flat structures* |\n| **Async** | Sync core, async wrapper | Native async | Mixed | *Native async required* |\n| **State** | Mutable, in-place | Immutable copy | Hybrid | *Immutable preferred* |\n| **Config** | YAML + Python | Pure Python | JSON | *Python for type safety* |\n| **Extensibility** | Deep inheritance (6 layers) | Composition | Protocols | *Composition + Protocols* |\n\n### Dimension Details\n\n#### Typing\n- **Framework A**: Uses Pydantic V1 with deeply nested models (Message → Content → Block → ...)\n  - Pro: Full validation at boundaries\n  - Con: Difficult to extend, version migration pain\n- **Framework B**: TypedDict with flat structure\n  - Pro: Simple, fast, IDE support\n  - Con: No runtime validation\n- **Recommendation**: Adopt Pydantic V2 with intentionally flat structures. Use TypedDict for internal types.\n\n[Continue for each dimension...]\n```\n\n## Decision Heuristics\n\nApply these heuristics when recommendations aren't obvious:\n\n### Scalability-First\n```\nIF high_concurrency_expected:\n    PREFER native_async\n    PREFER immutable_state\n    PREFER stateless_tools\n```\n\n### DX-First (Developer Experience)\n```\nIF team_is_small OR rapid_iteration:\n    PREFER simple_inheritance_over_protocols\n    PREFER code_first_config\n    PREFER explicit_over_magic\n```\n\n### Production-First\n```\nIF mission_critical:\n    PREFER strict_typing\n    PREFER comprehensive_observability\n    PREFER explicit_error_boundaries\n```\n\n## Output Artifacts\n\n1. **Summary Matrix** - Single-page comparison table\n2. **Detailed Analysis** - Per-dimension breakdown with evidence\n3. **Recommendation Document** - Actionable decisions with rationale\n4. **Trade-off Log** - Documented compromises and their justification\n\n## Example Output Structure\n\n```\ncomparative-analysis\u002F\n├── matrix.md              # Summary comparison table\n├── dimensions\u002F\n│   ├── typing.md          # Detailed typing analysis\n│   ├── async.md           # Concurrency model analysis\n│   └── ...\n├── recommendations.md     # Final decisions\n└── tradeoffs.md          # Documented compromises\n```\n\n## Integration\n\n- **Inputs from**: All Phase 1 & 2 analysis skills\n- **Outputs to**: `antipattern-catalog`, `architecture-synthesis`\n","# Comparative Matrix\n\nSynthesizes analysis outputs into structured decision frameworks.\n\n## Process\n\n1. **Collect** analysis outputs from multiple frameworks\n2. **Normalize** findings to comparable dimensions\n3. **Generate** comparison matrix\n4. **Apply** decision heuristics\n5. **Document** recommendations with rationale\n\n## Comparison Dimensions\n\n### Core Dimensions (Always Include)\n\n| Dimension | What to Compare | Decision Criteria |\n|-----------|-----------------|-------------------|\n| **Typing** | Strict (Pydantic) vs Loose (dicts) | Team preference, runtime safety needs |\n| **Async** | Native async vs sync-with-wrappers | Scalability requirements |\n| **State** | Immutable vs mutable | Concurrency safety, debugging |\n| **Config** | Code-first vs config-first | Flexibility vs discoverability |\n| **Extensibility** | Composition vs inheritance | Maintainability, learning curve |\n\n### Domain-Specific Dimensions\n\n| Dimension | When to Include |\n|-----------|-----------------|\n| **Reasoning Pattern** | Comparing agent frameworks |\n| **Memory Strategy** | Long-running agents |\n| **Multi-Agent** | Orchestration systems |\n| **Observability** | Production deployments |\n| **Tool Interface** | Custom tool development |\n\n## Matrix Template\n\n```markdown\n## Best-of-Breed Matrix: [Analysis Title]\n\n| Dimension | Framework A | Framework B | Framework C | **Recommendation** |\n|:----------|:------------|:------------|:------------|:-------------------|\n| **Typing** | Pydantic V1, deep nesting | TypedDict, flat | Loose dicts | *Pydantic V2, flat structures* |\n| **Async** | Sync core, async wrapper | Native async | Mixed | *Native async required* |\n| **State** | Mutable, in-place | Immutable copy | Hybrid | *Immutable preferred* |\n| **Config** | YAML + Python | Pure Python | JSON | *Python for type safety* |\n| **Extensibility** | Deep inheritance (6 layers) | Composition | Protocols | *Composition + Protocols* |\n\n### Dimension Details\n\n#### Typing\n- **Framework A**: Uses Pydantic V1 with deeply nested models (Message → Content → Block → ...)\n  - Pro: Full validation at boundaries\n  - Con: Difficult to extend, version migration pain\n- **Framework B**: TypedDict with flat structure\n  - Pro: Simple, fast, IDE support\n  - Con: No runtime validation\n- **Recommendation**: Adopt Pydantic V2 with intentionally flat structures. Use TypedDict for internal types.\n\n[Continue for each dimension...]\n```\n\n## Decision Heuristics\n\nApply these heuristics when recommendations aren't obvious:\n\n### Scalability-First\n```\nIF high_concurrency_expected:\n    PREFER native_async\n    PREFER immutable_state\n    PREFER stateless_tools\n```\n\n### DX-First (Developer Experience)\n```\nIF team_is_small OR rapid_iteration:\n    PREFER simple_inheritance_over_protocols\n    PREFER code_first_config\n    PREFER explicit_over_magic\n```\n\n### Production-First\n```\nIF mission_critical:\n    PREFER strict_typing\n    PREFER comprehensive_observability\n    PREFER explicit_error_boundaries\n```\n\n## Output Artifacts\n\n1. **Summary Matrix** - Single-page comparison table\n2. **Detailed Analysis** - Per-dimension breakdown with evidence\n3. **Recommendation Document** - Actionable decisions with rationale\n4. **Trade-off Log** - Documented compromises and their justification\n\n## Example Output Structure\n\n```\ncomparative-analysis\u002F\n├── matrix.md              # Summary comparison table\n├── dimensions\u002F\n│   ├── typing.md          # Detailed typing analysis\n│   ├── async.md           # Concurrency model analysis\n│   └── ...\n├── recommendations.md     # Final decisions\n└── tradeoffs.md          # Documented compromises\n```\n\n## Integration\n\n- **Inputs from**: All Phase 1 & 2 analysis skills\n- **Outputs to**: `antipattern-catalog`, `architecture-synthesis`\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fdowwie\u002Fcomparative-matrix",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill comparative-matrix",{"tool":60,"command":61},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill comparative-matrix",{"tool":63,"command":64},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill comparative-matrix","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdowwie\u002Fcomparative-matrix\u002FSKILL.md",true,[68],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"skill-report.json","REFERENCE","参考文档",11197,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdowwie\u002Fcomparative-matrix\u002Fskill-report.json",[75,89,99,108,114,121],{"skillNo":76,"name":77,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":85,"publishedAt":40},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[86,87,88],"model","model hierarchy","model hierarchy skill",{"skillNo":90,"name":91,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":95,"publishedAt":40},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[94],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[96,97,98],"MCP","zoom","zoom mcp",{"skillNo":100,"name":101,"nameZh":6,"description":6,"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":40},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[105,106,107,97],"sdk","zoom apps sdk","apps",{"skillNo":109,"name":110,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":40},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[110],{"skillNo":115,"name":116,"nameZh":6,"description":6,"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":120,"publishedAt":40},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[119],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[116],{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":40},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[123]]