ai-ops-cli 0.2.4 → 1.0.1

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 (65) hide show
  1. package/README.ko.md +170 -0
  2. package/README.md +109 -163
  3. package/data/context-layer/AGENTS.md +29 -0
  4. package/data/context-layer/CLAUDE.md +14 -0
  5. package/data/context-layer/GEMINI.md +14 -0
  6. package/data/context-layer/docs/agent/checks/impact-checklist.md +16 -0
  7. package/data/context-layer/docs/agent/checks/review-checklist.md +17 -0
  8. package/data/context-layer/docs/agent/maps/codebase-map.md +16 -0
  9. package/data/context-layer/docs/agent/rules/doc-update-rules.md +22 -0
  10. package/data/context-layer/docs/agent/rules/routing-rules.md +22 -0
  11. package/data/context-layer/docs/agent/rules/stop-rules.md +20 -0
  12. package/data/context-layer/docs/agent/workflow.md +25 -0
  13. package/data/context-layer/docs/business/business-rules.md +16 -0
  14. package/data/context-layer/docs/docs-status.md +14 -0
  15. package/data/packs/pack-registry.json +8 -0
  16. package/data/packs/spec-lifecycle/docs/specs/README.ko.md +26 -0
  17. package/data/packs/spec-lifecycle/docs/specs/README.md +26 -0
  18. package/data/packs/spec-lifecycle/docs/specs/baseline/.gitkeep +1 -0
  19. package/data/packs/spec-lifecycle/docs/specs/initial-build/.gitkeep +1 -0
  20. package/data/skills/README.ko.md +182 -0
  21. package/data/skills/README.md +27 -2
  22. package/data/skills/reference-skills/frontend-app-flutter-runtime/references/reference.md +4 -0
  23. package/data/skills/reference-skills/frontend-web-react-next-runtime/references/reference.md +6 -0
  24. package/data/skills/reference-skills/graphql-client-integration/references/reference.md +3 -0
  25. package/data/skills/skill-registry.json +64 -16
  26. package/data/skills/task-skills/doc-impact-reviewer/SKILL.md +101 -0
  27. package/data/skills/task-skills/doc-impact-reviewer/agents/openai.yaml +6 -0
  28. package/data/skills/task-skills/spec-baseline-sync/SKILL.md +134 -0
  29. package/data/skills/task-skills/spec-baseline-sync/agents/openai.yaml +6 -0
  30. package/data/skills/task-skills/spec-baseline-sync/references/template.md +14 -0
  31. package/data/skills/task-skills/spec-product-01-idea-to-brief/SKILL.md +78 -0
  32. package/data/skills/task-skills/spec-product-01-idea-to-brief/agents/openai.yaml +6 -0
  33. package/data/skills/task-skills/spec-product-01-idea-to-brief/references/template.md +36 -0
  34. package/data/skills/task-skills/spec-product-02-brief-to-technical-context/SKILL.md +91 -0
  35. package/data/skills/task-skills/spec-product-02-brief-to-technical-context/agents/openai.yaml +6 -0
  36. package/data/skills/task-skills/spec-product-02-brief-to-technical-context/references/template.md +58 -0
  37. package/data/skills/task-skills/spec-product-03-brief-to-product-spec/SKILL.md +85 -0
  38. package/data/skills/task-skills/spec-product-03-brief-to-product-spec/agents/openai.yaml +6 -0
  39. package/data/skills/task-skills/spec-product-03-brief-to-product-spec/references/template.md +41 -0
  40. package/data/skills/task-skills/spec-product-04-product-spec-to-ui-spec/SKILL.md +93 -0
  41. package/data/skills/task-skills/spec-product-04-product-spec-to-ui-spec/agents/openai.yaml +6 -0
  42. package/data/skills/task-skills/spec-product-04-product-spec-to-ui-spec/references/stitch-prompt-template.md +41 -0
  43. package/data/skills/task-skills/spec-product-04-product-spec-to-ui-spec/references/ui-spec-template.md +39 -0
  44. package/data/skills/task-skills/spec-product-05-spec-to-work-packets/SKILL.md +157 -0
  45. package/data/skills/task-skills/spec-product-05-spec-to-work-packets/agents/openai.yaml +6 -0
  46. package/data/skills/task-skills/spec-product-05-spec-to-work-packets/references/stitch-html-review.md +25 -0
  47. package/data/skills/task-skills/spec-product-05-spec-to-work-packets/references/work-packet-template.md +67 -0
  48. package/data/skills/task-skills/spec-shared-glossary-sync/SKILL.md +102 -0
  49. package/data/skills/task-skills/spec-shared-glossary-sync/agents/openai.yaml +6 -0
  50. package/data/skills/task-skills/spec-shared-glossary-sync/references/checklist.md +36 -0
  51. package/data/skills/task-skills/spec-shared-glossary-sync/references/template.md +58 -0
  52. package/data/subagents/README.ko.md +47 -0
  53. package/data/subagents/README.md +47 -0
  54. package/data/subagents/security-gate/PROMPT.md +18 -0
  55. package/data/subagents/security-gate/claude.frontmatter.yaml +8 -0
  56. package/data/subagents/security-gate/codex.frontmatter.toml +6 -0
  57. package/data/subagents/security-gate/gemini.frontmatter.yaml +6 -0
  58. package/data/subagents/security-reviewer/PROMPT.md +17 -0
  59. package/data/subagents/security-reviewer/claude.frontmatter.yaml +9 -0
  60. package/data/subagents/security-reviewer/codex.frontmatter.toml +6 -0
  61. package/data/subagents/security-reviewer/gemini.frontmatter.yaml +6 -0
  62. package/data/subagents/subagent-registry.json +14 -0
  63. package/dist/bin/index.js +2101 -1712
  64. package/dist/bin/index.js.map +1 -1
  65. package/package.json +2 -2
@@ -0,0 +1,41 @@
1
+ # 10_product-spec.md Template
2
+
3
+ ```md
4
+ # 10 Product Spec
5
+
6
+ ## 핵심 사용자 플로우
7
+ 1. 플로우 1
8
+ 2. 플로우 2
9
+
10
+ ## 기능
11
+ - 기능 1
12
+ - 기능 2
13
+
14
+ ## 엔티티
15
+ - 엔티티명
16
+ - 목적
17
+ - 핵심 필드
18
+
19
+ ## 비즈니스 규칙
20
+ - 규칙 1
21
+ - 규칙 2
22
+
23
+ ## 엣지 케이스
24
+ - empty state
25
+ - loading state
26
+ - error state
27
+
28
+ ## 성공 기준
29
+ - 기준 1
30
+ - 기준 2
31
+
32
+ ## 기술 제약 반영 메모
33
+ - 어떤 제약이 제품 구조에 영향을 주는지
34
+
35
+ ## 보안 고려사항
36
+ - auth / 권한 / 민감정보 / 업로드 / 외부 호출 / tenant 경계 관련 메모
37
+ - 없으면 `특이사항 없음`
38
+
39
+ ## 미해결 결정사항
40
+ - 결정사항 1
41
+ ```
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: spec-product-04-product-spec-to-ui-spec
3
+ description: Generate initial Korean 20_ui-spec.md, optional English 21_stitch-prompt.md, and initial visual guidance from approved product specs, screenshots, or Stitch/reference drafts for first product implementation only.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # spec-product-04-product-spec-to-ui-spec
8
+
9
+ Use this skill when `./docs/specs/baseline/10_product-spec.md` is approved and the product needs initial UI direction before first implementation.
10
+
11
+ Default outputs:
12
+
13
+ - `./docs/specs/baseline/20_ui-spec.md`
14
+ - optional `./docs/specs/baseline/21_stitch-prompt.md`
15
+ - optional `./docs/specs/baseline/22_stitch-assets/DESIGN.md`
16
+ - optional `./docs/specs/baseline/24_design-tokens.md`
17
+
18
+ Do not use this skill as the default path for MVP-afterward UI changes. Ongoing UI work belongs in `.codex/plans/*.md` with screenshots, reference apps, and detailed requested adjustments.
19
+
20
+ ## Language Rules
21
+
22
+ - `20_ui-spec.md`, `DESIGN.md`, and `24_design-tokens.md` must be written in Korean.
23
+ - `21_stitch-prompt.md`, when created, must be written in English.
24
+ - Keep code-facing names, API field names, library/service names, protocol names, file paths, and standard technical terms in their natural English form when clearer.
25
+ - Do not force awkward phonetic transliterations.
26
+
27
+ ## Required Inputs
28
+
29
+ 1. `./docs/specs/baseline/05_technical-context.md`
30
+ 2. `./docs/specs/baseline/10_product-spec.md`
31
+ 3. optional user-provided screenshots, reference apps, mood notes, or visual constraints
32
+ 4. optional Stitch output under `./docs/specs/baseline/22_stitch-assets/`
33
+
34
+ ## Objective
35
+
36
+ Define initial UI structure and states clearly enough for first implementation, while treating visual references as concept/draft input rather than product truth.
37
+
38
+ The skill should:
39
+
40
+ - enumerate screens from approved user flows
41
+ - define screen purpose, primary actions, states, and navigation boundaries
42
+ - preserve target platform constraints
43
+ - normalize initial visual direction against approved product scope
44
+ - reject or defer visual ideas that imply unapproved product behavior
45
+ - create a Stitch prompt only when external visual generation will reduce ambiguity
46
+
47
+ ## Workflow
48
+
49
+ 1. Read approved product and technical context.
50
+ 2. Identify UI surfaces that are required for the first build.
51
+ 3. Draft `20_ui-spec.md` around screens, states, interactions, and design constraints.
52
+ 4. If the user wants Stitch concepting, write `21_stitch-prompt.md` in English.
53
+ 5. If screenshots or Stitch output already establish reusable visual rules, write or update baseline `DESIGN.md` and optional tokens.
54
+ 6. Record security-relevant UI surfaces under `보안 고려사항`.
55
+
56
+ ## Visual Reference Rules
57
+
58
+ - Stitch, screenshots, and reference apps are inspiration and structure references, not product truth.
59
+ - Approved product spec and technical context outrank visual references.
60
+ - If a reference introduces unsupported features, labels, business rules, biometric/medical claims, social mechanics, monetization, or platform assumptions, reject or mark them out of scope.
61
+ - For Flutter or native apps, translate visual ideas into native primitives and theme/tokens. Do not treat HTML/CSS as the shipping stack.
62
+ - Keep initial guidance practical enough for `spec-product-05` to create implementation packets.
63
+
64
+ ## Security Lens
65
+
66
+ Keep this pass UI-focused and short.
67
+
68
+ - Check whether the UI introduces auth-sensitive actions, destructive actions, file upload/download, rendered user content, or admin-only surfaces.
69
+ - Record the result under `보안 고려사항`.
70
+ - If any trigger appears or the trust boundary is unclear, recommend `spec-security-01-triage` in `mode=spec`.
71
+
72
+ Use these references while drafting:
73
+
74
+ - [references/ui-spec-template.md](references/ui-spec-template.md)
75
+ - [references/stitch-prompt-template.md](references/stitch-prompt-template.md)
76
+
77
+ ## Required UI Spec Sections
78
+
79
+ - `화면 목록`
80
+ - `화면 목적`
81
+ - `상태 정의`
82
+ - `주요 인터랙션`
83
+ - `디자인 제약`
84
+ - `초기 시각 참고 / 구현 번역 규칙`
85
+ - `보안 고려사항`
86
+
87
+ ## Mermaid Rule
88
+
89
+ Include Mermaid only when navigation or state coverage is dense.
90
+
91
+ - Use flowchart for screen-to-screen navigation.
92
+ - Use stateDiagram for per-screen states when more than 4 states or transitions matter.
93
+ - Skip Mermaid if prose is enough.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "spec-product-04-product-spec-to-ui-spec"
3
+ short_description: "Create initial UI spec, optional Stitch prompt, and first-build visual guidance."
4
+ default_prompt: "Use $spec-product-04-product-spec-to-ui-spec to create an initial Korean 20_ui-spec.md, optional English 21_stitch-prompt.md, and practical first-build visual guidance from approved product specs and reference inputs."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,41 @@
1
+ # 21_stitch-prompt.md Template
2
+
3
+ ```md
4
+ # Stitch Prompt
5
+
6
+ ## Product Context
7
+ - Summarize the product in 3-5 lines.
8
+
9
+ ## Technical Context
10
+ - Mention the intended platform and implementation constraints relevant to UI generation.
11
+ - Say the generated result is an initial visual reference, not product truth or the shipped technology stack.
12
+
13
+ ## Core User Flows
14
+ 1. Flow 1
15
+ 2. Flow 2
16
+
17
+ ## Screens To Generate
18
+ - Screen 1
19
+ - Screen 2
20
+
21
+ ## Required States
22
+ - empty
23
+ - loading
24
+ - error
25
+ - success
26
+
27
+ ## Key Interactions
28
+ - Interaction 1
29
+ - Interaction 2
30
+
31
+ ## Design Direction
32
+ - Visual tone
33
+ - Layout constraints
34
+ - Platform assumptions
35
+ - Current design-system constraints, if any
36
+
37
+ ## Scope Guardrails
38
+ - Do not invent unapproved features, pricing, social mechanics, medical claims, or backend behavior.
39
+ - Do not imply that HTML/CSS is the implementation stack.
40
+ - Treat output as concept art/reference for first implementation.
41
+ ```
@@ -0,0 +1,39 @@
1
+ # 20_ui-spec.md Template
2
+
3
+ ```md
4
+ # 20 UI Spec
5
+
6
+ ## 화면 목록
7
+ - 화면명
8
+
9
+ ## 화면 목적
10
+ - 화면별 목적과 주요 사용자 행동
11
+
12
+ ## 상태 정의
13
+ - empty
14
+ - loading
15
+ - error
16
+ - success
17
+
18
+ ## 주요 인터랙션
19
+ - 인터랙션 1
20
+ - 인터랙션 2
21
+
22
+ ## 디자인 제약
23
+ - 접근성
24
+ - 반응형
25
+ - 시각 톤
26
+ - 플랫폼 제약
27
+
28
+ ## 초기 시각 참고 / 구현 번역 규칙
29
+ - 참고 screenshot, reference app, Stitch 결과는 initial concept reference다.
30
+ - 승인된 product spec과 technical context가 더 우선한다.
31
+ - 구현 대상은 승인된 target platform이며, Flutter 프로젝트라면 Flutter widget tree와 theme/token으로 번역한다.
32
+ - HTML/CSS를 그대로 이식하지 않는다.
33
+ - 레이아웃 계층, CTA 우선순위, 정보 그룹, 상태 표현, 주요 인터랙션 중 제품에 승인된 부분만 유지한다.
34
+ - 범위 밖 아이디어는 `범위 제외` 또는 후속 plan 후보로 분리한다.
35
+
36
+ ## 보안 고려사항
37
+ - auth-sensitive action, destructive action, upload/download, rendered content 관련 메모
38
+ - 없으면 `특이사항 없음`
39
+ ```
@@ -0,0 +1,157 @@
1
+ ---
2
+ name: spec-product-05-spec-to-work-packets
3
+ description: Convert approved baseline product specs into initial-build Korean work packets under docs/specs/initial-build, with explicit scope, tests, dependencies, and repo-reality bootstrap/foundation packets when needed.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # spec-product-05-spec-to-work-packets
8
+
9
+ Use this skill only when the next artifact is the first implementation packet set for a product baseline.
10
+
11
+ ## Output Location
12
+
13
+ - Write into the current workspace.
14
+ - Create or continue one initial-build batch such as `./docs/specs/initial-build/2026-03-21_initial-build/`.
15
+ - If no active initial-build batch exists yet, create `./docs/specs/initial-build/YYYY-MM-DD_initial-build/`.
16
+ - Default output path: `./docs/specs/initial-build/<initial-build-topic>/30_work-packets/*.md`
17
+ - Optional summary artifact: `./docs/specs/initial-build/<initial-build-topic>/30_work-packets/00_packet-map.md`
18
+
19
+ Do not use this skill as the default path for MVP 이후 changes. Ongoing changes belong in `.codex/plans/*.md`.
20
+
21
+ ## Required Inputs
22
+
23
+ Read all relevant available inputs before writing packets:
24
+
25
+ 1. `./docs/specs/baseline/05_technical-context.md`
26
+ 2. `./docs/specs/baseline/10_product-spec.md`
27
+ 3. `./docs/specs/baseline/20_ui-spec.md` when the product includes approved UI surfaces
28
+ 4. optional initial visual references under `./docs/specs/baseline/22_stitch-assets/`
29
+ 5. optional `./docs/specs/baseline/22_stitch-assets/DESIGN.md`
30
+ 6. optional `./docs/specs/baseline/24_design-tokens.md`
31
+ 7. current repository manifests, config files, and top-level app/package directories relevant to the approved stack
32
+
33
+ Use what exists. Explicitly note missing but relevant inputs.
34
+
35
+ If the product has no user-facing UI by design, proceed from `05_technical-context.md` and `10_product-spec.md` without inventing UI docs or visual inputs.
36
+
37
+ If the product has UI but no visual references exist, proceed from `20_ui-spec.md`; visual references are helpful but never a blocker.
38
+
39
+ ## Language Rules
40
+
41
+ - Write every work packet in Korean.
42
+ - Keep code identifiers, API field names, library/service names, protocol names, file paths, and standard technical terms in their natural English form when clearer.
43
+ - Do not force awkward phonetic transliterations.
44
+
45
+ ## Objective
46
+
47
+ Produce initial-build packets that are independently understandable, independently implementable, and small enough for human review and safe AI execution.
48
+
49
+ For initial-build work, packet generation must stay grounded in the current repository reality, not an imagined clean scaffold.
50
+
51
+ The packet set should be `parallel-ready`:
52
+
53
+ - packets are small enough to hand to one worker at a time
54
+ - dependencies are explicit enough that plan mode can order or parallelize them
55
+ - hidden coupling is minimized before execution begins
56
+
57
+ ## Required Sections
58
+
59
+ Every packet must include:
60
+
61
+ - `목표`
62
+ - `범위`
63
+ - `입력물`
64
+ - `산출물`
65
+ - `대상 파일 / 모듈`
66
+ - `승인 기준`
67
+ - `보안 검토`
68
+ - `테스트`
69
+ - `의존성`
70
+ - `범위 제외`
71
+
72
+ For UI-touching packets:
73
+
74
+ - `입력물` should include `20_ui-spec.md` and any relevant visual guidance that exists
75
+ - `승인 기준` must state which UI structure, hierarchy, states, and interactions must survive in the approved target platform
76
+ - any intentional deviation from initial visual references must be named explicitly
77
+
78
+ ## Security Overlay
79
+
80
+ Every packet must include `보안 검토`.
81
+
82
+ - `보안 검토` must state `판정: 필요 | 불필요 | 확인 필요`.
83
+ - It must briefly list trigger surfaces and say whether implementation-stage security review is required.
84
+ - If the packet touches auth, permission, sensitive data, tenant boundaries, external fetch, uploads, raw queries, rendered content, or destructive actions, do not mark it `불필요` unless the packet is clearly documentation-only.
85
+ - If risk is unclear, use `확인 필요` and recommend `spec-security-01-triage` in `mode=spec`.
86
+
87
+ ## Dependency Rules
88
+
89
+ Every packet must make dependency state explicit.
90
+
91
+ - If there is no dependency, write `없음`.
92
+ - If another packet must finish first, name the packet ID explicitly.
93
+ - If the packet is blocked by a contract, schema, design decision, or external approval, name that dependency explicitly.
94
+ - If the packet is likely parallel-safe with other packets, note that inside `의존성`.
95
+ - Never leave dependencies implied or blank.
96
+
97
+ Use a compact structure such as:
98
+
99
+ - `선행 패킷: 없음`
100
+ - `선행 패킷: 001_api-shell`
101
+ - `외부 결정 / 선행 계약: Supabase auth schema 확정`
102
+ - `병렬 가능 후보: 003_home-shell, 004_session-card`
103
+
104
+ ## Repository Reality Check
105
+
106
+ Before drafting packets, inspect the current repository for concrete evidence of the approved stack.
107
+
108
+ - Check stack signals such as `package.json`, lockfiles, workspace manifests, `next.config.*`, `components.json`, `tailwind.config.*`, `pubspec.yaml`, `lib/`, `android/`, `ios/`, `nest-cli.json`, `src/main.ts`, `prisma/schema.prisma`, GraphQL schema/config files, and existing app/package directories.
109
+ - Use product surfaces declared in `05_technical-context.md` to decide which signals matter.
110
+ - Classify each approved surface as `present`, `partial`, or `absent`.
111
+ - If any approved surface is `partial` or `absent`, create explicit bootstrap/foundation packets before feature packets for that surface.
112
+
113
+ ## Bootstrap / Foundation Rules
114
+
115
+ Bootstrap work is first-class packet work.
116
+
117
+ - Prefer clear packet names such as `000_repo-bootstrap`, `001_web-foundation`, `002_backend-foundation`, or `003_db-foundation`.
118
+ - Cover the minimum setup required to make later feature packets realistic:
119
+ - package manager / workspace initialization when missing
120
+ - framework scaffold or base module wiring
121
+ - required approved dependencies installation
122
+ - baseline config files and directory structure
123
+ - environment/example config wiring needed for local execution
124
+ - smoke-level verification such as install success, boot success, or schema generation success
125
+ - Downstream feature packets must list relevant foundation packet IDs in `선행 패킷`.
126
+ - Do not scatter the same installation or scaffold work across multiple feature packets.
127
+
128
+ Use these references while drafting:
129
+
130
+ - [references/work-packet-template.md](references/work-packet-template.md)
131
+ - [references/stitch-html-review.md](references/stitch-html-review.md) only when initial Stitch HTML exists and materially helps UI packet boundaries
132
+
133
+ ## Glossary Rule
134
+
135
+ - Check `./docs/specs/baseline/01_glossary.md` only if packet wording could drift from established entity, state, or UI terminology.
136
+ - Do not run `spec-shared-glossary-sync` by default after packet generation. Run it only if packeting surfaced meaningful new terms or clear terminology collisions.
137
+
138
+ ## Mermaid Rule
139
+
140
+ Include Mermaid only when dependency structure is hard to scan in prose.
141
+
142
+ - If packet count is 4 or more, or dependency order across backend/mobile/domain seams is hard to scan, prefer adding `00_packet-map.md`.
143
+ - Use graph TD for packet dependency DAGs.
144
+ - Skip Mermaid if packets are already linear and obvious.
145
+
146
+ If `00_packet-map.md` is created, packet files' `## 의존성` sections remain the canonical dependency source.
147
+
148
+ ## Quality Bar
149
+
150
+ The packet set is not ready if:
151
+
152
+ - it assumes a framework scaffold that is absent from the repo
153
+ - dependencies are implied rather than explicit
154
+ - bootstrap work is hidden inside feature packets
155
+ - security trigger surfaces are not marked
156
+ - UI packets ignore approved UI spec or current visual guidance
157
+ - packets are too broad for one worker to implement safely
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "spec-product-05-spec-to-work-packets"
3
+ short_description: "Split baseline specs into initial-build packets with repo-reality foundation work."
4
+ default_prompt: "Use $spec-product-05-spec-to-work-packets to convert the approved baseline spec set into initial-build Korean work packets under docs/specs/initial-build, checking the current repository against the approved stack and creating explicit foundation packets when required surfaces are missing."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,25 @@
1
+ # Stitch HTML Review Checklist
2
+
3
+ Use this checklist before writing initial-build UI packets from Stitch output.
4
+
5
+ ## Extract
6
+
7
+ - top-level screens represented by each HTML file
8
+ - repeated layout regions such as header, shell, side panel, footer
9
+ - major interactive blocks such as forms, tables, tabs, charts, filters
10
+ - visible state variants such as disabled, active, empty, loading-like placeholders, error copy
11
+
12
+ ## Do Not Assume
13
+
14
+ - generated class names are production-ready structure
15
+ - every visual grouping should become a component
16
+ - missing states mean those states do not exist
17
+ - HTML output means the shipped product should be implemented as web markup
18
+
19
+ ## Use For Packeting
20
+
21
+ - identify natural UI seams
22
+ - identify likely component boundaries
23
+ - identify stateful regions needing separate implementation work
24
+ - cross-check whether the generated visuals introduce behavior not present in the approved spec
25
+ - identify which approved layout hierarchy, CTA priority, copy grouping, and state presentation should survive target-platform translation
@@ -0,0 +1,67 @@
1
+ # Work Packet Template
2
+
3
+ ```md
4
+ # 001 패킷 제목
5
+
6
+ ## 목표
7
+
8
+ - 이번 패킷이 끝나면 무엇이 가능해져야 하는가
9
+ - foundation 패킷이면 이후 기능 패킷이 실제 repo 위에서 시작 가능해야 한다.
10
+
11
+ ## 범위
12
+
13
+ - 포함되는 변경 범위
14
+ - 설치, scaffold, config, env wiring만 다루는 foundation 패킷인지 여부를 명확히 적는다.
15
+
16
+ ## 입력물
17
+
18
+ - `./docs/specs/baseline/05_technical-context.md`
19
+ - `./docs/specs/baseline/10_product-spec.md`
20
+ - 필요 시 `./docs/specs/baseline/20_ui-spec.md`
21
+ - 필요 시 `./docs/specs/baseline/22_stitch-assets/...`
22
+ - 필요 시 `./docs/specs/baseline/22_stitch-assets/DESIGN.md`
23
+ - 필요 시 `./docs/specs/baseline/24_design-tokens.md`
24
+ - 현재 repo의 관련 manifest / config / app 디렉터리 상태 (`package.json`, `pubspec.yaml`, `next.config.*`, `nest-cli.json`, `prisma/schema.prisma` 등)
25
+
26
+ ## 산출물
27
+
28
+ - 기대 결과물
29
+ - foundation 패킷이면 생성되거나 정리될 scaffold, config, dependency install 결과를 적는다.
30
+
31
+ ## 대상 파일 / 모듈
32
+
33
+ - 수정 또는 생성 대상
34
+ - 필요 시 `package.json`, lockfile, `pubspec.yaml`, `next.config.*`, `tailwind.config.*`, `components.json`, `nest-cli.json`, `src/main.ts`, `prisma/schema.prisma`, `apps/*`, `packages/*`, `lib/*` 같은 기반 파일을 명시한다.
35
+
36
+ ## 승인 기준
37
+
38
+ - 기준 1
39
+ - 기준 2
40
+ - foundation 패킷이면 이후 패킷이 가정하는 framework scaffold와 dependency wiring이 repo에 실제로 존재해야 한다.
41
+ - foundation 패킷이면 최소 한 가지 smoke 검증 기준을 넣는다. 예: install 성공, dev boot 성공, schema generation 성공.
42
+ - UI 패킷이면 `20_ui-spec.md`와 initial visual guidance에서 승인된 화면 구조, CTA 우선순위, 상태 표현, 주요 인터랙션을 target platform에 맞게 보존해야 한다.
43
+ - 헤드리스 / 백엔드 패킷이면 화면 문서를 새로 만들지 않고 계약, 데이터 흐름, 운영 동작 기준으로 검증 가능해야 한다.
44
+
45
+ ## 보안 검토
46
+
47
+ - 판정: 필요 / 불필요 / 확인 필요
48
+ - 트리거: auth / 권한 / 민감정보 / 업로드 / 외부 호출 / raw query / 렌더링 / tenant 경계 / 삭제 동작 중 해당 사항
49
+ - 구현 후 리뷰 조건: 필요 없으면 `없음`
50
+
51
+ ## 테스트
52
+
53
+ - 테스트 1
54
+ - 테스트 2
55
+ - foundation 패킷이면 smoke test, install verification, scaffold verification, generated file presence 중 최소 하나를 넣는다.
56
+
57
+ ## 의존성
58
+
59
+ - 선행 패킷: 없음 / `000_repo-bootstrap` / `001_xxx`
60
+ - 외부 결정 / 선행 계약: 없으면 `없음`
61
+ - 병렬 가능 후보: 없으면 `없음`
62
+
63
+ ## 범위 제외
64
+
65
+ - 이번 패킷에서 다루지 않을 것
66
+ - foundation 패킷이면 실제 기능 구현, 세부 UI 완성, 비즈니스 로직은 범위 제외로 분리한다.
67
+ ```
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: spec-shared-glossary-sync
3
+ description: Create or update a Korean 01_glossary.md inside the current project's docs/specs/baseline directory by standardizing domain terms, entities, states, UI labels, and English code-facing names across baseline docs and active .codex/plans.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # spec-shared-glossary-sync
8
+
9
+ Use this skill when the project needs a shared glossary or when existing docs/specs/plans have begun to drift in terminology.
10
+
11
+ Typical high-value run points are:
12
+
13
+ - after `brief`
14
+ - after `product spec`
15
+ - after `ui spec`
16
+ - during `spec-baseline-sync` if implemented terminology changed
17
+ - whenever naming drift is noticed
18
+
19
+ Usually skip automatic reruns after small plans unless new shared terminology was introduced.
20
+
21
+ ## Output Location
22
+
23
+ - Write into the current workspace.
24
+ - Default output path: `./docs/specs/baseline/01_glossary.md`
25
+
26
+ ## Language Rules
27
+
28
+ - Write the glossary in Korean.
29
+ - Keep code-facing English identifiers, API field names, library/service names, protocol names, file paths, and standard technical terms in their natural English form when clearer.
30
+ - Do not invent awkward Koreanized spellings for standard English technical terms.
31
+ - If a term needs explanation, keep the standard term and add a short Korean definition.
32
+
33
+ ## Objective
34
+
35
+ Maintain one canonical vocabulary so briefs, specs, UI docs, plans, packets, and baseline sync entries use the same terms for the same concepts.
36
+
37
+ The default output style is:
38
+
39
+ - tables first for fast scanning
40
+ - detailed subsections only for genuinely complex concepts
41
+ - diagrams only when relationships or state vocabularies are hard to understand in prose
42
+
43
+ ## Create Or Update Rules
44
+
45
+ - If `./docs/specs/baseline/01_glossary.md` does not exist, create it from currently approved specs and relevant active plans.
46
+ - If it exists, update it instead of replacing it blindly.
47
+ - Preserve stable canonical terms unless there is a strong reason to change them.
48
+ - If a newly found term conflicts with an existing definition, keep the current canonical term and record the conflict in `정의 충돌 / 검토 필요`.
49
+ - Normalize synonyms toward one preferred term.
50
+ - Prefer Korean for user-facing/domain wording, but keep standard English when clearer, more stable, or already established in the project.
51
+
52
+ ## Recommended Inputs
53
+
54
+ Read relevant files that exist:
55
+
56
+ - `./docs/specs/baseline/00_brief.md`
57
+ - `./docs/specs/baseline/05_technical-context.md`
58
+ - `./docs/specs/baseline/10_product-spec.md`
59
+ - `./docs/specs/baseline/20_ui-spec.md`
60
+ - active `./.codex/plans/*.md` when terminology from a current change needs to become canonical
61
+ - `./docs/specs/initial-build/<topic>/30_work-packets/*.md` when reviewing initial build terminology
62
+ - existing `./docs/specs/baseline/01_glossary.md`
63
+
64
+ Use only files that are present and relevant.
65
+
66
+ ## Workflow
67
+
68
+ 1. Identify repeated nouns, states, and labels across available docs.
69
+ 2. Separate true domain concepts from incidental wording.
70
+ 3. Choose one canonical project term per concept.
71
+ 4. Attach English code-facing counterpart when needed.
72
+ 5. Capture harmless synonyms only when useful.
73
+ 6. List discouraged or banned wording when ambiguity is likely.
74
+ 7. Write most glossary content as tables.
75
+ 8. Move only hard cases into detailed sections.
76
+ 9. Update the glossary without deleting still-valid prior decisions.
77
+
78
+ Use these references while drafting:
79
+
80
+ - [references/template.md](references/template.md)
81
+ - [references/checklist.md](references/checklist.md)
82
+
83
+ ## Required Sections
84
+
85
+ - `핵심 용어`
86
+ - `엔티티 용어`
87
+ - `상태 용어`
88
+ - `UI 용어`
89
+ - `금지하거나 피할 표현`
90
+ - `복잡한 개념 상세 설명`
91
+ - `정의 충돌 / 검토 필요`
92
+
93
+ ## Quality Bar
94
+
95
+ The glossary is not ready if:
96
+
97
+ - simple vocabulary that should be in tables is expanded into unnecessary prose
98
+ - the same concept still appears under multiple primary names
99
+ - terms are listed without definitions
100
+ - code-facing English names and canonical project terms conflict without explanation
101
+ - banned or confusing wording is omitted despite clear ambiguity
102
+ - existing approved terminology is overwritten without explanation
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "spec-shared-glossary-sync"
3
+ short_description: "Standardize Korean spec terms into a shared baseline glossary."
4
+ default_prompt: "Use $spec-shared-glossary-sync to create or update a Korean 01_glossary.md that standardizes terms across baseline docs and active .codex/plans."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,36 @@
1
+ # Glossary Sync Checklist
2
+
3
+ Use this checklist before finalizing `01_glossary.md`.
4
+
5
+ ## Look For
6
+
7
+ - one concept described with multiple Korean names
8
+ - one Korean term mapped to multiple English code names
9
+ - UI copy that conflicts with domain terms
10
+ - product docs and change docs using different names for the same thing
11
+ - states that appear in packets but were never defined centrally
12
+
13
+ ## Prefer
14
+
15
+ - a table-first structure for most vocabulary
16
+ - one canonical project term per concept
17
+ - prefer Korean for user-facing/domain nouns, but keep standard English when that is clearer or already the stable norm
18
+ - one code-facing English name per canonical concept when possible
19
+ - short definitions that explain scope, not implementation
20
+ - explicit “do not use” wording for risky ambiguities
21
+ - detailed prose only for genuinely complex concepts
22
+
23
+ ## 대표 예시
24
+
25
+ - 플랜 / 루틴 / 프로그램
26
+ - 운동 세션 / 운동 기록 / workout
27
+ - 세트 템플릿 / 세트 기록
28
+ - 저장 / 완료 / 확정
29
+ - 초안 / 진행 중 / 임시 저장
30
+
31
+ ## Update Rule
32
+
33
+ - merge new terms into the existing glossary
34
+ - do not delete stable terms unless they are clearly wrong
35
+ - when uncertain, add the conflict to `정의 충돌 / 검토 필요`
36
+ - keep simple terms in tables; avoid turning the whole glossary into long prose