[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6NW8RW45PCBZQAC1VXC522V":3,"skill-same:01M6NW8RW45PCBZQAC1VXC522V":51},{"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":18,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":14,"repositoryHtmlUrl":32,"repositoryHomepageUrl":6,"ownerHtmlUrl":33,"ownerBlogUrl":34,"ownerDescription":35,"updatedAt":36,"install":37,"resources":50},"01M6NW8RW45PCBZQAC1VXC522V","router-first-architecture",null,"Router-First Architecture","rubicanjr\u002FFinCognis","rubicanjr","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F234912519?v=4","01M6NT156NND8J474G34SB3923","Rubi","01M6NT15B70RWXE1N3YV0BZY8A",0,"MIT","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Frouter-first-architecture\u002FSKILL.md",[],[19,20,21,22,23],"architecture","first","router","router first architecture","false","2026-11-10 10:12:30",false,"---\nname: router-first-architecture\ndescription: Router-First Architecture\nuser-invocable: false\n---\n\n# Router-First Architecture\n\nRoute through domain routers before using individual tools. Routers abstract tool selection.\n\n## Pattern\n\nDomain routers (like `math-router`) provide deterministic mapping from user intent to exact CLI commands. Always use the router first; only bypass for edge cases.\n\n## DO\n\n- Call `math-router route \"\u003Cintent>\"` before any math operation\n- Let domain skills co-activate with their router (via `coActivate` in skill-rules.json)\n- Trust the router's confidence score; only fall back if `command: null`\n- Keep trigger keywords\u002Fpatterns in skill-rules.json broader than routing patterns\n\n## DON'T\n\n- Call individual scripts directly when a router exists\n- Duplicate routing logic in individual skills\n- Let domain skills bypass their router\n\n## Co-Activation Pattern\n\nDomain skills should co-activate with their router:\n\n```json\n{\n  \"math\u002Fabstract-algebra\u002Fgroups\": {\n    \"coActivate\": [\"math-router\"],\n    \"coActivateMode\": \"always\"\n  }\n}\n```\n\nThis ensures the router is always available when domain knowledge is activated.\n\n## Two-Layer Architecture\n\n1. **Skill-rules trigger layer**: Nudges Claude to use the router (keywords, intent patterns)\n2. **Router routing layer**: Deterministic mapping to scripts via regex patterns\n\nKeep the trigger layer broader than routing - the router should handle \"not found\" gracefully.\n\n## Source Sessions\n\n- 2bbc8d6e: \"Trigger layer was narrower than routing layer\" - expanded triggers\n- This session: Wired 8 domain math skills to co-activate with math-router\n","# Router-First Architecture\n\nRoute through domain routers before using individual tools. Routers abstract tool selection.\n\n## Pattern\n\nDomain routers (like `math-router`) provide deterministic mapping from user intent to exact CLI commands. Always use the router first; only bypass for edge cases.\n\n## DO\n\n- Call `math-router route \"\u003Cintent>\"` before any math operation\n- Let domain skills co-activate with their router (via `coActivate` in skill-rules.json)\n- Trust the router's confidence score; only fall back if `command: null`\n- Keep trigger keywords\u002Fpatterns in skill-rules.json broader than routing patterns\n\n## DON'T\n\n- Call individual scripts directly when a router exists\n- Duplicate routing logic in individual skills\n- Let domain skills bypass their router\n\n## Co-Activation Pattern\n\nDomain skills should co-activate with their router:\n\n```json\n{\n  \"math\u002Fabstract-algebra\u002Fgroups\": {\n    \"coActivate\": [\"math-router\"],\n    \"coActivateMode\": \"always\"\n  }\n}\n```\n\nThis ensures the router is always available when domain knowledge is activated.\n\n## Two-Layer Architecture\n\n1. **Skill-rules trigger layer**: Nudges Claude to use the router (keywords, intent patterns)\n2. **Router routing layer**: Deterministic mapping to scripts via regex patterns\n\nKeep the trigger layer broader than routing - the router should handle \"not found\" gracefully.\n\n## Source Sessions\n\n- 2bbc8d6e: \"Trigger layer was narrower than routing layer\" - expanded triggers\n- This session: Wired 8 domain math skills to co-activate with math-router\n",{"name":5,"description":7,"user-invocable":25},"main","70e1c350500ee750987420bbae48837afa906b7e","skills\u002Frouter-first-architecture","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis","https:\u002F\u002Fgithub.com\u002Frubicanjr","linktr.ee\u002Ffinanskodu","Industrial Engineer & CIO @FinansKodu. Architecting AI-driven financial agents and autonomous workflows. 🏗️ Building systems, not just prompts.","2026-06-09 13:50:15",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add rubicanjr\u002FFinCognis --skill router-first-architecture",{"tool":43,"command":44},"bunx","bunx skills add rubicanjr\u002FFinCognis --skill router-first-architecture",{"tool":46,"command":47},"pnpm","pnpm dlx skills add rubicanjr\u002FFinCognis --skill router-first-architecture","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Frouter-first-architecture\u002FSKILL.md",true,[],[52,72,80,100,130,149],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":63,"publishedAt":24},"01M6NWS9DAXJTADT4T5MB49X8W","workflow-router","Goal-based workflow orchestration - routes tasks to specialist agents based on user goals","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-router\u002FSKILL.md",[58],{"categoryNo":59,"categoryName":60,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[64,65,21,66,67,68,69,70,71],"workflow router","workflow","orchestration","goals","goal","user","workflow orchestration","tasks",{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":24},"01M6NWS3RETSC0SHP16HP66E14","wiring","Wiring Verification","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fwiring\u002FSKILL.md",[],[74,79,23],"verification",{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":89,"publishedAt":24},"01M6NWS0XW9CVQZBDA1EGW0TWC","websocket-patterns","Connection management, room patterns, reconnection strategies, message buffering, and binary protocol design.","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fwebsocket-patterns\u002Fskill.md",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000015","视觉设计",[90,91,92,93,94,95,96,97,98,99],"websocket","patterns","websocket patterns","design","protocol","management","message","strategies","binary","connection",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":110,"publishedAt":24},"01M6NWRDQDX9ZNETAWRRMQWV52","visual-verdict","Screenshot comparison QA for frontend development. Takes a screenshot of the current implementation, scores it across multiple visual dimensions, and returns a structured PASS\u002FREVISE\u002FFAIL verdict with concrete fixes. Use when implementing UI from a design reference or verifying visual correctness.","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-verdict\u002FSKILL.md",[106,109],{"categoryNo":107,"categoryName":108,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":59,"categoryName":60,"taxonomyType":61,"taxonomyTypeDesc":62},[111,112,113,114,115,116,117,118,119,120,121,122,123,93,124,125,126,127,128,129],"visual","verdict","visual verdict","ui","across","revise","comparison","correctness","implementing","for","fixes","dimensions","frontend","development","qa","screenshot","returns","use","frontend development",{"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":136,"publishedAt":24},"01M6NWR8HSNRS7MNDK2J02QYMN","verification-loop","Comprehensive verification system covering build, types, lint, tests, security, and diff review before a PR.","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fverification-loop\u002FSKILL.md",[],[137,138,79,139,140,141,142,143,144,145,146,147,148],"verification loop","loop","lint","review","security","pr","system","diff","build","tests","diff review","types",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":24},"01M6NWR4HHSFR0VR5EXFRWA747","vector-db-patterns","Embedding strategies, ANN algorithms, hybrid search, RAG chunking strategies, and reranking for semantic search and retrieval.","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fvector-db-patterns\u002Fskill.md",[],[156,157,158,159,91,160,161,162,163,97,164,165,166,167,168,120,169,170],"vector db patterns","vector db","db","vector","semantic search","search","embedding strategies","algorithms","chunking","semantic","retrieval","embedding","Hybrid Search","hybrid","rag"]