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,101 @@
1
+ ---
2
+ name: doc-impact-reviewer
3
+ description: 변경 완료 또는 커밋 직전 diff를 보고 갱신해야 할 운영 문서 후보를 판정하고, 사용자 승인 후 승인된 문서만 수정한다.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # doc-impact-reviewer
8
+
9
+ 이 skill은 사용자가 명시적으로 호출했을 때만 사용한다. 자동 git hook, 자동 staging, 자동 commit을 만들거나 실행하지 않는다.
10
+
11
+ ## 목적
12
+
13
+ 구현 변경이 프로젝트 운영 문서에 미치는 영향을 짧고 근거 있게 판정한다.
14
+
15
+ 결과는 다음 세 단계로 나눈다.
16
+
17
+ - `required`: 변경을 반영하지 않으면 운영 문서가 실제 동작과 어긋난다.
18
+ - `recommended`: 지금 반영하면 재진입, 리뷰, 운영 판단 비용이 줄어든다.
19
+ - `not needed`: 문서 영향이 없거나 기존 문서가 이미 충분하다.
20
+
21
+ ## 입력 확인
22
+
23
+ 먼저 diff 확인을 한다.
24
+
25
+ 1. `git status --short`
26
+ 2. `git diff --stat`
27
+ 3. `git diff`
28
+ 4. `git diff --name-only`
29
+ 5. `git diff --cached --stat`
30
+ 6. `git diff --cached`
31
+ 7. `git diff --cached --name-only`
32
+ 8. `git ls-files --others --exclude-standard`
33
+
34
+ staged 변경과 untracked 파일도 구현 영향에 포함한다.
35
+
36
+ 프로젝트 운영 레이어가 있으면 존재하는 파일만 읽는다.
37
+
38
+ - `AGENTS.md`
39
+ - `docs/docs-status.md`
40
+ - `.ai-ops/manifest.json`
41
+ - `.ai-ops/context-layer.json`
42
+ - `docs/agent/rules/doc-update-rules.md`
43
+ - `docs/agent/checks/impact-checklist.md`
44
+ - `docs/agent/checks/review-checklist.md`
45
+
46
+ 필요하면 변경 파일과 가까운 README, runbook, spec, API 문서도 읽되, 전체 문서를 기계적으로 훑지 않는다.
47
+
48
+ ## 분류 기준
49
+
50
+ 변경 파일과 diff를 다음 관점으로 분류한다.
51
+
52
+ - CLI/API surface: command, option, endpoint, request/response, public SDK contract
53
+ - manifest/schema: `.ai-ops/*`, registry, JSON schema, migration, generated index
54
+ - pack/specs: `docs/specs/`, optional pack, baseline/spec lifecycle
55
+ - skill/subagent catalog: skill source, subagent prompt, tool metadata, registry
56
+ - business/domain rule: 권한, 정책, 상태 전이, 요금, onboarding, domain validation
57
+ - verification/runtime docs: 배포, smoke, dry-run, OAuth/local setup, troubleshooting
58
+ - user-facing workflow: 설치, 사용 예시, operator flow, manual QA
59
+
60
+ ## 보고 형식
61
+
62
+ 문서 편집 전에는 문서 후보 제안을 먼저 보고하고 사용자 컨펌 전 편집 금지를 지킨다.
63
+
64
+ 보고에는 다음을 포함한다.
65
+
66
+ - `required / recommended / not needed`별 갱신 후보 문서
67
+ - 각 후보의 근거가 되는 변경 파일 또는 diff 요약
68
+ - 갱신하지 않을 때의 리스크
69
+ - 읽었지만 영향 없음으로 판단한 문서
70
+ - 추가 확인이 필요한 질문이 있으면 최대 3개
71
+
72
+ 보고는 짧게 작성한다. 문서 본문을 길게 재작성하지 말고, 승인 전에는 편집하지 않는다.
73
+
74
+ ## 편집 규칙
75
+
76
+ 사용자가 승인한 문서만 수정한다.
77
+
78
+ - 승인 범위 밖의 문서는 수정하지 않는다.
79
+ - 직접 commit하지 않는다.
80
+ - 직접 staging하지 않는다.
81
+ - 자동 hook, 자동 commit, 자동 staging 설정을 추가하지 않는다.
82
+ - 이미 있는 사용자 변경을 되돌리지 않는다.
83
+ - 변경 이유가 문서에 남아야 하는 경우에는 짧은 근거 문장만 추가한다.
84
+
85
+ ## 보호 규칙
86
+
87
+ - Reserved 승격 금지: `Reserved` 문서는 명시 승인 없이 현재 사실 문서처럼 승격하거나 근거로 인용하지 않는다.
88
+ - create-only 문서 보호: 프로젝트 운영자가 채워야 하는 create-only 문서는 자동 덮어쓰지 않는다.
89
+ - adapter 보호: `GEMINI.md`, `CLAUDE.md`에는 canonical 운영 규칙을 복제하지 않는다. 필요한 경우 `AGENTS.md` 또는 해당 canonical 문서 갱신을 제안한다.
90
+ - stale 문서 보호: 구현 diff보다 오래된 문서는 사실로 단정하지 말고 후보 근거로만 다룬다.
91
+
92
+ ## 완료 응답
93
+
94
+ 승인 후 문서를 수정했다면 마지막에 다음을 요약한다.
95
+
96
+ - 수정한 문서
97
+ - 수정하지 않은 후보와 이유
98
+ - 남은 리스크 또는 후속 확인
99
+ - 실행한 검증 또는 생략한 검증
100
+
101
+ 직접 커밋 금지와 직접 staging 금지를 마지막까지 유지한다.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: 'doc-impact-reviewer'
3
+ short_description: '변경 완료 또는 커밋 직전 운영 문서 영향도를 검토합니다.'
4
+ default_prompt: '$doc-impact-reviewer를 사용해 현재 git status와 diff를 확인하고, 갱신이 필요한 운영 문서를 required/recommended/not-needed로 분류한 뒤, 리스크를 보고하고 사용자 승인 전에는 문서를 수정하지 마세요.'
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,134 @@
1
+ ---
2
+ name: spec-baseline-sync
3
+ description: Update the current project's docs/specs/baseline documents from an implemented and verified .codex/plans change, then archive the completed plan and append a compact .codex/CHANGE_LOG.md entry.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # spec-baseline-sync
8
+
9
+ Use this skill after a post-MVP change has been implemented and verified, and the team wants `./docs/specs/baseline/` to match the current product again.
10
+
11
+ ## Output Location
12
+
13
+ - Update only affected files under `./docs/specs/baseline/`.
14
+ - Move the completed plan from `./.codex/plans/<plan>.md` to `./.codex/plans/archived/YYYY-MM/<plan>.md`.
15
+ - Append a compact entry to `./.codex/CHANGE_LOG.md`.
16
+
17
+ If the change does not affect baseline truth, still archive the completed plan and write a changelog entry that says no baseline document update was required.
18
+
19
+ ## Language Rules
20
+
21
+ - Write updated baseline docs in Korean unless the target file has a fixed English rule.
22
+ - Write changelog entries in Korean.
23
+ - 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.
24
+ - Do not force awkward phonetic transliterations.
25
+
26
+ ## Required Inputs
27
+
28
+ Read the relevant available inputs before updating baseline:
29
+
30
+ 1. active plan under `./.codex/plans/*.md`
31
+ 2. implemented code changes, PR diff, commit diff, or implementation notes
32
+ 3. verification results and known skipped tests
33
+ 4. optional issue or PR link
34
+ 5. existing `./docs/specs/baseline/01_glossary.md`
35
+ 6. existing `./docs/specs/baseline/05_technical-context.md`
36
+ 7. existing `./docs/specs/baseline/10_product-spec.md`
37
+ 8. existing `./docs/specs/baseline/20_ui-spec.md`
38
+ 9. existing `./docs/specs/baseline/22_stitch-assets/DESIGN.md`
39
+ 10. existing `./docs/specs/baseline/24_design-tokens.md`
40
+
41
+ Use only the files that exist and are relevant. Do not require every optional document mechanically.
42
+
43
+ ## Objective
44
+
45
+ Turn a completed implementation into updated baseline truth without:
46
+
47
+ - rewriting unaffected baseline documents
48
+ - promoting planned but unimplemented ideas
49
+ - hiding implementation-vs-plan mismatches
50
+ - leaving completed plans mixed with active plans
51
+ - losing the short reason why the change happened
52
+
53
+ ## Source-Of-Truth Rule
54
+
55
+ Baseline sync is implementation-confirming work.
56
+
57
+ - Treat implemented and verified product behavior as the primary source of truth.
58
+ - Treat `.codex/plans/*.md` as the intended-change and decision record.
59
+ - Treat existing baseline docs as the canonical starting point to update carefully.
60
+ - If implementation and plan disagree, update baseline to match implementation and record the mismatch in the changelog entry.
61
+ - Do not promote reverted, deferred, or unimplemented plan ideas into baseline.
62
+
63
+ ## Workflow
64
+
65
+ 1. Identify the plan being closed and the implementation evidence.
66
+ 2. Compare shipped behavior against current baseline docs.
67
+ 3. Decide which baseline docs are affected among `01,05,10,20,22,24`.
68
+ 4. Update only affected baseline docs while preserving still-valid prior decisions.
69
+ 5. Append one changelog entry summarizing what changed, why, evidence, baseline impact, and follow-up.
70
+ 6. Move the plan into `.codex/plans/archived/YYYY-MM/`.
71
+ 7. In the final response, summarize updated baseline files, archive path, changelog entry, and tests reviewed.
72
+
73
+ Use [references/template.md](references/template.md) for the changelog entry shape.
74
+
75
+ ## Baseline Update Rules
76
+
77
+ - `./docs/specs/baseline/01_glossary.md`: update only when the implementation introduced or normalized meaningful shared terms.
78
+ - `./docs/specs/baseline/05_technical-context.md`: update only when architecture, stack, boundaries, integrations, or deployment assumptions changed materially.
79
+ - `./docs/specs/baseline/10_product-spec.md`: update for implemented user-flow, feature, entity, rule, edge-case, or success-criteria changes.
80
+ - `./docs/specs/baseline/20_ui-spec.md`: update for implemented screens, states, interactions, or UI constraints.
81
+ - `./docs/specs/baseline/22_stitch-assets/DESIGN.md` and `./docs/specs/baseline/24_design-tokens.md`: update only when the implementation established reusable visual rules.
82
+ - `./docs/specs/baseline/00_brief.md` is normally out of scope. Touch it only if the product premise itself changed and the user explicitly asks.
83
+
84
+ Do not rewrite an entire baseline doc when a targeted update is enough.
85
+
86
+ ## Plan Archive Rules
87
+
88
+ - Archive only completed or explicitly closed plans.
89
+ - Preserve the original filename.
90
+ - Use the archive month from the completion date, not the plan creation date, unless the user explicitly asks otherwise.
91
+ - Create `.codex/plans/archived/YYYY-MM/` if missing.
92
+ - Do not archive unrelated active plans.
93
+
94
+ ## Changelog Rules
95
+
96
+ Append to `.codex/CHANGE_LOG.md`. Create the file if missing.
97
+
98
+ Each entry should include:
99
+
100
+ - date
101
+ - plan path before archive
102
+ - archived path
103
+ - issue/PR link when available
104
+ - what changed
105
+ - why it changed
106
+ - baseline docs updated, or `none`
107
+ - verification summary
108
+ - follow-up or `없음`
109
+
110
+ Keep the entry compact. The changelog is an audit trail, not a second plan.
111
+
112
+ ## UI Reference Rule
113
+
114
+ Post-MVP UI changes usually come from screenshots, reference apps, and detailed adjustment requests in `.codex/plans`. Interpret those references through the current design system and implemented result.
115
+
116
+ Do not create new Stitch artifacts during baseline sync. If initial-build visual reference files already exist, update canonical visual guidance only when the implemented product established reusable design rules.
117
+
118
+ ## Security Lens
119
+
120
+ Keep this pass short and implementation-confirming.
121
+
122
+ - Check whether baseline docs now need updated wording for auth, permission, tenant boundaries, admin-only surfaces, sensitive data, uploads, external callbacks, rendered content, raw queries, or destructive actions.
123
+ - Record any security-relevant change in the changelog entry.
124
+ - If implementation introduced or clarified a risky seam, recommend `spec-security-01-triage` or implementation-stage review as appropriate.
125
+
126
+ ## Quality Bar
127
+
128
+ The sync is not ready if:
129
+
130
+ - baseline was updated from intent alone without checking implementation
131
+ - unaffected baseline docs were rewritten broadly
132
+ - unimplemented or deferred plan ideas were promoted
133
+ - the changelog omits what changed and why
134
+ - a completed plan remains in active `.codex/plans/`
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "spec-baseline-sync"
3
+ short_description: "Sync implemented changes into baseline docs, archive the plan, and update the changelog."
4
+ default_prompt: "Use $spec-baseline-sync to update affected docs/specs/baseline documents from an implemented .codex/plans change, archive the completed plan, and append a compact .codex/CHANGE_LOG.md entry."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,14 @@
1
+ # CHANGE_LOG Entry Template
2
+
3
+ ```md
4
+ ## YYYY-MM-DD - 변경 제목
5
+
6
+ - Plan: `.codex/plans/<plan>.md`
7
+ - Archived: `.codex/plans/archived/YYYY-MM/<plan>.md`
8
+ - Issue / PR: 링크 또는 `없음`
9
+ - 변경 내용: 무엇이 바뀌었는지 한두 줄
10
+ - 변경 이유: 왜 바뀌었는지 한두 줄
11
+ - Baseline: 갱신한 문서 목록 또는 `none`
12
+ - 검증: 실행한 테스트 / 확인한 결과 / 생략한 검증
13
+ - 후속 조치: 남은 작업 또는 `없음`
14
+ ```
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: spec-product-01-idea-to-brief
3
+ description: Turn a rough new product idea into a Korean 00_brief.md inside the current project's docs/specs/baseline directory, fixing problem, user, value, goals, non-goals, MVP scope, and risks before downstream planning begins.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # spec-product-01-idea-to-brief
8
+
9
+ Use this skill when the input is still rough and the next artifact should be `./docs/specs/baseline/00_brief.md` for a new product or major new module.
10
+
11
+ ## Output Location
12
+
13
+ - Write into the current workspace, not the skill folder.
14
+ - Default output path: `./docs/specs/baseline/00_brief.md`
15
+
16
+ ## Language Rules
17
+
18
+ - Write the document in Korean.
19
+ - Keep product names, code-facing names, API field names, library/service names, file paths, and widely used technical terms in their natural English form when that is clearer and more standard.
20
+ - Do not force awkward phonetic transliterations such as `소스 오브 트루스`, `타겟 플랫폼`, or `워크 패킷`.
21
+ - If an English technical term needs explanation, keep the English term and add a short Korean gloss on first mention, for example `source of truth(가장 신뢰하는 기준)`.
22
+
23
+ ## Glossary Rule
24
+
25
+ - Check `./docs/specs/baseline/01_glossary.md` only if it exists and the brief introduces product terms, user-facing labels, or domain nouns that may collide with existing terminology.
26
+ - After writing the target document, `spec-shared-glossary-sync` is recommended because briefs often introduce new canonical terms.
27
+
28
+ ## Objective
29
+
30
+ Freeze direction and scope early enough that later stages do not expand the product by accident.
31
+
32
+ ## Security Lens
33
+
34
+ Run a short security pass without turning the brief into a security review.
35
+
36
+ - Check whether the idea touches auth, permissions, tenant boundaries, or admin-only behavior.
37
+ - Check whether it introduces sensitive data, billing, deletion, uploads, or external callbacks.
38
+ - Record the result under `보안 고려사항`.
39
+ - If any trigger is present or the risk is unclear, recommend `spec-security-01-triage` in `mode=spec`.
40
+
41
+ ## Workflow
42
+
43
+ 1. Compress the idea into one clear problem statement.
44
+ 2. Identify the target user as specifically as possible.
45
+ 3. State the value proposition in one short paragraph.
46
+ 4. Reduce goals to the smallest set that defines MVP success.
47
+ 5. Write non-goals aggressively to protect scope.
48
+ 6. Capture assumptions and risks that could invalidate the brief.
49
+
50
+ Use [references/template.md](references/template.md) when drafting the file.
51
+
52
+ ## Required Sections
53
+
54
+ - `문제`
55
+ - `대상 사용자`
56
+ - `가치 제안`
57
+ - `목표`
58
+ - `비목표`
59
+ - `MVP 범위`
60
+ - `리스크 / 가정`
61
+ - `보안 고려사항`
62
+ - `승인 체크포인트`
63
+
64
+ ## Mermaid Rule
65
+
66
+ Include a Mermaid diagram only when it materially improves comprehension.
67
+
68
+ - Use a simple flowchart when the brief has 3 or more distinct user flows or actor handoffs.
69
+ - Skip Mermaid if the brief is already obvious from short prose.
70
+
71
+ ## Quality Bar
72
+
73
+ The brief is not ready if:
74
+
75
+ - the target user is broad enough to imply multiple products
76
+ - goals imply several systems at once
77
+ - non-goals are weak or missing
78
+ - the MVP scope still contains epic-sized areas without limits
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "spec-product-01-idea-to-brief"
3
+ short_description: "Turn a product idea into a Korean baseline brief."
4
+ default_prompt: "Use $spec-product-01-idea-to-brief to turn this product idea into a Korean 00_brief.md under docs/specs/baseline."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,36 @@
1
+ # 00_brief.md Template
2
+
3
+ ```md
4
+ # 00 Brief
5
+
6
+ ## 문제
7
+ - 해결하려는 문제를 한 문장으로 정리
8
+
9
+ ## 대상 사용자
10
+ - 가장 중요한 사용자 한 유형
11
+
12
+ ## 가치 제안
13
+ - 왜 이 제품이 의미 있는지
14
+
15
+ ## 목표
16
+ - 목표 1
17
+ - 목표 2
18
+
19
+ ## 비목표
20
+ - 이번 v1에서 하지 않을 것
21
+
22
+ ## MVP 범위
23
+ - 반드시 포함할 최소 범위
24
+
25
+ ## 리스크 / 가정
26
+ - 가정 1
27
+ - 리스크 1
28
+
29
+ ## 보안 고려사항
30
+ - 없으면 `특이사항 없음`
31
+ - 있으면 auth/권한, 민감정보, 업로드, 외부 호출, tenant 경계 같은 트리거와 후속 검토 필요 여부를 짧게 적기
32
+
33
+ ## 승인 체크포인트
34
+ - 방향이 맞는가?
35
+ - 범위가 충분히 작은가?
36
+ ```
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: spec-product-02-brief-to-technical-context
3
+ description: Convert an approved Korean 00_brief.md into a Korean 05_technical-context.md inside the current project's docs/specs/baseline directory, selecting preferred stacks first and requiring explicit justification for any extra technology outside those defaults.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # spec-product-02-brief-to-technical-context
8
+
9
+ Use this skill after `./docs/specs/baseline/00_brief.md` is approved and before writing the product spec.
10
+
11
+ ## Output Location
12
+
13
+ - Write into the current workspace.
14
+ - Default output path: `./docs/specs/baseline/05_technical-context.md`
15
+
16
+ ## Language Rules
17
+
18
+ - Write the document in Korean.
19
+ - Keep code-facing names, API field names, library/service names, protocol names, file paths, and widely used technical terms in their natural English form when that is clearer and more standard.
20
+ - Do not force awkward phonetic transliterations such as `소스 오브 트루스`, `타겟 플랫폼`, or `워크 패킷`.
21
+ - If an English technical term needs explanation, keep the English term and add a short Korean gloss on first mention, for example `source of truth(가장 신뢰하는 기준)`.
22
+
23
+ ## Glossary Rule
24
+
25
+ - Check `./docs/specs/baseline/01_glossary.md` only if it exists and the document introduces stack names, architectural terms, or labels that should align with existing terminology.
26
+ - After writing the target document, run `spec-shared-glossary-sync` only if new technical terms, product-facing labels, or collisions were introduced.
27
+
28
+ ## Default Stack Preferences
29
+
30
+ - Web service:
31
+ - TypeScript
32
+ - Next.js
33
+ - shadcn/ui
34
+ - Tailwind CSS
35
+ - date-fns
36
+ - Supabase
37
+ - App service:
38
+ - Flutter
39
+ - Backend server:
40
+ - NestJS
41
+ - Prisma
42
+ - Supabase
43
+ - GraphQL
44
+ - Simple serverless service:
45
+ - Hono
46
+ - RESTful API
47
+
48
+ ## Decision Rules
49
+
50
+ - First, decide within the preferred stack range.
51
+ - Only recommend technology outside the preferred range when the need is concrete.
52
+ - Read the current repository shape when it already exists and record whether each chosen stack surface is already present, partially present, or absent.
53
+ - If the repository is empty or missing the chosen surface, record that downstream packet generation must include explicit bootstrap work rather than assuming scaffolded files already exist.
54
+ - Any extra technology must include:
55
+ - why the preferred stack is insufficient
56
+ - what benefit the new technology adds
57
+ - what complexity or operating cost increases
58
+ - whether explicit human approval is needed before adopting it
59
+
60
+ ## Security Lens
61
+
62
+ Keep the security pass short and infrastructure-focused.
63
+
64
+ - Check whether the chosen stack introduces auth, secret, storage, external callback, upload, or tenant-isolation constraints.
65
+ - Record the result under `보안 고려사항`.
66
+ - If the architecture or deployment assumptions create unclear trust boundaries, recommend `spec-security-01-triage` in `mode=spec`.
67
+
68
+ Use [references/template.md](references/template.md) when drafting the file.
69
+
70
+ ## Required Sections
71
+
72
+ - `제품 형태`
73
+ - `기본 선택 스택`
74
+ - `선택 근거`
75
+ - `운영 / 배포 가정`
76
+ - `보안 고려사항`
77
+ - `프로젝트 제약`
78
+ - `현재 저장소 상태 / 스택 갭`
79
+ - `추가 기술 제안 규칙`
80
+ - `미해결 기술 결정사항`
81
+
82
+ ## Mermaid Rule
83
+
84
+ Include Mermaid only when the stack split or deployment shape is non-trivial.
85
+
86
+ - Use a simple graph when web, app, backend, workers, or third-party services interact.
87
+ - Skip Mermaid for a single-surface product with an obvious stack.
88
+
89
+ ## Objective
90
+
91
+ Lock implementation constraints early enough that downstream specs, UI work, packets, and plans all assume the same stack boundaries, while making stack gaps against the current repository explicit enough that bootstrap packets can be generated later without guesswork.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "spec-product-02-brief-to-technical-context"
3
+ short_description: "Convert an approved brief into a constrained technical context."
4
+ default_prompt: "Use $spec-product-02-brief-to-technical-context to expand the approved brief into a Korean 05_technical-context.md with justified stack choices."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,58 @@
1
+ # 05_technical-context.md Template
2
+
3
+ ```md
4
+ # 05 Technical Context
5
+
6
+ ## 제품 형태
7
+ - web / app / backend / mixed
8
+
9
+ ## 기본 선택 스택
10
+ - web:
11
+ - TypeScript
12
+ - Next.js
13
+ - shadcn/ui
14
+ - Tailwind CSS
15
+ - date-fns
16
+ - Supabase
17
+ - app:
18
+ - Flutter
19
+ - backend:
20
+ - NestJS
21
+ - Prisma
22
+ - Supabase
23
+ - GraphQL
24
+ - simple serverless:
25
+ - Hono
26
+ - RESTful API
27
+
28
+ ## 선택 근거
29
+ - 왜 이 조합이 현재 제품 범위에 맞는가
30
+
31
+ ## 운영 / 배포 가정
32
+ - 인증
33
+ - 데이터 저장
34
+ - 배포 환경
35
+ - 서버 필요 여부
36
+
37
+ ## 보안 고려사항
38
+ - auth / secret / storage / upload / 외부 callback / tenant 경계 같은 제약
39
+ - 없으면 `특이사항 없음`
40
+
41
+ ## 프로젝트 제약
42
+ - 기존 코드베이스
43
+ - 팀 숙련도
44
+ - 일정 / 운영 부담
45
+
46
+ ## 현재 저장소 상태 / 스택 갭
47
+ - web / app / backend surface별 현재 repo 상태: `present` / `partial` / `absent`
48
+ - 이미 재사용할 수 있는 manifest, config, app/package 디렉터리
49
+ - 부족한 scaffold, dependency install, env/config wiring
50
+ - downstream work packet에서 선행 bootstrap 패킷이 필요한 영역
51
+
52
+ ## 추가 기술 제안 규칙
53
+ - 기본 선호 스택으로 해결 가능한지 먼저 검토
54
+ - 선호 밖 기술은 이유, 이점, 비용, 승인 필요 여부를 함께 기록
55
+
56
+ ## 미해결 기술 결정사항
57
+ - 결정사항 1
58
+ ```
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: spec-product-03-brief-to-product-spec
3
+ description: Expand an approved Korean 00_brief.md and 05_technical-context.md into a Korean 10_product-spec.md in the current project's docs/specs/baseline directory with concrete user flows, features, entities, business rules, edge cases, and success criteria while preserving approved scope and stack constraints.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # spec-product-03-brief-to-product-spec
8
+
9
+ Use this skill after `./docs/specs/baseline/00_brief.md` and `./docs/specs/baseline/05_technical-context.md` are approved and the next artifact should be `./docs/specs/baseline/10_product-spec.md`.
10
+
11
+ ## Output Location
12
+
13
+ - Write into the current workspace.
14
+ - Default output path: `./docs/specs/baseline/10_product-spec.md`
15
+
16
+ ## Language Rules
17
+
18
+ - Write the document in Korean.
19
+ - Keep code-facing names, API field names, library/service names, protocol names, file paths, and widely used technical terms in their natural English form when that is clearer and more standard.
20
+ - Do not force awkward phonetic transliterations such as `소스 오브 트루스`, `타겟 플랫폼`, or `워크 패킷`.
21
+ - If an English technical term needs explanation, keep the English term and add a short Korean gloss on first mention, for example `source of truth(가장 신뢰하는 기준)`.
22
+
23
+ ## Required Inputs
24
+
25
+ 1. `./docs/specs/baseline/00_brief.md`
26
+ 2. `./docs/specs/baseline/05_technical-context.md`
27
+
28
+ ## Objective
29
+
30
+ Convert direction into a tighter operational product spec without reopening already approved scope or ignoring the fixed technical context.
31
+
32
+ ## Workflow
33
+
34
+ 1. Turn goals into 1-3 core user flows.
35
+ 2. Derive the minimum feature set needed for those flows.
36
+ 3. Define only the entities needed for v1 decisions.
37
+ 4. Make business rules explicit, especially permissions and state transitions.
38
+ 5. Add edge cases that affect validation, UI states, or data integrity.
39
+ 6. Reflect technical constraints only where they meaningfully change the product shape.
40
+ 7. Rewrite success criteria so they can be checked later.
41
+
42
+ ## Security Lens
43
+
44
+ Keep this pass lightweight and product-facing.
45
+
46
+ - Check whether user flows or business rules introduce auth, permission, ownership, tenant, or destructive-action concerns.
47
+ - Check whether features handle sensitive data, uploads, external callbacks, or rendered rich content.
48
+ - Record the result under `보안 고려사항`.
49
+ - If any of those triggers exist or the boundary is unclear, recommend `spec-security-01-triage` in `mode=spec`.
50
+
51
+ Use [references/template.md](references/template.md) when drafting the file.
52
+
53
+ ## Glossary Rule
54
+
55
+ - Check `./docs/specs/baseline/01_glossary.md` if it exists and the product spec introduces or chooses domain terms, entity names, state names, or user-facing labels.
56
+ - After writing the target document, `spec-shared-glossary-sync` is recommended because product specs often add or refine canonical vocabulary.
57
+
58
+ ## Required Sections
59
+
60
+ - `핵심 사용자 플로우`
61
+ - `기능`
62
+ - `엔티티`
63
+ - `비즈니스 규칙`
64
+ - `엣지 케이스`
65
+ - `성공 기준`
66
+ - `기술 제약 반영 메모`
67
+ - `보안 고려사항`
68
+ - `미해결 결정사항`
69
+
70
+ ## Mermaid Rule
71
+
72
+ Add Mermaid when the product behavior is easier to understand visually.
73
+
74
+ - Use flowchart for multi-step user flows.
75
+ - Use stateDiagram for non-trivial state transitions.
76
+ - Skip Mermaid if there is only one short flow and no meaningful state logic.
77
+
78
+ ## Quality Bar
79
+
80
+ The product spec is not ready if:
81
+
82
+ - features do not map cleanly to user flows
83
+ - entities exist without behavioral rules
84
+ - success criteria cannot be validated later
85
+ - technical context is contradicted or ignored
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "spec-product-03-brief-to-product-spec"
3
+ short_description: "Expand an approved brief into a concrete Korean product spec."
4
+ default_prompt: "Use $spec-product-03-brief-to-product-spec to turn the approved brief and technical context into a detailed Korean 10_product-spec.md."
5
+ policy:
6
+ allow_implicit_invocation: false