timsquad 2.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 (181) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +347 -0
  3. package/bin/tsq.js +6 -0
  4. package/dist/commands/feedback.d.ts +3 -0
  5. package/dist/commands/feedback.d.ts.map +1 -0
  6. package/dist/commands/feedback.js +142 -0
  7. package/dist/commands/feedback.js.map +1 -0
  8. package/dist/commands/full.d.ts +3 -0
  9. package/dist/commands/full.d.ts.map +1 -0
  10. package/dist/commands/full.js +87 -0
  11. package/dist/commands/full.js.map +1 -0
  12. package/dist/commands/git/commit.d.ts +3 -0
  13. package/dist/commands/git/commit.d.ts.map +1 -0
  14. package/dist/commands/git/commit.js +88 -0
  15. package/dist/commands/git/commit.js.map +1 -0
  16. package/dist/commands/git/index.d.ts +5 -0
  17. package/dist/commands/git/index.d.ts.map +1 -0
  18. package/dist/commands/git/index.js +5 -0
  19. package/dist/commands/git/index.js.map +1 -0
  20. package/dist/commands/git/pr.d.ts +3 -0
  21. package/dist/commands/git/pr.d.ts.map +1 -0
  22. package/dist/commands/git/pr.js +138 -0
  23. package/dist/commands/git/pr.js.map +1 -0
  24. package/dist/commands/git/release.d.ts +3 -0
  25. package/dist/commands/git/release.d.ts.map +1 -0
  26. package/dist/commands/git/release.js +158 -0
  27. package/dist/commands/git/release.js.map +1 -0
  28. package/dist/commands/git/sync.d.ts +3 -0
  29. package/dist/commands/git/sync.d.ts.map +1 -0
  30. package/dist/commands/git/sync.js +132 -0
  31. package/dist/commands/git/sync.js.map +1 -0
  32. package/dist/commands/init.d.ts +3 -0
  33. package/dist/commands/init.d.ts.map +1 -0
  34. package/dist/commands/init.js +150 -0
  35. package/dist/commands/init.js.map +1 -0
  36. package/dist/commands/log.d.ts +3 -0
  37. package/dist/commands/log.d.ts.map +1 -0
  38. package/dist/commands/log.js +271 -0
  39. package/dist/commands/log.js.map +1 -0
  40. package/dist/commands/metrics.d.ts +3 -0
  41. package/dist/commands/metrics.d.ts.map +1 -0
  42. package/dist/commands/metrics.js +299 -0
  43. package/dist/commands/metrics.js.map +1 -0
  44. package/dist/commands/quick.d.ts +3 -0
  45. package/dist/commands/quick.d.ts.map +1 -0
  46. package/dist/commands/quick.js +136 -0
  47. package/dist/commands/quick.js.map +1 -0
  48. package/dist/commands/retro.d.ts +3 -0
  49. package/dist/commands/retro.d.ts.map +1 -0
  50. package/dist/commands/retro.js +280 -0
  51. package/dist/commands/retro.js.map +1 -0
  52. package/dist/commands/status.d.ts +3 -0
  53. package/dist/commands/status.d.ts.map +1 -0
  54. package/dist/commands/status.js +127 -0
  55. package/dist/commands/status.js.map +1 -0
  56. package/dist/commands/watch.d.ts +3 -0
  57. package/dist/commands/watch.d.ts.map +1 -0
  58. package/dist/commands/watch.js +213 -0
  59. package/dist/commands/watch.js.map +1 -0
  60. package/dist/index.d.ts +3 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.js +50 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/lib/config.d.ts +34 -0
  65. package/dist/lib/config.d.ts.map +1 -0
  66. package/dist/lib/config.js +108 -0
  67. package/dist/lib/config.js.map +1 -0
  68. package/dist/lib/project.d.ts +47 -0
  69. package/dist/lib/project.d.ts.map +1 -0
  70. package/dist/lib/project.js +191 -0
  71. package/dist/lib/project.js.map +1 -0
  72. package/dist/lib/template.d.ts +33 -0
  73. package/dist/lib/template.d.ts.map +1 -0
  74. package/dist/lib/template.js +151 -0
  75. package/dist/lib/template.js.map +1 -0
  76. package/dist/types/config.d.ts +75 -0
  77. package/dist/types/config.d.ts.map +1 -0
  78. package/dist/types/config.js +66 -0
  79. package/dist/types/config.js.map +1 -0
  80. package/dist/types/feedback.d.ts +59 -0
  81. package/dist/types/feedback.d.ts.map +1 -0
  82. package/dist/types/feedback.js +26 -0
  83. package/dist/types/feedback.js.map +1 -0
  84. package/dist/types/index.d.ts +4 -0
  85. package/dist/types/index.d.ts.map +1 -0
  86. package/dist/types/index.js +5 -0
  87. package/dist/types/index.js.map +1 -0
  88. package/dist/types/project.d.ts +89 -0
  89. package/dist/types/project.d.ts.map +1 -0
  90. package/dist/types/project.js +44 -0
  91. package/dist/types/project.js.map +1 -0
  92. package/dist/utils/colors.d.ts +30 -0
  93. package/dist/utils/colors.d.ts.map +1 -0
  94. package/dist/utils/colors.js +54 -0
  95. package/dist/utils/colors.js.map +1 -0
  96. package/dist/utils/date.d.ts +25 -0
  97. package/dist/utils/date.d.ts.map +1 -0
  98. package/dist/utils/date.js +65 -0
  99. package/dist/utils/date.js.map +1 -0
  100. package/dist/utils/fs.d.ts +49 -0
  101. package/dist/utils/fs.d.ts.map +1 -0
  102. package/dist/utils/fs.js +84 -0
  103. package/dist/utils/fs.js.map +1 -0
  104. package/dist/utils/prompts.d.ts +31 -0
  105. package/dist/utils/prompts.d.ts.map +1 -0
  106. package/dist/utils/prompts.js +95 -0
  107. package/dist/utils/prompts.js.map +1 -0
  108. package/dist/utils/yaml.d.ts +21 -0
  109. package/dist/utils/yaml.d.ts.map +1 -0
  110. package/dist/utils/yaml.js +40 -0
  111. package/dist/utils/yaml.js.map +1 -0
  112. package/package.json +71 -0
  113. package/templates/common/CLAUDE.md.template +254 -0
  114. package/templates/common/claude/agents/tsq-dba.md +290 -0
  115. package/templates/common/claude/agents/tsq-designer.md +304 -0
  116. package/templates/common/claude/agents/tsq-developer.md +118 -0
  117. package/templates/common/claude/agents/tsq-planner.md +90 -0
  118. package/templates/common/claude/agents/tsq-prompter.md +336 -0
  119. package/templates/common/claude/agents/tsq-qa.md +134 -0
  120. package/templates/common/claude/agents/tsq-retro.md +168 -0
  121. package/templates/common/claude/agents/tsq-security.md +190 -0
  122. package/templates/common/claude/skills/architecture/SKILL.md +123 -0
  123. package/templates/common/claude/skills/backend/node/SKILL.md +1015 -0
  124. package/templates/common/claude/skills/coding/SKILL.md +171 -0
  125. package/templates/common/claude/skills/database/prisma/SKILL.md +357 -0
  126. package/templates/common/claude/skills/frontend/nextjs/SKILL.md +279 -0
  127. package/templates/common/claude/skills/frontend/react/SKILL.md +1729 -0
  128. package/templates/common/claude/skills/methodology/bdd/SKILL.md +234 -0
  129. package/templates/common/claude/skills/methodology/ddd/SKILL.md +311 -0
  130. package/templates/common/claude/skills/methodology/tdd/SKILL.md +512 -0
  131. package/templates/common/claude/skills/planning/SKILL.md +90 -0
  132. package/templates/common/claude/skills/security/SKILL.md +234 -0
  133. package/templates/common/claude/skills/testing/SKILL.md +146 -0
  134. package/templates/common/claude/skills/typescript/SKILL.md +435 -0
  135. package/templates/common/config.template.yaml +131 -0
  136. package/templates/common/timsquad/architectures/clean/ARCHITECTURE.md +49 -0
  137. package/templates/common/timsquad/architectures/clean/backend.xml +210 -0
  138. package/templates/common/timsquad/architectures/clean/frontend.xml +148 -0
  139. package/templates/common/timsquad/architectures/fsd/ARCHITECTURE.md +67 -0
  140. package/templates/common/timsquad/architectures/fsd/frontend.xml +288 -0
  141. package/templates/common/timsquad/architectures/hexagonal/ARCHITECTURE.md +60 -0
  142. package/templates/common/timsquad/architectures/hexagonal/backend.xml +300 -0
  143. package/templates/common/timsquad/constraints/competency-framework.xml +501 -0
  144. package/templates/common/timsquad/constraints/ssot-schema.xml +433 -0
  145. package/templates/common/timsquad/feedback/feedback-router.sh +341 -0
  146. package/templates/common/timsquad/feedback/routing-rules.yaml +352 -0
  147. package/templates/common/timsquad/generators/data-design.xml +290 -0
  148. package/templates/common/timsquad/generators/prd.xml +280 -0
  149. package/templates/common/timsquad/generators/requirements.xml +220 -0
  150. package/templates/common/timsquad/generators/service-spec.xml +266 -0
  151. package/templates/common/timsquad/logs/_example.md +81 -0
  152. package/templates/common/timsquad/logs/_template.md +46 -0
  153. package/templates/common/timsquad/patterns/cqrs.xml +127 -0
  154. package/templates/common/timsquad/patterns/event-sourcing.xml +85 -0
  155. package/templates/common/timsquad/patterns/repository.xml +64 -0
  156. package/templates/common/timsquad/process/state-machine.xml +343 -0
  157. package/templates/common/timsquad/process/validation-rules.xml +308 -0
  158. package/templates/common/timsquad/process/workflow-base.xml +202 -0
  159. package/templates/common/timsquad/retrospective/cycle-report.template.md +205 -0
  160. package/templates/common/timsquad/retrospective/metrics/metrics-schema.json +203 -0
  161. package/templates/common/timsquad/retrospective/patterns/failure-patterns.md +199 -0
  162. package/templates/common/timsquad/retrospective/patterns/success-patterns.md +262 -0
  163. package/templates/common/timsquad/retrospective/retrospective-config.xml +294 -0
  164. package/templates/common/timsquad/retrospective/retrospective-state.xml +210 -0
  165. package/templates/common/timsquad/ssot/adr/ADR-000-template.md +121 -0
  166. package/templates/common/timsquad/ssot/adr/ADR-001-example.md +115 -0
  167. package/templates/common/timsquad/ssot/data-design.template.md +132 -0
  168. package/templates/common/timsquad/ssot/deployment-spec.template.md +384 -0
  169. package/templates/common/timsquad/ssot/env-config.template.md +346 -0
  170. package/templates/common/timsquad/ssot/error-codes.template.md +114 -0
  171. package/templates/common/timsquad/ssot/functional-spec.template.md +185 -0
  172. package/templates/common/timsquad/ssot/glossary.template.md +148 -0
  173. package/templates/common/timsquad/ssot/integration-spec.template.md +391 -0
  174. package/templates/common/timsquad/ssot/planning.template.md +94 -0
  175. package/templates/common/timsquad/ssot/prd.template.md +102 -0
  176. package/templates/common/timsquad/ssot/requirements.template.md +117 -0
  177. package/templates/common/timsquad/ssot/security-spec.template.md +309 -0
  178. package/templates/common/timsquad/ssot/service-spec.template.md +194 -0
  179. package/templates/common/timsquad/ssot/test-spec.template.md +264 -0
  180. package/templates/common/timsquad/ssot/ui-ux-spec.template.md +262 -0
  181. package/templates/common/timsquad/state/workspace.xml +217 -0
@@ -0,0 +1,262 @@
1
+ ---
2
+ title: "Success Patterns"
3
+ version: 1.0.0
4
+ last_updated: {{TIMESTAMP}}
5
+ ---
6
+
7
+ # 성공 패턴 (Success Patterns)
8
+
9
+ > 효과적인 작업 패턴을 기록하고 확산합니다.
10
+ > 검증된 패턴은 SKILL.md와 프롬프트에 반영됩니다.
11
+
12
+ ---
13
+
14
+ ## 패턴 분류
15
+
16
+ ### 카테고리
17
+
18
+ | 카테고리 | 코드 | 설명 |
19
+ |---------|:----:|------|
20
+ | 문서화 | DC | SSOT 활용, 명확한 문서화 |
21
+ | 코드 품질 | CQ | TDD, 클린 코드, 테스트 커버리지 |
22
+ | 협업 | CL | 효과적인 handoff, 명확한 커뮤니케이션 |
23
+ | 프로세스 | PR | 효율적인 워크플로우, Phase 준수 |
24
+ | 학습 | LN | 지식 축적, 패턴 재사용 |
25
+
26
+ ---
27
+
28
+ ## 등록된 패턴
29
+
30
+ <!--
31
+ 패턴 추가 시 아래 템플릿 사용:
32
+
33
+ ### SP-XXX: {패턴명}
34
+
35
+ | 항목 | 내용 |
36
+ |-----|------|
37
+ | **ID** | SP-XXX |
38
+ | **카테고리** | {DC/CQ/CL/PR/LN} |
39
+ | **최초 발견** | {날짜} |
40
+ | **적용 횟수** | {N}회 |
41
+ | **관련 에이전트** | {에이전트 목록} |
42
+ | **검증 상태** | proposed / validated / standard |
43
+
44
+ **패턴 설명**
45
+ {어떤 패턴인지}
46
+
47
+ **성공 요인**
48
+ {왜 효과적인지}
49
+
50
+ **적용 방법**
51
+ 1. {단계 1}
52
+ 2. {단계 2}
53
+
54
+ **측정 가능한 효과**
55
+ - {효과 1}
56
+ - {효과 2}
57
+
58
+ **적용 확대**
59
+ - [ ] {확대 계획}
60
+ -->
61
+
62
+ ### SP-001: SSOT 먼저, 코드 나중
63
+
64
+ | 항목 | 내용 |
65
+ |-----|------|
66
+ | **ID** | SP-001 |
67
+ | **카테고리** | DC (문서화) |
68
+ | **최초 발견** | - |
69
+ | **적용 횟수** | 0회 |
70
+ | **관련 에이전트** | tsq-planner, tsq-developer |
71
+ | **검증 상태** | standard |
72
+
73
+ **패턴 설명**
74
+ 구현 전 반드시 SSOT 문서(service-spec.md, data-design.md)를 완성하고 승인받은 후 코드 작성을 시작한다.
75
+
76
+ **성공 요인**
77
+ - 명확한 계약서(Contract) 역할
78
+ - 프론트엔드-백엔드 병렬 작업 가능
79
+ - 리뷰 기준 명확
80
+
81
+ **적용 방법**
82
+ 1. PRD 승인 확인
83
+ 2. service-spec.md 작성 (API 명세)
84
+ 3. data-design.md 작성 (DB 스키마)
85
+ 4. error-codes.md 작성
86
+ 5. 사용자 승인
87
+ 6. Implementation phase 진입
88
+
89
+ **측정 가능한 효과**
90
+ - API 불일치 피드백 80% 감소
91
+ - 재작업 시간 60% 감소
92
+ - Level 2 피드백 50% 감소
93
+
94
+ **적용 확대**
95
+ - [x] 모든 프로젝트 타입에 기본 적용
96
+ - [ ] CI/CD에서 SSOT 검증 자동화
97
+
98
+ ---
99
+
100
+ ### SP-002: 구조화된 Handoff
101
+
102
+ | 항목 | 내용 |
103
+ |-----|------|
104
+ | **ID** | SP-002 |
105
+ | **카테고리** | CL (협업) |
106
+ | **최초 발견** | - |
107
+ | **적용 횟수** | 0회 |
108
+ | **관련 에이전트** | 전체 |
109
+ | **검증 상태** | standard |
110
+
111
+ **패턴 설명**
112
+ 에이전트 전환 시 workspace.xml의 handoff 섹션을 완전하게 작성하여 컨텍스트 손실을 방지한다.
113
+
114
+ **성공 요인**
115
+ - 다음 에이전트가 즉시 작업 시작 가능
116
+ - 컨텍스트 재구성 토큰 절약
117
+ - 결정 사항 추적 가능
118
+
119
+ **적용 방법**
120
+ 1. 작업 완료 시 workspace.xml 업데이트
121
+ 2. handoff 섹션에 다음 정보 기록:
122
+ - from/to 에이전트
123
+ - 전달 메시지 (특이사항, 주의점)
124
+ - 참조할 SSOT 문서
125
+ - action-items (우선순위 포함)
126
+ 3. 다음 에이전트 호출 전 검증
127
+
128
+ **측정 가능한 효과**
129
+ - 컨텍스트 재구성 시간 90% 감소
130
+ - 토큰 사용량 30% 절감
131
+ - 작업 연속성 향상
132
+
133
+ **적용 확대**
134
+ - [x] handoff 템플릿 표준화
135
+ - [ ] 자동 handoff 검증 스크립트
136
+
137
+ ---
138
+
139
+ ### SP-003: 점진적 검증 (Progressive Validation)
140
+
141
+ | 항목 | 내용 |
142
+ |-----|------|
143
+ | **ID** | SP-003 |
144
+ | **카테고리** | CQ (코드 품질) |
145
+ | **최초 발견** | - |
146
+ | **적용 횟수** | 0회 |
147
+ | **관련 에이전트** | tsq-developer, tsq-qa |
148
+ | **검증 상태** | validated |
149
+
150
+ **패턴 설명**
151
+ 큰 기능을 작은 단위로 나누어 각 단계마다 테스트와 검증을 수행한다.
152
+
153
+ **성공 요인**
154
+ - 조기 문제 발견
155
+ - 디버깅 범위 축소
156
+ - 롤백 용이
157
+
158
+ **적용 방법**
159
+ 1. 기능을 독립적인 단위로 분해
160
+ 2. 각 단위별로:
161
+ - 테스트 먼저 작성 (TDD)
162
+ - 구현
163
+ - 테스트 통과 확인
164
+ - 커밋
165
+ 3. 통합 테스트 실행
166
+ 4. QA 리뷰
167
+
168
+ **측정 가능한 효과**
169
+ - 버그 발견 시간 70% 단축
170
+ - 수정 범위 80% 축소
171
+ - 테스트 커버리지 90%+ 유지
172
+
173
+ **적용 확대**
174
+ - [ ] CI에서 단위 테스트 필수화
175
+ - [ ] 커밋당 테스트 커버리지 검증
176
+
177
+ ---
178
+
179
+ ### SP-004: ADR 기반 의사결정
180
+
181
+ | 항목 | 내용 |
182
+ |-----|------|
183
+ | **ID** | SP-004 |
184
+ | **카테고리** | DC (문서화) |
185
+ | **최초 발견** | - |
186
+ | **적용 횟수** | 0회 |
187
+ | **관련 에이전트** | tsq-planner |
188
+ | **검증 상태** | validated |
189
+
190
+ **패턴 설명**
191
+ 주요 아키텍처 결정은 ADR(Architecture Decision Record)로 문서화하여 결정 근거를 추적 가능하게 한다.
192
+
193
+ **성공 요인**
194
+ - 결정 배경 명확화
195
+ - 나중에 "왜 이렇게 했지?" 방지
196
+ - 대안 검토 기록 보존
197
+
198
+ **적용 방법**
199
+ 1. 결정이 필요한 상황 인식
200
+ 2. 대안들 나열
201
+ 3. 각 대안의 장단점 분석
202
+ 4. 결정 및 근거 기록
203
+ 5. ADR 문서 생성 (ADR-XXX-title.md)
204
+
205
+ **측정 가능한 효과**
206
+ - 기술 부채 추적 가능
207
+ - 온보딩 시간 단축
208
+ - 재논의 방지
209
+
210
+ **적용 확대**
211
+ - [x] Level 2+ 프로젝트 필수
212
+ - [ ] ADR 템플릿 개선
213
+
214
+ ---
215
+
216
+ ## 패턴 통계
217
+
218
+ ### 카테고리별 분포
219
+
220
+ ```
221
+ 카테고리별 성공 패턴 (누적)
222
+
223
+ DC (문서화) : ████████░░ 40%
224
+ CQ (코드 품질) : ████░░░░░░ 20%
225
+ CL (협업) : ████░░░░░░ 20%
226
+ PR (프로세스) : ██░░░░░░░░ 10%
227
+ LN (학습) : ██░░░░░░░░ 10%
228
+ ```
229
+
230
+ ### 검증 상태별 분류
231
+
232
+ | 상태 | 패턴 수 | 설명 |
233
+ |-----|:------:|------|
234
+ | proposed | 0 | 제안됨, 검증 필요 |
235
+ | validated | 2 | 검증됨, 효과 확인 |
236
+ | standard | 2 | 표준화됨, 모든 프로젝트 적용 |
237
+
238
+ ---
239
+
240
+ ## SKILL.md 반영
241
+
242
+ ### 반영된 패턴
243
+
244
+ | 패턴 | 적용 SKILL | 적용 일자 |
245
+ |------|----------|----------|
246
+ | SP-001 | coding, planning | - |
247
+ | SP-002 | 전체 | - |
248
+
249
+ ### 반영 예정
250
+
251
+ | 패턴 | 적용 SKILL | 예정 일자 |
252
+ |------|----------|----------|
253
+ | SP-003 | coding, testing | 다음 사이클 |
254
+ | SP-004 | planning, architecture | 다음 사이클 |
255
+
256
+ ---
257
+
258
+ ## 변경 이력
259
+
260
+ | 버전 | 날짜 | 변경 내용 |
261
+ |------|------|----------|
262
+ | 1.0.0 | {{TIMESTAMP}} | 초기 템플릿 생성 |
@@ -0,0 +1,294 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ TimSquad Retrospective Configuration
4
+
5
+ 이론적 기반:
6
+ - Agentsway (arXiv:2510.23664): Retrospective Learning, Prompting Agent
7
+ - ACM TOSEM LMA Survey: Competency Mapping, Performance Evaluation
8
+ - Self-Refine: Iterative FEEDBACK → REFINE Loop
9
+ - MAR (Multi-Agent Reflexion): Episodic Memory, Reflection
10
+ -->
11
+ <retrospective-config version="1.0">
12
+ <metadata>
13
+ <description>회고 시스템 설정 및 규칙 정의</description>
14
+ <theoretical-basis>
15
+ <paper id="agentsway" arxiv="2510.23664">Retrospective Learning</paper>
16
+ <paper id="tosem" doi="10.1145/3712003">Competency Framework</paper>
17
+ <paper id="self-refine">Iterative Refinement</paper>
18
+ </theoretical-basis>
19
+ </metadata>
20
+
21
+ <!-- ============================================================
22
+ 패턴 감지 규칙 (Pattern Detection)
23
+ Agentsway: "Fine-tuned LLMs leverage outputs and feedback"
24
+ ============================================================ -->
25
+ <pattern-detection>
26
+ <!-- 실패 패턴 자동 감지 임계값 -->
27
+ <failure-patterns>
28
+ <threshold
29
+ min-occurrences="3"
30
+ time-window="7d"
31
+ description="3회 이상 반복되면 패턴으로 등록">
32
+ <action>register_pattern</action>
33
+ <action>notify_pm</action>
34
+ </threshold>
35
+
36
+ <categories>
37
+ <category id="CQ" name="코드 품질">
38
+ <trigger>test_failure</trigger>
39
+ <trigger>lint_error</trigger>
40
+ <trigger>type_error</trigger>
41
+ <trigger>runtime_error</trigger>
42
+ </category>
43
+ <category id="DM" name="설계 불일치">
44
+ <trigger>api_mismatch</trigger>
45
+ <trigger>schema_mismatch</trigger>
46
+ <trigger>ssot_violation</trigger>
47
+ </category>
48
+ <category id="RQ" name="요구사항">
49
+ <trigger>requirement_ambiguity</trigger>
50
+ <trigger>scope_creep</trigger>
51
+ <trigger>missing_acceptance_criteria</trigger>
52
+ </category>
53
+ <category id="PR" name="프로세스">
54
+ <trigger>phase_violation</trigger>
55
+ <trigger>missing_documentation</trigger>
56
+ <trigger>workflow_error</trigger>
57
+ </category>
58
+ <category id="CM" name="커뮤니케이션">
59
+ <trigger>handoff_failure</trigger>
60
+ <trigger>context_loss</trigger>
61
+ <trigger>unclear_instruction</trigger>
62
+ </category>
63
+ </categories>
64
+ </failure-patterns>
65
+
66
+ <!-- 성공 패턴 자동 감지 -->
67
+ <success-patterns>
68
+ <threshold
69
+ min-occurrences="3"
70
+ success-rate="90%"
71
+ description="3회 이상 90% 성공률이면 패턴으로 등록">
72
+ <action>register_pattern</action>
73
+ <action>consider_standardization</action>
74
+ </threshold>
75
+
76
+ <categories>
77
+ <category id="DC" name="문서화">
78
+ <indicator>ssot_first_implementation</indicator>
79
+ <indicator>comprehensive_adr</indicator>
80
+ </category>
81
+ <category id="CQ" name="코드 품질">
82
+ <indicator>tdd_approach</indicator>
83
+ <indicator>high_coverage</indicator>
84
+ </category>
85
+ <category id="CL" name="협업">
86
+ <indicator>complete_handoff</indicator>
87
+ <indicator>clear_context</indicator>
88
+ </category>
89
+ </categories>
90
+ </success-patterns>
91
+ </pattern-detection>
92
+
93
+ <!-- ============================================================
94
+ 개선 규칙 (Improvement Rules)
95
+ Self-Refine: "FEEDBACK → REFINE iterative loop"
96
+ ============================================================ -->
97
+ <improvement-rules>
98
+ <!-- 자동 개선 제안 조건 -->
99
+ <auto-suggestion>
100
+ <rule id="IMP-AUTO-001">
101
+ <condition>failure_pattern.occurrences >= 3</condition>
102
+ <action>generate_prompt_improvement</action>
103
+ <target>affected_agent.skill_md</target>
104
+ <requires-approval>true</requires-approval>
105
+ </rule>
106
+
107
+ <rule id="IMP-AUTO-002">
108
+ <condition>success_pattern.validated == true</condition>
109
+ <action>propose_standardization</action>
110
+ <target>skill_md, template</target>
111
+ <requires-approval>true</requires-approval>
112
+ </rule>
113
+
114
+ <rule id="IMP-AUTO-003">
115
+ <condition>agent.score &lt; 70</condition>
116
+ <action>analyze_weakness</action>
117
+ <action>generate_training_suggestion</action>
118
+ <requires-approval>true</requires-approval>
119
+ </rule>
120
+ </auto-suggestion>
121
+
122
+ <!-- 개선 적용 프로세스 (Iterative Refinement) -->
123
+ <apply-process>
124
+ <step order="1">
125
+ <name>Proposal</name>
126
+ <description>개선안 생성</description>
127
+ <agent>tsq-retro</agent>
128
+ </step>
129
+ <step order="2">
130
+ <name>Review</name>
131
+ <description>PM/사용자 검토</description>
132
+ <requires-approval>true</requires-approval>
133
+ </step>
134
+ <step order="3">
135
+ <name>Apply</name>
136
+ <description>파일 수정 적용</description>
137
+ <targets>
138
+ <target type="skill">.claude/agents/*.md</target>
139
+ <target type="template">.timsquad/ssot/*.template.md</target>
140
+ <target type="knowledge">.timsquad/knowledge/lessons.md</target>
141
+ </targets>
142
+ </step>
143
+ <step order="4">
144
+ <name>Verify</name>
145
+ <description>다음 사이클에서 효과 측정</description>
146
+ <metric>pattern_recurrence</metric>
147
+ <metric>agent_score_change</metric>
148
+ </step>
149
+ </apply-process>
150
+ </improvement-rules>
151
+
152
+ <!-- ============================================================
153
+ 메트릭 정의 (Metrics Definition)
154
+ ACM TOSEM: "Performance Evaluation"
155
+ ============================================================ -->
156
+ <metrics-definition>
157
+ <!-- 에이전트 성과 메트릭 -->
158
+ <agent-metrics>
159
+ <metric id="success_rate" weight="0.3">
160
+ <formula>(successful_tasks / total_tasks) * 100</formula>
161
+ <target>90%</target>
162
+ </metric>
163
+ <metric id="revision_rate" weight="0.2">
164
+ <formula>1 - (avg_revisions / max_expected_revisions)</formula>
165
+ <target>&lt; 2 revisions</target>
166
+ </metric>
167
+ <metric id="feedback_rate" weight="0.2">
168
+ <formula>1 - (level2_level3_feedback / total_tasks)</formula>
169
+ <target>&lt; 10%</target>
170
+ </metric>
171
+ <metric id="ssot_compliance" weight="0.15">
172
+ <formula>compliant_implementations / total_implementations</formula>
173
+ <target>100%</target>
174
+ </metric>
175
+ <metric id="handoff_quality" weight="0.15">
176
+ <formula>complete_handoffs / total_handoffs</formula>
177
+ <target>95%</target>
178
+ </metric>
179
+ </agent-metrics>
180
+
181
+ <!-- 사이클 메트릭 -->
182
+ <cycle-metrics>
183
+ <metric id="total_tasks">완료된 작업 수</metric>
184
+ <metric id="overall_success_rate">전체 성공률</metric>
185
+ <metric id="avg_cycle_time">평균 작업 시간</metric>
186
+ <metric id="level3_feedback_count">Level 3 피드백 수</metric>
187
+ <metric id="pattern_recurrence">반복 패턴 수</metric>
188
+ </cycle-metrics>
189
+
190
+ <!-- 점수 계산 -->
191
+ <score-calculation>
192
+ <formula>
193
+ agent_score =
194
+ (success_rate * 0.3) +
195
+ (revision_rate * 0.2) +
196
+ (feedback_rate * 0.2) +
197
+ (ssot_compliance * 0.15) +
198
+ (handoff_quality * 0.15)
199
+ </formula>
200
+ <thresholds>
201
+ <level name="excellent" min="90">우수</level>
202
+ <level name="good" min="80">양호</level>
203
+ <level name="needs_improvement" min="70">개선 필요</level>
204
+ <level name="critical" min="0">심각</level>
205
+ </thresholds>
206
+ </score-calculation>
207
+ </metrics-definition>
208
+
209
+ <!-- ============================================================
210
+ 회고 사이클 설정
211
+ ============================================================ -->
212
+ <cycle-settings>
213
+ <!-- 사이클 기간 -->
214
+ <duration>
215
+ <default unit="days">14</default>
216
+ <minimum unit="days">7</minimum>
217
+ <maximum unit="days">30</maximum>
218
+ </duration>
219
+
220
+ <!-- 사이클 종료 조건 -->
221
+ <completion-criteria>
222
+ <criterion type="time">기간 만료</criterion>
223
+ <criterion type="milestone">주요 마일스톤 완료</criterion>
224
+ <criterion type="manual">사용자 수동 종료</criterion>
225
+ </completion-criteria>
226
+
227
+ <!-- 자동 회고 트리거 -->
228
+ <auto-triggers>
229
+ <trigger condition="phase_transition">Phase 전환 시</trigger>
230
+ <trigger condition="major_milestone">주요 마일스톤 완료 시</trigger>
231
+ <trigger condition="critical_feedback_count >= 5">Critical 피드백 5건 이상</trigger>
232
+ </auto-triggers>
233
+
234
+ <!-- 리포트 보존 -->
235
+ <retention>
236
+ <cycles-to-keep>10</cycles-to-keep>
237
+ <archive-after unit="months">6</archive-after>
238
+ </retention>
239
+ </cycle-settings>
240
+
241
+ <!-- ============================================================
242
+ 에이전트 역할 (회고 관련)
243
+ ============================================================ -->
244
+ <agent-roles>
245
+ <agent id="tsq-retro">
246
+ <responsibilities>
247
+ <duty>로그 분석 및 메트릭 계산</duty>
248
+ <duty>패턴 식별 및 분류</duty>
249
+ <duty>개선안 생성</duty>
250
+ <duty>회고 리포트 작성</duty>
251
+ </responsibilities>
252
+ <permissions>
253
+ <permission>read:.timsquad/logs/*</permission>
254
+ <permission>read:.timsquad/state/*</permission>
255
+ <permission>write:.timsquad/retrospective/*</permission>
256
+ </permissions>
257
+ </agent>
258
+
259
+ <agent id="pm">
260
+ <responsibilities>
261
+ <duty>개선안 검토 및 승인</duty>
262
+ <duty>사용자에게 회고 결과 보고</duty>
263
+ <duty>개선 적용 조율</duty>
264
+ </responsibilities>
265
+ </agent>
266
+ </agent-roles>
267
+
268
+ <!-- ============================================================
269
+ 학습 규칙 (Retrospective Learning)
270
+ Agentsway: "Retrospective learning process"
271
+ ============================================================ -->
272
+ <learning-rules>
273
+ <!-- 지식 축적 -->
274
+ <knowledge-accumulation>
275
+ <rule id="LEARN-001">
276
+ <source>resolved_failure_patterns</source>
277
+ <destination>.timsquad/knowledge/lessons.md</destination>
278
+ <format>structured_lesson</format>
279
+ </rule>
280
+ <rule id="LEARN-002">
281
+ <source>validated_success_patterns</source>
282
+ <destination>.timsquad/knowledge/tribal.md</destination>
283
+ <format>best_practice</format>
284
+ </rule>
285
+ </knowledge-accumulation>
286
+
287
+ <!-- 프롬프트 진화 -->
288
+ <prompt-evolution>
289
+ <versioning>semantic</versioning>
290
+ <rollback-enabled>true</rollback-enabled>
291
+ <a-b-testing>optional</a-b-testing>
292
+ </prompt-evolution>
293
+ </learning-rules>
294
+ </retrospective-config>