Skip to main content

jsdlc-implement

Implement, review, or modify code from a Detail Design document and API spec in a Japanese waterfall project. Use when the user asks to code from a design, 製造, implement a detail design item, review code against its design, or fix code-design mismatches.

ソース情報

リポジトリ
phuc-nt/jsdlc-kit
ソースの最終更新活動
2026年9月16日 16:33
検出された SKILL.md の言語
英語
スター
0
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
jsdlc-implement
description
Implement, review, or modify code from a Detail Design document and API spec in a Japanese waterfall project. Use when the user asks to code from a design, 製造, implement a detail design item, review code against its design, or fix code-design mismatches.
# Implementation from Design (製造) Request / arguments: $ARGUMENTS Mode is the first word: `create` (default), `review`, `modify`. Read before acting: - the target `DD-<DOM>-<nnn>` detail design and any related API spec - `docs-jsdlc/rules/review-checklist.md` §2 and §7 - the project profile `.kiro/steering/jsdlc-project-profile.md` §2–§4 (source and test roots, build and test commands, trace tag) and the conventions document it names, if any. A `<...>` placeholder in one of those items stops this skill: report it, raise `Q-NNN`, write no code In this SDLC the design is authoritative. Code is a faithful realization of an approved document, **not** an opportunity to improve the design. A better idea found while coding is raised as an Open Question against the design, not implemented directly. This is the rule engineers most often break, and the one Japanese reviewers check hardest. --- ## Mode: create ### Step 1 — Verify the design is implementable Read the detail design completely before writing anything. Check that §3 field tables, §5 flow, §6 rules, §7 abnormal cases, and §8 boundaries are all present and decidable. If something required to write correct code is missing or ambiguous: **Stop. Raise `Q-NNN` against the design. Do not choose for the client.** Proceed only with a provisional assumption that is written down, both in the open-questions register and in the report. An undocumented choice made at this step is the defect this kit exists to prevent. ### Step 2 — Locate the implementation site Read the existing code around the target: the layer boundaries, naming, error handling, and test style already in use. Follow them. Introducing a new pattern because it is objectively nicer is out of scope (I-06). ### Step 3 — Implement Work section by section through the design, not feature by feature: - **§3.1 inputs** → validation at the boundary the design names, with exactly the error code the design assigns. Not a different code, not a generic one. - **§5.2 / §5.3 flow** → the same steps in the same order. If the code's order must differ (e.g. for a lock), note it and raise a question. - **§6 business rules** → each rule as a distinct, readable check. Boundary inclusivity exactly as written: `[start, end)` means `start < other.end && other.start < end`, and getting this backwards is the classic defect. - **§7 abnormal cases** → every row exists in code with its stated code and status. Count them: rows in §7 should equal error exits in the code. - **§4 data access** → the tables, operations, and keys the design names. Tag every class or method implementing a design item with the trace tag the project profile §4 defines — by default a doc comment carrying `@design DD-<DOM>-<nnn>-<nn>`. This tag is what makes code-to-design traceability mechanical (I-02). ### Step 4 — Implement the unit tests If a UT document exists, implement its cases — same case IDs in the test names, so the mapping is checkable. If it does not exist, write tests covering the design's 正常系 / 異常系 / 境界値 and report that the UT document is missing. ### Step 5 — Verify Run the build and unit test commands from the project profile §3. Report actual output against the recorded baseline. A failing test is reported as failing, never worked around by weakening the assertion. ### Step 6 — Report Design items implemented, files touched, abnormal cases implemented vs. designed (the counts must match), tests added and their result, and every question raised. If you used a provisional assumption, it goes in the first line. --- ## Mode: review Do not edit code. Compare implementation against design, in this direction and then the reverse — both directions find different defects: **Design → code:** every §6 rule, §7 abnormal case, §8 boundary, and §3 validation exists in code with the same code and condition. Missing = NG. **Code → design:** every behaviour, branch, and error exit in the code appears in the design. Extra behaviour is NG (I-04, over-implementation) — it is untested, unreviewed, and unknown to the client. Also check: trace tags present in the profile §4 form (I-02); validation at the designed boundary (I-05); UT cases exist and pass (I-07); project conventions followed (I-06). Run the tests as part of the review and report the actual result. Write to `docs-jsdlc/output/review/DD-<DOM>-<nnn>-code-review-<YYYYMMDD>.md`. --- ## Mode: modify 1. Fix every NG. Each change traces 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 要確認 to `Q-NNN` — do not resolve a business ambiguity in code. 3. **When code and design disagree, neither side is changed in this step.** Write the mismatch as a finding, register a `Q-NNN` naming both readings and the provisional one, and stop. A person names the authoritative side in the register row (decider, decision, date). Only then modify the side they named: - the code — only if the design carries the approval evidence the project profile §10 lists. A design without it is a draft, and code is never changed to match a draft; - the design — through its own skill's `modify` mode, if the code was confirmed right. A design that contradicts its own parent or itself is reported the same way, not interpreted. Never "fix" a design by editing code to match intent you inferred, and never pick a side because the report already names both. 4. Re-run the unit test command from the profile §3 after changes and report the real result against the baseline. 5. Report: findings fixed, questions promoted, test results before and after, and any design document that now needs updating.
GitHubで見る