[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HRF90ENGKEQMF1BX841VNW":3,"skill-same:01M6HRF90ENGKEQMF1BX841VNW":78},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":47,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6HRF90ENGKEQMF1BX841VNW","domain-modeling",null,"Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.","edgyarmati\u002Fgedpi","edgyarmati","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F34992044?v=4","01M6HREX1PRWA8ZTSTN261V9TV","Ed Gyarmati","01M6HREX5KXH25QNGMKHC1F9EJ",9,"MIT","https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fdomain-modeling\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"domain modeling","domain","modeling","writing","sharpen","model","adr","glossary","editing","use","build","terminology","domain model","project","recording","codebase","2026-11-10 10:12:30",false,"---\nname: domain-modeling\ndescription: Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.\n---\n\n# Domain Modeling\n\nActively build and sharpen the project's domain model as you design. This is the *active* discipline: challenging terms, inventing edge-case scenarios, and writing the glossary and decisions down the moment they crystallise. (Merely *reading* `GLOSSARY.md` for vocabulary is not this skill: that's a one-line habit any skill can do. This skill is for when you're changing the model, not just consuming it.)\n\n## File structure\n\nMost repos have a single context:\n\n```\n\u002F\n├── GLOSSARY.md\n├── docs\u002F\n│   └── adr\u002F\n│       ├── 0001-event-sourced-orders.md\n│       └── 0002-postgres-for-write-model.md\n└── src\u002F\n```\n\nIf a `GLOSSARY-MAP.md` exists at the root, the repo has multiple contexts. The map points to where each one lives:\n\n```\n\u002F\n├── GLOSSARY-MAP.md\n├── docs\u002F\n│   └── adr\u002F                          ← system-wide decisions\n├── src\u002F\n│   ├── ordering\u002F\n│   │   ├── GLOSSARY.md\n│   │   └── docs\u002Fadr\u002F                 ← context-specific decisions\n│   └── billing\u002F\n│       ├── GLOSSARY.md\n│       └── docs\u002Fadr\u002F\n```\n\nCreate files lazily: only when you have something to write. If no `GLOSSARY.md` exists, create one when the first term is resolved. If no `docs\u002Fadr\u002F` exists, create it when the first ADR is needed.\n\n## During the session\n\n### Challenge against the glossary\n\nWhen the user uses a term that conflicts with the existing language in `GLOSSARY.md`, call it out immediately. \"Your glossary defines 'cancellation' as X, but you seem to mean Y. Which is it?\"\n\n### Sharpen fuzzy language\n\nWhen the user uses vague or overloaded terms, propose a precise canonical term. \"You're saying 'account': do you mean the Customer or the User? Those are different things.\"\n\n### Discuss concrete scenarios\n\nWhen domain relationships are being discussed, stress-test them with specific scenarios. Invent scenarios that probe edge cases and force the user to be precise about the boundaries between concepts.\n\n### Cross-reference with code\n\nWhen the user states how something works, check whether the code agrees. If you find a contradiction, surface it: \"Your code cancels entire Orders, but you just said partial cancellation is possible. Which is right?\"\n\n### Update GLOSSARY.md inline\n\nWhen a term is resolved, update `GLOSSARY.md` right there. Don't batch these up: capture them as they happen. Use the format in [GLOSSARY-FORMAT.md](.\u002FGLOSSARY-FORMAT.md).\n\n`GLOSSARY.md` should be totally devoid of implementation details. Do not treat `GLOSSARY.md` as a spec, a scratch pad, or a repository for implementation decisions. It is a glossary and nothing else.\n\n### Offer ADRs sparingly\n\nOnly offer to create an ADR when all three are true:\n\n1. **Hard to reverse**: the cost of changing your mind later is meaningful\n2. **Surprising without context**: a future reader will wonder \"why did they do it this way?\"\n3. **The result of a real trade-off**: there were genuine alternatives and you picked one for specific reasons\n\nIf any of the three is missing, skip the ADR. Use the format in [ADR-FORMAT.md](.\u002FADR-FORMAT.md).\n","# Domain Modeling\n\nActively build and sharpen the project's domain model as you design. This is the *active* discipline: challenging terms, inventing edge-case scenarios, and writing the glossary and decisions down the moment they crystallise. (Merely *reading* `GLOSSARY.md` for vocabulary is not this skill: that's a one-line habit any skill can do. This skill is for when you're changing the model, not just consuming it.)\n\n## File structure\n\nMost repos have a single context:\n\n```\n\u002F\n├── GLOSSARY.md\n├── docs\u002F\n│   └── adr\u002F\n│       ├── 0001-event-sourced-orders.md\n│       └── 0002-postgres-for-write-model.md\n└── src\u002F\n```\n\nIf a `GLOSSARY-MAP.md` exists at the root, the repo has multiple contexts. The map points to where each one lives:\n\n```\n\u002F\n├── GLOSSARY-MAP.md\n├── docs\u002F\n│   └── adr\u002F                          ← system-wide decisions\n├── src\u002F\n│   ├── ordering\u002F\n│   │   ├── GLOSSARY.md\n│   │   └── docs\u002Fadr\u002F                 ← context-specific decisions\n│   └── billing\u002F\n│       ├── GLOSSARY.md\n│       └── docs\u002Fadr\u002F\n```\n\nCreate files lazily: only when you have something to write. If no `GLOSSARY.md` exists, create one when the first term is resolved. If no `docs\u002Fadr\u002F` exists, create it when the first ADR is needed.\n\n## During the session\n\n### Challenge against the glossary\n\nWhen the user uses a term that conflicts with the existing language in `GLOSSARY.md`, call it out immediately. \"Your glossary defines 'cancellation' as X, but you seem to mean Y. Which is it?\"\n\n### Sharpen fuzzy language\n\nWhen the user uses vague or overloaded terms, propose a precise canonical term. \"You're saying 'account': do you mean the Customer or the User? Those are different things.\"\n\n### Discuss concrete scenarios\n\nWhen domain relationships are being discussed, stress-test them with specific scenarios. Invent scenarios that probe edge cases and force the user to be precise about the boundaries between concepts.\n\n### Cross-reference with code\n\nWhen the user states how something works, check whether the code agrees. If you find a contradiction, surface it: \"Your code cancels entire Orders, but you just said partial cancellation is possible. Which is right?\"\n\n### Update GLOSSARY.md inline\n\nWhen a term is resolved, update `GLOSSARY.md` right there. Don't batch these up: capture them as they happen. Use the format in [GLOSSARY-FORMAT.md](.\u002FGLOSSARY-FORMAT.md).\n\n`GLOSSARY.md` should be totally devoid of implementation details. Do not treat `GLOSSARY.md` as a spec, a scratch pad, or a repository for implementation decisions. It is a glossary and nothing else.\n\n### Offer ADRs sparingly\n\nOnly offer to create an ADR when all three are true:\n\n1. **Hard to reverse**: the cost of changing your mind later is meaningful\n2. **Surprising without context**: a future reader will wonder \"why did they do it this way?\"\n3. **The result of a real trade-off**: there were genuine alternatives and you picked one for specific reasons\n\nIf any of the three is missing, skip the ADR. Use the format in [ADR-FORMAT.md](.\u002FADR-FORMAT.md).\n",{"name":5,"description":7},"main","f3d53148a165f6122b372fcd92f52b02bd079cac","skills\u002Fdomain-modeling",0,"https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi","https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi#readme","https:\u002F\u002Fgithub.com\u002Fedgyarmati","https:\u002F\u002Fgyarmati.dev","AI Solutions Engineer \r\n\r\nData Science Enthusiast & Python Dev\r\n\r\nLancaster University Alumni","2026-10-24 08:10:02",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add edgyarmati\u002Fgedpi --skill domain-modeling",{"tool":56,"command":57},"bunx","bunx skills add edgyarmati\u002Fgedpi --skill domain-modeling",{"tool":59,"command":60},"pnpm","pnpm dlx skills add edgyarmati\u002Fgedpi --skill domain-modeling","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fdomain-modeling\u002FSKILL.md",true,[64,70,74],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"ADR-FORMAT.md","REFERENCE","参考文档",2733,"https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fdomain-modeling\u002FADR-FORMAT.md",{"path":71,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":72,"sourceHtmlUrl":73},"agents\u002Fopenai.yaml",101,"https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fdomain-modeling\u002Fagents\u002Fopenai.yaml",{"path":75,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":76,"sourceHtmlUrl":77},"GLOSSARY-FORMAT.md",2300,"https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fdomain-modeling\u002FGLOSSARY-FORMAT.md",[79,111,128,144,153,174],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":98,"publishedAt":35},"01M6HRFSJP1SF0T9ZBE8V4HAG6","skill-creator","Create and revise reusable agent skills when the user asks to author or improve a skill. Includes skill structure, writing guidance, and manual review; Claude-only evaluations are unsupported.","https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fskill-creator\u002FSKILL.md",[85,90,93],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":91,"categoryName":92,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":94,"categoryName":95,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[99,100,22,101,102,103,104,105,106,107,108,109,110],"creator","skill creator","review","create","improve","user","only","guidance","reusable","structure","revise","manual",{"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":35},"01M6HRFPB6DP4DAT6BSRQEPSP4","grilling","Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.","https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fgrilling\u002FSKILL.md",[],[113,118,119,120,121,104,28,122,123,124,125,126,127],"trigger","test","plan","decision","grill","idea","thinking","stress-test","stress","about",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":35},"01M6HRFJ8M1BK8HS7ZSPP4CFNK","grill-with-docs","A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.","https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fgrill-with-docs\u002FSKILL.md",[],[135,122,136,137,138,139,140,141,142,143,120,23,25,26],"with","grill with docs","docs","as","true","which","interview","design","go",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":35},"01M6HRFGBAAPHQDTRSMMH1APVN","grill-me","A relentless interview to sharpen a plan or design.","https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fgrill-me\u002FSKILL.md",[],[151,122,152,142,120,23,141,139],"me","grill me",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":160,"publishedAt":35},"01M6HRFCCW0HC57MVHHBZ946H7","find-skills","Helps users discover and install agent skills when they ask questions like \"how do I do X\", \"find a skill for X\", \"is there a skill that can...\", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.","https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Ffind-skills\u002FSKILL.md",[159],{"categoryNo":91,"categoryName":92,"taxonomyType":88,"taxonomyTypeDesc":89},[161,162,163,164,165,104,166,167,168,169,138,170,171,172,173],"find","find skills","capabilities","how","ask","install","do","discover","express","users","questions","can","for",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":183,"publishedAt":35},"01M6HRF4HXQ4PZR7G8MPDDKGYG","brainstorming","Explore a design with the user when creative choices or unclear goals call for a conversation. Invoke when brainstorming is requested; not a mandatory gate for other work.","https:\u002F\u002Fgithub.com\u002Fedgyarmati\u002Fgedpi\u002Fblob\u002Fmain\u002Fskills\u002Fbrainstorming\u002FSKILL.md",[180],{"categoryNo":181,"categoryName":182,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000015","视觉设计",[176,104,184,185,142,135,173,186,187,188,189,190],"work","explore","creative","call","conversation","goals","gate"]