sdtk-kit 0.3.7 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/assets/manifest/toolkit-bundle.manifest.json +96 -56
- package/assets/manifest/toolkit-bundle.sha256.txt +34 -26
- package/assets/toolkit/toolkit/AGENTS.md +10 -2
- package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_CREATION_RULES.md +7 -1
- package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +17 -0
- package/assets/toolkit/toolkit/skills/sdtk-api-doc/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +17 -0
- package/assets/toolkit/toolkit/skills/sdtk-arch/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-arch/references/API_DESIGN_CREATION_RULES.md +7 -1
- package/assets/toolkit/toolkit/skills/sdtk-arch/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +17 -0
- package/assets/toolkit/toolkit/skills/sdtk-arch/references/FLOW_ACTION_SPEC_CREATION_RULES.md +44 -8
- package/assets/toolkit/toolkit/skills/sdtk-ba/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-design-layout/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-dev/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-dev-backend/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-dev-frontend/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-orchestrator/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-pm/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-qa/SKILL.md +17 -4
- package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/SKILL.md +4 -0
- package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/FLOW_ACTION_SPEC_CREATION_RULES.md +44 -8
- package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/SKILL.md +11 -0
- package/assets/toolkit/toolkit/skills/skills.catalog.yaml +302 -0
- package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_CREATION_RULES.md +7 -1
- package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_DETAIL_TEMPLATE.md +6 -0
- package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_FLOWCHART_CREATION_RULES.md +17 -0
- package/assets/toolkit/toolkit/templates/docs/specs/FLOW_ACTION_SPEC_CREATION_RULES.md +44 -8
- package/assets/toolkit/toolkit/templates/docs/specs/FLOW_ACTION_SPEC_TEMPLATE.md +6 -0
- package/assets/toolkit/toolkit/templates/handoffs/ARCH_TO_DEV.md +31 -0
- package/assets/toolkit/toolkit/templates/handoffs/BA_TO_ARCH.md +28 -0
- package/assets/toolkit/toolkit/templates/handoffs/DEV_STAGE1_SPEC_REVIEW.md +26 -0
- package/assets/toolkit/toolkit/templates/handoffs/DEV_STAGE2_CODE_QUALITY_REVIEW.md +20 -0
- package/assets/toolkit/toolkit/templates/handoffs/DEV_TO_QA.md +23 -0
- package/assets/toolkit/toolkit/templates/handoffs/PM_TO_BA.md +26 -0
- package/assets/toolkit/toolkit/templates/handoffs/QA_RELEASE_DECISION.md +21 -0
- package/package.json +1 -1
package/assets/toolkit/toolkit/skills/sdtk-arch/references/FLOW_ACTION_SPEC_CREATION_RULES.md
CHANGED
|
@@ -19,12 +19,13 @@ A flow-action spec should include, at minimum:
|
|
|
19
19
|
|
|
20
20
|
1. `Abbreviations`
|
|
21
21
|
2. `Feature overview`
|
|
22
|
-
3. `
|
|
23
|
-
4. `Screen
|
|
24
|
-
5. `
|
|
25
|
-
6. `
|
|
26
|
-
7. `
|
|
27
|
-
8. `
|
|
22
|
+
3. `Assumptions`
|
|
23
|
+
4. `Screen flow action` (with PlantUML)
|
|
24
|
+
5. `Screen layout spec by flow action`
|
|
25
|
+
6. `System processing flow`
|
|
26
|
+
7. `Open questions`
|
|
27
|
+
8. `Screen - API mapping`
|
|
28
|
+
9. `Document history`
|
|
28
29
|
|
|
29
30
|
If a section is not in scope, keep the section and mark explicitly as `N/A` with reason.
|
|
30
31
|
|
|
@@ -40,7 +41,34 @@ If a section is not in scope, keep the section and mark explicitly as `N/A` with
|
|
|
40
41
|
- Table rows must keep column count consistent with the header (no broken or merged rows).
|
|
41
42
|
- Avoid single-line merged content that collapses multiple logical items into one table row.
|
|
42
43
|
|
|
43
|
-
### 3.1
|
|
44
|
+
### 3.1 Action Table Mapping Completion Rules
|
|
45
|
+
|
|
46
|
+
- After API endpoint spec and database spec are available, the action-table columns `Attribute`, `DB Column`, `Size`, and `Default Value` must not be left blank when the mapping can be derived from current source-of-truth inputs.
|
|
47
|
+
- Fill these four columns only after the relevant API contract and DB schema are stable enough to be treated as the current source of truth for the active phase.
|
|
48
|
+
- Source priority for filling the four columns:
|
|
49
|
+
1. `docs/api/*_ENDPOINTS.md` and OpenAPI YAML for request/response contract
|
|
50
|
+
2. `docs/database/DATABASE_SPEC_*.md` for physical column names, nullability, storage shape, and query-source aliases
|
|
51
|
+
3. confirmed flow/business rules for default state and behavior
|
|
52
|
+
4. design source (Figma/Excel) for screen label and control type only
|
|
53
|
+
- `Attribute` rules:
|
|
54
|
+
- input item: use the canonical request payload path
|
|
55
|
+
- display item: use the canonical response path
|
|
56
|
+
- UI-only item: use `ui.*` namespace
|
|
57
|
+
- `DB Column` rules:
|
|
58
|
+
- use physical DB column names or query-source aliases from the API/database spec
|
|
59
|
+
- if multiple columns participate, list them explicitly
|
|
60
|
+
- if the control is UI-only, write `N/A`
|
|
61
|
+
- `Size` rules:
|
|
62
|
+
- document data format/type, not pixel width
|
|
63
|
+
- prefer canonical forms such as `uuid`, `DATE (YYYY-MM-DD)`, `DATETIME`, `TIME (HH:mm)`, `boolean`, `array[uuid]`, `enum(...)`, `JSON string`
|
|
64
|
+
- prefer DB storage type first; if not available, fall back to API schema type/format
|
|
65
|
+
- `Default Value` rules:
|
|
66
|
+
- use confirmed business, UI, or runtime defaults
|
|
67
|
+
- if the default comes from settings or environment, state that clearly
|
|
68
|
+
- if not finalized, use `TBD` and keep or raise an open-question reference in `Note`
|
|
69
|
+
- If screen labels conflict with canonical API/DB naming, preserve the original screen label in the visible screen columns, but keep `Attribute` and `DB Column` aligned to API/DB source of truth and explain the mismatch in `Note`.
|
|
70
|
+
|
|
71
|
+
### 3.2 Language and Encoding Standards (EN Artifacts)
|
|
44
72
|
|
|
45
73
|
- For EN artifacts (`docs/en/**` or explicitly requested EN version), narrative text must be English.
|
|
46
74
|
- JP labels, if provided by the input, should be kept in a clearly marked appendix or note column, not in the default item table columns.
|
|
@@ -49,12 +77,19 @@ If a section is not in scope, keep the section and mark explicitly as `N/A` with
|
|
|
49
77
|
- Save files as UTF-8 and avoid mojibake/broken glyphs (`�`, `ↁE`, garbled sequences).
|
|
50
78
|
- Keep canonical terminology stable across documents (for example: `bukken`, `sagyo`, `customer employee`).
|
|
51
79
|
|
|
52
|
-
### 3.
|
|
80
|
+
### 3.3 Markdown Structure Hygiene
|
|
53
81
|
|
|
54
82
|
- Keep each heading on its own line; do not concatenate multiple headings/sections on one line.
|
|
55
83
|
- Keep metadata blocks (`Information`, `Note`, `Behavior notes`) as structured bullet blocks, not single compressed lines.
|
|
56
84
|
- Keep image, table, and separator (`---`) boundaries explicit to preserve parser/render stability.
|
|
57
85
|
|
|
86
|
+
### 3.4 Assumptions Section
|
|
87
|
+
|
|
88
|
+
- Every flow-action spec must include a top-level `## Assumptions` section.
|
|
89
|
+
- Use this table format exactly: `# | Assumption | Verified | Risk if wrong`.
|
|
90
|
+
- Keep assumptions explicit when downstream mapping or behavior depends on an unresolved decision.
|
|
91
|
+
- If an assumption affects UI behavior, API mapping, or DB mapping, reflect the risk in `Note` and keep or raise the related `OQ-xx` item.
|
|
92
|
+
|
|
58
93
|
## 4. Item Numbering and Duplication Rules
|
|
59
94
|
|
|
60
95
|
- Use one numbering mode only: `global across document`.
|
|
@@ -158,6 +193,7 @@ When `Design Source Type` is `generated-draft`:
|
|
|
158
193
|
- Numbering is global across the document (no resets).
|
|
159
194
|
- No broken image links (for `generated-draft` screens: `.svg` exists or render-skipped note is present).
|
|
160
195
|
- Screen/API mappings are consistent with `*_ENDPOINTS.md`.
|
|
196
|
+
- Assumptions section exists and unresolved assumptions are traceable.
|
|
161
197
|
- Open questions are explicit and traceable.
|
|
162
198
|
- For EN artifact: no leftover VI text outside allowed `Original Text` appendix blocks.
|
|
163
199
|
- No mojibake/encoding corruption markers.
|
|
@@ -5,6 +5,10 @@ description: Business Analyst workflow for SDTK. Use when you need to turn PM in
|
|
|
5
5
|
|
|
6
6
|
# SDTK BA (Business Analysis)
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not mark BA analysis complete until `REQ`, `UC`, `BR`, and `AC` traceability is explicit.
|
|
10
|
+
- I do not silently resolve business ambiguities that belong to PM or the user.
|
|
11
|
+
|
|
8
12
|
## Output
|
|
9
13
|
- `docs/specs/BA_SPEC_[FEATURE_KEY].md`
|
|
10
14
|
|
|
@@ -5,6 +5,10 @@ description: Generate UI screen layout documentation for a feature, including Pl
|
|
|
5
5
|
|
|
6
6
|
# SDTK Screen Layout Design
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not skip screen IDs or item numbering alignment with the wireframe.
|
|
10
|
+
- I do not hide render limitations; I record when screen preview rendering is unavailable.
|
|
11
|
+
|
|
8
12
|
## Output
|
|
9
13
|
- `docs/design/DESIGN_LAYOUT_[FEATURE_KEY].md`
|
|
10
14
|
|
|
@@ -5,6 +5,10 @@ description: Developer workflow for SDTK. Use when you need to implement a featu
|
|
|
5
5
|
|
|
6
6
|
# SDTK DEV (Implementation + Code Review)
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not start implementation before the current `FEATURE_IMPL_PLAN` scope is approved.
|
|
10
|
+
- I do not claim implementation is complete without fresh verification evidence.
|
|
11
|
+
|
|
8
12
|
## Outputs
|
|
9
13
|
- `docs/dev/FEATURE_IMPL_PLAN_[FEATURE_KEY].md`
|
|
10
14
|
- Code + tests (follow repo conventions)
|
|
@@ -5,6 +5,10 @@ description: Generate/modify Python Django REST Framework backend code following
|
|
|
5
5
|
|
|
6
6
|
# SDTK Backend (Toolkit conventions)
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not generate backend code without approved API and data-contract sources.
|
|
10
|
+
- I do not ignore established repository patterns when adding backend modules.
|
|
11
|
+
|
|
8
12
|
## Process
|
|
9
13
|
1. Check whether this repository already has a backend reference module and follow its patterns.
|
|
10
14
|
2. Follow module structure: `src/backend/<module>/{models,view,service,serializers,validation,enum,urls.py}`.
|
|
@@ -5,6 +5,10 @@ description: Generate/modify React frontend code following the toolkit conventio
|
|
|
5
5
|
|
|
6
6
|
# SDTK Frontend (Toolkit conventions)
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not implement screens without current layout and flow-action sources.
|
|
10
|
+
- I do not bypass existing frontend patterns for loading, permissions, or labels.
|
|
11
|
+
|
|
8
12
|
## Process
|
|
9
13
|
1. Check whether this repository already has a frontend reference module and follow its patterns.
|
|
10
14
|
2. Follow structure:
|
|
@@ -5,6 +5,10 @@ description: Orchestrate a full 6-phase SDLC multi-agent workflow (PM/BA/ARCH/DE
|
|
|
5
5
|
|
|
6
6
|
# SDTK Orchestrator (multi-agent workflow)
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not skip mandatory phases or hand off without current-phase evidence.
|
|
10
|
+
- I do not treat planned commands as equivalent to completed work.
|
|
11
|
+
|
|
8
12
|
## Initialize
|
|
9
13
|
- Ensure feature key + feature name exist (ask if missing).
|
|
10
14
|
- Read `sdtk.config.json` (project stack + commands) if present.
|
|
@@ -5,6 +5,10 @@ description: Product Manager + meta-orchestrator workflow for SDTK. Use when you
|
|
|
5
5
|
|
|
6
6
|
# SDTK PM (Entry Point + Planning)
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not hand off PM work until `SHARED_PLANNING.md` and `QUALITY_CHECKLIST.md` reflect the current phase.
|
|
10
|
+
- I do not hide unresolved scope or decision gaps; I record them as `OQ-xx` items for downstream roles.
|
|
11
|
+
|
|
8
12
|
## Outputs
|
|
9
13
|
- Phase 1: `docs/product/PROJECT_INITIATION_[FEATURE_KEY].md`
|
|
10
14
|
- Phase 2+ (after BA spec): `docs/product/PRD_[FEATURE_KEY].md` + `docs/product/BACKLOG_[FEATURE_KEY].md`
|
|
@@ -5,6 +5,10 @@ description: QA workflow for SDTK. Use when you need to validate an implemented
|
|
|
5
5
|
|
|
6
6
|
# SDTK QA (Testing + Release Decision)
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not start QA handoff or release decision work until both DEV review gates PASS.
|
|
10
|
+
- I do not approve without exact specification quotes and fresh verification evidence.
|
|
11
|
+
|
|
8
12
|
## Output
|
|
9
13
|
- `docs/qa/QA_RELEASE_REPORT_[FEATURE_KEY].md`
|
|
10
14
|
- Optional (when detailed test design spec is requested):
|
|
@@ -17,10 +21,11 @@ description: QA workflow for SDTK. Use when you need to validate an implemented
|
|
|
17
21
|
4. Apply `governance/ai/core/SDTK_BENCHMARK_QA_MODE_POLICY.md` for benchmark-mode verdict rules when no executable build exists.
|
|
18
22
|
5. If acceptance criteria / expected behavior is unclear, record OQ-xx in QA report and preserve benchmark-expected ambiguity per `governance/ai/core/SDTK_BENCHMARK_OQ_POLICY.md`; escalate to `@pm` if still missing info.
|
|
19
23
|
6. Execute the required checks, record the commands used, and capture the actual results (unit/integration/e2e or document review evidence as applicable).
|
|
20
|
-
7.
|
|
21
|
-
8.
|
|
22
|
-
9.
|
|
23
|
-
10.
|
|
24
|
+
7. When validating requirement behavior, quote the exact specification text before recording a match or mismatch.
|
|
25
|
+
8. Record defects with severity and status.
|
|
26
|
+
9. Decide: APPROVED vs REJECTED only after fresh verification evidence supports the verdict.
|
|
27
|
+
10. Update shared state + Phase 5 checklist.
|
|
28
|
+
11. Handoff: `@pm please finalize release status ...` if approved.
|
|
24
29
|
|
|
25
30
|
## Verification Before Completion
|
|
26
31
|
Apply `governance/ai/core/SDTK_VERIFICATION_BEFORE_COMPLETION_POLICY.md` and require fresh verification evidence before any QA verdict or handoff.
|
|
@@ -32,6 +37,14 @@ Do not:
|
|
|
32
37
|
|
|
33
38
|
If the environment cannot run the proving checks, follow the benchmark QA mode policy explicitly and state that the result is not fully verified at runtime.
|
|
34
39
|
|
|
40
|
+
## Specification Quoting
|
|
41
|
+
When validating a requirement, quote the exact source text before judging the evidence.
|
|
42
|
+
|
|
43
|
+
Use this format:
|
|
44
|
+
- `Spec says: "[exact quote]" -> Evidence: [match/mismatch + file reference]`
|
|
45
|
+
|
|
46
|
+
Apply it to BA, PRD or BACKLOG, ARCH, API, DB, and flow-action sources whenever they define the expected behavior.
|
|
47
|
+
|
|
35
48
|
## Order-Critical Hard Gate
|
|
36
49
|
Do not start QA handoff, release testing, or release decision work until both DEV review gates are documented as PASS:
|
|
37
50
|
- Stage 1 artifact/spec compliance review
|
|
@@ -5,6 +5,10 @@ description: Create/update screen flow-action specifications from requirement so
|
|
|
5
5
|
|
|
6
6
|
# SDTK Screen Flow Action Spec
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not finalize UI-scope screens without a valid design source type and reference.
|
|
10
|
+
- I do not leave broken image paths or incomplete API mappings in the flow-action spec.
|
|
11
|
+
|
|
8
12
|
## Outputs
|
|
9
13
|
- `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md`
|
|
10
14
|
- Optional supporting docs:
|
|
@@ -19,12 +19,13 @@ A flow-action spec should include, at minimum:
|
|
|
19
19
|
|
|
20
20
|
1. `Abbreviations`
|
|
21
21
|
2. `Feature overview`
|
|
22
|
-
3. `
|
|
23
|
-
4. `Screen
|
|
24
|
-
5. `
|
|
25
|
-
6. `
|
|
26
|
-
7. `
|
|
27
|
-
8. `
|
|
22
|
+
3. `Assumptions`
|
|
23
|
+
4. `Screen flow action` (with PlantUML)
|
|
24
|
+
5. `Screen layout spec by flow action`
|
|
25
|
+
6. `System processing flow`
|
|
26
|
+
7. `Open questions`
|
|
27
|
+
8. `Screen - API mapping`
|
|
28
|
+
9. `Document history`
|
|
28
29
|
|
|
29
30
|
If a section is not in scope, keep the section and mark explicitly as `N/A` with reason.
|
|
30
31
|
|
|
@@ -40,7 +41,34 @@ If a section is not in scope, keep the section and mark explicitly as `N/A` with
|
|
|
40
41
|
- Table rows must keep column count consistent with the header (no broken or merged rows).
|
|
41
42
|
- Avoid single-line merged content that collapses multiple logical items into one table row.
|
|
42
43
|
|
|
43
|
-
### 3.1
|
|
44
|
+
### 3.1 Action Table Mapping Completion Rules
|
|
45
|
+
|
|
46
|
+
- After API endpoint spec and database spec are available, the action-table columns `Attribute`, `DB Column`, `Size`, and `Default Value` must not be left blank when the mapping can be derived from current source-of-truth inputs.
|
|
47
|
+
- Fill these four columns only after the relevant API contract and DB schema are stable enough to be treated as the current source of truth for the active phase.
|
|
48
|
+
- Source priority for filling the four columns:
|
|
49
|
+
1. `docs/api/*_ENDPOINTS.md` and OpenAPI YAML for request/response contract
|
|
50
|
+
2. `docs/database/DATABASE_SPEC_*.md` for physical column names, nullability, storage shape, and query-source aliases
|
|
51
|
+
3. confirmed flow/business rules for default state and behavior
|
|
52
|
+
4. design source (Figma/Excel) for screen label and control type only
|
|
53
|
+
- `Attribute` rules:
|
|
54
|
+
- input item: use the canonical request payload path
|
|
55
|
+
- display item: use the canonical response path
|
|
56
|
+
- UI-only item: use `ui.*` namespace
|
|
57
|
+
- `DB Column` rules:
|
|
58
|
+
- use physical DB column names or query-source aliases from the API/database spec
|
|
59
|
+
- if multiple columns participate, list them explicitly
|
|
60
|
+
- if the control is UI-only, write `N/A`
|
|
61
|
+
- `Size` rules:
|
|
62
|
+
- document data format/type, not pixel width
|
|
63
|
+
- prefer canonical forms such as `uuid`, `DATE (YYYY-MM-DD)`, `DATETIME`, `TIME (HH:mm)`, `boolean`, `array[uuid]`, `enum(...)`, `JSON string`
|
|
64
|
+
- prefer DB storage type first; if not available, fall back to API schema type/format
|
|
65
|
+
- `Default Value` rules:
|
|
66
|
+
- use confirmed business, UI, or runtime defaults
|
|
67
|
+
- if the default comes from settings or environment, state that clearly
|
|
68
|
+
- if not finalized, use `TBD` and keep or raise an open-question reference in `Note`
|
|
69
|
+
- If screen labels conflict with canonical API/DB naming, preserve the original screen label in the visible screen columns, but keep `Attribute` and `DB Column` aligned to API/DB source of truth and explain the mismatch in `Note`.
|
|
70
|
+
|
|
71
|
+
### 3.2 Language and Encoding Standards (EN Artifacts)
|
|
44
72
|
|
|
45
73
|
- For EN artifacts (`docs/en/**` or explicitly requested EN version), narrative text must be English.
|
|
46
74
|
- JP labels, if provided by the input, should be kept in a clearly marked appendix or note column, not in the default item table columns.
|
|
@@ -49,12 +77,19 @@ If a section is not in scope, keep the section and mark explicitly as `N/A` with
|
|
|
49
77
|
- Save files as UTF-8 and avoid mojibake/broken glyphs (`�`, `ↁE`, garbled sequences).
|
|
50
78
|
- Keep canonical terminology stable across documents (for example: `bukken`, `sagyo`, `customer employee`).
|
|
51
79
|
|
|
52
|
-
### 3.
|
|
80
|
+
### 3.3 Markdown Structure Hygiene
|
|
53
81
|
|
|
54
82
|
- Keep each heading on its own line; do not concatenate multiple headings/sections on one line.
|
|
55
83
|
- Keep metadata blocks (`Information`, `Note`, `Behavior notes`) as structured bullet blocks, not single compressed lines.
|
|
56
84
|
- Keep image, table, and separator (`---`) boundaries explicit to preserve parser/render stability.
|
|
57
85
|
|
|
86
|
+
### 3.4 Assumptions Section
|
|
87
|
+
|
|
88
|
+
- Every flow-action spec must include a top-level `## Assumptions` section.
|
|
89
|
+
- Use this table format exactly: `# | Assumption | Verified | Risk if wrong`.
|
|
90
|
+
- Keep assumptions explicit when downstream mapping or behavior depends on an unresolved decision.
|
|
91
|
+
- If an assumption affects UI behavior, API mapping, or DB mapping, reflect the risk in `Note` and keep or raise the related `OQ-xx` item.
|
|
92
|
+
|
|
58
93
|
## 4. Item Numbering and Duplication Rules
|
|
59
94
|
|
|
60
95
|
- Use one numbering mode only: `global across document`.
|
|
@@ -158,6 +193,7 @@ When `Design Source Type` is `generated-draft`:
|
|
|
158
193
|
- Numbering is global across the document (no resets).
|
|
159
194
|
- No broken image links (for `generated-draft` screens: `.svg` exists or render-skipped note is present).
|
|
160
195
|
- Screen/API mappings are consistent with `*_ENDPOINTS.md`.
|
|
196
|
+
- Assumptions section exists and unresolved assumptions are traceable.
|
|
161
197
|
- Open questions are explicit and traceable.
|
|
162
198
|
- For EN artifact: no leftover VI text outside allowed `Original Text` appendix blocks.
|
|
163
199
|
- No mojibake/encoding corruption markers.
|
|
@@ -5,6 +5,10 @@ description: Generate screen-based QA test-case markdown (`[FEATURE_KEY]_TEST_CA
|
|
|
5
5
|
|
|
6
6
|
# SDTK Test Case Spec
|
|
7
7
|
|
|
8
|
+
## Critical Constraints
|
|
9
|
+
- I do not invent test coverage beyond BA, flow-action, and API sources.
|
|
10
|
+
- I do not let test totals drift away from worksheet rows or the QA baseline.
|
|
11
|
+
|
|
8
12
|
## Outputs
|
|
9
13
|
- `docs/qa/[FEATURE_KEY]_TEST_CASE.md`
|
|
10
14
|
- Optional project variant:
|
|
@@ -28,6 +32,7 @@ description: Generate screen-based QA test-case markdown (`[FEATURE_KEY]_TEST_CA
|
|
|
28
32
|
4. Keep one unified 18-column schema for UTC/ITC rows.
|
|
29
33
|
5. Keep stable case IDs; do not renumber only because of regrouping.
|
|
30
34
|
6. Track unresolved decisions via `OQ-xx` and keep benchmark-expected OQs explicitly OPEN per `governance/ai/core/SDTK_BENCHMARK_OQ_POLICY.md`.
|
|
35
|
+
7. Quote exact BA, API, or flow-action requirement text when a testcase or coverage claim depends on that requirement.
|
|
31
36
|
|
|
32
37
|
## Procedure
|
|
33
38
|
1. Resolve output path:
|
|
@@ -44,6 +49,12 @@ description: Generate screen-based QA test-case markdown (`[FEATURE_KEY]_TEST_CA
|
|
|
44
49
|
- no placeholder tokens like `??`
|
|
45
50
|
- out-of-scope boundaries are explicit
|
|
46
51
|
|
|
52
|
+
## Specification Quoting
|
|
53
|
+
When a testcase, coverage note, or defect check depends on a requirement, quote the exact source text before stating coverage or mismatch.
|
|
54
|
+
|
|
55
|
+
Use this format:
|
|
56
|
+
- `Spec says: "[exact quote]" -> Evidence: [covered/not covered + file reference]`
|
|
57
|
+
|
|
47
58
|
## Role Integration
|
|
48
59
|
- Primary owner: `/qa`.
|
|
49
60
|
- `/qa` uses this skill to design/update reusable test-case specs.
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
skills:
|
|
3
|
+
- name: sdtk-pm
|
|
4
|
+
phase: pm
|
|
5
|
+
role_tag: /pm
|
|
6
|
+
use_when: Start feature scope or produce PM planning artifacts before BA or ARCH handoff.
|
|
7
|
+
primary_inputs:
|
|
8
|
+
- source requirements
|
|
9
|
+
- docs/product/PROJECT_INITIATION_[FEATURE_KEY].md
|
|
10
|
+
- docs/specs/BA_SPEC_[FEATURE_KEY].md
|
|
11
|
+
primary_outputs:
|
|
12
|
+
- docs/product/PROJECT_INITIATION_[FEATURE_KEY].md
|
|
13
|
+
- docs/product/PRD_[FEATURE_KEY].md
|
|
14
|
+
- docs/product/BACKLOG_[FEATURE_KEY].md
|
|
15
|
+
hard_gates:
|
|
16
|
+
- Do not hand off without updating SHARED_PLANNING.md and QUALITY_CHECKLIST.md.
|
|
17
|
+
- Keep unresolved OQ items explicit instead of silently deciding for other roles.
|
|
18
|
+
references: []
|
|
19
|
+
prompts: []
|
|
20
|
+
scripts: []
|
|
21
|
+
runtime_support: [claude, codex]
|
|
22
|
+
dependencies: []
|
|
23
|
+
pack: core
|
|
24
|
+
|
|
25
|
+
- name: sdtk-ba
|
|
26
|
+
phase: ba
|
|
27
|
+
role_tag: /ba
|
|
28
|
+
use_when: Convert PM initiation into a BA spec with glossary, BR, UC, AC, NFR, and traceability.
|
|
29
|
+
primary_inputs:
|
|
30
|
+
- docs/product/PROJECT_INITIATION_[FEATURE_KEY].md
|
|
31
|
+
- source requirements
|
|
32
|
+
primary_outputs:
|
|
33
|
+
- docs/specs/BA_SPEC_[FEATURE_KEY].md
|
|
34
|
+
hard_gates:
|
|
35
|
+
- Do not close BA output without explicit REQ to UC or BR or AC traceability.
|
|
36
|
+
- Keep unresolved OQ items visible for PM resolution.
|
|
37
|
+
references: []
|
|
38
|
+
prompts: []
|
|
39
|
+
scripts: []
|
|
40
|
+
runtime_support: [claude, codex]
|
|
41
|
+
dependencies: [sdtk-pm]
|
|
42
|
+
pack: core
|
|
43
|
+
|
|
44
|
+
- name: sdtk-arch
|
|
45
|
+
phase: arch
|
|
46
|
+
role_tag: /arch
|
|
47
|
+
use_when: Convert BA spec and PM backlog into architecture, API, DB, and UI design artifacts.
|
|
48
|
+
primary_inputs:
|
|
49
|
+
- docs/specs/BA_SPEC_[FEATURE_KEY].md
|
|
50
|
+
- docs/product/PRD_[FEATURE_KEY].md
|
|
51
|
+
- docs/product/BACKLOG_[FEATURE_KEY].md
|
|
52
|
+
primary_outputs:
|
|
53
|
+
- docs/architecture/ARCH_DESIGN_[FEATURE_KEY].md
|
|
54
|
+
- docs/api/[FeaturePascal]_API.yaml
|
|
55
|
+
- docs/api/[FEATURE_KEY]_ENDPOINTS.md
|
|
56
|
+
- docs/api/[FEATURE_KEY]_API_DESIGN_DETAIL.md
|
|
57
|
+
- docs/database/DATABASE_SPEC_[FEATURE_KEY].md
|
|
58
|
+
- docs/design/DESIGN_LAYOUT_[FEATURE_KEY].md
|
|
59
|
+
- docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md
|
|
60
|
+
hard_gates:
|
|
61
|
+
- For UI scope, DESIGN_LAYOUT must exist before FLOW_ACTION_SPEC.
|
|
62
|
+
- Keep API, DB, and screen outputs aligned to the same source requirements.
|
|
63
|
+
references:
|
|
64
|
+
- toolkit/skills/sdtk-arch/references/YAML_CREATION_RULES.md
|
|
65
|
+
- toolkit/skills/sdtk-arch/references/API_DESIGN_FLOWCHART_CREATION_RULES.md
|
|
66
|
+
- toolkit/skills/sdtk-arch/references/FLOW_ACTION_SPEC_CREATION_RULES.md
|
|
67
|
+
prompts: []
|
|
68
|
+
scripts: []
|
|
69
|
+
runtime_support: [claude, codex]
|
|
70
|
+
dependencies: [sdtk-pm, sdtk-ba]
|
|
71
|
+
pack: core
|
|
72
|
+
|
|
73
|
+
- name: sdtk-dev
|
|
74
|
+
phase: dev
|
|
75
|
+
role_tag: /dev
|
|
76
|
+
use_when: Implement a feature from approved architecture and backlog, then prepare QA handoff.
|
|
77
|
+
primary_inputs:
|
|
78
|
+
- docs/architecture/ARCH_DESIGN_[FEATURE_KEY].md
|
|
79
|
+
- docs/product/BACKLOG_[FEATURE_KEY].md
|
|
80
|
+
- docs/dev/FEATURE_IMPL_PLAN_[FEATURE_KEY].md
|
|
81
|
+
primary_outputs:
|
|
82
|
+
- docs/dev/FEATURE_IMPL_PLAN_[FEATURE_KEY].md
|
|
83
|
+
- code changes
|
|
84
|
+
- tests
|
|
85
|
+
hard_gates:
|
|
86
|
+
- Do not implement before the current FEATURE_IMPL_PLAN slice is approved.
|
|
87
|
+
- Run Stage 1 spec review before Stage 2 code-quality review.
|
|
88
|
+
references: []
|
|
89
|
+
prompts:
|
|
90
|
+
- toolkit/skills/sdtk-dev/prompts/implementer.md
|
|
91
|
+
- toolkit/skills/sdtk-dev/prompts/spec-reviewer.md
|
|
92
|
+
- toolkit/skills/sdtk-dev/prompts/code-quality-reviewer.md
|
|
93
|
+
scripts: []
|
|
94
|
+
runtime_support: [claude, codex]
|
|
95
|
+
dependencies: [sdtk-arch]
|
|
96
|
+
pack: core
|
|
97
|
+
|
|
98
|
+
- name: sdtk-qa
|
|
99
|
+
phase: qa
|
|
100
|
+
role_tag: /qa
|
|
101
|
+
use_when: Validate implementation against specs, run quality gates, and produce a release decision.
|
|
102
|
+
primary_inputs:
|
|
103
|
+
- docs/specs/BA_SPEC_[FEATURE_KEY].md
|
|
104
|
+
- docs/product/PRD_[FEATURE_KEY].md
|
|
105
|
+
- docs/product/BACKLOG_[FEATURE_KEY].md
|
|
106
|
+
- docs/dev/FEATURE_IMPL_PLAN_[FEATURE_KEY].md
|
|
107
|
+
primary_outputs:
|
|
108
|
+
- docs/qa/QA_RELEASE_REPORT_[FEATURE_KEY].md
|
|
109
|
+
- docs/qa/[FEATURE_KEY]_TEST_CASE.md
|
|
110
|
+
hard_gates:
|
|
111
|
+
- QA handoff is blocked until DEV Stage 1 and Stage 2 review gates PASS.
|
|
112
|
+
- Do not issue APPROVED without fresh verification evidence.
|
|
113
|
+
references: []
|
|
114
|
+
prompts: []
|
|
115
|
+
scripts: []
|
|
116
|
+
runtime_support: [claude, codex]
|
|
117
|
+
dependencies: [sdtk-dev]
|
|
118
|
+
pack: core
|
|
119
|
+
|
|
120
|
+
- name: sdtk-orchestrator
|
|
121
|
+
phase: orchestration
|
|
122
|
+
role_tag: /orchestrator
|
|
123
|
+
use_when: Coordinate the full six-phase workflow and keep phase handoffs in order.
|
|
124
|
+
primary_inputs:
|
|
125
|
+
- feature key
|
|
126
|
+
- feature name
|
|
127
|
+
- sdtk.config.json
|
|
128
|
+
- SHARED_PLANNING.md
|
|
129
|
+
- QUALITY_CHECKLIST.md
|
|
130
|
+
primary_outputs:
|
|
131
|
+
- phase handoffs
|
|
132
|
+
- updated SHARED_PLANNING.md
|
|
133
|
+
- updated QUALITY_CHECKLIST.md
|
|
134
|
+
hard_gates:
|
|
135
|
+
- Do not skip mandatory PM or BA or ARCH or DEV or QA phases.
|
|
136
|
+
- Do not hand off the next phase without evidence from the current phase.
|
|
137
|
+
references: []
|
|
138
|
+
prompts: []
|
|
139
|
+
scripts:
|
|
140
|
+
- toolkit/scripts/init-feature.ps1
|
|
141
|
+
runtime_support: [claude, codex]
|
|
142
|
+
dependencies: []
|
|
143
|
+
pack: core
|
|
144
|
+
|
|
145
|
+
- name: sdtk-dev-backend
|
|
146
|
+
phase: dev
|
|
147
|
+
role_tag: /dev-backend
|
|
148
|
+
use_when: Implement backend code that follows SDTK backend conventions for a scoped feature slice.
|
|
149
|
+
primary_inputs:
|
|
150
|
+
- docs/architecture/ARCH_DESIGN_[FEATURE_KEY].md
|
|
151
|
+
- docs/api/[FeaturePascal]_API.yaml
|
|
152
|
+
- docs/database/DATABASE_SPEC_[FEATURE_KEY].md
|
|
153
|
+
primary_outputs:
|
|
154
|
+
- backend code
|
|
155
|
+
- backend tests
|
|
156
|
+
hard_gates:
|
|
157
|
+
- Do not generate backend code without approved API and data-contract sources.
|
|
158
|
+
- Follow existing repository patterns before introducing new module structure.
|
|
159
|
+
references: []
|
|
160
|
+
prompts: []
|
|
161
|
+
scripts: []
|
|
162
|
+
runtime_support: [claude, codex]
|
|
163
|
+
dependencies: [sdtk-dev, sdtk-api-doc]
|
|
164
|
+
pack: core
|
|
165
|
+
|
|
166
|
+
- name: sdtk-dev-frontend
|
|
167
|
+
phase: dev
|
|
168
|
+
role_tag: /dev-frontend
|
|
169
|
+
use_when: Implement frontend code that follows SDTK frontend conventions for a scoped feature slice.
|
|
170
|
+
primary_inputs:
|
|
171
|
+
- docs/design/DESIGN_LAYOUT_[FEATURE_KEY].md
|
|
172
|
+
- docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md
|
|
173
|
+
- docs/architecture/ARCH_DESIGN_[FEATURE_KEY].md
|
|
174
|
+
primary_outputs:
|
|
175
|
+
- frontend code
|
|
176
|
+
- frontend tests
|
|
177
|
+
hard_gates:
|
|
178
|
+
- Do not implement screens without the current design and flow-action source.
|
|
179
|
+
- Preserve existing frontend patterns before introducing new abstractions.
|
|
180
|
+
references: []
|
|
181
|
+
prompts: []
|
|
182
|
+
scripts: []
|
|
183
|
+
runtime_support: [claude, codex]
|
|
184
|
+
dependencies: [sdtk-dev, sdtk-design-layout, sdtk-screen-design-spec]
|
|
185
|
+
pack: core
|
|
186
|
+
|
|
187
|
+
- name: sdtk-api-doc
|
|
188
|
+
phase: arch
|
|
189
|
+
role_tag: /api-doc
|
|
190
|
+
use_when: Generate or update OpenAPI YAML, API endpoints markdown, and flow-list files from architecture scope.
|
|
191
|
+
primary_inputs:
|
|
192
|
+
- docs/specs/BA_SPEC_[FEATURE_KEY].md
|
|
193
|
+
- docs/architecture/ARCH_DESIGN_[FEATURE_KEY].md
|
|
194
|
+
primary_outputs:
|
|
195
|
+
- docs/api/[FeaturePascal]_API.yaml
|
|
196
|
+
- docs/api/[FEATURE_KEY]_ENDPOINTS.md
|
|
197
|
+
- docs/api/[feature_snake]_api_flow_list.txt
|
|
198
|
+
hard_gates:
|
|
199
|
+
- Do not invent API paths or schemas that contradict BA or ARCH source.
|
|
200
|
+
- Keep YAML, endpoint markdown, and flow list synchronized.
|
|
201
|
+
references:
|
|
202
|
+
- toolkit/skills/sdtk-api-doc/references/YAML_CREATION_RULES.md
|
|
203
|
+
- toolkit/skills/sdtk-api-doc/references/API_DESIGN_FLOWCHART_CREATION_RULES.md
|
|
204
|
+
prompts: []
|
|
205
|
+
scripts: []
|
|
206
|
+
runtime_support: [claude, codex]
|
|
207
|
+
dependencies: [sdtk-arch, sdtk-ba]
|
|
208
|
+
pack: core
|
|
209
|
+
|
|
210
|
+
- name: sdtk-api-design-spec
|
|
211
|
+
phase: arch
|
|
212
|
+
role_tag: /api-design-spec
|
|
213
|
+
use_when: Generate API design detail markdown from OpenAPI YAML and API flow list.
|
|
214
|
+
primary_inputs:
|
|
215
|
+
- docs/api/[FeaturePascal]_API.yaml
|
|
216
|
+
- docs/api/[feature_snake]_api_flow_list.txt
|
|
217
|
+
primary_outputs:
|
|
218
|
+
- docs/api/[FEATURE_KEY]_API_DESIGN_DETAIL.md
|
|
219
|
+
- docs/api/flows/*.puml
|
|
220
|
+
- docs/api/images/*.svg
|
|
221
|
+
hard_gates:
|
|
222
|
+
- Do not drift from the source YAML or flow list.
|
|
223
|
+
- Do not leave broken flow image embeds in the generated markdown.
|
|
224
|
+
references:
|
|
225
|
+
- toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_FLOWCHART_CREATION_RULES.md
|
|
226
|
+
- toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_CREATION_RULES.md
|
|
227
|
+
prompts: []
|
|
228
|
+
scripts:
|
|
229
|
+
- toolkit/skills/sdtk-api-design-spec/scripts/generate_api_design_detail.py
|
|
230
|
+
runtime_support: [claude, codex]
|
|
231
|
+
dependencies: [sdtk-api-doc]
|
|
232
|
+
pack: core
|
|
233
|
+
|
|
234
|
+
- name: sdtk-design-layout
|
|
235
|
+
phase: arch
|
|
236
|
+
role_tag: /design-layout
|
|
237
|
+
use_when: Generate design-layout docs with PlantUML salt wireframes and item tables for UI scope.
|
|
238
|
+
primary_inputs:
|
|
239
|
+
- docs/specs/BA_SPEC_[FEATURE_KEY].md
|
|
240
|
+
- docs/api/[FEATURE_KEY]_ENDPOINTS.md
|
|
241
|
+
primary_outputs:
|
|
242
|
+
- docs/design/DESIGN_LAYOUT_[FEATURE_KEY].md
|
|
243
|
+
- docs/specs/assets/<feature_snake>/screens/*.svg
|
|
244
|
+
hard_gates:
|
|
245
|
+
- Do not skip screen IDs or item numbering alignment with the wireframe.
|
|
246
|
+
- If rendering is unavailable, record that explicitly instead of pretending render assets exist.
|
|
247
|
+
references: []
|
|
248
|
+
prompts: []
|
|
249
|
+
scripts:
|
|
250
|
+
- toolkit/skills/sdtk-design-layout/scripts/render_design_layout_images.py
|
|
251
|
+
runtime_support: [claude, codex]
|
|
252
|
+
dependencies: [sdtk-arch, sdtk-ba]
|
|
253
|
+
pack: core
|
|
254
|
+
|
|
255
|
+
- name: sdtk-screen-design-spec
|
|
256
|
+
phase: arch
|
|
257
|
+
role_tag: /screen-design-spec
|
|
258
|
+
use_when: Build flow-action specs from requirement sources, design source references, and API mappings.
|
|
259
|
+
primary_inputs:
|
|
260
|
+
- docs/specs/BA_SPEC_[FEATURE_KEY].md
|
|
261
|
+
- docs/design/DESIGN_LAYOUT_[FEATURE_KEY].md
|
|
262
|
+
- docs/api/[FEATURE_KEY]_ENDPOINTS.md
|
|
263
|
+
primary_outputs:
|
|
264
|
+
- docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md
|
|
265
|
+
- docs/specs/assets/<feature_snake>/screens/*
|
|
266
|
+
hard_gates:
|
|
267
|
+
- Do not finalize UI-scope screens without a valid design source type and reference.
|
|
268
|
+
- Do not leave broken image paths or missing API mappings in the spec.
|
|
269
|
+
references:
|
|
270
|
+
- toolkit/skills/sdtk-screen-design-spec/references/FLOW_ACTION_SPEC_CREATION_RULES.md
|
|
271
|
+
- toolkit/skills/sdtk-screen-design-spec/references/numbering-rules.md
|
|
272
|
+
- toolkit/skills/sdtk-screen-design-spec/references/figma-mcp.md
|
|
273
|
+
- toolkit/skills/sdtk-screen-design-spec/references/excel-image-export.md
|
|
274
|
+
prompts: []
|
|
275
|
+
scripts:
|
|
276
|
+
- toolkit/skills/sdtk-screen-design-spec/scripts/validate_flow_action_spec_numbering.py
|
|
277
|
+
- toolkit/skills/sdtk-screen-design-spec/scripts/renumber_flow_action_spec_global.py
|
|
278
|
+
runtime_support: [claude, codex]
|
|
279
|
+
dependencies: [sdtk-arch, sdtk-design-layout]
|
|
280
|
+
pack: core
|
|
281
|
+
|
|
282
|
+
- name: sdtk-test-case-spec
|
|
283
|
+
phase: qa
|
|
284
|
+
role_tag: /test-case-spec
|
|
285
|
+
use_when: Generate reusable screen-based test-case specifications before or during QA execution.
|
|
286
|
+
primary_inputs:
|
|
287
|
+
- docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md
|
|
288
|
+
- docs/specs/BA_SPEC_[FEATURE_KEY].md
|
|
289
|
+
- docs/api/[FEATURE_KEY]_ENDPOINTS.md
|
|
290
|
+
primary_outputs:
|
|
291
|
+
- docs/qa/[FEATURE_KEY]_TEST_CASE.md
|
|
292
|
+
hard_gates:
|
|
293
|
+
- Do not invent test coverage that is not grounded in BA, flow-action, or API sources.
|
|
294
|
+
- Keep totals and structured coverage counts consistent with the QA baseline.
|
|
295
|
+
references:
|
|
296
|
+
- toolkit/skills/sdtk-test-case-spec/references/TEST_CASE_CREATION_RULES.md
|
|
297
|
+
prompts: []
|
|
298
|
+
scripts:
|
|
299
|
+
- toolkit/skills/sdtk-test-case-spec/scripts/validate_test_case_spec.py
|
|
300
|
+
runtime_support: [claude, codex]
|
|
301
|
+
dependencies: [sdtk-qa, sdtk-screen-design-spec]
|
|
302
|
+
pack: core
|
|
@@ -7,10 +7,16 @@ The active rule source for API design detail and API flowchart behavior is now:
|
|
|
7
7
|
- `API_DESIGN_FLOWCHART_CREATION_RULES_FINAL.md` (root)
|
|
8
8
|
- `templates/docs/api/API_DESIGN_FLOWCHART_CREATION_RULES.md` (toolkit)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Even in compatibility mode, generated API design detail docs must still include:
|
|
11
|
+
- a top-level `## Assumptions` section
|
|
12
|
+
- this table format: `| # | Assumption | Verified | Risk if wrong |`
|
|
13
|
+
- explicit unresolved assumptions when downstream review depends on them
|
|
14
|
+
|
|
15
|
+
Use the active rule file for:
|
|
11
16
|
- API design detail markdown structure
|
|
12
17
|
- flowchart integration and synchronization rules
|
|
13
18
|
- error section rules
|
|
14
19
|
- flow summary / notes / login rules
|
|
20
|
+
- assumptions-section requirements
|
|
15
21
|
|
|
16
22
|
This compatibility note should remain only until all references are migrated.
|