sdtk-kit 0.3.9 → 1.0.0
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/LICENSE +21 -0
- package/README.md +123 -177
- package/package.json +52 -46
- package/scripts/postinstall.js +40 -0
- package/assets/manifest/toolkit-bundle.manifest.json +0 -473
- package/assets/manifest/toolkit-bundle.sha256.txt +0 -93
- package/assets/toolkit/toolkit/AGENTS.md +0 -131
- package/assets/toolkit/toolkit/install.ps1 +0 -310
- package/assets/toolkit/toolkit/runtimes/claude/CLAUDE_TEMPLATE.md +0 -54
- package/assets/toolkit/toolkit/runtimes/codex/CODEX_TEMPLATE.md +0 -32
- package/assets/toolkit/toolkit/scripts/init-feature.ps1 +0 -261
- package/assets/toolkit/toolkit/scripts/install-claude-skills.ps1 +0 -169
- package/assets/toolkit/toolkit/scripts/install-codex-skills.ps1 +0 -189
- package/assets/toolkit/toolkit/scripts/uninstall-claude-skills.ps1 +0 -139
- package/assets/toolkit/toolkit/scripts/uninstall-codex-skills.ps1 +0 -116
- package/assets/toolkit/toolkit/sdtk.config.json +0 -28
- package/assets/toolkit/toolkit/sdtk.config.profiles.example.json +0 -50
- package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/SKILL.md +0 -84
- package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_CREATION_RULES.md +0 -22
- package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
- package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/FLOWCHART_CREATION_RULES.md +0 -20
- package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/scripts/generate_api_design_detail.py +0 -732
- package/assets/toolkit/toolkit/skills/sdtk-api-doc/SKILL.md +0 -43
- package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
- package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/FLOWCHART_CREATION_RULES.md +0 -20
- package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/YAML_CREATION_RULES.md +0 -128
- package/assets/toolkit/toolkit/skills/sdtk-arch/SKILL.md +0 -83
- package/assets/toolkit/toolkit/skills/sdtk-arch/references/API_DESIGN_CREATION_RULES.md +0 -22
- package/assets/toolkit/toolkit/skills/sdtk-arch/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
- package/assets/toolkit/toolkit/skills/sdtk-arch/references/FLOWCHART_CREATION_RULES.md +0 -20
- package/assets/toolkit/toolkit/skills/sdtk-arch/references/FLOW_ACTION_SPEC_CREATION_RULES.md +0 -220
- package/assets/toolkit/toolkit/skills/sdtk-arch/references/YAML_CREATION_RULES.md +0 -128
- package/assets/toolkit/toolkit/skills/sdtk-ba/SKILL.md +0 -29
- package/assets/toolkit/toolkit/skills/sdtk-design-layout/SKILL.md +0 -52
- package/assets/toolkit/toolkit/skills/sdtk-design-layout/scripts/render_design_layout_images.py +0 -246
- package/assets/toolkit/toolkit/skills/sdtk-dev/SKILL.md +0 -90
- package/assets/toolkit/toolkit/skills/sdtk-dev/prompts/code-quality-reviewer.md +0 -35
- package/assets/toolkit/toolkit/skills/sdtk-dev/prompts/implementer.md +0 -61
- package/assets/toolkit/toolkit/skills/sdtk-dev/prompts/spec-reviewer.md +0 -42
- package/assets/toolkit/toolkit/skills/sdtk-dev-backend/SKILL.md +0 -21
- package/assets/toolkit/toolkit/skills/sdtk-dev-frontend/SKILL.md +0 -19
- package/assets/toolkit/toolkit/skills/sdtk-orchestrator/SKILL.md +0 -80
- package/assets/toolkit/toolkit/skills/sdtk-pm/SKILL.md +0 -30
- package/assets/toolkit/toolkit/skills/sdtk-qa/SKILL.md +0 -53
- package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/SKILL.md +0 -86
- package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/FLOW_ACTION_SPEC_CREATION_RULES.md +0 -220
- package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/excel-image-export.md +0 -51
- package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/figma-mcp.md +0 -54
- package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/numbering-rules.md +0 -28
- package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/scripts/renumber_flow_action_spec_global.py +0 -136
- package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/scripts/validate_flow_action_spec_numbering.py +0 -414
- package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/SKILL.md +0 -74
- package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/references/TEST_CASE_CREATION_RULES.md +0 -129
- package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/scripts/validate_test_case_spec.py +0 -97
- package/assets/toolkit/toolkit/skills/skills.catalog.yaml +0 -302
- package/assets/toolkit/toolkit/skills-claude/api-design-spec/SKILL.md +0 -90
- package/assets/toolkit/toolkit/skills-claude/api-doc/SKILL.md +0 -47
- package/assets/toolkit/toolkit/skills-claude/arch/SKILL.md +0 -59
- package/assets/toolkit/toolkit/skills-claude/ba/SKILL.md +0 -50
- package/assets/toolkit/toolkit/skills-claude/design-layout/SKILL.md +0 -57
- package/assets/toolkit/toolkit/skills-claude/dev/SKILL.md +0 -45
- package/assets/toolkit/toolkit/skills-claude/dev-backend/SKILL.md +0 -20
- package/assets/toolkit/toolkit/skills-claude/dev-frontend/SKILL.md +0 -18
- package/assets/toolkit/toolkit/skills-claude/orchestrator/SKILL.md +0 -63
- package/assets/toolkit/toolkit/skills-claude/pm/SKILL.md +0 -52
- package/assets/toolkit/toolkit/skills-claude/qa/SKILL.md +0 -48
- package/assets/toolkit/toolkit/skills-claude/screen-design-spec/SKILL.md +0 -90
- package/assets/toolkit/toolkit/skills-claude/test-case-spec/SKILL.md +0 -61
- package/assets/toolkit/toolkit/templates/QUALITY_CHECKLIST.md +0 -124
- package/assets/toolkit/toolkit/templates/README.md +0 -63
- package/assets/toolkit/toolkit/templates/SHARED_PLANNING.md +0 -80
- package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_CREATION_RULES.md +0 -22
- package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_DETAIL_TEMPLATE.md +0 -67
- package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
- package/assets/toolkit/toolkit/templates/docs/api/API_ENDPOINTS_TEMPLATE.md +0 -229
- package/assets/toolkit/toolkit/templates/docs/api/FEATURE_API_TEMPLATE.yaml +0 -20
- package/assets/toolkit/toolkit/templates/docs/api/FLOWCHART_CREATION_RULES.md +0 -20
- package/assets/toolkit/toolkit/templates/docs/api/YAML_CREATION_RULES.md +0 -128
- package/assets/toolkit/toolkit/templates/docs/api/feature_api_flow_list_TEMPLATE.txt +0 -12
- package/assets/toolkit/toolkit/templates/docs/architecture/ARCH_DESIGN_TEMPLATE.md +0 -109
- package/assets/toolkit/toolkit/templates/docs/database/DATABASE_SPEC_TEMPLATE.md +0 -175
- package/assets/toolkit/toolkit/templates/docs/design/DESIGN_LAYOUT_TEMPLATE.md +0 -60
- package/assets/toolkit/toolkit/templates/docs/dev/FEATURE_IMPL_PLAN_TEMPLATE.md +0 -73
- package/assets/toolkit/toolkit/templates/docs/product/BACKLOG_TEMPLATE.md +0 -50
- package/assets/toolkit/toolkit/templates/docs/product/PRD_TEMPLATE.md +0 -66
- package/assets/toolkit/toolkit/templates/docs/product/PROJECT_INITIATION_TEMPLATE.md +0 -98
- package/assets/toolkit/toolkit/templates/docs/qa/QA_RELEASE_REPORT_TEMPLATE.md +0 -61
- package/assets/toolkit/toolkit/templates/docs/qa/TEST_CASE_CREATION_RULES.md +0 -129
- package/assets/toolkit/toolkit/templates/docs/qa/TEST_CASE_TEMPLATE.md +0 -104
- package/assets/toolkit/toolkit/templates/docs/specs/BA_SPEC_TEMPLATE.md +0 -139
- package/assets/toolkit/toolkit/templates/docs/specs/FLOW_ACTION_SPEC_CREATION_RULES.md +0 -220
- package/assets/toolkit/toolkit/templates/docs/specs/FLOW_ACTION_SPEC_TEMPLATE.md +0 -197
- package/assets/toolkit/toolkit/templates/handoffs/ARCH_TO_DEV.md +0 -31
- package/assets/toolkit/toolkit/templates/handoffs/BA_TO_ARCH.md +0 -28
- package/assets/toolkit/toolkit/templates/handoffs/DEV_STAGE1_SPEC_REVIEW.md +0 -26
- package/assets/toolkit/toolkit/templates/handoffs/DEV_STAGE2_CODE_QUALITY_REVIEW.md +0 -20
- package/assets/toolkit/toolkit/templates/handoffs/DEV_TO_QA.md +0 -23
- package/assets/toolkit/toolkit/templates/handoffs/PM_TO_BA.md +0 -26
- package/assets/toolkit/toolkit/templates/handoffs/QA_RELEASE_DECISION.md +0 -21
- package/bin/sdtk.js +0 -15
- package/src/commands/auth.js +0 -85
- package/src/commands/generate.js +0 -177
- package/src/commands/help.js +0 -101
- package/src/commands/init.js +0 -97
- package/src/commands/runtime.js +0 -217
- package/src/index.js +0 -59
- package/src/lib/args.js +0 -116
- package/src/lib/errors.js +0 -41
- package/src/lib/github-access.js +0 -68
- package/src/lib/powershell.js +0 -85
- package/src/lib/scope.js +0 -68
- package/src/lib/state.js +0 -83
- package/src/lib/toolkit-payload.js +0 -99
package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/scripts/validate_test_case_spec.py
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
Lightweight validator for [FEATURE_KEY]_TEST_CASE.md
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
from __future__ import annotations
|
|
7
|
-
|
|
8
|
-
import argparse
|
|
9
|
-
import re
|
|
10
|
-
import sys
|
|
11
|
-
from pathlib import Path
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
REQUIRED_HEADINGS = [
|
|
15
|
-
"## Statistic Summary (Excel-aligned)",
|
|
16
|
-
"## Abbreviations",
|
|
17
|
-
"## 1. Scope",
|
|
18
|
-
"## 2. References",
|
|
19
|
-
"## 3. Test Environment and Common Data",
|
|
20
|
-
"## 4. Feature Coverage Matrix",
|
|
21
|
-
"## 5. Screen-based Test Cases (Excel-aligned)",
|
|
22
|
-
"## 6. Open Questions (for final freeze)",
|
|
23
|
-
"## 7. STC/UAT Note",
|
|
24
|
-
]
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def has_18_columns(header_line: str) -> bool:
|
|
28
|
-
# markdown table columns = number of "|" minus 1 (leading/trailing)
|
|
29
|
-
pipe_count = header_line.count("|")
|
|
30
|
-
return pipe_count - 1 == 18
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def main() -> int:
|
|
34
|
-
parser = argparse.ArgumentParser(
|
|
35
|
-
description="Validate QA test-case markdown format for SDTK."
|
|
36
|
-
)
|
|
37
|
-
parser.add_argument(
|
|
38
|
-
"--file",
|
|
39
|
-
required=True,
|
|
40
|
-
help="Path to [FEATURE_KEY]_TEST_CASE.md",
|
|
41
|
-
)
|
|
42
|
-
args = parser.parse_args()
|
|
43
|
-
|
|
44
|
-
path = Path(args.file)
|
|
45
|
-
if not path.exists():
|
|
46
|
-
print(f"[FAIL] file not found: {path}")
|
|
47
|
-
return 1
|
|
48
|
-
|
|
49
|
-
text = path.read_text(encoding="utf-8")
|
|
50
|
-
lines = text.splitlines()
|
|
51
|
-
ok = True
|
|
52
|
-
|
|
53
|
-
for heading in REQUIRED_HEADINGS:
|
|
54
|
-
if heading not in text:
|
|
55
|
-
print(f"[FAIL] missing heading: {heading}")
|
|
56
|
-
ok = False
|
|
57
|
-
|
|
58
|
-
utc_sections = re.findall(r"^#### .*UTC.*$", text, flags=re.MULTILINE)
|
|
59
|
-
itc_sections = re.findall(r"^#### .*ITC.*$", text, flags=re.MULTILINE)
|
|
60
|
-
if not utc_sections:
|
|
61
|
-
print("[FAIL] no UTC subsection found")
|
|
62
|
-
ok = False
|
|
63
|
-
if not itc_sections:
|
|
64
|
-
print("[FAIL] no ITC subsection found")
|
|
65
|
-
ok = False
|
|
66
|
-
|
|
67
|
-
# Validate 18-column table headers for UTC/ITC tables
|
|
68
|
-
expected_header = (
|
|
69
|
-
"| No | Test Type | Test Perspective | Test Item | Precondition | Test Steps | "
|
|
70
|
-
"Expected Result | Browser | Test Execution Result | Remarks | Reviewer | "
|
|
71
|
-
"Review Date | OK/NG | Cause | Countermeasure | Owner | Completion Date | Confirmation |"
|
|
72
|
-
)
|
|
73
|
-
if expected_header not in text:
|
|
74
|
-
print("[FAIL] missing canonical 18-column test-case table header")
|
|
75
|
-
ok = False
|
|
76
|
-
else:
|
|
77
|
-
if not has_18_columns(expected_header):
|
|
78
|
-
print("[FAIL] canonical test-case table header column count is not 18")
|
|
79
|
-
ok = False
|
|
80
|
-
|
|
81
|
-
placeholders = []
|
|
82
|
-
for i, line in enumerate(lines, start=1):
|
|
83
|
-
if "??" in line or "?????" in line:
|
|
84
|
-
placeholders.append(i)
|
|
85
|
-
if placeholders:
|
|
86
|
-
print(f"[FAIL] unresolved placeholder tokens at lines: {placeholders[:20]}")
|
|
87
|
-
ok = False
|
|
88
|
-
|
|
89
|
-
if ok:
|
|
90
|
-
print("[PASS] test-case markdown format validation passed")
|
|
91
|
-
return 0
|
|
92
|
-
|
|
93
|
-
return 1
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if __name__ == "__main__":
|
|
97
|
-
sys.exit(main())
|
|
@@ -1,302 +0,0 @@
|
|
|
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
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: api-design-spec
|
|
3
|
-
description: Generate detailed API design markdown from OpenAPI YAML and API flow list. Use when you need field-level request/response tables plus one visible process-flow diagram per API.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Required Inputs (read before proceeding)
|
|
7
|
-
Read the following artifacts for the current feature:
|
|
8
|
-
1. `docs/api/[FeaturePascal]_API.yaml` - API contract
|
|
9
|
-
2. `docs/api/[feature_snake]_api_flow_list.txt` - flow list
|
|
10
|
-
|
|
11
|
-
## Input
|
|
12
|
-
$ARGUMENTS
|
|
13
|
-
|
|
14
|
-
# SDTK API Design Detail Spec
|
|
15
|
-
|
|
16
|
-
## Critical Constraints
|
|
17
|
-
- I do not drift from the source YAML or flow list.
|
|
18
|
-
- I do not leave broken flow image embeds in the generated markdown.
|
|
19
|
-
|
|
20
|
-
## Outputs
|
|
21
|
-
- `docs/api/[FEATURE_KEY]_API_DESIGN_DETAIL.md`
|
|
22
|
-
- Supporting generated assets:
|
|
23
|
-
- `docs/api/flows/*.puml`
|
|
24
|
-
- `docs/api/images/*.svg`
|
|
25
|
-
|
|
26
|
-
## Required Inputs
|
|
27
|
-
- Feature key (`FEATURE_KEY`)
|
|
28
|
-
- API contract YAML:
|
|
29
|
-
- Preferred: `docs/api/[FeaturePascal]_API.yaml`
|
|
30
|
-
- Fallback: a specified YAML file path
|
|
31
|
-
- API flow list:
|
|
32
|
-
- Preferred: `docs/api/[feature_snake]_api_flow_list.txt`
|
|
33
|
-
- Fallback: a specified flow list path
|
|
34
|
-
|
|
35
|
-
## Core Rules
|
|
36
|
-
- Apply `.claude/skills/references/API_DESIGN_FLOWCHART_CREATION_RULES.md` first.
|
|
37
|
-
- Keep endpoint contracts consistent with source YAML.
|
|
38
|
-
- Keep process flow source synchronized with flow list (`*_api_flow_list.txt`).
|
|
39
|
-
- Keep one visible flowchart per API section (embed image), avoid duplicate preview rendering.
|
|
40
|
-
- Keep `Process Flow` sections implementation-readable:
|
|
41
|
-
- include YAML-derived flow summary / notes / login bullets
|
|
42
|
-
- keep error sections aligned with actual flow exits, not `None`
|
|
43
|
-
|
|
44
|
-
## Generation Procedure
|
|
45
|
-
1. Resolve input files (`yaml`, `flow_list`, `output`).
|
|
46
|
-
2. Parse YAML endpoints (method, path, request schema, success/error schema).
|
|
47
|
-
3. Parse flow blocks from flow list and map them by normalized `METHOD + path`.
|
|
48
|
-
4. Generate detailed markdown sections per API:
|
|
49
|
-
- Flow summary / notes / login bullets from YAML `description`
|
|
50
|
-
- Process flow source block (`text` fenced block)
|
|
51
|
-
- Embedded flowchart image
|
|
52
|
-
- Path parameter table
|
|
53
|
-
- Request table
|
|
54
|
-
- Success response table
|
|
55
|
-
- Error response table
|
|
56
|
-
5. Generate/update `.puml` per API under `docs/api/flows`.
|
|
57
|
-
6. Render `.svg` images under `docs/api/images`.
|
|
58
|
-
7. Validate:
|
|
59
|
-
- every API section has one embedded image
|
|
60
|
-
- every embed path exists
|
|
61
|
-
- no render error image output
|
|
62
|
-
- markdown tables keep `No` sequential numbering
|
|
63
|
-
|
|
64
|
-
## Script
|
|
65
|
-
- `.claude/skills/api-design-spec/scripts/generate_api_design_detail.py`
|
|
66
|
-
|
|
67
|
-
### Typical command
|
|
68
|
-
```bash
|
|
69
|
-
python ".claude/skills/api-design-spec/scripts/generate_api_design_detail.py" \
|
|
70
|
-
--feature-key SCHEDULE_WHITEBOARD \
|
|
71
|
-
--yaml "docs/api/ScheduleWhiteboard_API.yaml" \
|
|
72
|
-
--flow-list "docs/api/schedule_whiteboard_api_flow_list.txt" \
|
|
73
|
-
--output "docs/api/SCHEDULE_WHITEBOARD_API_DESIGN_DETAIL.md"
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Optional subset generation
|
|
77
|
-
```bash
|
|
78
|
-
python ".claude/skills/api-design-spec/scripts/generate_api_design_detail.py" \
|
|
79
|
-
--feature-key SCHEDULE_WHITEBOARD \
|
|
80
|
-
--yaml "docs/api/ScheduleWhiteboard_API.yaml" \
|
|
81
|
-
--flow-list "docs/api/schedule_whiteboard_api_flow_list.txt" \
|
|
82
|
-
--output "docs/api/SCHEDULE_WHITEBOARD_API_DESIGN_DETAIL.md" \
|
|
83
|
-
--include "POST /api/whiteboard/assignment/{company_uuid}"
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Orchestrator Integration (Hybrid)
|
|
87
|
-
- `apiDesignDetailMode` in `sdtk.config.json` controls orchestration behavior:
|
|
88
|
-
- `auto` (default): generate API design detail when ARCH has API scope and YAML/flow sources are available.
|
|
89
|
-
- `on`: always generate API design detail for API scope (fail if required sources are missing).
|
|
90
|
-
- `off`: skip unless user explicitly requests.
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: api-doc
|
|
3
|
-
description: Generate OpenAPI 3.x YAML and PlantUML flow diagrams for a feature following this toolkit's API conventions. Use when you need to create/update docs/api/* (API spec + flow list) from BA_SPEC/ARCH_DESIGN.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Required Inputs (read before proceeding)
|
|
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
|
|
10
|
-
|
|
11
|
-
## Input
|
|
12
|
-
$ARGUMENTS
|
|
13
|
-
|
|
14
|
-
# SDTK API Documentation
|
|
15
|
-
|
|
16
|
-
## Outputs
|
|
17
|
-
- `docs/api/[FeaturePascal]_API.yaml`
|
|
18
|
-
- `docs/api/[FEATURE_KEY]_ENDPOINTS.md`
|
|
19
|
-
- `docs/api/[feature_snake]_api_flow_list.txt`
|
|
20
|
-
- Optional downstream (via `/api-design-spec`):
|
|
21
|
-
- `docs/api/[FEATURE_KEY]_API_DESIGN_DETAIL.md`
|
|
22
|
-
|
|
23
|
-
## Inputs (minimum)
|
|
24
|
-
- Feature name/key
|
|
25
|
-
- Entities + key fields
|
|
26
|
-
- Use cases (UC-xx) + business rules (BR-xx)
|
|
27
|
-
- Auth/permission model
|
|
28
|
-
|
|
29
|
-
## Process
|
|
30
|
-
1. Read `docs/specs/BA_SPEC_[FEATURE_KEY].md` and/or `docs/architecture/ARCH_DESIGN_[FEATURE_KEY].md`.
|
|
31
|
-
2. Read and apply split API rule sources:
|
|
32
|
-
- `.claude/skills/references/YAML_CREATION_RULES.md` for YAML contract rules
|
|
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 and apply `governance/ai/core/SDTK_API_PATH_STYLE_POLICY.md` for canonical resource naming.
|
|
35
|
-
4. For each endpoint, document request/response schema and error cases.
|
|
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, and error exits.
|
|
38
|
-
7. Ensure traceability notes reference UC/BR where relevant.
|
|
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:
|
|
41
|
-
- no mixed-language leftovers in narrative text
|
|
42
|
-
- no mojibake/encoding corruption markers
|
|
43
|
-
- terminology consistency across endpoint detail, summary tables, and flow labels
|
|
44
|
-
10. If orchestrator mode requires API design detail generation (`apiDesignDetailMode=auto/on`), handoff to `/api-design-spec` after YAML + flow list are updated.
|
|
45
|
-
|
|
46
|
-
## Reference
|
|
47
|
-
- Deeper analysis: `docs/specs/API_DOC_SKILL_ANALYSIS.md` (if present).
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: arch
|
|
3
|
-
description: Solution Architect workflow for SDTK. Use when you need to convert BA_SPEC plus PM backlog into technical architecture, API contracts, and UI design docs; then hand off to DEV.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## SDTK Pipeline Rules (always apply)
|
|
7
|
-
1. Pipeline: PM Initiation -> BA Analysis -> PM Planning -> Architecture Design -> Development + Review -> QA Validation
|
|
8
|
-
2. After completing phase work: update SHARED_PLANNING.md and QUALITY_CHECKLIST.md
|
|
9
|
-
3. If unclear: log OQ-xx in artifact and escalate to PM
|
|
10
|
-
4. Traceability: REQ -> BR/UC/AC -> design -> backlog -> code/tests -> QA
|
|
11
|
-
5. Code review must be complete before QA phase can start
|
|
12
|
-
6. Do not skip phases. If inputs are missing, ask focused questions.
|
|
13
|
-
|
|
14
|
-
## Prerequisites (verify before proceeding)
|
|
15
|
-
Read QUALITY_CHECKLIST.md and verify:
|
|
16
|
-
- Phase 2 BA Analysis gate must show all items done
|
|
17
|
-
- Phase 2+ PM Planning gate must show all items done
|
|
18
|
-
|
|
19
|
-
## Input
|
|
20
|
-
$ARGUMENTS
|
|
21
|
-
|
|
22
|
-
# SDTK ARCH (Solution Architecture)
|
|
23
|
-
|
|
24
|
-
## Critical Constraints
|
|
25
|
-
- I do not generate `FLOW_ACTION_SPEC` before `DESIGN_LAYOUT` for UI-scope features.
|
|
26
|
-
- I do not silently skip render failures for generated-draft screen images.
|
|
27
|
-
|
|
28
|
-
## Outputs
|
|
29
|
-
- `docs/architecture/ARCH_DESIGN_[FEATURE_KEY].md`
|
|
30
|
-
- If applicable:
|
|
31
|
-
- `docs/api/[FeaturePascal]_API.yaml`
|
|
32
|
-
- `docs/api/[FEATURE_KEY]_ENDPOINTS.md`
|
|
33
|
-
- `docs/api/[FEATURE_KEY]_API_DESIGN_DETAIL.md`
|
|
34
|
-
- `docs/api/[feature_snake]_api_flow_list.txt`
|
|
35
|
-
- `docs/database/DATABASE_SPEC_[FEATURE_KEY].md`
|
|
36
|
-
- `docs/design/DESIGN_LAYOUT_[FEATURE_KEY].md`
|
|
37
|
-
- `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md`
|
|
38
|
-
|
|
39
|
-
## Process
|
|
40
|
-
1. Read BA spec and PRD/backlog.
|
|
41
|
-
2. Read `sdtk.config.json` for project stack assumptions.
|
|
42
|
-
3. If architecture output includes API contracts or flows, read and apply:
|
|
43
|
-
- `.claude/skills/references/YAML_CREATION_RULES.md`
|
|
44
|
-
- `.claude/skills/references/API_DESIGN_FLOWCHART_CREATION_RULES.md`
|
|
45
|
-
4. If architecture output includes screen flow-action specs, read and apply `.claude/skills/references/FLOW_ACTION_SPEC_CREATION_RULES.md`.
|
|
46
|
-
5. For API scope:
|
|
47
|
-
- generate or update YAML, endpoints markdown, and flow list
|
|
48
|
-
- if API detail is required, use `/api-design-spec`
|
|
49
|
-
6. For UI scope:
|
|
50
|
-
- generate or update `docs/design/DESIGN_LAYOUT_[FEATURE_KEY].md`
|
|
51
|
-
- run `.claude/skills/design-layout/scripts/render_design_layout_images.py` to attempt screen preview rendering
|
|
52
|
-
- then generate or update `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md` using `/screen-design-spec`
|
|
53
|
-
- when no Figma or screenshot exists, use `generated-draft` with `DESIGN_LAYOUT` as the design source
|
|
54
|
-
- if rendering fails, use the render-skipped note instead of a broken image reference
|
|
55
|
-
7. Define system components, data model, API endpoints, flows, screen layouts, and security decisions.
|
|
56
|
-
8. Ensure mapping UC/BR to DB/API/screens and keep EN artifact hygiene.
|
|
57
|
-
9. If anything is unclear, record OQ-xx in `ARCH_DESIGN` and escalate to PM.
|
|
58
|
-
10. Update shared state and Phase 3 checklist.
|
|
59
|
-
11. Handoff: suggest `/dev` after the design is complete.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ba
|
|
3
|
-
description: Business Analyst workflow for SDTK. Use when you need to turn PM initiation into BA_SPEC with glossary, business rules (BR-xx), use cases (UC-xx), acceptance criteria (AC-xx), NFRs, risks, open questions, and a traceability matrix.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## SDTK Pipeline Rules (always apply)
|
|
7
|
-
1. Pipeline: PM Initiation -> BA Analysis -> PM Planning -> Architecture Design -> Development + Review -> QA Validation
|
|
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
|
|
10
|
-
4. Traceability: REQ -> BR/UC/AC -> design -> backlog -> code/tests -> QA
|
|
11
|
-
5. Code review must be COMPLETE before QA phase can start
|
|
12
|
-
6. Do not skip phases. If inputs are missing, ask focused questions.
|
|
13
|
-
|
|
14
|
-
## Prerequisites (verify before proceeding)
|
|
15
|
-
Read QUALITY_CHECKLIST.md and verify:
|
|
16
|
-
- Phase 1 PM Init gate must show all items [x] Done.
|
|
17
|
-
|
|
18
|
-
If prerequisites are not met, report which gate is missing and suggest user run `/pm` first.
|
|
19
|
-
|
|
20
|
-
## Current Context
|
|
21
|
-
- Config: !`node -e "try{process.stdout.write(require('fs').readFileSync('sdtk.config.json','utf8'))}catch{process.stdout.write('{}')}"`
|
|
22
|
-
- Pipeline: !`node -e "try{process.stdout.write(require('fs').readFileSync('SHARED_PLANNING.md','utf8'))}catch{process.stdout.write('Not initialized')}"`
|
|
23
|
-
- Gates: !`node -e "try{process.stdout.write(require('fs').readFileSync('QUALITY_CHECKLIST.md','utf8'))}catch{process.stdout.write('Not initialized')}"`
|
|
24
|
-
- State: !`node -e "try{process.stdout.write(require('fs').readFileSync('.sdtk/orchestration-state.json','utf8'))}catch{process.stdout.write('{}')}"`
|
|
25
|
-
|
|
26
|
-
## Input
|
|
27
|
-
$ARGUMENTS
|
|
28
|
-
|
|
29
|
-
If no arguments are provided, read current feature context from SHARED_PLANNING.md.
|
|
30
|
-
|
|
31
|
-
# SDTK BA (Business Analysis)
|
|
32
|
-
|
|
33
|
-
## Output
|
|
34
|
-
- `docs/specs/BA_SPEC_[FEATURE_KEY].md`
|
|
35
|
-
|
|
36
|
-
## Process
|
|
37
|
-
1. Read `docs/product/PROJECT_INITIATION_[FEATURE_KEY].md` and any source requirements.
|
|
38
|
-
2. Produce:
|
|
39
|
-
- Glossary
|
|
40
|
-
- BR-xx (numbered)
|
|
41
|
-
- UC-xx (cover 100% REQ-xx)
|
|
42
|
-
- AC-xx (mapped to UC/BR)
|
|
43
|
-
- NFR-xx
|
|
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. 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.
|