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.
Files changed (113) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -177
  3. package/package.json +52 -46
  4. package/scripts/postinstall.js +40 -0
  5. package/assets/manifest/toolkit-bundle.manifest.json +0 -473
  6. package/assets/manifest/toolkit-bundle.sha256.txt +0 -93
  7. package/assets/toolkit/toolkit/AGENTS.md +0 -131
  8. package/assets/toolkit/toolkit/install.ps1 +0 -310
  9. package/assets/toolkit/toolkit/runtimes/claude/CLAUDE_TEMPLATE.md +0 -54
  10. package/assets/toolkit/toolkit/runtimes/codex/CODEX_TEMPLATE.md +0 -32
  11. package/assets/toolkit/toolkit/scripts/init-feature.ps1 +0 -261
  12. package/assets/toolkit/toolkit/scripts/install-claude-skills.ps1 +0 -169
  13. package/assets/toolkit/toolkit/scripts/install-codex-skills.ps1 +0 -189
  14. package/assets/toolkit/toolkit/scripts/uninstall-claude-skills.ps1 +0 -139
  15. package/assets/toolkit/toolkit/scripts/uninstall-codex-skills.ps1 +0 -116
  16. package/assets/toolkit/toolkit/sdtk.config.json +0 -28
  17. package/assets/toolkit/toolkit/sdtk.config.profiles.example.json +0 -50
  18. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/SKILL.md +0 -84
  19. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_CREATION_RULES.md +0 -22
  20. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
  21. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/FLOWCHART_CREATION_RULES.md +0 -20
  22. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/scripts/generate_api_design_detail.py +0 -732
  23. package/assets/toolkit/toolkit/skills/sdtk-api-doc/SKILL.md +0 -43
  24. package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
  25. package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/FLOWCHART_CREATION_RULES.md +0 -20
  26. package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/YAML_CREATION_RULES.md +0 -128
  27. package/assets/toolkit/toolkit/skills/sdtk-arch/SKILL.md +0 -83
  28. package/assets/toolkit/toolkit/skills/sdtk-arch/references/API_DESIGN_CREATION_RULES.md +0 -22
  29. package/assets/toolkit/toolkit/skills/sdtk-arch/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
  30. package/assets/toolkit/toolkit/skills/sdtk-arch/references/FLOWCHART_CREATION_RULES.md +0 -20
  31. package/assets/toolkit/toolkit/skills/sdtk-arch/references/FLOW_ACTION_SPEC_CREATION_RULES.md +0 -220
  32. package/assets/toolkit/toolkit/skills/sdtk-arch/references/YAML_CREATION_RULES.md +0 -128
  33. package/assets/toolkit/toolkit/skills/sdtk-ba/SKILL.md +0 -29
  34. package/assets/toolkit/toolkit/skills/sdtk-design-layout/SKILL.md +0 -52
  35. package/assets/toolkit/toolkit/skills/sdtk-design-layout/scripts/render_design_layout_images.py +0 -246
  36. package/assets/toolkit/toolkit/skills/sdtk-dev/SKILL.md +0 -90
  37. package/assets/toolkit/toolkit/skills/sdtk-dev/prompts/code-quality-reviewer.md +0 -35
  38. package/assets/toolkit/toolkit/skills/sdtk-dev/prompts/implementer.md +0 -61
  39. package/assets/toolkit/toolkit/skills/sdtk-dev/prompts/spec-reviewer.md +0 -42
  40. package/assets/toolkit/toolkit/skills/sdtk-dev-backend/SKILL.md +0 -21
  41. package/assets/toolkit/toolkit/skills/sdtk-dev-frontend/SKILL.md +0 -19
  42. package/assets/toolkit/toolkit/skills/sdtk-orchestrator/SKILL.md +0 -80
  43. package/assets/toolkit/toolkit/skills/sdtk-pm/SKILL.md +0 -30
  44. package/assets/toolkit/toolkit/skills/sdtk-qa/SKILL.md +0 -53
  45. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/SKILL.md +0 -86
  46. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/FLOW_ACTION_SPEC_CREATION_RULES.md +0 -220
  47. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/excel-image-export.md +0 -51
  48. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/figma-mcp.md +0 -54
  49. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/numbering-rules.md +0 -28
  50. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/scripts/renumber_flow_action_spec_global.py +0 -136
  51. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/scripts/validate_flow_action_spec_numbering.py +0 -414
  52. package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/SKILL.md +0 -74
  53. package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/references/TEST_CASE_CREATION_RULES.md +0 -129
  54. package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/scripts/validate_test_case_spec.py +0 -97
  55. package/assets/toolkit/toolkit/skills/skills.catalog.yaml +0 -302
  56. package/assets/toolkit/toolkit/skills-claude/api-design-spec/SKILL.md +0 -90
  57. package/assets/toolkit/toolkit/skills-claude/api-doc/SKILL.md +0 -47
  58. package/assets/toolkit/toolkit/skills-claude/arch/SKILL.md +0 -59
  59. package/assets/toolkit/toolkit/skills-claude/ba/SKILL.md +0 -50
  60. package/assets/toolkit/toolkit/skills-claude/design-layout/SKILL.md +0 -57
  61. package/assets/toolkit/toolkit/skills-claude/dev/SKILL.md +0 -45
  62. package/assets/toolkit/toolkit/skills-claude/dev-backend/SKILL.md +0 -20
  63. package/assets/toolkit/toolkit/skills-claude/dev-frontend/SKILL.md +0 -18
  64. package/assets/toolkit/toolkit/skills-claude/orchestrator/SKILL.md +0 -63
  65. package/assets/toolkit/toolkit/skills-claude/pm/SKILL.md +0 -52
  66. package/assets/toolkit/toolkit/skills-claude/qa/SKILL.md +0 -48
  67. package/assets/toolkit/toolkit/skills-claude/screen-design-spec/SKILL.md +0 -90
  68. package/assets/toolkit/toolkit/skills-claude/test-case-spec/SKILL.md +0 -61
  69. package/assets/toolkit/toolkit/templates/QUALITY_CHECKLIST.md +0 -124
  70. package/assets/toolkit/toolkit/templates/README.md +0 -63
  71. package/assets/toolkit/toolkit/templates/SHARED_PLANNING.md +0 -80
  72. package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_CREATION_RULES.md +0 -22
  73. package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_DETAIL_TEMPLATE.md +0 -67
  74. package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
  75. package/assets/toolkit/toolkit/templates/docs/api/API_ENDPOINTS_TEMPLATE.md +0 -229
  76. package/assets/toolkit/toolkit/templates/docs/api/FEATURE_API_TEMPLATE.yaml +0 -20
  77. package/assets/toolkit/toolkit/templates/docs/api/FLOWCHART_CREATION_RULES.md +0 -20
  78. package/assets/toolkit/toolkit/templates/docs/api/YAML_CREATION_RULES.md +0 -128
  79. package/assets/toolkit/toolkit/templates/docs/api/feature_api_flow_list_TEMPLATE.txt +0 -12
  80. package/assets/toolkit/toolkit/templates/docs/architecture/ARCH_DESIGN_TEMPLATE.md +0 -109
  81. package/assets/toolkit/toolkit/templates/docs/database/DATABASE_SPEC_TEMPLATE.md +0 -175
  82. package/assets/toolkit/toolkit/templates/docs/design/DESIGN_LAYOUT_TEMPLATE.md +0 -60
  83. package/assets/toolkit/toolkit/templates/docs/dev/FEATURE_IMPL_PLAN_TEMPLATE.md +0 -73
  84. package/assets/toolkit/toolkit/templates/docs/product/BACKLOG_TEMPLATE.md +0 -50
  85. package/assets/toolkit/toolkit/templates/docs/product/PRD_TEMPLATE.md +0 -66
  86. package/assets/toolkit/toolkit/templates/docs/product/PROJECT_INITIATION_TEMPLATE.md +0 -98
  87. package/assets/toolkit/toolkit/templates/docs/qa/QA_RELEASE_REPORT_TEMPLATE.md +0 -61
  88. package/assets/toolkit/toolkit/templates/docs/qa/TEST_CASE_CREATION_RULES.md +0 -129
  89. package/assets/toolkit/toolkit/templates/docs/qa/TEST_CASE_TEMPLATE.md +0 -104
  90. package/assets/toolkit/toolkit/templates/docs/specs/BA_SPEC_TEMPLATE.md +0 -139
  91. package/assets/toolkit/toolkit/templates/docs/specs/FLOW_ACTION_SPEC_CREATION_RULES.md +0 -220
  92. package/assets/toolkit/toolkit/templates/docs/specs/FLOW_ACTION_SPEC_TEMPLATE.md +0 -197
  93. package/assets/toolkit/toolkit/templates/handoffs/ARCH_TO_DEV.md +0 -31
  94. package/assets/toolkit/toolkit/templates/handoffs/BA_TO_ARCH.md +0 -28
  95. package/assets/toolkit/toolkit/templates/handoffs/DEV_STAGE1_SPEC_REVIEW.md +0 -26
  96. package/assets/toolkit/toolkit/templates/handoffs/DEV_STAGE2_CODE_QUALITY_REVIEW.md +0 -20
  97. package/assets/toolkit/toolkit/templates/handoffs/DEV_TO_QA.md +0 -23
  98. package/assets/toolkit/toolkit/templates/handoffs/PM_TO_BA.md +0 -26
  99. package/assets/toolkit/toolkit/templates/handoffs/QA_RELEASE_DECISION.md +0 -21
  100. package/bin/sdtk.js +0 -15
  101. package/src/commands/auth.js +0 -85
  102. package/src/commands/generate.js +0 -177
  103. package/src/commands/help.js +0 -101
  104. package/src/commands/init.js +0 -97
  105. package/src/commands/runtime.js +0 -217
  106. package/src/index.js +0 -59
  107. package/src/lib/args.js +0 -116
  108. package/src/lib/errors.js +0 -41
  109. package/src/lib/github-access.js +0 -68
  110. package/src/lib/powershell.js +0 -85
  111. package/src/lib/scope.js +0 -68
  112. package/src/lib/state.js +0 -83
  113. package/src/lib/toolkit-payload.js +0 -99
@@ -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.