Skip to main content

jsdlc-basic-design

Create, review, or modify a Japanese-style Basic Design document (基本設計書, external design) from requirements or from an existing system. Use when the user asks to write basic design, 基本設計, external design, a function list, CRUD matrix, state transition, or message list.

来源信息

仓库
phuc-nt/jsdlc-kit
最近来源活动
2026年9月16日 16:51
检测到的 SKILL.md 语言
英语
星标
0
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
jsdlc-basic-design
description
Create, review, or modify a Japanese-style Basic Design document (基本設計書, external design) from requirements or from an existing system. Use when the user asks to write basic design, 基本設計, external design, a function list, CRUD matrix, state transition, or message list.
# Basic Design (基本設計書) Request / arguments: $ARGUMENTS Mode is the first word: `create` (default), `review`, `modify`. Read before acting: - `docs-jsdlc/templates/basic-design.md` - `docs-jsdlc/rules/id-and-traceability.md` - `docs-jsdlc/rules/review-checklist.md` §2 and §3 - `docs-jsdlc/rules/diagram-rules.md`, when profile §7 says PlantUML is used Basic design answers **what the system does, seen from outside**. It never specifies how a component is built internally — that is detail design. Pushing internal structure up into basic design is as much a defect as leaving a external behaviour undefined. --- ## Mode: create ### Step 1 — Establish the source Two legitimate inputs: - **From requirements** — a requirements document or the user's description. When the project profile §8 names an IPO or parameter sheet, that sheet is part of the requirements: read it, and where it contradicts the prose, raise a `Q-NNN` naming the sheet and the row rather than choosing a side. Never write back to a client sheet. - **From an existing system** (reverse engineering) — read the code and derive the external behaviour. State clearly in §1.1 that the document is derived from implementation, and treat every derived item as 要確認 until a human confirms it reflects intent, not accident. If neither is available, stop and ask for one. Do not invent requirements. ### Step 2 — Fix the domain code Read the 3-6 char `DOMAIN` code from `docs-jsdlc/project/domain-codes.md`. If the area has no code yet, propose one, register a `Q-NNN` for the owner to confirm it, and add the row marked provisional; never invent one silently. All IDs in the chain depend on it. ### Step 3 — Build the lists in dependency order Order matters; each list feeds the next. 1. **Function list (§4)** — one row per externally triggerable behaviour. 2. **Entity list (§6)** — one row per persistent thing. 3. **State model (§5)** — for every entity with a lifecycle. Fill the full transition matrix. Every blank cell is a prohibited transition and needs an error code — this is where most abnormal cases are discovered. 4. **CRUD matrix (§7)** — every function × entity. An entity nothing creates, or nothing reads, is a design defect: report it rather than papering over it. 5. **Message list (§8)** — one row per way the system says no. Derive them systematically from the prohibited transitions in §5, the validation implied by §4, and every external interface failure in §9. This list is the single source of error codes for the entire downstream chain; a code missing here cannot be invented later. 6. **Non-functional (§10)** — numbers with units and a measurement method. "Fast" is a finding; "p95 < 500 ms measured at the ALB" is a requirement. Once the lists are complete, and only then, draw the diagrams the project profile §7 asks for, following `docs-jsdlc/rules/diagram-rules.md`: an activity diagram of the §3 business flow, with the §3.2 actors as swimlanes, and an ER diagram of the §6 entities, with cardinality on every relationship. Both are derived from the tables — a diagram that shows an entity, an actor or a branch the tables do not contain means a table is incomplete. Fix the table, then redraw. When §7 says PlantUML is not used, the §3.1 flow stays an ASCII sketch and there is no ER file. ### Step 4 — Traceability and questions Fill §2 mapping every BD item to a source requirement. An item with no source is either scope creep or a missing requirement — raise `Q-NNN` either way. List everything undetermined in §12 with a provisional assumption. ### Step 5 — Self-check and save Run §2 and §3 checklists on your draft. Save to `docs-jsdlc/output/basic-design/BD-<DOM>-<nnn>-<slug>.md`. Append new questions to `docs-jsdlc/output/open-questions.md`. ### Step 6 — Report Function count, entity count, state count, message count, questions raised, and any CRUD gap found. --- ## Mode: review Do not edit. Run §2 (common) and §3 (basic design) checks one at a time, recording evidence for each. Pay particular attention to the checks that are cheap to fake and expensive to miss: - **B-02 consistency** — cross-read the function, entity, and message lists against each other. Names that drift between lists are NG. - **B-03 CRUD completeness** — actually walk the matrix; do not trust it. - **B-04 message completeness** — for every prohibited state transition in §5, confirm a message exists. Missing ones are the classic gap. - **B-05 non-functional** — any adjective without a number is a finding. Write to `docs-jsdlc/output/review/BD-<DOM>-<nnn>-review-<YYYYMMDD>.md` using the review report template. State checks run and checks not applicable. --- ## Mode: modify 1. Fix every NG, traceable to a finding number. Every NG you close carries the follow-through its class requires — see `docs-jsdlc/rules/review-checklist.md` §9. Closing the symptom without the follow-through leaves the defect class open, and the next review will find it again. A deferral counts as closed only with a `Q-NNN`, a named decider, and a due phase. 2. Promote every 要確認 to `Q-NNN`; never decide one yourself. 3. **Impact analysis is mandatory at this level.** Basic design has children. For every change, list the affected DD, API, and test documents, and report them as requiring re-examination. A change to §8 (messages) or §5 (states) almost always invalidates downstream documents — say which. 4. Bump the revision history naming the findings addressed. 5. Report: fixes applied, questions promoted, and the downstream documents the user must now re-run through review.
在 GitHub 查看