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.
- package/LICENSE +21 -0
- package/README.md +347 -0
- package/bin/tsq.js +6 -0
- package/dist/commands/feedback.d.ts +3 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +142 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/full.d.ts +3 -0
- package/dist/commands/full.d.ts.map +1 -0
- package/dist/commands/full.js +87 -0
- package/dist/commands/full.js.map +1 -0
- package/dist/commands/git/commit.d.ts +3 -0
- package/dist/commands/git/commit.d.ts.map +1 -0
- package/dist/commands/git/commit.js +88 -0
- package/dist/commands/git/commit.js.map +1 -0
- package/dist/commands/git/index.d.ts +5 -0
- package/dist/commands/git/index.d.ts.map +1 -0
- package/dist/commands/git/index.js +5 -0
- package/dist/commands/git/index.js.map +1 -0
- package/dist/commands/git/pr.d.ts +3 -0
- package/dist/commands/git/pr.d.ts.map +1 -0
- package/dist/commands/git/pr.js +138 -0
- package/dist/commands/git/pr.js.map +1 -0
- package/dist/commands/git/release.d.ts +3 -0
- package/dist/commands/git/release.d.ts.map +1 -0
- package/dist/commands/git/release.js +158 -0
- package/dist/commands/git/release.js.map +1 -0
- package/dist/commands/git/sync.d.ts +3 -0
- package/dist/commands/git/sync.d.ts.map +1 -0
- package/dist/commands/git/sync.js +132 -0
- package/dist/commands/git/sync.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +150 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/log.d.ts +3 -0
- package/dist/commands/log.d.ts.map +1 -0
- package/dist/commands/log.js +271 -0
- package/dist/commands/log.js.map +1 -0
- package/dist/commands/metrics.d.ts +3 -0
- package/dist/commands/metrics.d.ts.map +1 -0
- package/dist/commands/metrics.js +299 -0
- package/dist/commands/metrics.js.map +1 -0
- package/dist/commands/quick.d.ts +3 -0
- package/dist/commands/quick.d.ts.map +1 -0
- package/dist/commands/quick.js +136 -0
- package/dist/commands/quick.js.map +1 -0
- package/dist/commands/retro.d.ts +3 -0
- package/dist/commands/retro.d.ts.map +1 -0
- package/dist/commands/retro.js +280 -0
- package/dist/commands/retro.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +127 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/watch.d.ts +3 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +213 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/config.d.ts +34 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +108 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/project.d.ts +47 -0
- package/dist/lib/project.d.ts.map +1 -0
- package/dist/lib/project.js +191 -0
- package/dist/lib/project.js.map +1 -0
- package/dist/lib/template.d.ts +33 -0
- package/dist/lib/template.d.ts.map +1 -0
- package/dist/lib/template.js +151 -0
- package/dist/lib/template.js.map +1 -0
- package/dist/types/config.d.ts +75 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +66 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/feedback.d.ts +59 -0
- package/dist/types/feedback.d.ts.map +1 -0
- package/dist/types/feedback.js +26 -0
- package/dist/types/feedback.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/project.d.ts +89 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/project.js +44 -0
- package/dist/types/project.js.map +1 -0
- package/dist/utils/colors.d.ts +30 -0
- package/dist/utils/colors.d.ts.map +1 -0
- package/dist/utils/colors.js +54 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/date.d.ts +25 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +65 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/fs.d.ts +49 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +84 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/prompts.d.ts +31 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +95 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/yaml.d.ts +21 -0
- package/dist/utils/yaml.d.ts.map +1 -0
- package/dist/utils/yaml.js +40 -0
- package/dist/utils/yaml.js.map +1 -0
- package/package.json +71 -0
- package/templates/common/CLAUDE.md.template +254 -0
- package/templates/common/claude/agents/tsq-dba.md +290 -0
- package/templates/common/claude/agents/tsq-designer.md +304 -0
- package/templates/common/claude/agents/tsq-developer.md +118 -0
- package/templates/common/claude/agents/tsq-planner.md +90 -0
- package/templates/common/claude/agents/tsq-prompter.md +336 -0
- package/templates/common/claude/agents/tsq-qa.md +134 -0
- package/templates/common/claude/agents/tsq-retro.md +168 -0
- package/templates/common/claude/agents/tsq-security.md +190 -0
- package/templates/common/claude/skills/architecture/SKILL.md +123 -0
- package/templates/common/claude/skills/backend/node/SKILL.md +1015 -0
- package/templates/common/claude/skills/coding/SKILL.md +171 -0
- package/templates/common/claude/skills/database/prisma/SKILL.md +357 -0
- package/templates/common/claude/skills/frontend/nextjs/SKILL.md +279 -0
- package/templates/common/claude/skills/frontend/react/SKILL.md +1729 -0
- package/templates/common/claude/skills/methodology/bdd/SKILL.md +234 -0
- package/templates/common/claude/skills/methodology/ddd/SKILL.md +311 -0
- package/templates/common/claude/skills/methodology/tdd/SKILL.md +512 -0
- package/templates/common/claude/skills/planning/SKILL.md +90 -0
- package/templates/common/claude/skills/security/SKILL.md +234 -0
- package/templates/common/claude/skills/testing/SKILL.md +146 -0
- package/templates/common/claude/skills/typescript/SKILL.md +435 -0
- package/templates/common/config.template.yaml +131 -0
- package/templates/common/timsquad/architectures/clean/ARCHITECTURE.md +49 -0
- package/templates/common/timsquad/architectures/clean/backend.xml +210 -0
- package/templates/common/timsquad/architectures/clean/frontend.xml +148 -0
- package/templates/common/timsquad/architectures/fsd/ARCHITECTURE.md +67 -0
- package/templates/common/timsquad/architectures/fsd/frontend.xml +288 -0
- package/templates/common/timsquad/architectures/hexagonal/ARCHITECTURE.md +60 -0
- package/templates/common/timsquad/architectures/hexagonal/backend.xml +300 -0
- package/templates/common/timsquad/constraints/competency-framework.xml +501 -0
- package/templates/common/timsquad/constraints/ssot-schema.xml +433 -0
- package/templates/common/timsquad/feedback/feedback-router.sh +341 -0
- package/templates/common/timsquad/feedback/routing-rules.yaml +352 -0
- package/templates/common/timsquad/generators/data-design.xml +290 -0
- package/templates/common/timsquad/generators/prd.xml +280 -0
- package/templates/common/timsquad/generators/requirements.xml +220 -0
- package/templates/common/timsquad/generators/service-spec.xml +266 -0
- package/templates/common/timsquad/logs/_example.md +81 -0
- package/templates/common/timsquad/logs/_template.md +46 -0
- package/templates/common/timsquad/patterns/cqrs.xml +127 -0
- package/templates/common/timsquad/patterns/event-sourcing.xml +85 -0
- package/templates/common/timsquad/patterns/repository.xml +64 -0
- package/templates/common/timsquad/process/state-machine.xml +343 -0
- package/templates/common/timsquad/process/validation-rules.xml +308 -0
- package/templates/common/timsquad/process/workflow-base.xml +202 -0
- package/templates/common/timsquad/retrospective/cycle-report.template.md +205 -0
- package/templates/common/timsquad/retrospective/metrics/metrics-schema.json +203 -0
- package/templates/common/timsquad/retrospective/patterns/failure-patterns.md +199 -0
- package/templates/common/timsquad/retrospective/patterns/success-patterns.md +262 -0
- package/templates/common/timsquad/retrospective/retrospective-config.xml +294 -0
- package/templates/common/timsquad/retrospective/retrospective-state.xml +210 -0
- package/templates/common/timsquad/ssot/adr/ADR-000-template.md +121 -0
- package/templates/common/timsquad/ssot/adr/ADR-001-example.md +115 -0
- package/templates/common/timsquad/ssot/data-design.template.md +132 -0
- package/templates/common/timsquad/ssot/deployment-spec.template.md +384 -0
- package/templates/common/timsquad/ssot/env-config.template.md +346 -0
- package/templates/common/timsquad/ssot/error-codes.template.md +114 -0
- package/templates/common/timsquad/ssot/functional-spec.template.md +185 -0
- package/templates/common/timsquad/ssot/glossary.template.md +148 -0
- package/templates/common/timsquad/ssot/integration-spec.template.md +391 -0
- package/templates/common/timsquad/ssot/planning.template.md +94 -0
- package/templates/common/timsquad/ssot/prd.template.md +102 -0
- package/templates/common/timsquad/ssot/requirements.template.md +117 -0
- package/templates/common/timsquad/ssot/security-spec.template.md +309 -0
- package/templates/common/timsquad/ssot/service-spec.template.md +194 -0
- package/templates/common/timsquad/ssot/test-spec.template.md +264 -0
- package/templates/common/timsquad/ssot/ui-ux-spec.template.md +262 -0
- 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 < 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>< 2 revisions</target>
|
|
166
|
+
</metric>
|
|
167
|
+
<metric id="feedback_rate" weight="0.2">
|
|
168
|
+
<formula>1 - (level2_level3_feedback / total_tasks)</formula>
|
|
169
|
+
<target>< 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>
|