sdtk-kit 0.3.3 → 0.3.5

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.
@@ -17,18 +17,19 @@ description: Solution Architect workflow for SDTK. Use when you need to convert
17
17
  - `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md`
18
18
 
19
19
  ## Process
20
- 1. Read BA spec + PRD/backlog.
20
+ 1. Read BA spec and PRD/backlog.
21
21
  2. Read `sdtk.config.json` for project stack assumptions (backend/frontend/db/auth).
22
- 3. If architecture output includes API contracts/flows, read and apply the split API rule sources before defining endpoints/flows:
22
+ 3. If architecture output includes API contracts/flows, read and apply:
23
23
  - `./references/YAML_CREATION_RULES.md`
24
24
  - `./references/API_DESIGN_FLOWCHART_CREATION_RULES.md`
25
- 4. If architecture output includes screen flow-action specs, read and apply rules from `./references/FLOW_ACTION_SPEC_CREATION_RULES.md` (global numbering policy).
26
- 5. If API detail spec is required, use skill `sdtk-api-design-spec` to build/update `docs/api/[FEATURE_KEY]_API_DESIGN_DETAIL.md` using YAML + flow list.
27
- 6. For complex UI flow-action specs, use skill `sdtk-screen-design-spec` to build/update `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md`.
25
+ - `governance/ai/core/SDTK_API_PATH_STYLE_POLICY.md` for canonical resource naming and multi-word path style
26
+ 4. If architecture output includes screen flow-action specs, read and apply `./references/FLOW_ACTION_SPEC_CREATION_RULES.md`.
27
+ 5. If API detail spec is required, use `sdtk-api-design-spec` to build/update `docs/api/[FEATURE_KEY]_API_DESIGN_DETAIL.md` using YAML + flow list.
28
+ 6. For complex UI flow-action specs, use `sdtk-screen-design-spec` to build/update `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md`.
28
29
  7. Define:
29
30
  - System components + data model
30
- - API endpoints and flows (if backend changes)
31
- - Screen layouts (if UI changes)
31
+ - API endpoints and flows
32
+ - Screen layouts
32
33
  - Security/authz decisions
33
34
  8. Create/update:
34
35
  - OpenAPI YAML + API endpoint markdown
@@ -37,8 +38,9 @@ description: Solution Architect workflow for SDTK. Use when you need to convert
37
38
  - Database spec (if DB impact exists)
38
39
  - Flow-action spec and design layout (if UI impact exists)
39
40
  9. Ensure mapping UC/BR -> DB/API/screens and run output hygiene checks:
40
- - EN artifacts use English narrative text (except clearly marked original-language appendix blocks).
41
- - No mojibake/encoding corruption in markdown/yaml/txt outputs.
42
- 10. If anything is unclear: record OQ-xx in ARCH_DESIGN "Open Questions" and escalate to `@pm` for a decision (PM asks the user if still missing info).
43
- 11. Update shared state + Phase 3 checklist.
44
- 12. Handoff: `@dev please implement ...`.
41
+ - EN artifacts use English narrative text (except clearly marked original-language appendix blocks)
42
+ - No mojibake/encoding corruption in markdown/yaml/txt outputs
43
+ 10. For benchmark runs, apply `governance/ai/core/SDTK_BENCHMARK_OQ_POLICY.md`: keep benchmark-expected open questions explicitly OPEN unless the requirement source resolves them.
44
+ 11. If anything is unclear, record OQ-xx in ARCH_DESIGN "Open Questions" and escalate to `@pm` for a decision.
45
+ 12. Update shared state + Phase 3 checklist.
46
+ 13. Handoff: `@dev please implement ...`.
@@ -9,7 +9,7 @@ description: Business Analyst workflow for SDTK. Use when you need to turn PM in
9
9
  - `docs/specs/BA_SPEC_[FEATURE_KEY].md`
10
10
 
11
11
  ## Process
12
- 1. Read `docs/product/PROJECT_INITIATION_[FEATURE_KEY].md` (and any source requirements).
12
+ 1. Read `docs/product/PROJECT_INITIATION_[FEATURE_KEY].md` and any source requirements.
13
13
  2. Produce:
14
14
  - Glossary
15
15
  - BR-xx (numbered)
@@ -17,8 +17,9 @@ description: Business Analyst workflow for SDTK. Use when you need to turn PM in
17
17
  - AC-xx (mapped to UC/BR)
18
18
  - NFR-xx
19
19
  - Risks + Open Questions
20
- - Traceability summary table (REQ UC/BR/AC)
21
- 3. If source requirements are VI/JP: preserve the original text and add a literal EN translation in appendices.
22
- 4. If anything is unclear: record OQ-xx in BA_SPEC “Open Questions” and escalate to `@pm` for a decision (PM asks the user if still missing info).
23
- 5. Update `SHARED_PLANNING.md` + `QUALITY_CHECKLIST.md` Phase 2.
24
- 6. Handoff: `@pm specs ready for PRD`.
20
+ - Traceability summary table (REQ -> UC/BR/AC)
21
+ 3. If source requirements are VI/JP, preserve the original text and add a literal EN translation in appendices.
22
+ 4. For benchmark runs, apply `governance/ai/core/SDTK_BENCHMARK_OQ_POLICY.md`: keep benchmark-expected open questions explicitly OPEN and do not silently resolve them in BA output.
23
+ 5. If anything is unclear, record OQ-xx in BA_SPEC "Open Questions" and escalate to `@pm` for a decision.
24
+ 6. Update `SHARED_PLANNING.md` and `QUALITY_CHECKLIST.md` Phase 2.
25
+ 7. Handoff: `@pm specs ready for PRD`.
@@ -13,10 +13,11 @@ description: QA workflow for SDTK. Use when you need to validate an implemented
13
13
  ## Process
14
14
  1. Validate prerequisites: DEV phase completed + code review PASS.
15
15
  2. Create test strategy mapped to UC/AC.
16
- 3. If test-case specification artifact is required, invoke `sdtk-test-case-spec` and align counts/coverage with release testing scope.
17
- 4. If acceptance criteria / expected behavior is unclear: record OQ-xx in QA report and escalate to `@pm` (PM asks the user if still missing info).
18
- 5. Execute/record results (unit/integration/e2e as applicable).
19
- 6. Record defects with severity and status.
20
- 7. Decide: APPROVED vs REJECTED (with reasons).
21
- 8. Update shared state + Phase 5 checklist.
22
- 9. Handoff: `@pm please finalize release status ...` if approved.
16
+ 3. If test-case specification artifact is required, invoke `sdtk-test-case-spec` and align counts/coverage with release testing scope. Keep the structured TEST_CASE total consistent with the release-report baseline; track E2E separately if needed.
17
+ 4. Apply `governance/ai/core/SDTK_BENCHMARK_QA_MODE_POLICY.md` for benchmark-mode verdict rules when no executable build exists.
18
+ 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
+ 6. Execute/record results (unit/integration/e2e as applicable).
20
+ 7. Record defects with severity and status.
21
+ 8. Decide: APPROVED vs REJECTED (with reasons).
22
+ 9. Update shared state + Phase 5 checklist.
23
+ 10. Handoff: `@pm please finalize release status ...` if approved.
@@ -24,24 +24,23 @@ description: Generate screen-based QA test-case markdown (`[FEATURE_KEY]_TEST_CA
24
24
  ## Core Rules
25
25
  1. Apply `./references/TEST_CASE_CREATION_RULES.md` first.
26
26
  2. Keep section order fixed (Statistic -> Abbreviations -> Scope -> References -> Environment -> Coverage -> Screen-based UTC/ITC -> OQ -> STC/UAT note).
27
- 3. Use screen-first layout to mirror worksheet structure:
28
- - each screen can have `[SCREEN_KEY]_UTC` and `[SCREEN_KEY]_ITC`.
27
+ 3. Use screen-first layout to mirror worksheet structure.
29
28
  4. Keep one unified 18-column schema for UTC/ITC rows.
30
29
  5. Keep stable case IDs; do not renumber only because of regrouping.
31
- 6. Track unresolved decisions via `OQ-xx`.
30
+ 6. Track unresolved decisions via `OQ-xx` and keep benchmark-expected OQs explicitly OPEN per `governance/ai/core/SDTK_BENCHMARK_OQ_POLICY.md`.
32
31
 
33
32
  ## Procedure
34
33
  1. Resolve output path:
35
34
  - default `docs/qa/[FEATURE_KEY]_TEST_CASE.md`
36
35
  - use `docs/en/qa/...` only if the repo already follows `docs/en/**`.
37
- 2. Build/refresh `Statistic Summary (Excel-aligned)`:
38
- - include UT total, IT total, grand total.
36
+ 2. Build/refresh `Statistic Summary (Excel-aligned)` with UT total, IT total, and grand total.
39
37
  3. Build `Feature Coverage Matrix` from flow/action and API docs.
40
38
  4. Split UTC/ITC by screen sections (`screen-first`), not by test type only.
41
39
  5. Fill conflict/permission/error-path cases from Q&A decisions and API contracts.
42
40
  6. Record unresolved items in section `Open Questions`.
43
41
  7. Validate:
44
42
  - counts in summary match table rows
43
+ - structured TEST_CASE total stays aligned with the QA release-report baseline; if E2E is tracked separately, label it separately instead of inflating grand total
45
44
  - no placeholder tokens like `??`
46
45
  - out-of-scope boundaries are explicit
47
46
 
@@ -62,4 +61,3 @@ description: Generate screen-based QA test-case markdown (`[FEATURE_KEY]_TEST_CA
62
61
  python "toolkit/skills/sdtk-test-case-spec/scripts/validate_test_case_spec.py" `
63
62
  --file "docs/qa/[FEATURE_KEY]_TEST_CASE.md"
64
63
  ```
65
-
@@ -5,8 +5,8 @@ description: Generate OpenAPI 3.x YAML and PlantUML flow diagrams for a feature
5
5
 
6
6
  ## Required Inputs (read before proceeding)
7
7
  Read the following artifacts for the current feature:
8
- 1. `docs/specs/BA_SPEC_*.md` business rules, use cases
9
- 2. `docs/architecture/ARCH_DESIGN_*.md` system components, data model
8
+ 1. `docs/specs/BA_SPEC_*.md` - business rules, use cases
9
+ 2. `docs/architecture/ARCH_DESIGN_*.md` - system components, data model
10
10
 
11
11
  ## Input
12
12
  $ARGUMENTS
@@ -31,16 +31,17 @@ $ARGUMENTS
31
31
  2. Read and apply split API rule sources:
32
32
  - `.claude/skills/references/YAML_CREATION_RULES.md` for YAML contract rules
33
33
  - `.claude/skills/references/API_DESIGN_FLOWCHART_CREATION_RULES.md` for flow list / flowchart rules
34
- 3. Define endpoints mapped to UC-xx; keep path naming consistent across CRUD/search/list/mst patterns.
34
+ 3. Define endpoints mapped to UC-xx; keep path naming consistent across CRUD/search/list/mst patterns and apply `governance/ai/core/SDTK_API_PATH_STYLE_POLICY.md` for canonical resource naming.
35
35
  4. For each endpoint, document request/response schema and error cases.
36
36
  5. Generate/update endpoint markdown (`[FEATURE_KEY]_ENDPOINTS.md`) with summary tables, API type grouping, and screen-logic mapping.
37
- 6. Generate PlantUML flows including: auth, permission check, validation, main logic, error exits.
37
+ 6. Generate PlantUML flows including auth, permission check, validation, main logic, and error exits.
38
38
  7. Ensure traceability notes reference UC/BR where relevant.
39
- 8. Validate English output hygiene when generating English artifacts:
39
+ 8. For benchmark runs, if the requirement or upstream artifacts mark an OQ as expected OPEN, keep that ambiguity explicit in flow list / endpoint docs instead of silently collapsing it.
40
+ 9. Validate English output hygiene when generating English artifacts:
40
41
  - no mixed-language leftovers in narrative text
41
42
  - no mojibake/encoding corruption markers
42
43
  - terminology consistency across endpoint detail, summary tables, and flow labels
43
- 9. If orchestrator mode requires API design detail generation (`apiDesignDetailMode=auto/on`), handoff to `/api-design-spec` after YAML + flow list are updated.
44
+ 10. If orchestrator mode requires API design detail generation (`apiDesignDetailMode=auto/on`), handoff to `/api-design-spec` after YAML + flow list are updated.
44
45
 
45
46
  ## Reference
46
47
  - Deeper analysis: `docs/specs/API_DOC_SKILL_ANALYSIS.md` (if present).
@@ -4,19 +4,19 @@ description: Solution Architect workflow for SDTK. Use when you need to convert
4
4
  ---
5
5
 
6
6
  ## SDTK Pipeline Rules (always apply)
7
- 1. Pipeline: PM Initiation BA Analysis PM Planning Architecture Design Development + Review QA Validation
7
+ 1. Pipeline: PM Initiation -> BA Analysis -> PM Planning -> Architecture Design -> Development + Review -> QA Validation
8
8
  2. After completing phase work: update SHARED_PLANNING.md + QUALITY_CHECKLIST.md
9
- 3. If unclear: log OQ-xx in artifact, escalate to PM (PM asks user if needed)
10
- 4. Traceability: REQ BR/UC/AC design backlog code/tests QA
9
+ 3. If unclear: log OQ-xx in artifact, escalate to PM
10
+ 4. Traceability: REQ -> BR/UC/AC -> design -> backlog -> code/tests -> QA
11
11
  5. Code review must be COMPLETE before QA phase can start
12
- 6. Do not skip phases. If inputs missing, ask focused questions.
12
+ 6. Do not skip phases. If inputs are missing, ask focused questions.
13
13
 
14
14
  ## Prerequisites (verify before proceeding)
15
15
  Read QUALITY_CHECKLIST.md and verify:
16
16
  - Phase 2 BA Analysis gate must show all items [x] Done.
17
17
  - Phase 2+ PM Planning gate must show all items [x] Done.
18
18
 
19
- If prerequisites NOT met: report which gate is missing, suggest user run the prerequisite phase first.
19
+ If prerequisites are not met, report which gate is missing and suggest user run the prerequisite phase first.
20
20
 
21
21
  ## Current Context
22
22
  - Config: !`node -e "try{process.stdout.write(require('fs').readFileSync('sdtk.config.json','utf8'))}catch{process.stdout.write('{}')}"`
@@ -27,7 +27,7 @@ If prerequisites NOT met: report which gate is missing, suggest user run the pre
27
27
  ## Input
28
28
  $ARGUMENTS
29
29
 
30
- If no arguments provided, read current feature context from SHARED_PLANNING.md.
30
+ If no arguments are provided, read current feature context from SHARED_PLANNING.md.
31
31
 
32
32
  # SDTK ARCH (Solution Architecture)
33
33
 
@@ -43,18 +43,19 @@ If no arguments provided, read current feature context from SHARED_PLANNING.md.
43
43
  - `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md`
44
44
 
45
45
  ## Process
46
- 1. Read BA spec + PRD/backlog.
46
+ 1. Read BA spec and PRD/backlog.
47
47
  2. Read `sdtk.config.json` for project stack assumptions (backend/frontend/db/auth).
48
- 3. If architecture output includes API contracts/flows, read and apply the split API rule sources before defining endpoints/flows:
48
+ 3. If architecture output includes API contracts/flows, read and apply:
49
49
  - `.claude/skills/references/YAML_CREATION_RULES.md`
50
50
  - `.claude/skills/references/API_DESIGN_FLOWCHART_CREATION_RULES.md`
51
- 4. If architecture output includes screen flow-action specs, read and apply rules from `.claude/skills/references/FLOW_ACTION_SPEC_CREATION_RULES.md` (global numbering policy).
52
- 5. If API detail spec is required, use skill `/api-design-spec` to build/update `docs/api/[FEATURE_KEY]_API_DESIGN_DETAIL.md` using YAML + flow list.
53
- 6. For complex UI flow-action specs, use skill `/screen-design-spec` to build/update `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md`.
51
+ - `governance/ai/core/SDTK_API_PATH_STYLE_POLICY.md` for canonical resource naming and multi-word path style
52
+ 4. If architecture output includes screen flow-action specs, read and apply `.claude/skills/references/FLOW_ACTION_SPEC_CREATION_RULES.md`.
53
+ 5. If API detail spec is required, use `/api-design-spec` to build/update `docs/api/[FEATURE_KEY]_API_DESIGN_DETAIL.md` using YAML + flow list.
54
+ 6. For complex UI flow-action specs, use `/screen-design-spec` to build/update `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md`.
54
55
  7. Define:
55
56
  - System components + data model
56
- - API endpoints and flows (if backend changes)
57
- - Screen layouts (if UI changes)
57
+ - API endpoints and flows
58
+ - Screen layouts
58
59
  - Security/authz decisions
59
60
  8. Create/update:
60
61
  - OpenAPI YAML + API endpoint markdown
@@ -63,8 +64,9 @@ If no arguments provided, read current feature context from SHARED_PLANNING.md.
63
64
  - Database spec (if DB impact exists)
64
65
  - Flow-action spec and design layout (if UI impact exists)
65
66
  9. Ensure mapping UC/BR -> DB/API/screens and run output hygiene checks:
66
- - EN artifacts use English narrative text (except clearly marked original-language appendix blocks).
67
- - No mojibake/encoding corruption in markdown/yaml/txt outputs.
68
- 10. If anything is unclear: record OQ-xx in ARCH_DESIGN "Open Questions" and escalate to PM (suggest user run `/pm` for a decision if still missing info).
69
- 11. Update shared state + Phase 3 checklist.
70
- 12. Handoff: suggest user run `/dev` to implement the design.
67
+ - EN artifacts use English narrative text (except clearly marked original-language appendix blocks)
68
+ - No mojibake/encoding corruption in markdown/yaml/txt outputs
69
+ 10. For benchmark runs, apply `governance/ai/core/SDTK_BENCHMARK_OQ_POLICY.md`: keep benchmark-expected open questions explicitly OPEN unless the requirement source resolves them.
70
+ 11. If anything is unclear, record OQ-xx in ARCH_DESIGN "Open Questions" and escalate to PM.
71
+ 12. Update shared state + Phase 3 checklist.
72
+ 13. Handoff: suggest user run `/dev` to implement the design.
@@ -4,18 +4,18 @@ description: Business Analyst workflow for SDTK. Use when you need to turn PM in
4
4
  ---
5
5
 
6
6
  ## SDTK Pipeline Rules (always apply)
7
- 1. Pipeline: PM Initiation BA Analysis PM Planning Architecture Design Development + Review QA Validation
7
+ 1. Pipeline: PM Initiation -> BA Analysis -> PM Planning -> Architecture Design -> Development + Review -> QA Validation
8
8
  2. After completing phase work: update SHARED_PLANNING.md + QUALITY_CHECKLIST.md
9
- 3. If unclear: log OQ-xx in artifact, escalate to PM (PM asks user if needed)
10
- 4. Traceability: REQ BR/UC/AC design backlog code/tests QA
9
+ 3. If unclear: log OQ-xx in artifact, escalate to PM
10
+ 4. Traceability: REQ -> BR/UC/AC -> design -> backlog -> code/tests -> QA
11
11
  5. Code review must be COMPLETE before QA phase can start
12
- 6. Do not skip phases. If inputs missing, ask focused questions.
12
+ 6. Do not skip phases. If inputs are missing, ask focused questions.
13
13
 
14
14
  ## Prerequisites (verify before proceeding)
15
15
  Read QUALITY_CHECKLIST.md and verify:
16
16
  - Phase 1 PM Init gate must show all items [x] Done.
17
17
 
18
- If prerequisites NOT met: report which gate is missing, suggest user run `/pm` first.
18
+ If prerequisites are not met, report which gate is missing and suggest user run `/pm` first.
19
19
 
20
20
  ## Current Context
21
21
  - Config: !`node -e "try{process.stdout.write(require('fs').readFileSync('sdtk.config.json','utf8'))}catch{process.stdout.write('{}')}"`
@@ -26,7 +26,7 @@ If prerequisites NOT met: report which gate is missing, suggest user run `/pm` f
26
26
  ## Input
27
27
  $ARGUMENTS
28
28
 
29
- If no arguments provided, read current feature context from SHARED_PLANNING.md.
29
+ If no arguments are provided, read current feature context from SHARED_PLANNING.md.
30
30
 
31
31
  # SDTK BA (Business Analysis)
32
32
 
@@ -34,7 +34,7 @@ If no arguments provided, read current feature context from SHARED_PLANNING.md.
34
34
  - `docs/specs/BA_SPEC_[FEATURE_KEY].md`
35
35
 
36
36
  ## Process
37
- 1. Read `docs/product/PROJECT_INITIATION_[FEATURE_KEY].md` (and any source requirements).
37
+ 1. Read `docs/product/PROJECT_INITIATION_[FEATURE_KEY].md` and any source requirements.
38
38
  2. Produce:
39
39
  - Glossary
40
40
  - BR-xx (numbered)
@@ -42,8 +42,9 @@ If no arguments provided, read current feature context from SHARED_PLANNING.md.
42
42
  - AC-xx (mapped to UC/BR)
43
43
  - NFR-xx
44
44
  - Risks + Open Questions
45
- - Traceability summary table (REQ UC/BR/AC)
46
- 3. If source requirements are VI/JP: preserve the original text and add a literal EN translation in appendices.
47
- 4. If anything is unclear: record OQ-xx in BA_SPEC "Open Questions" and escalate to PM (suggest user run `/pm` for a decision if still missing info).
48
- 5. Update `SHARED_PLANNING.md` + `QUALITY_CHECKLIST.md` Phase 2.
49
- 6. Handoff: suggest user run `/pm` to proceed with PRD planning.
45
+ - Traceability summary table (REQ -> UC/BR/AC)
46
+ 3. If source requirements are VI/JP, preserve the original text and add a literal EN translation in appendices.
47
+ 4. For benchmark runs, apply `governance/ai/core/SDTK_BENCHMARK_OQ_POLICY.md`: keep benchmark-expected open questions explicitly OPEN and do not silently resolve them in BA output.
48
+ 5. If anything is unclear, record OQ-xx in BA_SPEC "Open Questions" and escalate to PM.
49
+ 6. Update `SHARED_PLANNING.md` + `QUALITY_CHECKLIST.md` Phase 2.
50
+ 7. Handoff: suggest user run `/pm` to proceed with PRD planning.
@@ -4,18 +4,18 @@ description: QA workflow for SDTK. Use when you need to validate an implemented
4
4
  ---
5
5
 
6
6
  ## SDTK Pipeline Rules (always apply)
7
- 1. Pipeline: PM Initiation BA Analysis PM Planning Architecture Design Development + Review QA Validation
7
+ 1. Pipeline: PM Initiation -> BA Analysis -> PM Planning -> Architecture Design -> Development + Review -> QA Validation
8
8
  2. After completing phase work: update SHARED_PLANNING.md + QUALITY_CHECKLIST.md
9
- 3. If unclear: log OQ-xx in artifact, escalate to PM (PM asks user if needed)
10
- 4. Traceability: REQ BR/UC/AC design backlog code/tests QA
9
+ 3. If unclear: log OQ-xx in artifact, escalate to PM
10
+ 4. Traceability: REQ -> BR/UC/AC -> design -> backlog -> code/tests -> QA
11
11
  5. Code review must be COMPLETE before QA phase can start
12
- 6. Do not skip phases. If inputs missing, ask focused questions.
12
+ 6. Do not skip phases. If inputs are missing, ask focused questions.
13
13
 
14
14
  ## Prerequisites (verify before proceeding)
15
15
  Read QUALITY_CHECKLIST.md and verify:
16
16
  - Phase 4 DEV gate must show all items [x] Done (including code review completion).
17
17
 
18
- If prerequisites NOT met: report which gate is missing, suggest user run `/dev` first to complete code review.
18
+ If prerequisites are not met, report which gate is missing and suggest user run `/dev` first to complete code review.
19
19
 
20
20
  ## Current Context
21
21
  - Config: !`node -e "try{process.stdout.write(require('fs').readFileSync('sdtk.config.json','utf8'))}catch{process.stdout.write('{}')}"`
@@ -26,7 +26,7 @@ If prerequisites NOT met: report which gate is missing, suggest user run `/dev`
26
26
  ## Input
27
27
  $ARGUMENTS
28
28
 
29
- If no arguments provided, read current feature context from SHARED_PLANNING.md.
29
+ If no arguments are provided, read current feature context from SHARED_PLANNING.md.
30
30
 
31
31
  # SDTK QA (Testing + Release Decision)
32
32
 
@@ -38,10 +38,11 @@ If no arguments provided, read current feature context from SHARED_PLANNING.md.
38
38
  ## Process
39
39
  1. Validate prerequisites: DEV phase completed + code review PASS.
40
40
  2. Create test strategy mapped to UC/AC.
41
- 3. If test-case specification artifact is required, invoke `/test-case-spec` and align counts/coverage with release testing scope.
42
- 4. If acceptance criteria / expected behavior is unclear: record OQ-xx in QA report and escalate to PM (suggest user run `/pm` if still missing info).
43
- 5. Execute/record results (unit/integration/e2e as applicable).
44
- 6. Record defects with severity and status.
45
- 7. Decide: APPROVED vs REJECTED (with reasons).
46
- 8. Update shared state + Phase 5 checklist.
47
- 9. Handoff: suggest user run `/pm` to finalize release status if approved.
41
+ 3. If test-case specification artifact is required, invoke `/test-case-spec` and align counts/coverage with release testing scope. Keep the structured TEST_CASE total consistent with the release-report baseline; track E2E separately if needed.
42
+ 4. Apply `governance/ai/core/SDTK_BENCHMARK_QA_MODE_POLICY.md` for benchmark-mode verdict rules when no executable build exists.
43
+ 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.
44
+ 6. Execute/record results (unit/integration/e2e as applicable).
45
+ 7. Record defects with severity and status.
46
+ 8. Decide: APPROVED vs REJECTED (with reasons).
47
+ 9. Update shared state + Phase 5 checklist.
48
+ 10. Handoff: suggest user run `/pm` to finalize release status if approved.
@@ -5,10 +5,10 @@ description: Generate screen-based QA test-case markdown in Excel-aligned layout
5
5
 
6
6
  ## Required Inputs (read before proceeding)
7
7
  Read the following artifacts for the current feature:
8
- 1. `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md` screen/flow references
9
- 2. `docs/specs/BA_SPEC_[FEATURE_KEY].md` business rules, use cases
10
- 3. `docs/api/[FEATURE_KEY]_ENDPOINTS.md` API reference
11
- 4. `docs/specs/Q&A.md` or `docs/en/specs/Q&A.md` clarification source (when available)
8
+ 1. `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md` - screen/flow references
9
+ 2. `docs/specs/BA_SPEC_[FEATURE_KEY].md` - business rules, use cases
10
+ 3. `docs/api/[FEATURE_KEY]_ENDPOINTS.md` - API reference
11
+ 4. `docs/specs/Q&A.md` or `docs/en/specs/Q&A.md` - clarification source (when available)
12
12
 
13
13
  ## Input
14
14
  $ARGUMENTS
@@ -23,24 +23,23 @@ $ARGUMENTS
23
23
  ## Core Rules
24
24
  1. Apply `.claude/skills/references/TEST_CASE_CREATION_RULES.md` first.
25
25
  2. Keep section order fixed (Statistic -> Abbreviations -> Scope -> References -> Environment -> Coverage -> Screen-based UTC/ITC -> OQ -> STC/UAT note).
26
- 3. Use screen-first layout to mirror worksheet structure:
27
- - each screen can have `[SCREEN_KEY]_UTC` and `[SCREEN_KEY]_ITC`.
26
+ 3. Use screen-first layout to mirror worksheet structure.
28
27
  4. Keep one unified 18-column schema for UTC/ITC rows.
29
28
  5. Keep stable case IDs; do not renumber only because of regrouping.
30
- 6. Track unresolved decisions via `OQ-xx`.
29
+ 6. Track unresolved decisions via `OQ-xx` and keep benchmark-expected OQs explicitly OPEN per `governance/ai/core/SDTK_BENCHMARK_OQ_POLICY.md`.
31
30
 
32
31
  ## Procedure
33
32
  1. Resolve output path:
34
33
  - default `docs/qa/[FEATURE_KEY]_TEST_CASE.md`
35
34
  - use `docs/en/qa/...` only if the repo already follows `docs/en/**`.
36
- 2. Build/refresh `Statistic Summary (Excel-aligned)`:
37
- - include UT total, IT total, grand total.
35
+ 2. Build/refresh `Statistic Summary (Excel-aligned)` with UT total, IT total, and grand total.
38
36
  3. Build `Feature Coverage Matrix` from flow/action and API docs.
39
37
  4. Split UTC/ITC by screen sections (`screen-first`), not by test type only.
40
38
  5. Fill conflict/permission/error-path cases from Q&A decisions and API contracts.
41
39
  6. Record unresolved items in section `Open Questions`.
42
40
  7. Validate:
43
41
  - counts in summary match table rows
42
+ - structured TEST_CASE total stays aligned with the QA release-report baseline; if E2E is tracked separately, label it separately instead of inflating grand total
44
43
  - no placeholder tokens like `??`
45
44
  - out-of-scope boundaries are explicit
46
45
 
@@ -58,6 +57,5 @@ $ARGUMENTS
58
57
 
59
58
  ### Typical command
60
59
  ```bash
61
- python scripts/validate_test_case_spec.py \
62
- --file "docs/qa/[FEATURE_KEY]_TEST_CASE.md"
60
+ python scripts/validate_test_case_spec.py --file "docs/qa/[FEATURE_KEY]_TEST_CASE.md"
63
61
  ```
package/package.json CHANGED
@@ -1,46 +1,46 @@
1
1
  {
2
- "name": "sdtk-kit",
3
- "version": "0.3.3",
4
- "description": "SDTK CLI toolkit for deterministic software documentation workflows",
5
- "bin": {
6
- "sdtk": "./bin/sdtk.js"
7
- },
8
- "main": "src/index.js",
9
- "type": "commonjs",
10
- "files": [
11
- "bin/",
12
- "src/",
13
- "assets/"
14
- ],
15
- "scripts": {
16
- "test": "node -e \"console.log(\u0027No tests configured yet\u0027)\"",
17
- "build:payload": "powershell -ExecutionPolicy Bypass -File scripts/sync-toolkit-assets.ps1 \u0026\u0026 powershell -ExecutionPolicy Bypass -File scripts/build-toolkit-manifest.ps1",
18
- "verify:payload": "node -e \"require(\u0027./src/lib/toolkit-payload\u0027).verify()\"",
19
- "pack:smoke": "npm pack --dry-run",
20
- "pack:release": "npm pack",
21
- "prepublishOnly": "node -e \"require(\u0027./src/lib/toolkit-payload\u0027).verify()\""
22
- },
23
- "engines": {
24
- "node": "\u003e=18.13.0"
25
- },
26
- "keywords": [
27
- "sdtk",
28
- "cli",
29
- "documentation",
30
- "toolkit",
31
- "dockkit"
32
- ],
33
- "license": "MIT",
34
- "repository": {
35
- "type": "git",
36
- "url": "https://github.com/codexsdtk/sdtk-toolkit.git",
37
- "directory": "distribution/sdtk-cli"
38
- },
39
- "homepage": "https://agenttoolkits.dev",
40
- "bugs": {
41
- "url": "https://github.com/codexsdtk/sdtk-toolkit/issues"
42
- },
43
- "publishConfig": {
44
- "access": "public"
45
- }
2
+ "name": "sdtk-kit",
3
+ "version": "0.3.5",
4
+ "description": "SDTK CLI toolkit for deterministic software documentation workflows",
5
+ "bin": {
6
+ "sdtk": "./bin/sdtk.js"
7
+ },
8
+ "main": "src/index.js",
9
+ "type": "commonjs",
10
+ "files": [
11
+ "bin/",
12
+ "src/",
13
+ "assets/"
14
+ ],
15
+ "scripts": {
16
+ "test": "node -e \"console.log('No tests configured yet')\"",
17
+ "build:payload": "powershell -ExecutionPolicy Bypass -File scripts/sync-toolkit-assets.ps1 && powershell -ExecutionPolicy Bypass -File scripts/build-toolkit-manifest.ps1",
18
+ "verify:payload": "node -e \"require('./src/lib/toolkit-payload').verify()\"",
19
+ "pack:smoke": "npm pack --dry-run",
20
+ "pack:release": "npm pack",
21
+ "prepublishOnly": "node -e \"require('./src/lib/toolkit-payload').verify()\""
22
+ },
23
+ "engines": {
24
+ "node": ">=18.13.0"
25
+ },
26
+ "keywords": [
27
+ "sdtk",
28
+ "cli",
29
+ "documentation",
30
+ "toolkit",
31
+ "dockkit"
32
+ ],
33
+ "license": "MIT",
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "https://github.com/codexsdtk/sdtk-toolkit.git",
37
+ "directory": "distribution/sdtk-cli"
38
+ },
39
+ "homepage": "https://agenttoolkits.dev",
40
+ "bugs": {
41
+ "url": "https://github.com/codexsdtk/sdtk-toolkit/issues"
42
+ },
43
+ "publishConfig": {
44
+ "access": "public"
45
+ }
46
46
  }
@@ -9,15 +9,36 @@ function cmdHelp() {
9
9
  "",
10
10
  "Commands:",
11
11
  " init Initialize SDTK workspace (runtime adapter + config)",
12
+ " runtime Manage runtime asset installation (install, uninstall, status)",
12
13
  " auth Manage GitHub authentication and entitlement",
13
14
  " generate Scaffold feature documentation from templates (17 files)",
14
15
  "",
15
16
  "Init options:",
16
- " --runtime <codex|claude> Runtime adapter (default: codex)",
17
+ " --runtime <codex|claude> Runtime adapter (default: codex)",
18
+ " --runtime-scope <project|user> Install scope (default: project for claude, user for codex)",
19
+ " --project-path <path> Target project directory (default: cwd)",
20
+ " --force Overwrite existing files",
21
+ " --skip-runtime-assets Skip runtime asset installation",
22
+ " --skip-skills (deprecated, use --skip-runtime-assets)",
23
+ " --verbose Show detailed PowerShell script output",
24
+ "",
25
+ "Runtime subcommands:",
26
+ " sdtk runtime install --runtime <codex|claude> [--scope <project|user>]",
27
+ " sdtk runtime uninstall --runtime <codex|claude> [--scope <project|user>] [--all]",
28
+ " sdtk runtime status --runtime <codex|claude>",
29
+ "",
30
+ "Runtime options:",
31
+ " --runtime <codex|claude> Target runtime (required)",
32
+ " --scope <project|user> Install scope (default: project for claude, user for codex)",
17
33
  " --project-path <path> Target project directory (default: cwd)",
18
- " --force Overwrite existing files",
19
- " --skip-skills Skip skill installation (Codex and Claude)",
20
- " --verbose Show detailed PowerShell script output",
34
+ " --force Overwrite existing skills",
35
+ " --all Uninstall all managed skills",
36
+ " --verbose Show detailed script output",
37
+ "",
38
+ "Scope behavior:",
39
+ " project Skills are installed inside the repo (Claude only: .claude/skills/)",
40
+ " user Skills are installed in the runtime home (~/.claude/skills/ or ~/.codex/skills/)",
41
+ " Note: Codex supports user scope only. Project scope is not available for Codex.",
21
42
  "",
22
43
  "Auth options:",
23
44
  " --token <value> Store GitHub PAT",
@@ -60,6 +81,11 @@ function cmdHelp() {
60
81
  " sdtk auth --verify",
61
82
  ' sdtk generate --feature-key USER_PROFILE --feature-name "User Profile"',
62
83
  " sdtk generate --feature-key ORDER_MGMT --feature-name \"Order Management\" --validate-only",
84
+ " sdtk init --runtime claude --runtime-scope user",
85
+ " sdtk runtime install --runtime claude --scope project",
86
+ " sdtk runtime install --runtime codex --scope user",
87
+ " sdtk runtime status --runtime claude",
88
+ " sdtk runtime uninstall --runtime claude --scope project --all",
63
89
  "",
64
90
  " # Override entitlement repo (bash/zsh):",
65
91
  " export SDTK_ENTITLEMENT_REPO=owner/repo",
@@ -5,12 +5,15 @@ const { parseFlags, validateChoice } = require("../lib/args");
5
5
  const { verify, resolvePayloadFile } = require("../lib/toolkit-payload");
6
6
  const { runScript } = require("../lib/powershell");
7
7
  const { ValidationError } = require("../lib/errors");
8
+ const { VALID_SCOPES, defaultScope, isProjectScopeSupported } = require("../lib/scope");
8
9
 
9
10
  const FLAG_DEFS = {
10
11
  runtime: { type: "string" },
11
12
  "project-path": { type: "string" },
13
+ "runtime-scope": { type: "string" },
12
14
  force: { type: "boolean" },
13
15
  "skip-skills": { type: "boolean" },
16
+ "skip-runtime-assets": { type: "boolean" },
14
17
  verbose: { type: "boolean" },
15
18
  };
16
19
 
@@ -23,6 +26,25 @@ async function cmdInit(args) {
23
26
  const runtime = flags.runtime || "codex";
24
27
  validateChoice(runtime, VALID_RUNTIMES, "runtime");
25
28
 
29
+ // Resolve scope
30
+ const scope = flags["runtime-scope"] || defaultScope(runtime);
31
+ validateChoice(scope, VALID_SCOPES, "runtime-scope");
32
+
33
+ // Gate C0: Codex does not support project-local skills
34
+ if (scope === "project" && !isProjectScopeSupported(runtime)) {
35
+ throw new ValidationError(
36
+ "Codex does not support project-local skills. Use --runtime-scope user instead."
37
+ );
38
+ }
39
+
40
+ // Handle deprecated --skip-skills
41
+ const skipAssets = flags["skip-runtime-assets"] || flags["skip-skills"];
42
+ if (flags["skip-skills"] && !flags["skip-runtime-assets"]) {
43
+ console.warn(
44
+ "Warning: --skip-skills is deprecated. Use --skip-runtime-assets instead."
45
+ );
46
+ }
47
+
26
48
  // Resolve project path
27
49
  const projectPath = flags["project-path"]
28
50
  ? path.resolve(flags["project-path"])
@@ -38,13 +60,15 @@ async function cmdInit(args) {
38
60
  const params = {
39
61
  ProjectPath: projectPath,
40
62
  Runtime: runtime,
63
+ Scope: scope,
41
64
  };
42
65
  if (flags.force) params.Force = true;
43
- if (flags["skip-skills"]) params.SkipSkills = true;
66
+ if (skipAssets) params.SkipRuntimeAssets = true;
44
67
  if (!flags.verbose) params.Quiet = true;
45
68
 
46
69
  console.log(`Initializing SDTK workspace...`);
47
70
  console.log(` Runtime: ${runtime}`);
71
+ console.log(` Scope: ${scope}`);
48
72
  console.log(` Project: ${projectPath}`);
49
73
  console.log("");
50
74