[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HRAY7MB1BBS2TZPNDZRVT2":3,"skill-same:01M6HRAY7MB1BBS2TZPNDZRVT2":72},{"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":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6HRAY7MB1BBS2TZPNDZRVT2","define-data-model",null,"Derive the data model from the UI mocks and features, including implicit entities (joins, history,\naudit, lifecycle) found through a feature x entity CRUD matrix; outputs an ER diagram.","wfukatsu\u002Fnexus-architect","wfukatsu","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11712747?v=4","01M6HR128TEJY1WD0C36TDQD7S","Wataru Fukatsu","01M6HR12D55WNY36YSW845YXZ1",13,"MIT","https:\u002F\u002Fgithub.com\u002Fwfukatsu\u002Fnexus-architect\u002Fblob\u002Fmain\u002Fskills\u002Fproduct\u002Fdefine-data-model\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"define data model","data","model","define","auto","entity","matrix","opus","feature","er","en","diagram","history","crud","lifecycle","ui","audit","2026-11-10 10:12:30",false,"---\ndescription: |\n  Derive the data model from the UI mocks and features, including implicit entities (joins, history,\n  audit, lifecycle) found through a feature x entity CRUD matrix; outputs an ER diagram.\nargument-hint: '[--auto] [--lang=ja|en]'\nmodel: opus\n---\n\n# Data Model (2-pass)\n\nShared files: a path written `@rules\u002F…`, `@skills\u002F…`, `@templates\u002F…` or `@docs\u002F…` is relative to the\nplugin root, `${CLAUDE_PLUGIN_ROOT}` — not to the project being worked on. Read it from there.\n\n## Desired Outcome\n\nProduce one deliverable:\n\n1. **Data model** — `reports\u002F02_spec\u002Fdata-model.md` (`ENT-` IDs):\n   - Entities, attributes, and relationships\n   - A **Mermaid ER diagram** of the final model (explicit + implicit)\n   - For each Pass-2 addition, the functional-relationship rationale\n\n## Invocation\n\n```\n\u002Fproduct:define-data-model [--auto] [--lang=ja|en]\n```\n\n| Argument\u002FFlag | Required | Description |\n|---------------|----------|-------------|\n| `--auto` | Optional | Derive without elicitation; record ambiguous concepts as `TBD` |\n| `--lang` | Optional | Override output language |\n\n## Decision Criteria\n\n- **Entity criteria**: a concept becomes an entity only if it is **persisted**, has **identity\u002Fkey**,\n  and **receives multiple operations**. Prefer value objects; avoid over-normalization.\n- **Two passes are mandatory.** Pass 1 = explicit (UI + features); Pass 2 = implicit via the CRUD\n  matrix — every implicit addition records *why* (the functional relationship).\n- **Model the domain, not the schema.** Let storage follow the model.\n- **Stop condition**: all explicit concepts captured (Pass 1), the CRUD matrix run to surface\n  implicit entities (Pass 2), and a valid Mermaid ER diagram produced.\n\n## Prerequisites\n\n| Input | Required\u002FRecommended | Source | If missing\u002Fempty |\n|-------|---------------------|--------|------------------|\n| `reports\u002F02_spec\u002Ffeature-list.md` | Required | `\u002Fproduct:define-features` | block with a message — the CRUD matrix needs features |\n| `reports\u002F02_spec\u002Fui-mocks\u002F` | Required | `\u002Fproduct:generate-ui-mock` | block with a message — Pass 1 needs screens\u002Fforms |\n\n## Process\n\n1. **Read context** — features, mocks, `work\u002Ftraceability.json`.\n2. **Pass 1 (explicit)** — screen\u002Fconcept → entity; form fields → attributes; action results →\n   state\u002Fevents; Command-receiving\u002FEvent-emitting aggregate → entity. Apply\n   `@rules\u002Fproduct\u002Fui-to-domain.md` and `@rules\u002Fproduct\u002Fddd-strategic.md`.\n3. **Pass 2 (implicit)** — build the feature×entity CRUD matrix; detect many-to-many\u002Fhistory\u002Faudit\u002F\n   state-machine concepts; add them with rationale.\n4. **Relate** — define relationships and cardinalities; keep aggregates small (reference by id).\n5. **Diagram** — render the Mermaid ER diagram of the final model.\n6. **Append traceability** — add `ENT-` nodes to `work\u002Ftraceability.json` with Upstream\n   `FEAT-`\u002F`JOB-` references.\n7. **Record** — write the file; append decisions to `work\u002Fcontext.md`;\n   ask remaining unknowns and log only what stays open (@rules\u002Fopen-questions.md).\n\n## Output\n\nEvery Markdown document here opens with the `## ELI5` section of @rules\u002Feli5-summary.md, as\n`options.eli5` (default `technical`) directs.\n\n`reports\u002F02_spec\u002Fdata-model.md`, with an `ENT-` ID table (Upstream column), Pass-2 rationale notes,\nand a Mermaid ER diagram.\n\n## Reference Materials\n\n| Resource | Purpose |\n|----------|---------|\n| `@rules\u002Fproduct\u002Fui-to-domain.md` | Two-pass derivation, CRUD matrix, entity criteria |\n| `@rules\u002Fproduct\u002Fddd-strategic.md` | Entity vs value object, aggregates, ubiquitous language |\n\n## Related Skills\n\n| Skill | Relationship |\n|-------|-------------|\n| `\u002Fproduct:define-features` | Upstream — features drive the CRUD matrix |\n| `\u002Fproduct:generate-ui-mock` | Upstream — screens\u002Fforms drive Pass 1 |\n| `\u002Fproduct:map-domains` | Downstream — groups entities into bounded contexts |\n| `\u002Fproduct:design-api` | Downstream — API resources map to entities |\n| `\u002Fproduct:adapt-change` | Re-runs this skill when features change |\n","# Data Model (2-pass)\n\nShared files: a path written `@rules\u002F…`, `@skills\u002F…`, `@templates\u002F…` or `@docs\u002F…` is relative to the\nplugin root, `${CLAUDE_PLUGIN_ROOT}` — not to the project being worked on. Read it from there.\n\n## Desired Outcome\n\nProduce one deliverable:\n\n1. **Data model** — `reports\u002F02_spec\u002Fdata-model.md` (`ENT-` IDs):\n   - Entities, attributes, and relationships\n   - A **Mermaid ER diagram** of the final model (explicit + implicit)\n   - For each Pass-2 addition, the functional-relationship rationale\n\n## Invocation\n\n```\n\u002Fproduct:define-data-model [--auto] [--lang=ja|en]\n```\n\n| Argument\u002FFlag | Required | Description |\n|---------------|----------|-------------|\n| `--auto` | Optional | Derive without elicitation; record ambiguous concepts as `TBD` |\n| `--lang` | Optional | Override output language |\n\n## Decision Criteria\n\n- **Entity criteria**: a concept becomes an entity only if it is **persisted**, has **identity\u002Fkey**,\n  and **receives multiple operations**. Prefer value objects; avoid over-normalization.\n- **Two passes are mandatory.** Pass 1 = explicit (UI + features); Pass 2 = implicit via the CRUD\n  matrix — every implicit addition records *why* (the functional relationship).\n- **Model the domain, not the schema.** Let storage follow the model.\n- **Stop condition**: all explicit concepts captured (Pass 1), the CRUD matrix run to surface\n  implicit entities (Pass 2), and a valid Mermaid ER diagram produced.\n\n## Prerequisites\n\n| Input | Required\u002FRecommended | Source | If missing\u002Fempty |\n|-------|---------------------|--------|------------------|\n| `reports\u002F02_spec\u002Ffeature-list.md` | Required | `\u002Fproduct:define-features` | block with a message — the CRUD matrix needs features |\n| `reports\u002F02_spec\u002Fui-mocks\u002F` | Required | `\u002Fproduct:generate-ui-mock` | block with a message — Pass 1 needs screens\u002Fforms |\n\n## Process\n\n1. **Read context** — features, mocks, `work\u002Ftraceability.json`.\n2. **Pass 1 (explicit)** — screen\u002Fconcept → entity; form fields → attributes; action results →\n   state\u002Fevents; Command-receiving\u002FEvent-emitting aggregate → entity. Apply\n   `@rules\u002Fproduct\u002Fui-to-domain.md` and `@rules\u002Fproduct\u002Fddd-strategic.md`.\n3. **Pass 2 (implicit)** — build the feature×entity CRUD matrix; detect many-to-many\u002Fhistory\u002Faudit\u002F\n   state-machine concepts; add them with rationale.\n4. **Relate** — define relationships and cardinalities; keep aggregates small (reference by id).\n5. **Diagram** — render the Mermaid ER diagram of the final model.\n6. **Append traceability** — add `ENT-` nodes to `work\u002Ftraceability.json` with Upstream\n   `FEAT-`\u002F`JOB-` references.\n7. **Record** — write the file; append decisions to `work\u002Fcontext.md`;\n   ask remaining unknowns and log only what stays open (@rules\u002Fopen-questions.md).\n\n## Output\n\nEvery Markdown document here opens with the `## ELI5` section of @rules\u002Feli5-summary.md, as\n`options.eli5` (default `technical`) directs.\n\n`reports\u002F02_spec\u002Fdata-model.md`, with an `ENT-` ID table (Upstream column), Pass-2 rationale notes,\nand a Mermaid ER diagram.\n\n## Reference Materials\n\n| Resource | Purpose |\n|----------|---------|\n| `@rules\u002Fproduct\u002Fui-to-domain.md` | Two-pass derivation, CRUD matrix, entity criteria |\n| `@rules\u002Fproduct\u002Fddd-strategic.md` | Entity vs value object, aggregates, ubiquitous language |\n\n## Related Skills\n\n| Skill | Relationship |\n|-------|-------------|\n| `\u002Fproduct:define-features` | Upstream — features drive the CRUD matrix |\n| `\u002Fproduct:generate-ui-mock` | Upstream — screens\u002Fforms drive Pass 1 |\n| `\u002Fproduct:map-domains` | Downstream — groups entities into bounded contexts |\n| `\u002Fproduct:design-api` | Downstream — API resources map to entities |\n| `\u002Fproduct:adapt-change` | Re-runs this skill when features change |\n",{"model":31,"description":46,"argument-hint":47},"Derive the data model from the UI mocks and features, including implicit entities (joins, history,\naudit, lifecycle) found through a feature x entity CRUD matrix; outputs an ER diagram.\n","[--auto] [--lang=ja|en]","main","fed4c7ebb79ed82ce5c961f944a1ab0ab21bae26","skills\u002Fproduct\u002Fdefine-data-model",1,"https:\u002F\u002Fgithub.com\u002Fwfukatsu\u002Fnexus-architect","https:\u002F\u002Fnexus-architect-docs-070772.gitlab.io\u002F","https:\u002F\u002Fgithub.com\u002Fwfukatsu","https:\u002F\u002Fwww.scalar-labs.com\u002F","Wataru Fukatsu | Co-Founder and CEO, Scalar, Inc.","2026-11-10 07:17:53",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add wfukatsu\u002Fnexus-architect --skill define-data-model",{"tool":64,"command":65},"bunx","bunx skills add wfukatsu\u002Fnexus-architect --skill define-data-model",{"tool":67,"command":68},"pnpm","pnpm dlx skills add wfukatsu\u002Fnexus-architect --skill define-data-model","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fwfukatsu\u002Fnexus-architect\u002Fblob\u002Fmain\u002Fskills\u002Fproduct\u002Fdefine-data-model\u002FSKILL.md",true,[],[73,103,135,164,190,208],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":85,"publishedAt":41},"01M6HRH10GPAVTZ8W90WD9HJK1","verify-sql-migration","Prove a SQL migration on data: golden checks against an authorized source database and\ndifferential tests against ScalarDB. Never touches production.","https:\u002F\u002Fgithub.com\u002Fwfukatsu\u002Fnexus-architect\u002Fblob\u002Fmain\u002Fskills\u002Fverify-sql-migration\u002FSKILL.md",[79,84],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[86,87,88,89,90,91,25,92,28,93,34,94,95,96,97,98,99,100,101,102],"sql","verify","migration","verify sql migration","core","database","Production","never","properties","fetcher","tests","id","golden","sonnet","true","mode","source",{"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":118,"publishedAt":41},"01M6HRGWK643YKN0QVRQSNSDCR","verify-implementation","Check code against the design (API contract, transactions, security, requirements, the example\nchain) and report every divergence; optionally runs the eight-stage quality gate.","https:\u002F\u002Fgithub.com\u002Fwfukatsu\u002Fnexus-architect\u002Fblob\u002Fmain\u002Fskills\u002Fverify-implementation\u002FSKILL.md",[109,112,115],{"categoryNo":110,"categoryName":111,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":113,"categoryName":114,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000037","律师与法务",[87,119,120,121,122,123,124,125,126,28,127,34,128,129,130,131,132,133,134,100],"implementation","verify implementation","design","quality gate","code","api","repo","check","example","api contract","backlog","stage","requirements","contract","chain","scope",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":147,"publishedAt":41},"01M6HRGS929NK1B5WG1ZANSXQ1","update-knowledge","Fetch or update an OKF knowledge bundle: ScalarDB\u002FScalarDL, or the vendored Kubernetes\u002FTerraform\nbundle.","https:\u002F\u002Fgithub.com\u002Fwfukatsu\u002Fnexus-architect\u002Fblob\u002Fmain\u002Fskills\u002Fupdate-knowledge\u002FSKILL.md",[141,144],{"categoryNo":142,"categoryName":143,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":145,"categoryName":146,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000021","资料检索与研究",[148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163],"update","knowledge","update knowledge","kubernetes","status","plugin","terraform","Tools","Bash","okf","haiku","fetch","bundle","name","root","latest",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":174,"publishedAt":41},"01M6HRGNMYSK70R8Y9BY41E74D","start","Interactive entry point for system architecture work: refactor a legacy application into services,\nor design a new system from requirements; picks the path from the project's state. To move a\ndatabase to ScalarDB, use migrate-database.","https:\u002F\u002Fgithub.com\u002Fwfukatsu\u002Fnexus-architect\u002Fblob\u002Fmain\u002Fskills\u002Fstart\u002FSKILL.md",[170,171],{"categoryNo":110,"categoryName":111,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":172,"categoryName":173,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000032","设计师",[166,121,175,176,91,177,178,179,180,181,182,183,184,185,186,131,187,188,189],"architecture","state","services","refactor","migrate","system","work","interactive","use","Legacy","application","project","move","path","for",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":41},"01M6HRGHZXK0NXF6W62MMNS46H","select-scalardb-edition","Choose the ScalarDB edition (Community, Enterprise Standard or Premium, plus Enterprise Options),\ndeployment mode and cluster topology through a short interview.","https:\u002F\u002Fgithub.com\u002Fwfukatsu\u002Fnexus-architect\u002Fblob\u002Fmain\u002Fskills\u002Fselect-scalardb-edition\u002FSKILL.md",[],[197,198,199,200,201,202,203,204,205,206,207,99,101],"select","select scalardb edition","deployment","topology","Enterprise","choose","short","interview","community","options","cluster",{"skillNo":209,"name":210,"nameZh":6,"description":211,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":212,"categories":213,"keywords":215,"publishedAt":41},"01M6HRGESF0BH6KCT70BP70B2J","scaffold","Generate a runnable ScalarDB starter project for any of the six interface combinations: build,\nconfig, schema, service class, docker-compose and README.","https:\u002F\u002Fgithub.com\u002Fwfukatsu\u002Fnexus-architect\u002Fblob\u002Fmain\u002Fskills\u002Fscaffold\u002FSKILL.md",[214],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},[210,216,217,218,219,220,221,222,223,186,224,225,226,227,99,189],"docker","config","generate","README","schema","compose","build","docker-compose","combinations","service","starter","interface"]