@cleocode/skills 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 (171) hide show
  1. package/dispatch-config.json +404 -0
  2. package/index.d.ts +178 -0
  3. package/index.js +405 -0
  4. package/package.json +14 -0
  5. package/profiles/core.json +7 -0
  6. package/profiles/full.json +10 -0
  7. package/profiles/minimal.json +7 -0
  8. package/profiles/recommended.json +7 -0
  9. package/provider-skills-map.json +97 -0
  10. package/skills/_shared/cleo-style-guide.md +84 -0
  11. package/skills/_shared/manifest-operations.md +810 -0
  12. package/skills/_shared/placeholders.json +433 -0
  13. package/skills/_shared/skill-chaining-patterns.md +237 -0
  14. package/skills/_shared/subagent-protocol-base.md +223 -0
  15. package/skills/_shared/task-system-integration.md +232 -0
  16. package/skills/_shared/testing-framework-config.md +110 -0
  17. package/skills/ct-cleo/SKILL.md +490 -0
  18. package/skills/ct-cleo/references/anti-patterns.md +19 -0
  19. package/skills/ct-cleo/references/loom-lifecycle.md +136 -0
  20. package/skills/ct-cleo/references/orchestrator-constraints.md +55 -0
  21. package/skills/ct-cleo/references/session-protocol.md +162 -0
  22. package/skills/ct-codebase-mapper/SKILL.md +82 -0
  23. package/skills/ct-contribution/SKILL.md +521 -0
  24. package/skills/ct-contribution/templates/contribution-init.json +21 -0
  25. package/skills/ct-dev-workflow/SKILL.md +423 -0
  26. package/skills/ct-docs-lookup/SKILL.md +66 -0
  27. package/skills/ct-docs-review/SKILL.md +175 -0
  28. package/skills/ct-docs-write/SKILL.md +108 -0
  29. package/skills/ct-documentor/SKILL.md +231 -0
  30. package/skills/ct-epic-architect/SKILL.md +305 -0
  31. package/skills/ct-epic-architect/references/bug-epic-example.md +172 -0
  32. package/skills/ct-epic-architect/references/commands.md +201 -0
  33. package/skills/ct-epic-architect/references/feature-epic-example.md +210 -0
  34. package/skills/ct-epic-architect/references/migration-epic-example.md +244 -0
  35. package/skills/ct-epic-architect/references/output-format.md +92 -0
  36. package/skills/ct-epic-architect/references/patterns.md +284 -0
  37. package/skills/ct-epic-architect/references/refactor-epic-example.md +412 -0
  38. package/skills/ct-epic-architect/references/research-epic-example.md +226 -0
  39. package/skills/ct-epic-architect/references/shell-escaping.md +86 -0
  40. package/skills/ct-epic-architect/references/skill-aware-execution.md +195 -0
  41. package/skills/ct-grade/SKILL.md +230 -0
  42. package/skills/ct-grade/agents/analysis-reporter.md +203 -0
  43. package/skills/ct-grade/agents/blind-comparator.md +157 -0
  44. package/skills/ct-grade/agents/scenario-runner.md +134 -0
  45. package/skills/ct-grade/eval-viewer/__pycache__/generate_grade_review.cpython-314.pyc +0 -0
  46. package/skills/ct-grade/eval-viewer/generate_grade_review.py +1138 -0
  47. package/skills/ct-grade/eval-viewer/generate_grade_viewer.py +544 -0
  48. package/skills/ct-grade/eval-viewer/generate_review.py +283 -0
  49. package/skills/ct-grade/eval-viewer/grade-review.html +1574 -0
  50. package/skills/ct-grade/eval-viewer/viewer.html +219 -0
  51. package/skills/ct-grade/evals/evals.json +94 -0
  52. package/skills/ct-grade/references/ab-test-methodology.md +150 -0
  53. package/skills/ct-grade/references/domains.md +137 -0
  54. package/skills/ct-grade/references/grade-spec.md +236 -0
  55. package/skills/ct-grade/references/scenario-playbook.md +234 -0
  56. package/skills/ct-grade/references/token-tracking.md +120 -0
  57. package/skills/ct-grade/scripts/__pycache__/audit_analyzer.cpython-314.pyc +0 -0
  58. package/skills/ct-grade/scripts/__pycache__/run_ab_test.cpython-314.pyc +0 -0
  59. package/skills/ct-grade/scripts/__pycache__/run_all.cpython-314.pyc +0 -0
  60. package/skills/ct-grade/scripts/__pycache__/token_tracker.cpython-314.pyc +0 -0
  61. package/skills/ct-grade/scripts/audit_analyzer.py +279 -0
  62. package/skills/ct-grade/scripts/generate_report.py +283 -0
  63. package/skills/ct-grade/scripts/run_ab_test.py +504 -0
  64. package/skills/ct-grade/scripts/run_all.py +287 -0
  65. package/skills/ct-grade/scripts/setup_run.py +183 -0
  66. package/skills/ct-grade/scripts/token_tracker.py +630 -0
  67. package/skills/ct-grade-v2-1/SKILL.md +237 -0
  68. package/skills/ct-grade-v2-1/agents/analysis-reporter.md +203 -0
  69. package/skills/ct-grade-v2-1/agents/blind-comparator.md +157 -0
  70. package/skills/ct-grade-v2-1/agents/scenario-runner.md +179 -0
  71. package/skills/ct-grade-v2-1/evals/evals.json +74 -0
  72. package/skills/ct-grade-v2-1/grade-viewer/__pycache__/build_op_stats.cpython-314.pyc +0 -0
  73. package/skills/ct-grade-v2-1/grade-viewer/__pycache__/generate_grade_review.cpython-314.pyc +0 -0
  74. package/skills/ct-grade-v2-1/grade-viewer/build_op_stats.py +174 -0
  75. package/skills/ct-grade-v2-1/grade-viewer/eval-analysis.json +41 -0
  76. package/skills/ct-grade-v2-1/grade-viewer/eval-report.md +34 -0
  77. package/skills/ct-grade-v2-1/grade-viewer/generate_grade_review.py +1023 -0
  78. package/skills/ct-grade-v2-1/grade-viewer/generate_grade_viewer.py +548 -0
  79. package/skills/ct-grade-v2-1/grade-viewer/grade-review-eval.html +613 -0
  80. package/skills/ct-grade-v2-1/grade-viewer/grade-review.html +1532 -0
  81. package/skills/ct-grade-v2-1/grade-viewer/viewer.html +620 -0
  82. package/skills/ct-grade-v2-1/manifest-entry.json +31 -0
  83. package/skills/ct-grade-v2-1/references/ab-testing.md +233 -0
  84. package/skills/ct-grade-v2-1/references/domains-ssot.md +156 -0
  85. package/skills/ct-grade-v2-1/references/grade-spec-v2.md +167 -0
  86. package/skills/ct-grade-v2-1/references/playbook-v2.md +393 -0
  87. package/skills/ct-grade-v2-1/references/token-tracking.md +202 -0
  88. package/skills/ct-grade-v2-1/scripts/generate_report.py +419 -0
  89. package/skills/ct-grade-v2-1/scripts/run_ab_test.py +493 -0
  90. package/skills/ct-grade-v2-1/scripts/run_scenario.py +396 -0
  91. package/skills/ct-grade-v2-1/scripts/setup_run.py +207 -0
  92. package/skills/ct-grade-v2-1/scripts/token_tracker.py +175 -0
  93. package/skills/ct-memory/SKILL.md +84 -0
  94. package/skills/ct-orchestrator/INSTALL.md +61 -0
  95. package/skills/ct-orchestrator/README.md +69 -0
  96. package/skills/ct-orchestrator/SKILL.md +380 -0
  97. package/skills/ct-orchestrator/manifest-entry.json +19 -0
  98. package/skills/ct-orchestrator/orchestrator-prompt.txt +17 -0
  99. package/skills/ct-orchestrator/references/SUBAGENT-PROTOCOL-BLOCK.md +66 -0
  100. package/skills/ct-orchestrator/references/autonomous-operation.md +167 -0
  101. package/skills/ct-orchestrator/references/lifecycle-gates.md +98 -0
  102. package/skills/ct-orchestrator/references/orchestrator-compliance.md +271 -0
  103. package/skills/ct-orchestrator/references/orchestrator-handoffs.md +85 -0
  104. package/skills/ct-orchestrator/references/orchestrator-patterns.md +164 -0
  105. package/skills/ct-orchestrator/references/orchestrator-recovery.md +113 -0
  106. package/skills/ct-orchestrator/references/orchestrator-spawning.md +271 -0
  107. package/skills/ct-orchestrator/references/orchestrator-tokens.md +180 -0
  108. package/skills/ct-research-agent/SKILL.md +226 -0
  109. package/skills/ct-skill-creator/.cleo/.context-state.json +13 -0
  110. package/skills/ct-skill-creator/.cleo/logs/cleo.2026-03-07.1.log +24 -0
  111. package/skills/ct-skill-creator/.cleo/tasks.db +0 -0
  112. package/skills/ct-skill-creator/SKILL.md +356 -0
  113. package/skills/ct-skill-creator/agents/analyzer.md +276 -0
  114. package/skills/ct-skill-creator/agents/comparator.md +204 -0
  115. package/skills/ct-skill-creator/agents/grader.md +225 -0
  116. package/skills/ct-skill-creator/assets/eval_review.html +146 -0
  117. package/skills/ct-skill-creator/eval-viewer/__pycache__/generate_review.cpython-314.pyc +0 -0
  118. package/skills/ct-skill-creator/eval-viewer/generate_review.py +471 -0
  119. package/skills/ct-skill-creator/eval-viewer/viewer.html +1325 -0
  120. package/skills/ct-skill-creator/manifest-entry.json +17 -0
  121. package/skills/ct-skill-creator/references/dynamic-context.md +228 -0
  122. package/skills/ct-skill-creator/references/frontmatter.md +83 -0
  123. package/skills/ct-skill-creator/references/invocation-control.md +165 -0
  124. package/skills/ct-skill-creator/references/output-patterns.md +86 -0
  125. package/skills/ct-skill-creator/references/provider-deployment.md +175 -0
  126. package/skills/ct-skill-creator/references/schemas.md +430 -0
  127. package/skills/ct-skill-creator/references/workflows.md +28 -0
  128. package/skills/ct-skill-creator/scripts/__init__.py +1 -0
  129. package/skills/ct-skill-creator/scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  130. package/skills/ct-skill-creator/scripts/__pycache__/aggregate_benchmark.cpython-314.pyc +0 -0
  131. package/skills/ct-skill-creator/scripts/__pycache__/generate_report.cpython-314.pyc +0 -0
  132. package/skills/ct-skill-creator/scripts/__pycache__/improve_description.cpython-314.pyc +0 -0
  133. package/skills/ct-skill-creator/scripts/__pycache__/init_skill.cpython-314.pyc +0 -0
  134. package/skills/ct-skill-creator/scripts/__pycache__/quick_validate.cpython-314.pyc +0 -0
  135. package/skills/ct-skill-creator/scripts/__pycache__/run_eval.cpython-314.pyc +0 -0
  136. package/skills/ct-skill-creator/scripts/__pycache__/run_loop.cpython-314.pyc +0 -0
  137. package/skills/ct-skill-creator/scripts/__pycache__/utils.cpython-314.pyc +0 -0
  138. package/skills/ct-skill-creator/scripts/aggregate_benchmark.py +401 -0
  139. package/skills/ct-skill-creator/scripts/generate_report.py +326 -0
  140. package/skills/ct-skill-creator/scripts/improve_description.py +247 -0
  141. package/skills/ct-skill-creator/scripts/init_skill.py +306 -0
  142. package/skills/ct-skill-creator/scripts/package_skill.py +110 -0
  143. package/skills/ct-skill-creator/scripts/quick_validate.py +97 -0
  144. package/skills/ct-skill-creator/scripts/run_eval.py +310 -0
  145. package/skills/ct-skill-creator/scripts/run_loop.py +328 -0
  146. package/skills/ct-skill-creator/scripts/utils.py +47 -0
  147. package/skills/ct-skill-validator/SKILL.md +178 -0
  148. package/skills/ct-skill-validator/agents/ecosystem-checker.md +151 -0
  149. package/skills/ct-skill-validator/assets/valid-skill-example.md +13 -0
  150. package/skills/ct-skill-validator/evals/eval_set.json +14 -0
  151. package/skills/ct-skill-validator/evals/evals.json +52 -0
  152. package/skills/ct-skill-validator/manifest-entry.json +20 -0
  153. package/skills/ct-skill-validator/references/cleo-ecosystem-rules.md +163 -0
  154. package/skills/ct-skill-validator/references/validation-rules.md +168 -0
  155. package/skills/ct-skill-validator/scripts/__init__.py +0 -0
  156. package/skills/ct-skill-validator/scripts/__pycache__/audit_body.cpython-314.pyc +0 -0
  157. package/skills/ct-skill-validator/scripts/__pycache__/check_ecosystem.cpython-314.pyc +0 -0
  158. package/skills/ct-skill-validator/scripts/__pycache__/generate_validation_report.cpython-314.pyc +0 -0
  159. package/skills/ct-skill-validator/scripts/__pycache__/validate.cpython-314.pyc +0 -0
  160. package/skills/ct-skill-validator/scripts/audit_body.py +242 -0
  161. package/skills/ct-skill-validator/scripts/check_ecosystem.py +169 -0
  162. package/skills/ct-skill-validator/scripts/check_manifest.py +172 -0
  163. package/skills/ct-skill-validator/scripts/generate_validation_report.py +442 -0
  164. package/skills/ct-skill-validator/scripts/validate.py +422 -0
  165. package/skills/ct-spec-writer/SKILL.md +189 -0
  166. package/skills/ct-stickynote/README.md +14 -0
  167. package/skills/ct-stickynote/SKILL.md +46 -0
  168. package/skills/ct-task-executor/SKILL.md +296 -0
  169. package/skills/ct-validator/SKILL.md +216 -0
  170. package/skills/manifest.json +469 -0
  171. package/skills.json +281 -0
@@ -0,0 +1,412 @@
1
+ # Refactor Epic Example: Modernize Authentication System
2
+
3
+ This example demonstrates a brownfield refactoring epic for modernizing legacy code with safety checkpoints and rollback capability.
4
+
5
+ ---
6
+
7
+ ## Scenario
8
+
9
+ An existing Express.js application needs to modernize its authentication system:
10
+ - Replace session-based auth with JWT tokens
11
+ - Update password hashing from MD5 to bcrypt
12
+ - Add refresh token support
13
+ - Maintain backwards compatibility during transition
14
+ - Enable rollback at each phase
15
+
16
+ **Risk Level**: Medium-High (existing users, production data)
17
+
18
+ **Classification**: Brownfield refactor (existing codebase)
19
+
20
+ ---
21
+
22
+ ## Step 1: Impact Analysis (Wave 0 - Always First for Brownfield)
23
+
24
+ Before creating the epic, perform impact analysis:
25
+
26
+ ```bash
27
+ # Check for related existing work
28
+ {{TASK_FIND_CMD}} "auth" --status pending
29
+ {{TASK_LIST_CMD}} --type epic | jq '.tasks[] | select(.title | test("auth"; "i"))'
30
+
31
+ # Verify current project phase
32
+ {{TASK_PHASE_CMD}}
33
+ ```
34
+
35
+ ---
36
+
37
+ ## Step 2: Create the Refactor Epic
38
+
39
+ ```bash
40
+ {{TASK_ADD_CMD}} "EPIC: Modernize Authentication System" \
41
+ --type epic \
42
+ --size large \
43
+ --priority high \
44
+ --phase core \
45
+ --epic-lifecycle planning \
46
+ --labels "refactor,auth,security,brownfield,v2.0" \
47
+ --description "Modernize legacy auth from session-based to JWT. Phases: (1) Impact analysis, (2) New auth module parallel to legacy, (3) Gradual migration with feature flags, (4) Legacy removal. Each phase has rollback checkpoint." \
48
+ --acceptance "All auth flows use JWT" \
49
+ --acceptance "Password hashing upgraded to bcrypt" \
50
+ --acceptance "Refresh tokens implemented" \
51
+ --acceptance "Rollback tested at each phase" \
52
+ --acceptance "Zero user disruption" \
53
+ --notes "Refactor plan approved by security team. Requires coordinated deployment."
54
+ ```
55
+
56
+ **Annotation**: Refactor epics use `--epic-lifecycle planning` initially. Labels include `brownfield` and `refactor` for filtering. Acceptance criteria emphasize safety (rollback, zero disruption).
57
+
58
+ ---
59
+
60
+ ## Step 3: Create Tasks by Phase
61
+
62
+ ### Wave 0: Impact Analysis (Foundation - No Dependencies)
63
+
64
+ ```bash
65
+ # T1: Impact analysis and discovery (Wave 0)
66
+ {{TASK_ADD_CMD}} "Analyze current auth system and dependencies" \
67
+ --type task \
68
+ --size medium \
69
+ --priority critical \
70
+ --parent {{EPIC_ID}} \
71
+ --phase setup \
72
+ --labels "refactor,analysis,wave-0" \
73
+ --description "Document current auth implementation. Map all files, functions, and integration points. Identify external dependencies (third-party services, APIs). Create dependency graph." \
74
+ --acceptance "Auth dependency map documented" \
75
+ --acceptance "All integration points identified" \
76
+ --acceptance "External service dependencies listed" \
77
+ --acceptance "Files to modify cataloged" \
78
+ --files "docs/refactor/auth-impact-analysis.md"
79
+
80
+ # T2: Create regression test baseline (Wave 0 - parallel with T1)
81
+ {{TASK_ADD_CMD}} "Create regression test baseline for auth" \
82
+ --type task \
83
+ --size medium \
84
+ --priority high \
85
+ --parent {{EPIC_ID}} \
86
+ --phase setup \
87
+ --labels "refactor,testing,wave-0,regression" \
88
+ --description "Write integration tests for ALL current auth behaviors BEFORE any changes. These tests verify no regressions during refactor." \
89
+ --acceptance "Login flow tested (success and failure)" \
90
+ --acceptance "Session handling tested" \
91
+ --acceptance "Password validation tested" \
92
+ --acceptance "All edge cases covered" \
93
+ --files "tests/auth/regression-baseline.test.ts"
94
+ ```
95
+
96
+ **Annotation**: Wave 0 for refactors MUST include impact analysis AND regression baseline. Never modify code without tests first.
97
+
98
+ ### Wave 1: New Module Creation (Depends on Wave 0)
99
+
100
+ ```bash
101
+ # T3: Create new JWT auth module (Wave 1 - depends on T1, T2)
102
+ {{TASK_ADD_CMD}} "Create new JWT auth module (parallel to legacy)" \
103
+ --type task \
104
+ --size large \
105
+ --priority high \
106
+ --parent {{EPIC_ID}} \
107
+ --phase core \
108
+ --depends {{T1_ID}},{{T2_ID}} \
109
+ --labels "refactor,jwt,implementation,wave-1" \
110
+ --description "Create NEW auth module using JWT. Do NOT modify legacy code yet. New module runs parallel to existing auth. Feature flag controls which system is used." \
111
+ --acceptance "JWT generation and validation working" \
112
+ --acceptance "Refresh token rotation implemented" \
113
+ --acceptance "Module isolated from legacy code" \
114
+ --acceptance "Feature flag controls activation" \
115
+ --files "src/lib/auth-v2/jwt.ts,src/lib/auth-v2/tokens.ts,src/lib/auth-v2/index.ts"
116
+
117
+ # T4: Implement bcrypt password hashing (Wave 1 - parallel with T3)
118
+ {{TASK_ADD_CMD}} "Implement bcrypt password hashing utilities" \
119
+ --type task \
120
+ --size small \
121
+ --priority high \
122
+ --parent {{EPIC_ID}} \
123
+ --phase core \
124
+ --depends {{T1_ID}},{{T2_ID}} \
125
+ --labels "refactor,bcrypt,security,wave-1" \
126
+ --description "Create bcrypt hashing utilities. Include migration function that can verify both MD5 (legacy) and bcrypt (new) hashes for gradual transition." \
127
+ --acceptance "Bcrypt hash function works" \
128
+ --acceptance "Dual-hash verification supports migration" \
129
+ --acceptance "Timing-safe comparison used" \
130
+ --files "src/lib/auth-v2/password.ts"
131
+
132
+ # T5: Create rollback procedure for Wave 1 (Wave 1 - parallel)
133
+ {{TASK_ADD_CMD}} "Create Wave 1 rollback procedure" \
134
+ --type task \
135
+ --size small \
136
+ --priority high \
137
+ --parent {{EPIC_ID}} \
138
+ --phase core \
139
+ --depends {{T1_ID}} \
140
+ --labels "refactor,rollback,wave-1" \
141
+ --description "Document and test rollback: disable feature flag, verify legacy auth still works. Test procedure in staging." \
142
+ --acceptance "Rollback procedure documented" \
143
+ --acceptance "Tested in staging environment" \
144
+ --acceptance "Recovery time under 5 minutes" \
145
+ --files "docs/refactor/wave-1-rollback.md"
146
+ ```
147
+
148
+ **Annotation**: T3, T4, T5 all depend on Wave 0 completion but are independent of each other (PARALLEL). New code is ADDITIVE - no legacy modifications yet.
149
+
150
+ ### Wave 2: Integration Layer (Depends on T3, T4)
151
+
152
+ ```bash
153
+ # T6: Create auth adapter/facade (Wave 2 - convergence point)
154
+ {{TASK_ADD_CMD}} "Create auth adapter for gradual migration" \
155
+ --type task \
156
+ --size medium \
157
+ --priority high \
158
+ --parent {{EPIC_ID}} \
159
+ --phase core \
160
+ --depends {{T3_ID}},{{T4_ID}} \
161
+ --labels "refactor,adapter,wave-2" \
162
+ --description "Create adapter layer that can route to either legacy or new auth based on feature flag. Handles dual-hash password verification during migration." \
163
+ --acceptance "Adapter routes correctly by feature flag" \
164
+ --acceptance "Dual-hash verification works" \
165
+ --acceptance "Metrics track which system handles requests" \
166
+ --files "src/lib/auth/adapter.ts"
167
+
168
+ # T7: Integration tests for new auth (Wave 2 - parallel with T6)
169
+ {{TASK_ADD_CMD}} "Write integration tests for new auth module" \
170
+ --type task \
171
+ --size medium \
172
+ --priority high \
173
+ --parent {{EPIC_ID}} \
174
+ --phase testing \
175
+ --depends {{T3_ID}},{{T4_ID}},{{T5_ID}} \
176
+ --labels "refactor,testing,wave-2" \
177
+ --description "Write comprehensive tests for new JWT auth. Verify behavior matches legacy system. Test rollback procedure." \
178
+ --acceptance "JWT flow tests pass" \
179
+ --acceptance "Refresh token tests pass" \
180
+ --acceptance "Rollback procedure verified" \
181
+ --files "tests/auth/jwt-auth.test.ts"
182
+ ```
183
+
184
+ ### Wave 3: Gradual Migration (Depends on T6, T7)
185
+
186
+ ```bash
187
+ # T8: Enable new auth for new users (Wave 3)
188
+ {{TASK_ADD_CMD}} "Enable new auth for new user registrations" \
189
+ --type task \
190
+ --size small \
191
+ --priority medium \
192
+ --parent {{EPIC_ID}} \
193
+ --phase core \
194
+ --depends {{T6_ID}},{{T7_ID}} \
195
+ --labels "refactor,migration,wave-3" \
196
+ --description "Configure feature flag so new user registrations use JWT + bcrypt. Existing users remain on legacy until they log in and get upgraded." \
197
+ --acceptance "New users get JWT auth" \
198
+ --acceptance "New passwords use bcrypt" \
199
+ --acceptance "Metrics show migration progress" \
200
+ --notes "First production exposure - monitor closely"
201
+
202
+ # T9: Implement automatic user upgrade on login (Wave 3 - parallel)
203
+ {{TASK_ADD_CMD}} "Auto-upgrade users to new auth on login" \
204
+ --type task \
205
+ --size medium \
206
+ --priority medium \
207
+ --parent {{EPIC_ID}} \
208
+ --phase core \
209
+ --depends {{T6_ID}},{{T7_ID}} \
210
+ --labels "refactor,migration,wave-3" \
211
+ --description "When existing user logs in with valid MD5 password, transparently re-hash with bcrypt and migrate to JWT. User notices no change." \
212
+ --acceptance "Login triggers automatic migration" \
213
+ --acceptance "Password upgraded to bcrypt silently" \
214
+ --acceptance "User receives JWT on next login" \
215
+ --files "src/lib/auth/migration.ts"
216
+ ```
217
+
218
+ ### Wave 4: Cleanup (Final - Depends on T8, T9)
219
+
220
+ ```bash
221
+ # T10: Monitor and validate migration completeness (Wave 4)
222
+ {{TASK_ADD_CMD}} "Validate migration completeness" \
223
+ --type task \
224
+ --size small \
225
+ --priority medium \
226
+ --parent {{EPIC_ID}} \
227
+ --phase testing \
228
+ --depends {{T8_ID}},{{T9_ID}} \
229
+ --labels "refactor,validation,wave-4" \
230
+ --description "Monitor migration metrics. Validate percentage of users migrated. Identify any stuck users. Plan forced migration for stragglers." \
231
+ --acceptance "Migration dashboard shows >95%% users migrated" \
232
+ --acceptance "Straggler users identified" \
233
+ --acceptance "Forced migration plan for remaining users" \
234
+ --notes "Shell escaping: Use \\$VARIABLE to prevent interpolation in notes"
235
+
236
+ # T11: Remove legacy auth code (Wave 4 - final cleanup)
237
+ {{TASK_ADD_CMD}} "Remove legacy auth code and feature flags" \
238
+ --type task \
239
+ --size medium \
240
+ --priority low \
241
+ --parent {{EPIC_ID}} \
242
+ --phase polish \
243
+ --depends {{T10_ID}} \
244
+ --labels "refactor,cleanup,wave-4,tech-debt" \
245
+ --description "After validation, remove legacy auth code, MD5 functions, session-based auth, and feature flags. Update documentation." \
246
+ --acceptance "Legacy code removed" \
247
+ --acceptance "Feature flags removed" \
248
+ --acceptance "Documentation updated" \
249
+ --acceptance "cleanupDone verification gate set" \
250
+ --files "src/lib/auth/legacy/**"
251
+
252
+ # T12: Final regression testing (Wave 4 - depends on T11)
253
+ {{TASK_ADD_CMD}} "Final regression test suite" \
254
+ --type task \
255
+ --size small \
256
+ --priority high \
257
+ --parent {{EPIC_ID}} \
258
+ --phase testing \
259
+ --depends {{T11_ID}} \
260
+ --labels "refactor,testing,wave-4,regression" \
261
+ --description "Run full regression test suite from T2 against new auth system. All tests must pass. Verify no behavioral changes." \
262
+ --acceptance "All baseline regression tests pass" \
263
+ --acceptance "No behavioral regressions" \
264
+ --acceptance "Performance benchmarks met"
265
+ ```
266
+
267
+ ---
268
+
269
+ ## Step 4: Start Session
270
+
271
+ ```bash
272
+ {{TASK_SESSION_START_CMD}} \
273
+ --scope epic:{{EPIC_ID}} \
274
+ --name "Auth Modernization - Refactor" \
275
+ --agent ct-epic-architect \
276
+ --auto-start
277
+ ```
278
+
279
+ ---
280
+
281
+ ## Dependency Graph
282
+
283
+ ```
284
+ Wave 0:
285
+ T1 (Impact Analysis)
286
+ T2 (Regression Baseline)
287
+
288
+ ├──────────────────┐
289
+ ▼ ▼
290
+ Wave 1:
291
+ T3 (JWT Module) T4 (Bcrypt) T5 (Rollback Doc)
292
+ │ │ │
293
+ └──────┬───────────┘ │
294
+ ▼ │
295
+ Wave 2: │
296
+ T6 (Adapter) ◄────────────────────┘
297
+ T7 (Integration Tests)
298
+
299
+ └──────┬───────────┐
300
+ ▼ ▼
301
+ Wave 3:
302
+ T8 (New User Enable) T9 (Auto-Upgrade)
303
+ │ │
304
+ └──────────┬──────────┘
305
+
306
+ Wave 4:
307
+ T10 (Validation)
308
+
309
+ T11 (Legacy Removal)
310
+
311
+ T12 (Final Regression)
312
+ ```
313
+
314
+ ---
315
+
316
+ ## Wave Analysis
317
+
318
+ | Wave | Tasks | Parallel? | Rollback Point |
319
+ |------|-------|-----------|----------------|
320
+ | 0 | T1, T2 | Yes | N/A (no changes) |
321
+ | 1 | T3, T4, T5 | Yes | Disable feature flag |
322
+ | 2 | T6, T7 | Yes | Disable feature flag |
323
+ | 3 | T8, T9 | Yes | Rollback to Wave 2 |
324
+ | 4 | T10, T11, T12 | No | Complex (point of no return after T11) |
325
+
326
+ ---
327
+
328
+ ## Critical Path
329
+
330
+ T1/T2 → T3 → T6 → T8 → T10 → T11 → T12
331
+
332
+ ---
333
+
334
+ ## Refactor-Specific Safety Patterns
335
+
336
+ ### 1. Strangler Fig Pattern
337
+ New code runs PARALLEL to legacy (T3, T4). Gradually shift traffic (T8, T9). Remove legacy last (T11).
338
+
339
+ ### 2. Feature Flag Gates
340
+ Every wave has feature flag control:
341
+ - Wave 1: `auth_v2_module_enabled`
342
+ - Wave 3: `auth_v2_new_users_enabled`
343
+ - Wave 3: `auth_v2_auto_upgrade_enabled`
344
+
345
+ ### 3. Regression Baseline First
346
+ ALWAYS create regression tests (T2) BEFORE any code changes. These are your safety net.
347
+
348
+ ### 4. Rollback Checkpoints
349
+ Document rollback at each phase (T5). Test in staging before production.
350
+
351
+ ### 5. Incremental Migration
352
+ Never big-bang cutover. Migrate users gradually (new users first, then auto-upgrade).
353
+
354
+ ---
355
+
356
+ ## Shell Escaping Reminder
357
+
358
+ When adding notes with special characters, escape `$` to prevent shell interpolation:
359
+
360
+ ```bash
361
+ # CORRECT - escaped dollar sign
362
+ {{TASK_ADD_CMD}} "Task" --notes "Cost: \$500 per user"
363
+
364
+ # WRONG - $500 interpreted as variable
365
+ {{TASK_ADD_CMD}} "Task" --notes "Cost: $500 per user"
366
+ ```
367
+
368
+ ---
369
+
370
+ ## Brownfield Checklist
371
+
372
+ Before starting any refactor epic:
373
+
374
+ - [ ] Impact analysis completed (T1)
375
+ - [ ] All integration points documented
376
+ - [ ] Regression baseline tests written (T2)
377
+ - [ ] Rollback procedure documented and tested
378
+ - [ ] Feature flags designed for gradual rollout
379
+ - [ ] Monitoring/metrics in place for migration tracking
380
+ - [ ] Legacy code preserved until validation complete
381
+ - [ ] No big-bang cutover - always gradual migration
382
+
383
+ ---
384
+
385
+ ## Verification Gates for Refactor
386
+
387
+ After completing refactor tasks, set verification gates:
388
+
389
+ ```bash
390
+ # After implementation complete
391
+ {{TASK_VERIFY_CMD}} {{TASK_ID}} --gate testsPassed
392
+
393
+ # After QA review
394
+ {{TASK_VERIFY_CMD}} {{TASK_ID}} --gate qaPassed
395
+
396
+ # After cleanup/tech debt addressed (important for refactors)
397
+ {{TASK_VERIFY_CMD}} {{TASK_ID}} --gate cleanupDone
398
+
399
+ # After documentation updated
400
+ {{TASK_VERIFY_CMD}} {{TASK_ID}} --gate documented
401
+ ```
402
+
403
+ ---
404
+
405
+ ## Key Design Decisions
406
+
407
+ 1. **Impact Analysis First**: T1 maps dependencies before any changes
408
+ 2. **Regression Baseline**: T2 creates safety net tests before modifications
409
+ 3. **Parallel Implementation**: T3/T4 create new code alongside legacy (strangler fig)
410
+ 4. **Adapter Pattern**: T6 enables gradual traffic shift via feature flags
411
+ 5. **Gradual Migration**: T8/T9 migrate users incrementally, not all at once
412
+ 6. **Cleanup Last**: T11 removes legacy only after validation (T10) confirms success
@@ -0,0 +1,226 @@
1
+ # Research Epic Examples
2
+
3
+ This document shows three research epic patterns: Exploratory, Decision, and Codebase Analysis.
4
+
5
+ ---
6
+
7
+ ## Pattern 1: Exploratory Research
8
+
9
+ ### Scenario
10
+
11
+ Team wants to understand options for real-time collaboration features.
12
+
13
+ ```bash
14
+ {{TASK_ADD_CMD}} "Research: Real-Time Collaboration Options" \
15
+ --type epic \
16
+ --size medium \
17
+ --priority medium \
18
+ --phase core \
19
+ --labels "research,exploratory,realtime,collaboration" \
20
+ --description "Research questions: (1) What real-time tech options exist? (2) What are trade-offs? (3) What's feasible for our stack? Success criteria: Documented options with recommendations." \
21
+ --acceptance "3+ options documented" \
22
+ --acceptance "Trade-offs analyzed" \
23
+ --acceptance "Recommendation provided"
24
+ ```
25
+
26
+ ### Tasks
27
+
28
+ ```bash
29
+ # T1: Define research scope (Wave 0)
30
+ {{TASK_ADD_CMD}} "Define collaboration research scope" \
31
+ --type task \
32
+ --size small \
33
+ --parent {{EPIC_ID}} \
34
+ --phase core \
35
+ --labels "research,scope" \
36
+ --description "Define specific research questions, constraints, and success criteria for real-time collaboration research."
37
+
38
+ # T2-T4: Parallel investigation (Wave 1)
39
+ {{TASK_ADD_CMD}} "Research WebSocket solutions" \
40
+ --type task \
41
+ --size medium \
42
+ --parent {{EPIC_ID}} \
43
+ --phase core \
44
+ --depends {{T1_ID}} \
45
+ --labels "research,websocket"
46
+
47
+ {{TASK_ADD_CMD}} "Research CRDT libraries" \
48
+ --type task \
49
+ --size medium \
50
+ --parent {{EPIC_ID}} \
51
+ --phase core \
52
+ --depends {{T1_ID}} \
53
+ --labels "research,crdt"
54
+
55
+ {{TASK_ADD_CMD}} "Research operational transform" \
56
+ --type task \
57
+ --size medium \
58
+ --parent {{EPIC_ID}} \
59
+ --phase core \
60
+ --depends {{T1_ID}} \
61
+ --labels "research,ot"
62
+
63
+ # T5: Synthesis (Final Wave)
64
+ {{TASK_ADD_CMD}} "Synthesize collaboration research findings" \
65
+ --type task \
66
+ --size medium \
67
+ --parent {{EPIC_ID}} \
68
+ --phase core \
69
+ --depends {{T2_ID}},{{T3_ID}},{{T4_ID}} \
70
+ --labels "research,synthesis" \
71
+ --description "Aggregate findings from all investigation tasks, create comparison matrix, provide recommendation."
72
+ ```
73
+
74
+ **Wave Structure**: Scope → Parallel Investigation → Synthesis
75
+
76
+ ---
77
+
78
+ ## Pattern 2: Decision Research
79
+
80
+ ### Scenario
81
+
82
+ Team needs to choose between Drizzle ORM and Prisma for database layer.
83
+
84
+ ```bash
85
+ {{TASK_ADD_CMD}} "Research: Drizzle vs Prisma ORM Selection" \
86
+ --type epic \
87
+ --size small \
88
+ --priority high \
89
+ --phase setup \
90
+ --labels "research,decision,orm,database" \
91
+ --description "Decision research: Compare Drizzle and Prisma for our SvelteKit stack. Criteria: type safety, performance, DX, migration story. Output: Decision matrix with recommendation." \
92
+ --acceptance "Both ORMs evaluated against criteria" \
93
+ --acceptance "Decision matrix completed" \
94
+ --acceptance "Clear recommendation with rationale"
95
+ ```
96
+
97
+ ### Tasks
98
+
99
+ ```bash
100
+ # T1: Define criteria (Wave 0)
101
+ {{TASK_ADD_CMD}} "Define ORM evaluation criteria" \
102
+ --type task \
103
+ --size small \
104
+ --parent {{EPIC_ID}} \
105
+ --phase setup \
106
+ --labels "research,criteria" \
107
+ --description "Define weighted evaluation criteria: type safety (30%), performance (25%), DX (25%), migrations (20%)"
108
+
109
+ # T2-T3: Parallel evaluation (Wave 1)
110
+ {{TASK_ADD_CMD}} "Evaluate Drizzle ORM" \
111
+ --type task \
112
+ --size medium \
113
+ --parent {{EPIC_ID}} \
114
+ --phase setup \
115
+ --depends {{T1_ID}} \
116
+ --labels "research,drizzle" \
117
+ --description "Evaluate Drizzle against criteria. Build small PoC if needed."
118
+
119
+ {{TASK_ADD_CMD}} "Evaluate Prisma ORM" \
120
+ --type task \
121
+ --size medium \
122
+ --parent {{EPIC_ID}} \
123
+ --phase setup \
124
+ --depends {{T1_ID}} \
125
+ --labels "research,prisma" \
126
+ --description "Evaluate Prisma against criteria. Build small PoC if needed."
127
+
128
+ # T4: Decision matrix (Wave 2)
129
+ {{TASK_ADD_CMD}} "Create ORM decision matrix" \
130
+ --type task \
131
+ --size small \
132
+ --parent {{EPIC_ID}} \
133
+ --phase setup \
134
+ --depends {{T2_ID}},{{T3_ID}} \
135
+ --labels "research,decision" \
136
+ --description "Create weighted decision matrix, calculate scores, provide final recommendation."
137
+ ```
138
+
139
+ **Wave Structure**: Criteria → Parallel Evaluation → Decision Matrix
140
+
141
+ ---
142
+
143
+ ## Pattern 3: Codebase Analysis
144
+
145
+ ### Scenario
146
+
147
+ New team member needs to understand existing authentication architecture before making changes.
148
+
149
+ ```bash
150
+ {{TASK_ADD_CMD}} "Research: Auth System Architecture Analysis" \
151
+ --type epic \
152
+ --size medium \
153
+ --priority medium \
154
+ --phase setup \
155
+ --labels "research,codebase-analysis,auth,architecture" \
156
+ --description "Analyze existing auth system architecture: components, data flows, dependencies, pain points. Output: Architecture documentation with improvement recommendations." \
157
+ --acceptance "Architecture diagram created" \
158
+ --acceptance "Data flows documented" \
159
+ --acceptance "Pain points identified" \
160
+ --acceptance "Improvement recommendations provided"
161
+ ```
162
+
163
+ ### Tasks
164
+
165
+ ```bash
166
+ # T1: Architecture mapping (Wave 0)
167
+ {{TASK_ADD_CMD}} "Map auth system architecture" \
168
+ --type task \
169
+ --size medium \
170
+ --parent {{EPIC_ID}} \
171
+ --phase setup \
172
+ --labels "research,architecture" \
173
+ --description "Identify all auth-related files, create high-level architecture diagram."
174
+
175
+ # T2-T4: Parallel analysis (Wave 1)
176
+ {{TASK_ADD_CMD}} "Analyze auth dependencies" \
177
+ --type task \
178
+ --size small \
179
+ --parent {{EPIC_ID}} \
180
+ --phase setup \
181
+ --depends {{T1_ID}} \
182
+ --labels "research,dependencies" \
183
+ --description "Map internal and external dependencies of auth system."
184
+
185
+ {{TASK_ADD_CMD}} "Trace auth data flows" \
186
+ --type task \
187
+ --size medium \
188
+ --parent {{EPIC_ID}} \
189
+ --phase setup \
190
+ --depends {{T1_ID}} \
191
+ --labels "research,dataflow" \
192
+ --description "Document data flows: login, token refresh, logout, session validation."
193
+
194
+ {{TASK_ADD_CMD}} "Identify auth pain points" \
195
+ --type task \
196
+ --size small \
197
+ --parent {{EPIC_ID}} \
198
+ --phase setup \
199
+ --depends {{T1_ID}} \
200
+ --labels "research,pain-points" \
201
+ --description "Review code for tech debt, complexity, and maintenance issues."
202
+
203
+ # T5: Recommendations (Final Wave)
204
+ {{TASK_ADD_CMD}} "Create auth improvement recommendations" \
205
+ --type task \
206
+ --size medium \
207
+ --parent {{EPIC_ID}} \
208
+ --phase setup \
209
+ --depends {{T2_ID}},{{T3_ID}},{{T4_ID}} \
210
+ --labels "research,recommendations" \
211
+ --description "Synthesize analysis into actionable improvement recommendations prioritized by impact."
212
+ ```
213
+
214
+ **Wave Structure**: Architecture → Parallel Deep Dives → Recommendations
215
+
216
+ ---
217
+
218
+ ## Research Task Atomicity
219
+
220
+ Each research task SHOULD address exactly ONE research question:
221
+
222
+ | Good | Bad |
223
+ |------|-----|
224
+ | "What WebSocket libraries exist for Node?" | "Research real-time options" |
225
+ | "Compare Drizzle query performance" | "Evaluate ORMs" |
226
+ | "Map auth token data flow" | "Understand auth system" |