[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PDFAS2DHVFH46N89YX555V":3,"skill-same:01M6PDFAS2DHVFH46N89YX555V":86},{"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":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6PDFAS2DHVFH46N89YX555V","codebase-design",null,"Design or improve module interfaces using deep-module heuristics. Use when deciding where a seam belongs, reducing caller-facing complexity, improving testability or navigability, or comparing module designs.","stevesolun\u002Fctx","stevesolun","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1304538?v=4","01M6PDDJQ35XAXMPJQP8YG3P2X","Steve Solun","01M6PDDJVJ663A3CMV7XQN9XAY",590,"MIT","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcodebase-design\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42],"design","codebase design","codebase","heuristics","improve","use","complexity","deep","module","testability","seam","2026-11-10 10:12:30",false,"---\nname: codebase-design\ndescription: Design or improve module interfaces using deep-module heuristics. Use when deciding where a seam belongs, reducing caller-facing complexity, improving testability or navigability, or comparing module designs.\n---\n\n# Codebase Design\n\nSeek **deep modules**: substantial useful behavior behind a small, stable\ninterface. Use the concepts below as design lenses, while matching the\nrepository's established domain language.\n\n## Working vocabulary\n\n- **Module**: a coherent unit with an interface and implementation, at any scale.\n- **Interface**: everything callers must know, including invariants and failure\n  modes—not just a type signature.\n- **Seam**: a location where behavior can vary without editing its callers.\n- **Adapter**: an implementation that connects at a seam.\n- **Depth**: useful capability relative to interface complexity.\n- **Leverage**: capability gained by callers; **locality**: change and knowledge\n  concentrated for maintainers.\n\nTranslate these terms to the project's vocabulary when that makes the design\nclearer. Consistency with the codebase is more valuable than enforcing a private\nlexicon.\n\n## Design workflow\n\n1. Map representative callers, responsibilities, dependencies, and existing\n   contracts.\n2. Look for coordination or policy that can move behind a smaller interface.\n3. Place seams where variation, ownership, or test isolation justifies them.\n4. Compare alternatives when the choice is consequential.\n5. Validate the candidate with representative caller code and tests.\n\n## Heuristics, not laws\n\n- Reduce methods, parameters, ordering constraints, and configuration callers\n  must understand.\n- Use the deletion test: if removing a module merely spreads its complexity\n  across callers, it was likely earning its keep.\n- Treat pass-through layers skeptically, but keep them when they provide a real\n  compatibility, ownership, policy, or navigation boundary.\n- Introduce dependency seams when actual variation or test isolation repays the\n  indirection; avoid interfaces justified only by hypothetical futures.\n- Prefer tests through observable interfaces, while allowing focused internal\n  tests when they provide cheaper or more precise feedback.\n- Favor explicit dependencies and returned results when they improve control and\n  testability; side effects and internally created dependencies can still be\n  appropriate at well-defined boundaries.\n\nRead [DEEPENING.md](DEEPENING.md) when consolidating a cluster across dependency\nboundaries. Read [DESIGN-IT-TWICE.md](DESIGN-IT-TWICE.md) when materially\ndifferent interface designs can be explored independently.\n","# Codebase Design\n\nSeek **deep modules**: substantial useful behavior behind a small, stable\ninterface. Use the concepts below as design lenses, while matching the\nrepository's established domain language.\n\n## Working vocabulary\n\n- **Module**: a coherent unit with an interface and implementation, at any scale.\n- **Interface**: everything callers must know, including invariants and failure\n  modes—not just a type signature.\n- **Seam**: a location where behavior can vary without editing its callers.\n- **Adapter**: an implementation that connects at a seam.\n- **Depth**: useful capability relative to interface complexity.\n- **Leverage**: capability gained by callers; **locality**: change and knowledge\n  concentrated for maintainers.\n\nTranslate these terms to the project's vocabulary when that makes the design\nclearer. Consistency with the codebase is more valuable than enforcing a private\nlexicon.\n\n## Design workflow\n\n1. Map representative callers, responsibilities, dependencies, and existing\n   contracts.\n2. Look for coordination or policy that can move behind a smaller interface.\n3. Place seams where variation, ownership, or test isolation justifies them.\n4. Compare alternatives when the choice is consequential.\n5. Validate the candidate with representative caller code and tests.\n\n## Heuristics, not laws\n\n- Reduce methods, parameters, ordering constraints, and configuration callers\n  must understand.\n- Use the deletion test: if removing a module merely spreads its complexity\n  across callers, it was likely earning its keep.\n- Treat pass-through layers skeptically, but keep them when they provide a real\n  compatibility, ownership, policy, or navigation boundary.\n- Introduce dependency seams when actual variation or test isolation repays the\n  indirection; avoid interfaces justified only by hypothetical futures.\n- Prefer tests through observable interfaces, while allowing focused internal\n  tests when they provide cheaper or more precise feedback.\n- Favor explicit dependencies and returned results when they improve control and\n  testability; side effects and internally created dependencies can still be\n  appropriate at well-defined boundaries.\n\nRead [DEEPENING.md](DEEPENING.md) when consolidating a cluster across dependency\nboundaries. Read [DESIGN-IT-TWICE.md](DESIGN-IT-TWICE.md) when materially\ndifferent interface designs can be explored independently.\n",{"name":5,"description":7},"main","11b582a7cd4d549f1e83c412e04421bcc9c3fc28",".agents\u002Fskills\u002Fcodebase-design",69,"https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx","https:\u002F\u002Fstevesolun.github.io\u002Fctx\u002F","https:\u002F\u002Fgithub.com\u002Fstevesolun","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsolunsteve\u002F","High motivated, dedicated, fast learner data scientist and enthusiastic researcher.","2026-10-15 03:55:28",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add stevesolun\u002Fctx --skill codebase-design",{"tool":64,"command":65},"bunx","bunx skills add stevesolun\u002Fctx --skill codebase-design",{"tool":67,"command":68},"pnpm","pnpm dlx skills add stevesolun\u002Fctx --skill codebase-design","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcodebase-design\u002FSKILL.md",true,[72,78,82],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"agents\u002Fopenai.yaml","REFERENCE","参考文档",102,"https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcodebase-design\u002Fagents\u002Fopenai.yaml",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"DEEPENING.md",2301,"https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcodebase-design\u002FDEEPENING.md",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"DESIGN-IT-TWICE.md",2288,"https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcodebase-design\u002FDESIGN-IT-TWICE.md",[87,113,133,159,183,204],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":43},"01M6PDTT7F6Z9T6G6H92845RNC","toolbox","Pre\u002Fpost dev toolbox — named bundles of skills\u002Fagents loaded before development work and councils of experts invoked after. Run \u002Ftoolbox or the toolbox.py CLI to list, activate, initialize, export, import, and validate toolboxes. Invoke at the start or end of a dev session, when setting up a new repo, or when sharing toolboxes with a team.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fskills\u002Ftoolbox\u002FSKILL.md",[],[89,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],"cli","development","run","start","team","work","list","initialize","export","up","activate","feature","end","new repo","false","import","experts","at","invoke",{"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":120,"publishedAt":43},"01M6PDTNZ10BAW6VY49S40NCBB","skill-router","Alive skill router — reads the current project's stack and loads\u002Funloads skills dynamically. Invoke at session start or when project context changes.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fskills\u002Fskill-router\u002FSKILL.md",[119],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[121,122,97,123,124,125,126,127,128,129,130,131,111,132,112],"router","skill router","Meta","stack","context","session","project context","project","loads","session start","true","changes",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":140,"publishedAt":43},"01M6PDTGVDG503T4QNX64KJMAC","repo-stats-autoupdate","Keeps README badge + inline counts in sync with the real number of skills, agents, graph nodes\u002Fedges, communities, converted pipelines, and test inventory. Runs automatically on every commit via a git pre-commit hook. Use when the README drifts from reality or before publishing a release.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fskills\u002Frepo-stats-autoupdate\u002FSKILL.md",[139],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[141,142,143,144,145,146,147,148,149,150,151,152,37,153,154,108,155,156,157,158],"stats","repo","repo stats autoupdate","test","commit","sync","release","git","graph","pre-commit","inventory","README","publishing","communities","with","hook","number","inline",{"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":169,"publishedAt":43},"01M6PDTC3AB7H4NXJFS3SDKQG9","find-skills","Discover installable agent skills from ctx's shipped Skills.sh catalog, the Skills.sh search API, and the npx skills CLI. Use when a user asks whether a skill exists, wants to add\u002Fupdate a skill, or needs a repeatable procedure for finding candidate skills safely.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fskills\u002Ffind-skills\u002FSKILL.md",[165,166],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":167,"categoryName":168,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师",[170,171,94,172,173,174,175,176,37,61,177,178,179,180,181,182],"find skills","find","update","search","api","user","catalog","discover","add","skills cli","for","candidate","ctx",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":43},"01M6PDT6ETDH54GGY7K8E29Y9V","no-mistakes","Validate committed feature-branch changes through the no-mistakes pipeline: intent, rebase, review, test, docs, lint, push, PR, and CI. Use when the user asks to run no-mistakes, ship safely, validate before pushing, or gate a change before it reaches upstream.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fimported-skills\u002Fno-mistakes\u002Fskills\u002Fno-mistakes\u002FSKILL.md",[],[190,191,144,192,193,194,96,195,196,197,198,199,200,201,37,202,203,105,131,132],"no mistakes","review","change","validate","pr","lint","push","ci","pipeline","ship","rebase","branch","intent","upstream",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":208,"categories":209,"keywords":212,"publishedAt":43},"01M6PDT18DD3HETZF1CF39CT8J","zoom-out","Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fimported-skills\u002Fmattpocock\u002Fzoom-out\u002FSKILL.md",[210,211],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":167,"categoryName":168,"taxonomyType":29,"taxonomyTypeDesc":30},[213,214,215,216,125,37,217,218,155,219,220,131,221,222],"zoom out","zoom","code","how","it","understand","you","re","perspective","section"]