@dusky-bluehour/agent-service 0.6.2

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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +205 -0
  3. package/antigravity/README.md +37 -0
  4. package/antigravity/agents/agent-catalog.json +72 -0
  5. package/antigravity/artifacts/artifact-catalog.json +184 -0
  6. package/antigravity/commands/command-catalog.json +942 -0
  7. package/antigravity/skills/code-review-and-improvement/SKILL.md +15 -0
  8. package/antigravity/skills/frontend-repetition-pack/SKILL.md +15 -0
  9. package/antigravity/skills/incident-response/SKILL.md +15 -0
  10. package/antigravity/skills/prd-to-production-pipeline/SKILL.md +16 -0
  11. package/antigravity/skills/release-and-operations/SKILL.md +15 -0
  12. package/antigravity/skills/security-hardening/SKILL.md +15 -0
  13. package/antigravity/skills/service-lifecycle-orchestration/SKILL.md +16 -0
  14. package/antigravity/workflows/workflow-catalog.json +362 -0
  15. package/catalog/tool-catalog.ko.json +296 -0
  16. package/claude-code/README.md +47 -0
  17. package/claude-code/agent-teams/team-catalog.json +69 -0
  18. package/claude-code/commands/command-catalog.json +942 -0
  19. package/claude-code/skills/code-review-and-improvement/SKILL.md +16 -0
  20. package/claude-code/skills/frontend-repetition-pack/SKILL.md +16 -0
  21. package/claude-code/skills/incident-response/SKILL.md +16 -0
  22. package/claude-code/skills/prd-to-production-pipeline/SKILL.md +17 -0
  23. package/claude-code/skills/release-and-operations/SKILL.md +16 -0
  24. package/claude-code/skills/security-hardening/SKILL.md +15 -0
  25. package/claude-code/skills/service-lifecycle-orchestration/SKILL.md +17 -0
  26. package/claude-code/subagents/backend-engineer.md +20 -0
  27. package/claude-code/subagents/code-reviewer.md +19 -0
  28. package/claude-code/subagents/frontend-engineer.md +20 -0
  29. package/claude-code/subagents/hook-refactor-engineer.md +19 -0
  30. package/claude-code/subagents/incident-commander.md +19 -0
  31. package/claude-code/subagents/lead-orchestrator.md +18 -0
  32. package/claude-code/subagents/operations-owner.md +20 -0
  33. package/claude-code/subagents/performance-engineer.md +19 -0
  34. package/claude-code/subagents/prd-writer.md +20 -0
  35. package/claude-code/subagents/product-planner.md +19 -0
  36. package/claude-code/subagents/qa-engineer.md +19 -0
  37. package/claude-code/subagents/security-engineer.md +20 -0
  38. package/claude-code/subagents/solution-architect.md +19 -0
  39. package/claude-code/subagents/sre-release-engineer.md +20 -0
  40. package/claude-code/subagents/ui-component-engineer.md +19 -0
  41. package/claude-code/workflows/workflow-catalog.json +680 -0
  42. package/codex/README.md +38 -0
  43. package/codex/automations/automation-recipes.toml +30 -0
  44. package/codex/commands/command-catalog.json +942 -0
  45. package/codex/instructions/AGENTS.override.template.md +21 -0
  46. package/codex/instructions/AGENTS.template.md +31 -0
  47. package/codex/skills/code-review-and-improvement/SKILL.md +16 -0
  48. package/codex/skills/code-review-and-improvement/agents/openai.yaml +4 -0
  49. package/codex/skills/frontend-repetition-pack/SKILL.md +15 -0
  50. package/codex/skills/frontend-repetition-pack/agents/openai.yaml +4 -0
  51. package/codex/skills/incident-response/SKILL.md +16 -0
  52. package/codex/skills/incident-response/agents/openai.yaml +4 -0
  53. package/codex/skills/prd-to-production-pipeline/SKILL.md +16 -0
  54. package/codex/skills/prd-to-production-pipeline/agents/openai.yaml +4 -0
  55. package/codex/skills/release-and-operations/SKILL.md +15 -0
  56. package/codex/skills/release-and-operations/agents/openai.yaml +4 -0
  57. package/codex/skills/security-hardening/SKILL.md +15 -0
  58. package/codex/skills/security-hardening/agents/openai.yaml +4 -0
  59. package/codex/skills/service-lifecycle-orchestration/SKILL.md +17 -0
  60. package/codex/skills/service-lifecycle-orchestration/agents/openai.yaml +4 -0
  61. package/codex/workflows/workflow-catalog.json +444 -0
  62. package/package.json +44 -0
  63. package/scripts/init.mjs +993 -0
  64. package/scripts/validate.mjs +591 -0
@@ -0,0 +1,942 @@
1
+ {
2
+ "schema_version": "1.0.0",
3
+ "contract": {
4
+ "required_fields": [
5
+ "id",
6
+ "name",
7
+ "phase",
8
+ "owner_role",
9
+ "purpose",
10
+ "input_contract",
11
+ "execution_contract",
12
+ "quality_gates",
13
+ "output_contract",
14
+ "handoff"
15
+ ],
16
+ "quality_policy": "모든 명령은 입력-실행-검증-산출 순서를 고정한다."
17
+ },
18
+ "commands": [
19
+ {
20
+ "id": "CMD-PLAN-REQ-LOCK",
21
+ "name": "요구사항 잠금",
22
+ "phase": "기획",
23
+ "owner_role": "product-planner",
24
+ "purpose": "범위 변동을 줄이고 구현 가능한 요구사항 기준선을 확정한다.",
25
+ "input_contract": {
26
+ "required": [
27
+ "비즈니스 목표",
28
+ "성공 지표",
29
+ "제약사항"
30
+ ],
31
+ "optional": [
32
+ "기존 레거시 제약",
33
+ "마감 일정"
34
+ ]
35
+ },
36
+ "execution_contract": {
37
+ "steps": [
38
+ "목표를 정량 지표로 환산한다.",
39
+ "사용자 시나리오를 우선순위로 정렬한다.",
40
+ "범위 밖 항목을 명시한다.",
41
+ "승인 기준과 거부 기준을 함께 기록한다."
42
+ ]
43
+ },
44
+ "quality_gates": [
45
+ "모든 요구사항이 측정 가능해야 한다.",
46
+ "모호한 표현(빠르게, 충분히 등)이 없어야 한다."
47
+ ],
48
+ "output_contract": {
49
+ "artifacts": [
50
+ "요구사항 기준서",
51
+ "범위 제외 목록",
52
+ "승인 기준표"
53
+ ]
54
+ },
55
+ "handoff": {
56
+ "next_roles": [
57
+ "solution-architect"
58
+ ],
59
+ "blockers": [
60
+ "측정 불가능한 목표",
61
+ "우선순위 미정"
62
+ ]
63
+ }
64
+ },
65
+ {
66
+ "id": "CMD-PLAN-ARCH-DECISION",
67
+ "name": "아키텍처 의사결정 기록",
68
+ "phase": "설계",
69
+ "owner_role": "solution-architect",
70
+ "purpose": "핵심 기술 선택과 트레이드오프를 ADR로 고정한다.",
71
+ "input_contract": {
72
+ "required": [
73
+ "요구사항 기준서",
74
+ "시스템 제약",
75
+ "비기능 요구사항"
76
+ ],
77
+ "optional": [
78
+ "기존 인프라 비용 정보"
79
+ ]
80
+ },
81
+ "execution_contract": {
82
+ "steps": [
83
+ "후보 아키텍처 2개 이상을 비교한다.",
84
+ "성능/비용/보안 관점의 선택 근거를 기록한다.",
85
+ "실패 시 롤백 전략을 포함한다.",
86
+ "데이터 모델과 API 경계를 확정한다."
87
+ ]
88
+ },
89
+ "quality_gates": [
90
+ "결정 근거가 수치 또는 사실로 설명되어야 한다.",
91
+ "롤백 전략이 누락되면 실패로 처리한다."
92
+ ],
93
+ "output_contract": {
94
+ "artifacts": [
95
+ "ADR 문서",
96
+ "시스템 컨텍스트 다이어그램",
97
+ "데이터 경계 정의"
98
+ ]
99
+ },
100
+ "handoff": {
101
+ "next_roles": [
102
+ "backend-engineer",
103
+ "frontend-engineer"
104
+ ],
105
+ "blockers": [
106
+ "의존 시스템 책임 경계 미정",
107
+ "데이터 소유권 충돌"
108
+ ]
109
+ }
110
+ },
111
+ {
112
+ "id": "CMD-DEV-BE-API",
113
+ "name": "백엔드 API 구현",
114
+ "phase": "개발",
115
+ "owner_role": "backend-engineer",
116
+ "purpose": "명세 기반으로 안정적인 API와 데이터 접근 계층을 구현한다.",
117
+ "input_contract": {
118
+ "required": [
119
+ "API 계약",
120
+ "도메인 모델",
121
+ "에러 코드 정책"
122
+ ],
123
+ "optional": [
124
+ "기존 엔드포인트 호환 정책"
125
+ ]
126
+ },
127
+ "execution_contract": {
128
+ "steps": [
129
+ "계약 우선 방식으로 DTO와 검증 규칙을 작성한다.",
130
+ "핸들러와 비즈니스 로직을 분리한다.",
131
+ "권한 검증과 감사 로그를 추가한다.",
132
+ "회귀 테스트를 작성한다."
133
+ ]
134
+ },
135
+ "quality_gates": [
136
+ "계약 테스트가 통과해야 한다.",
137
+ "권한 누락 경로가 없어야 한다."
138
+ ],
139
+ "output_contract": {
140
+ "artifacts": [
141
+ "API 구현 코드",
142
+ "계약 테스트",
143
+ "권한 매트릭스"
144
+ ]
145
+ },
146
+ "handoff": {
147
+ "next_roles": [
148
+ "qa-engineer",
149
+ "code-reviewer"
150
+ ],
151
+ "blockers": [
152
+ "계약 불일치",
153
+ "에러 코드 정책 위반"
154
+ ]
155
+ }
156
+ },
157
+ {
158
+ "id": "CMD-DEV-FE-UI-COMPONENTIZE",
159
+ "name": "UI 컴포넌트화",
160
+ "phase": "개발",
161
+ "owner_role": "ui-component-engineer",
162
+ "purpose": "반복 UI를 설계 토큰 기반의 재사용 컴포넌트로 분해한다.",
163
+ "input_contract": {
164
+ "required": [
165
+ "대상 화면",
166
+ "중복 UI 목록",
167
+ "디자인 토큰"
168
+ ],
169
+ "optional": [
170
+ "스토리북 규칙"
171
+ ]
172
+ },
173
+ "execution_contract": {
174
+ "steps": [
175
+ "중복 UI를 패턴 단위로 그룹화한다.",
176
+ "Props 계약을 최소화하고 명시적으로 정의한다.",
177
+ "프레젠테이션 로직과 데이터 로직을 분리한다.",
178
+ "스토리/스냅샷 테스트를 추가한다."
179
+ ]
180
+ },
181
+ "quality_gates": [
182
+ "컴포넌트 API 변경 시 하위 호환 전략이 있어야 한다.",
183
+ "동일 UI 중복 코드가 기준 대비 30% 이상 감소해야 한다."
184
+ ],
185
+ "output_contract": {
186
+ "artifacts": [
187
+ "공용 UI 컴포넌트",
188
+ "사용 가이드",
189
+ "스토리북 스토리"
190
+ ]
191
+ },
192
+ "handoff": {
193
+ "next_roles": [
194
+ "frontend-engineer",
195
+ "qa-engineer"
196
+ ],
197
+ "blockers": [
198
+ "디자인 토큰 누락",
199
+ "접근성 속성 누락"
200
+ ]
201
+ }
202
+ },
203
+ {
204
+ "id": "CMD-DEV-FE-HOOK-SEPARATE",
205
+ "name": "Hook 분리",
206
+ "phase": "개발",
207
+ "owner_role": "hook-refactor-engineer",
208
+ "purpose": "컴포넌트 내부 상태/효과 로직을 재사용 가능한 Hook으로 분리한다.",
209
+ "input_contract": {
210
+ "required": [
211
+ "대상 컴포넌트",
212
+ "상태 흐름",
213
+ "부수효과 목록"
214
+ ],
215
+ "optional": [
216
+ "성능 프로파일 결과"
217
+ ]
218
+ },
219
+ "execution_contract": {
220
+ "steps": [
221
+ "UI 렌더링과 상태 오케스트레이션 경계를 식별한다.",
222
+ "Hook의 입력/출력 타입 계약을 정의한다.",
223
+ "비동기/캐시/재시도 정책을 Hook 내부로 캡슐화한다.",
224
+ "Hook 전용 테스트를 추가한다."
225
+ ]
226
+ },
227
+ "quality_gates": [
228
+ "컴포넌트 길이가 기준 대비 25% 이상 축소되어야 한다.",
229
+ "Hook은 단일 책임을 유지해야 한다."
230
+ ],
231
+ "output_contract": {
232
+ "artifacts": [
233
+ "커스텀 Hook",
234
+ "Hook 테스트",
235
+ "마이그레이션 노트"
236
+ ]
237
+ },
238
+ "handoff": {
239
+ "next_roles": [
240
+ "frontend-engineer",
241
+ "performance-engineer"
242
+ ],
243
+ "blockers": [
244
+ "Hook 간 순환 의존",
245
+ "숨은 전역 상태 의존"
246
+ ]
247
+ }
248
+ },
249
+ {
250
+ "id": "CMD-DEV-PERF-OPTIMIZE",
251
+ "name": "성능 최적화",
252
+ "phase": "개발",
253
+ "owner_role": "performance-engineer",
254
+ "purpose": "측정 기반으로 병목을 제거하고 사용자 체감 성능을 개선한다.",
255
+ "input_contract": {
256
+ "required": [
257
+ "성능 목표",
258
+ "현재 측정치",
259
+ "병목 후보"
260
+ ],
261
+ "optional": [
262
+ "트래픽 패턴"
263
+ ]
264
+ },
265
+ "execution_contract": {
266
+ "steps": [
267
+ "기준 측정값을 고정한다.",
268
+ "병목 상위 3개만 우선 해결한다.",
269
+ "캐싱/메모이제이션/쿼리 최적화를 적용한다.",
270
+ "개선 후 동일 조건으로 재측정한다."
271
+ ]
272
+ },
273
+ "quality_gates": [
274
+ "핵심 지표가 목표 이상 개선되어야 한다.",
275
+ "최적화로 인한 기능 회귀가 없어야 한다."
276
+ ],
277
+ "output_contract": {
278
+ "artifacts": [
279
+ "전후 비교 리포트",
280
+ "최적화 코드",
281
+ "회귀 테스트"
282
+ ]
283
+ },
284
+ "handoff": {
285
+ "next_roles": [
286
+ "qa-engineer",
287
+ "sre-release-engineer"
288
+ ],
289
+ "blockers": [
290
+ "측정 재현 불가",
291
+ "최적화 효과 미미"
292
+ ]
293
+ }
294
+ },
295
+ {
296
+ "id": "CMD-TEST-UNIT-INTEGRATION",
297
+ "name": "단위/통합 테스트 고정",
298
+ "phase": "검증",
299
+ "owner_role": "qa-engineer",
300
+ "purpose": "핵심 리스크 경로를 테스트로 고정해 회귀를 차단한다.",
301
+ "input_contract": {
302
+ "required": [
303
+ "기능 변경 목록",
304
+ "리스크 경로",
305
+ "테스트 기준"
306
+ ],
307
+ "optional": [
308
+ "실패 이력"
309
+ ]
310
+ },
311
+ "execution_contract": {
312
+ "steps": [
313
+ "핵심 경로를 우선순위로 테스트 케이스화한다.",
314
+ "단위와 통합 테스트 책임을 분리한다.",
315
+ "불안정 테스트를 제거하거나 안정화한다.",
316
+ "CI에서 실패 시 즉시 차단하도록 설정한다."
317
+ ]
318
+ },
319
+ "quality_gates": [
320
+ "신규 결함 경로에 테스트가 존재해야 한다.",
321
+ "테스트 결과가 재현 가능해야 한다."
322
+ ],
323
+ "output_contract": {
324
+ "artifacts": [
325
+ "테스트 코드",
326
+ "실행 리포트",
327
+ "결함 회귀 목록"
328
+ ]
329
+ },
330
+ "handoff": {
331
+ "next_roles": [
332
+ "code-reviewer",
333
+ "sre-release-engineer"
334
+ ],
335
+ "blockers": [
336
+ "불안정 테스트 지속",
337
+ "핵심 경로 미커버"
338
+ ]
339
+ }
340
+ },
341
+ {
342
+ "id": "CMD-REVIEW-CODE",
343
+ "name": "코드 리뷰 및 개선안 도출",
344
+ "phase": "검증",
345
+ "owner_role": "code-reviewer",
346
+ "purpose": "동작 리스크와 유지보수 리스크를 식별하고 개선안을 우선순위화한다.",
347
+ "input_contract": {
348
+ "required": [
349
+ "변경 diff",
350
+ "요구사항 기준",
351
+ "테스트 결과"
352
+ ],
353
+ "optional": [
354
+ "운영 장애 이력"
355
+ ]
356
+ },
357
+ "execution_contract": {
358
+ "steps": [
359
+ "중대도 기준으로 결함 가능성을 분류한다.",
360
+ "보안/성능/가독성/확장성 관점으로 점검한다.",
361
+ "재현 절차를 포함한 수정 제안을 작성한다.",
362
+ "병합 차단 여부를 명확히 표기한다."
363
+ ]
364
+ },
365
+ "quality_gates": [
366
+ "모든 지적은 근거 위치와 재현 경로를 포함해야 한다.",
367
+ "선호도 수준 코멘트와 차단 이슈를 분리해야 한다."
368
+ ],
369
+ "output_contract": {
370
+ "artifacts": [
371
+ "리뷰 리포트",
372
+ "차단 이슈 목록",
373
+ "개선 우선순위 백로그"
374
+ ]
375
+ },
376
+ "handoff": {
377
+ "next_roles": [
378
+ "backend-engineer",
379
+ "frontend-engineer",
380
+ "security-engineer"
381
+ ],
382
+ "blockers": [
383
+ "차단 이슈 미해결",
384
+ "재현 불가능한 지적"
385
+ ]
386
+ }
387
+ },
388
+ {
389
+ "id": "CMD-SEC-THREAT-MODEL",
390
+ "name": "위협 모델링",
391
+ "phase": "보안",
392
+ "owner_role": "security-engineer",
393
+ "purpose": "공격 표면을 체계적으로 도출하고 완화 통제를 정의한다.",
394
+ "input_contract": {
395
+ "required": [
396
+ "시스템 경계",
397
+ "자산 목록",
398
+ "인증/인가 흐름"
399
+ ],
400
+ "optional": [
401
+ "규제 준수 기준"
402
+ ]
403
+ },
404
+ "execution_contract": {
405
+ "steps": [
406
+ "자산 가치를 등급화한다.",
407
+ "신뢰 경계를 기준으로 공격 시나리오를 도출한다.",
408
+ "위협별 완화 통제를 지정한다.",
409
+ "잔여 위험 수용 여부를 의사결정한다."
410
+ ]
411
+ },
412
+ "quality_gates": [
413
+ "고위험 위협에 대응 통제가 반드시 있어야 한다.",
414
+ "수용 위험은 책임자와 만료일이 있어야 한다."
415
+ ],
416
+ "output_contract": {
417
+ "artifacts": [
418
+ "위협 모델 문서",
419
+ "통제 매핑표",
420
+ "잔여 위험 등록부"
421
+ ]
422
+ },
423
+ "handoff": {
424
+ "next_roles": [
425
+ "sre-release-engineer",
426
+ "code-reviewer"
427
+ ],
428
+ "blockers": [
429
+ "고위험 무대응",
430
+ "책임자 미지정"
431
+ ]
432
+ }
433
+ },
434
+ {
435
+ "id": "CMD-SEC-DEPENDENCY-AUDIT",
436
+ "name": "의존성 취약점 감사",
437
+ "phase": "보안",
438
+ "owner_role": "security-engineer",
439
+ "purpose": "서드파티 의존성 취약점을 주기적으로 탐지하고 조치한다.",
440
+ "input_contract": {
441
+ "required": [
442
+ "락파일",
443
+ "취약점 DB 결과",
444
+ "패치 가능 버전"
445
+ ],
446
+ "optional": [
447
+ "호환성 테스트 결과"
448
+ ]
449
+ },
450
+ "execution_contract": {
451
+ "steps": [
452
+ "치명도 기준으로 취약점을 분류한다.",
453
+ "즉시 조치 항목부터 패치한다.",
454
+ "업데이트 후 회귀 테스트를 실행한다.",
455
+ "미조치 항목은 만료일과 보완 통제를 기록한다."
456
+ ]
457
+ },
458
+ "quality_gates": [
459
+ "치명적 취약점은 배포 전 0건이어야 한다.",
460
+ "미조치 항목은 예외 승인 기록이 있어야 한다."
461
+ ],
462
+ "output_contract": {
463
+ "artifacts": [
464
+ "취약점 감사 리포트",
465
+ "패치 PR",
466
+ "예외 승인 목록"
467
+ ]
468
+ },
469
+ "handoff": {
470
+ "next_roles": [
471
+ "qa-engineer",
472
+ "sre-release-engineer"
473
+ ],
474
+ "blockers": [
475
+ "치명적 취약점 잔존",
476
+ "회귀 테스트 실패"
477
+ ]
478
+ }
479
+ },
480
+ {
481
+ "id": "CMD-OPS-CI-CD-GATE",
482
+ "name": "CI/CD 게이트 고정",
483
+ "phase": "배포",
484
+ "owner_role": "sre-release-engineer",
485
+ "purpose": "품질/보안 기준 미충족 변경이 배포되지 않도록 자동 차단한다.",
486
+ "input_contract": {
487
+ "required": [
488
+ "테스트 결과",
489
+ "리뷰 상태",
490
+ "보안 점검 상태"
491
+ ],
492
+ "optional": [
493
+ "성능 기준 리포트"
494
+ ]
495
+ },
496
+ "execution_contract": {
497
+ "steps": [
498
+ "필수 체크를 파이프라인 게이트로 등록한다.",
499
+ "실패 시 자동 중단 및 알림을 설정한다.",
500
+ "배포 승인 정책을 역할 기반으로 고정한다.",
501
+ "릴리즈 노트 자동 생성을 연결한다."
502
+ ]
503
+ },
504
+ "quality_gates": [
505
+ "게이트 우회 경로가 없어야 한다.",
506
+ "실패 원인이 추적 가능해야 한다."
507
+ ],
508
+ "output_contract": {
509
+ "artifacts": [
510
+ "파이프라인 설정",
511
+ "승인 정책",
512
+ "릴리즈 노트 템플릿"
513
+ ]
514
+ },
515
+ "handoff": {
516
+ "next_roles": [
517
+ "sre-release-engineer"
518
+ ],
519
+ "blockers": [
520
+ "필수 체크 누락",
521
+ "알림 라우팅 오류"
522
+ ]
523
+ }
524
+ },
525
+ {
526
+ "id": "CMD-OPS-DEPLOY",
527
+ "name": "배포 및 검증",
528
+ "phase": "배포",
529
+ "owner_role": "sre-release-engineer",
530
+ "purpose": "점진 배포와 실시간 검증으로 릴리즈 리스크를 통제한다.",
531
+ "input_contract": {
532
+ "required": [
533
+ "릴리즈 후보",
534
+ "롤백 계획",
535
+ "모니터링 대시보드"
536
+ ],
537
+ "optional": [
538
+ "점진 배포 비율 정책"
539
+ ]
540
+ },
541
+ "execution_contract": {
542
+ "steps": [
543
+ "배포 전 백업과 롤백 경로를 검증한다.",
544
+ "카나리/블루그린 방식으로 점진 배포한다.",
545
+ "핵심 SLI를 감시한다.",
546
+ "임계치 초과 시 자동 또는 수동 롤백한다."
547
+ ]
548
+ },
549
+ "quality_gates": [
550
+ "롤백 시나리오가 사전 검증되어야 한다.",
551
+ "배포 후 핵심 지표가 기준 내여야 한다."
552
+ ],
553
+ "output_contract": {
554
+ "artifacts": [
555
+ "배포 로그",
556
+ "검증 체크리스트",
557
+ "롤백 결과(필요 시)"
558
+ ]
559
+ },
560
+ "handoff": {
561
+ "next_roles": [
562
+ "operations-owner"
563
+ ],
564
+ "blockers": [
565
+ "핵심 지표 악화",
566
+ "롤백 실패"
567
+ ]
568
+ }
569
+ },
570
+ {
571
+ "id": "CMD-OPS-MONITORING",
572
+ "name": "운영 모니터링 강화",
573
+ "phase": "운영",
574
+ "owner_role": "operations-owner",
575
+ "purpose": "장애 징후를 조기에 탐지하고 대응 시간을 단축한다.",
576
+ "input_contract": {
577
+ "required": [
578
+ "SLI/SLO",
579
+ "알림 정책",
580
+ "서비스 맵"
581
+ ],
582
+ "optional": [
583
+ "장애 포스트모템"
584
+ ]
585
+ },
586
+ "execution_contract": {
587
+ "steps": [
588
+ "핵심 지표와 에러 버짓을 대시보드화한다.",
589
+ "노이즈 알림을 정리하고 에스컬레이션을 명확화한다.",
590
+ "런북과 알림을 연결한다.",
591
+ "주간 점검으로 임계치 튜닝을 수행한다."
592
+ ]
593
+ },
594
+ "quality_gates": [
595
+ "알림은 실행 가능한 행동 지침을 포함해야 한다.",
596
+ "미사용 대시보드는 제거한다."
597
+ ],
598
+ "output_contract": {
599
+ "artifacts": [
600
+ "운영 대시보드",
601
+ "알림 정책",
602
+ "런북"
603
+ ]
604
+ },
605
+ "handoff": {
606
+ "next_roles": [
607
+ "incident-commander"
608
+ ],
609
+ "blockers": [
610
+ "오탐 과다",
611
+ "런북 미정"
612
+ ]
613
+ }
614
+ },
615
+ {
616
+ "id": "CMD-INCIDENT-TRIAGE",
617
+ "name": "장애 분류 및 대응",
618
+ "phase": "운영",
619
+ "owner_role": "incident-commander",
620
+ "purpose": "장애 영향 범위를 빠르게 파악하고 복구 우선순위를 설정한다.",
621
+ "input_contract": {
622
+ "required": [
623
+ "장애 알림",
624
+ "영향 서비스",
625
+ "현재 증상"
626
+ ],
627
+ "optional": [
628
+ "최근 배포 이력"
629
+ ]
630
+ },
631
+ "execution_contract": {
632
+ "steps": [
633
+ "심각도와 고객 영향을 분류한다.",
634
+ "워룸 역할과 커뮤니케이션 채널을 고정한다.",
635
+ "복구 우선 경로를 실행한다.",
636
+ "복구 후 재발 방지 액션을 등록한다."
637
+ ]
638
+ },
639
+ "quality_gates": [
640
+ "심각도 기준이 일관되어야 한다.",
641
+ "복구 후 RCA 일정이 지정되어야 한다."
642
+ ],
643
+ "output_contract": {
644
+ "artifacts": [
645
+ "장애 타임라인",
646
+ "복구 조치 기록",
647
+ "재발 방지 액션"
648
+ ]
649
+ },
650
+ "handoff": {
651
+ "next_roles": [
652
+ "code-reviewer",
653
+ "security-engineer",
654
+ "operations-owner"
655
+ ],
656
+ "blockers": [
657
+ "원인 미확정",
658
+ "재발 방지 책임자 미지정"
659
+ ]
660
+ }
661
+ },
662
+ {
663
+ "id": "CMD-IMPROVE-TECHDEBT",
664
+ "name": "기술 부채 정리",
665
+ "phase": "개선",
666
+ "owner_role": "tech-debt-manager",
667
+ "purpose": "장기 생산성을 저해하는 구조적 부채를 우선순위 기반으로 상환한다.",
668
+ "input_contract": {
669
+ "required": [
670
+ "부채 목록",
671
+ "영향도",
672
+ "상환 비용"
673
+ ],
674
+ "optional": [
675
+ "장애 연관 지표"
676
+ ]
677
+ },
678
+ "execution_contract": {
679
+ "steps": [
680
+ "영향도/비용 기준으로 상환 순위를 정한다.",
681
+ "기능 개발과 충돌하지 않게 배치한다.",
682
+ "상환 항목별 완료 기준을 정의한다.",
683
+ "상환 후 구조 단순화 여부를 점검한다."
684
+ ]
685
+ },
686
+ "quality_gates": [
687
+ "상환 항목은 측정 가능한 결과를 가져야 한다.",
688
+ "미완료 항목은 이유와 다음 시점을 기록해야 한다."
689
+ ],
690
+ "output_contract": {
691
+ "artifacts": [
692
+ "부채 상환 백로그",
693
+ "완료 리포트",
694
+ "구조 개선 지표"
695
+ ]
696
+ },
697
+ "handoff": {
698
+ "next_roles": [
699
+ "product-planner",
700
+ "solution-architect"
701
+ ],
702
+ "blockers": [
703
+ "상환 우선순위 불명확",
704
+ "기능 일정과 충돌"
705
+ ]
706
+ }
707
+ },
708
+ {
709
+ "id": "CMD-DOC-HANDOFF",
710
+ "name": "운영 인수인계 문서화",
711
+ "phase": "개선",
712
+ "owner_role": "operations-owner",
713
+ "purpose": "사람과 AI가 동일한 기준으로 서비스 상태를 이해하도록 지식을 구조화한다.",
714
+ "input_contract": {
715
+ "required": [
716
+ "최신 아키텍처",
717
+ "운영 런북",
718
+ "릴리즈 이력"
719
+ ],
720
+ "optional": [
721
+ "FAQ",
722
+ "온보딩 자료"
723
+ ]
724
+ },
725
+ "execution_contract": {
726
+ "steps": [
727
+ "문서를 역할 기준으로 분리한다.",
728
+ "명령 ID와 워크플로우 ID를 교차 참조한다.",
729
+ "변경 이력을 날짜와 함께 기록한다.",
730
+ "월 1회 갱신 책임자를 지정한다."
731
+ ]
732
+ },
733
+ "quality_gates": [
734
+ "중요 문서는 최신 배포와 일치해야 한다.",
735
+ "문서만으로 최소 운영 시나리오 재현이 가능해야 한다."
736
+ ],
737
+ "output_contract": {
738
+ "artifacts": [
739
+ "운영 핸드북",
740
+ "워크플로우 인덱스",
741
+ "갱신 캘린더"
742
+ ]
743
+ },
744
+ "handoff": {
745
+ "next_roles": [
746
+ "all"
747
+ ],
748
+ "blockers": [
749
+ "문서와 실제 동작 불일치"
750
+ ]
751
+ }
752
+ },
753
+ {
754
+ "id": "CMD-PLAN-PRD-MASTER",
755
+ "name": "마스터 PRD 작성",
756
+ "phase": "기획",
757
+ "owner_role": "prd-writer",
758
+ "purpose": "서비스 목표, 사용자, 기능 범위, 비기능 요구사항을 포함한 상위 PRD를 대화형으로 작성한다.",
759
+ "input_contract": {
760
+ "required": [
761
+ "사업 목표",
762
+ "대상 사용자",
763
+ "문제 정의"
764
+ ],
765
+ "optional": [
766
+ "브랜드 가이드",
767
+ "레퍼런스 서비스"
768
+ ]
769
+ },
770
+ "execution_contract": {
771
+ "steps": [
772
+ "핵심 문제와 기대 성과를 정량화한다.",
773
+ "사용자 세그먼트와 핵심 시나리오를 정리한다.",
774
+ "기능 범위와 비범위를 구분한다.",
775
+ "보안/성능/가독성/운영 기준을 PRD에 포함한다."
776
+ ]
777
+ },
778
+ "quality_gates": [
779
+ "모든 목표는 측정 가능한 지표를 가져야 한다.",
780
+ "비기능 요구사항(성능/보안/접근성/유지보수성)이 누락되면 실패 처리한다."
781
+ ],
782
+ "output_contract": {
783
+ "artifacts": [
784
+ "마스터 PRD",
785
+ "핵심 지표 표",
786
+ "범위/비범위 목록"
787
+ ]
788
+ },
789
+ "handoff": {
790
+ "next_roles": [
791
+ "prd-writer",
792
+ "solution-architect"
793
+ ],
794
+ "blockers": [
795
+ "문제 정의 불명확",
796
+ "성공 지표 미정"
797
+ ]
798
+ }
799
+ },
800
+ {
801
+ "id": "CMD-PLAN-PRD-DETAILS",
802
+ "name": "세부 PRD 분해 작성",
803
+ "phase": "기획",
804
+ "owner_role": "prd-writer",
805
+ "purpose": "마스터 PRD를 기능 단위 PRD들로 분해해 구현 가능한 작업 단위로 고정한다.",
806
+ "input_contract": {
807
+ "required": [
808
+ "마스터 PRD",
809
+ "기능 범위",
810
+ "품질 기준"
811
+ ],
812
+ "optional": [
813
+ "기술 스택 제약"
814
+ ]
815
+ },
816
+ "execution_contract": {
817
+ "steps": [
818
+ "에픽/기능 단위로 PRD를 분해한다.",
819
+ "각 세부 PRD에 수용 기준을 명시한다.",
820
+ "UI 컴포넌트화 전략, 톤앤매너, 성능/보안 기준을 각 항목에 반영한다.",
821
+ "구현 순서와 의존성을 명확히 기록한다."
822
+ ]
823
+ },
824
+ "quality_gates": [
825
+ "모든 세부 PRD가 수용 기준(DoD)을 포함해야 한다.",
826
+ "구현 순서와 의존성이 누락되면 실패 처리한다."
827
+ ],
828
+ "output_contract": {
829
+ "artifacts": [
830
+ "세부 PRD 묶음",
831
+ "구현 순서도",
832
+ "수용 기준 매트릭스"
833
+ ]
834
+ },
835
+ "handoff": {
836
+ "next_roles": [
837
+ "solution-architect",
838
+ "backend-engineer",
839
+ "frontend-engineer"
840
+ ],
841
+ "blockers": [
842
+ "수용 기준 누락",
843
+ "의존성 충돌"
844
+ ]
845
+ }
846
+ },
847
+ {
848
+ "id": "CMD-PLAN-IMPLEMENTATION-BOOTSTRAP",
849
+ "name": "구현 부트스트랩 확정",
850
+ "phase": "설계",
851
+ "owner_role": "solution-architect",
852
+ "purpose": "세부 PRD 기반으로 구현 순서, 책임 역할, 자동 실행 범위를 고정한다.",
853
+ "input_contract": {
854
+ "required": [
855
+ "세부 PRD 묶음",
856
+ "아키텍처 제약",
857
+ "품질/보안 기준"
858
+ ],
859
+ "optional": [
860
+ "배포 일정"
861
+ ]
862
+ },
863
+ "execution_contract": {
864
+ "steps": [
865
+ "세부 PRD를 순차 실행 가능한 배치로 그룹화한다.",
866
+ "역할별 책임과 산출물을 고정한다.",
867
+ "자동 실행 단계와 수동 설정 단계(최종 세팅)를 분리한다.",
868
+ "각 배치의 검증 게이트를 정의한다."
869
+ ]
870
+ },
871
+ "quality_gates": [
872
+ "자동 실행 범위와 수동 단계가 명확히 분리되어야 한다.",
873
+ "각 배치에 검증 게이트가 있어야 한다."
874
+ ],
875
+ "output_contract": {
876
+ "artifacts": [
877
+ "구현 배치 계획",
878
+ "역할별 실행표",
879
+ "수동 설정 체크리스트"
880
+ ]
881
+ },
882
+ "handoff": {
883
+ "next_roles": [
884
+ "lead-orchestrator",
885
+ "backend-engineer",
886
+ "frontend-engineer"
887
+ ],
888
+ "blockers": [
889
+ "배치 순서 미정",
890
+ "수동/자동 경계 불명확"
891
+ ]
892
+ }
893
+ },
894
+ {
895
+ "id": "CMD-DEV-SEQUENTIAL-AUTORUN",
896
+ "name": "PRD 기반 순차 자동 구현",
897
+ "phase": "개발",
898
+ "owner_role": "lead-orchestrator",
899
+ "purpose": "확정된 세부 PRD 순서대로 구현, 테스트, 리뷰를 연쇄 실행한다.",
900
+ "input_contract": {
901
+ "required": [
902
+ "구현 배치 계획",
903
+ "세부 PRD 묶음",
904
+ "품질 게이트"
905
+ ],
906
+ "optional": [
907
+ "중간 승인 포인트"
908
+ ]
909
+ },
910
+ "execution_contract": {
911
+ "steps": [
912
+ "배치 순서대로 기능 구현을 수행한다.",
913
+ "각 배치 종료 시 테스트와 리뷰를 자동 실행한다.",
914
+ "UI 컴포넌트화/Hook 분리/성능 최적화/보안 점검을 각 배치에 적용한다.",
915
+ "최종 수동 설정 단계 직전까지 연속 실행한다."
916
+ ]
917
+ },
918
+ "quality_gates": [
919
+ "배치별 테스트/리뷰 통과 없이는 다음 배치로 이동하지 않는다.",
920
+ "치명 보안 이슈 또는 차단 이슈 발생 시 즉시 중단한다."
921
+ ],
922
+ "output_contract": {
923
+ "artifacts": [
924
+ "배치별 구현 로그",
925
+ "중간 검증 리포트",
926
+ "최종 수동 설정 전 체크리스트"
927
+ ]
928
+ },
929
+ "handoff": {
930
+ "next_roles": [
931
+ "qa-engineer",
932
+ "security-engineer",
933
+ "sre-release-engineer"
934
+ ],
935
+ "blockers": [
936
+ "배치 검증 실패",
937
+ "차단 이슈 미해결"
938
+ ]
939
+ }
940
+ }
941
+ ]
942
+ }