timsquad 3.6.0 → 3.7.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 (431) hide show
  1. package/README.ko.md +103 -111
  2. package/README.md +100 -108
  3. package/dist/commands/init.js +4 -8
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/{upgrade.d.ts → update.d.ts} +3 -3
  6. package/dist/commands/update.d.ts.map +1 -0
  7. package/dist/commands/{upgrade.js → update.js} +12 -17
  8. package/dist/commands/update.js.map +1 -0
  9. package/dist/daemon/event-queue.d.ts +3 -11
  10. package/dist/daemon/event-queue.d.ts.map +1 -1
  11. package/dist/daemon/event-queue.js +62 -203
  12. package/dist/daemon/event-queue.js.map +1 -1
  13. package/dist/daemon/index.d.ts +1 -1
  14. package/dist/daemon/index.d.ts.map +1 -1
  15. package/dist/daemon/index.js +15 -14
  16. package/dist/daemon/index.js.map +1 -1
  17. package/dist/index.js +3 -43
  18. package/dist/index.js.map +1 -1
  19. package/dist/lib/agent-generator.d.ts.map +1 -1
  20. package/dist/lib/agent-generator.js +10 -10
  21. package/dist/lib/agent-generator.js.map +1 -1
  22. package/dist/lib/compile-rules.d.ts.map +1 -1
  23. package/dist/lib/compile-rules.js +37 -4
  24. package/dist/lib/compile-rules.js.map +1 -1
  25. package/dist/lib/compiler.d.ts +1 -0
  26. package/dist/lib/compiler.d.ts.map +1 -1
  27. package/dist/lib/compiler.js +67 -11
  28. package/dist/lib/compiler.js.map +1 -1
  29. package/dist/{commands/log.d.ts → lib/log-utils.d.ts} +7 -15
  30. package/dist/lib/log-utils.d.ts.map +1 -0
  31. package/dist/lib/log-utils.js +347 -0
  32. package/dist/lib/log-utils.js.map +1 -0
  33. package/dist/lib/skill-generator.d.ts.map +1 -1
  34. package/dist/lib/skill-generator.js +4 -44
  35. package/dist/lib/skill-generator.js.map +1 -1
  36. package/dist/lib/ssot-map.d.ts.map +1 -1
  37. package/dist/lib/ssot-map.js +3 -0
  38. package/dist/lib/ssot-map.js.map +1 -1
  39. package/dist/lib/template.d.ts +10 -3
  40. package/dist/lib/template.d.ts.map +1 -1
  41. package/dist/lib/template.js +136 -22
  42. package/dist/lib/template.js.map +1 -1
  43. package/dist/lib/upgrade-backup.js +1 -1
  44. package/dist/lib/upgrade-backup.js.map +1 -1
  45. package/dist/types/config.d.ts.map +1 -1
  46. package/dist/types/config.js +34 -34
  47. package/dist/types/config.js.map +1 -1
  48. package/dist/types/feedback.d.ts +1 -54
  49. package/dist/types/feedback.d.ts.map +1 -1
  50. package/dist/types/feedback.js +1 -22
  51. package/dist/types/feedback.js.map +1 -1
  52. package/dist/types/project.d.ts +5 -0
  53. package/dist/types/project.d.ts.map +1 -1
  54. package/dist/types/project.js +15 -0
  55. package/dist/types/project.js.map +1 -1
  56. package/dist/types/ssot-map.d.ts +2 -0
  57. package/dist/types/ssot-map.d.ts.map +1 -1
  58. package/package.json +1 -1
  59. package/templates/base/agents/base/tsq-architect.md +1 -1
  60. package/templates/base/agents/base/tsq-dba.md +3 -1
  61. package/templates/base/agents/base/tsq-designer.md +3 -1
  62. package/templates/base/agents/base/tsq-developer.md +3 -1
  63. package/templates/base/agents/base/tsq-librarian.md +1 -1
  64. package/templates/base/agents/base/tsq-qa.md +3 -1
  65. package/templates/base/agents/base/tsq-security.md +3 -1
  66. package/templates/base/agents/overlays/platform/claude-code.md +2 -2
  67. package/templates/base/config.template.yaml +17 -28
  68. package/templates/base/knowledge/templates/task-result.md +5 -10
  69. package/templates/base/skills/_template/SKILL.md +1 -3
  70. package/templates/base/skills/{architecture → tsq-architecture}/SKILL.md +2 -2
  71. package/templates/base/skills/tsq-audit/SKILL.md +74 -0
  72. package/templates/base/skills/{methodology/bdd → tsq-bdd}/SKILL.md +14 -9
  73. package/templates/base/skills/{coding → tsq-coding}/SKILL.md +2 -4
  74. package/templates/base/skills/tsq-controller/SKILL.md +81 -0
  75. package/templates/base/skills/{mobile/dart → tsq-dart}/SKILL.md +5 -3
  76. package/templates/base/skills/{database → tsq-database}/SKILL.md +5 -2
  77. package/templates/base/skills/{methodology/ddd → tsq-ddd}/SKILL.md +15 -10
  78. package/templates/base/skills/{methodology/debugging → tsq-debugging}/SKILL.md +2 -2
  79. package/templates/base/skills/tsq-decompose/SKILL.md +117 -0
  80. package/templates/base/skills/tsq-delete/SKILL.md +72 -0
  81. package/templates/base/skills/{mobile/flutter → tsq-flutter}/SKILL.md +6 -3
  82. package/templates/base/skills/tsq-grill/SKILL.md +86 -0
  83. package/templates/base/skills/{backend/node → tsq-hono}/SKILL.md +6 -4
  84. package/templates/base/skills/tsq-librarian/SKILL.md +78 -0
  85. package/templates/base/skills/tsq-log/SKILL.md +30 -0
  86. package/templates/base/skills/{frontend/nextjs → tsq-nextjs}/SKILL.md +14 -9
  87. package/templates/base/skills/{planning → tsq-planning}/SKILL.md +2 -2
  88. package/templates/base/skills/{database/prisma → tsq-prisma}/SKILL.md +15 -9
  89. package/templates/base/skills/{product-audit → tsq-product-audit}/SKILL.md +2 -4
  90. package/templates/base/skills/{prompt-engineering → tsq-prompt}/SKILL.md +6 -4
  91. package/templates/base/skills/tsq-protocol/SKILL.md +85 -33
  92. package/templates/base/skills/{frontend/react → tsq-react}/SKILL.md +6 -3
  93. package/templates/base/skills/tsq-retro/SKILL.md +86 -0
  94. package/templates/base/skills/tsq-retro/references/feedback-guide.md +58 -0
  95. package/templates/base/skills/tsq-retro/references/improve-protocol.md +87 -0
  96. package/templates/base/skills/{security → tsq-security}/SKILL.md +2 -4
  97. package/templates/base/skills/{spec → tsq-spec}/SKILL.md +4 -6
  98. package/templates/base/skills/{stability-verification → tsq-stability}/SKILL.md +3 -3
  99. package/templates/base/skills/tsq-start/SKILL.md +90 -0
  100. package/templates/base/skills/tsq-start/references/onboarding-questions.md +177 -0
  101. package/templates/base/skills/tsq-status/SKILL.md +32 -0
  102. package/templates/base/skills/{methodology/tdd → tsq-tdd}/SKILL.md +6 -3
  103. package/templates/base/skills/{testing → tsq-testing}/SKILL.md +5 -7
  104. package/templates/base/skills/{typescript → tsq-typescript}/SKILL.md +2 -2
  105. package/templates/base/skills/{ui-design → tsq-ui}/SKILL.md +2 -2
  106. package/templates/base/skills/tsq-update/SKILL.md +48 -0
  107. package/templates/base/timsquad/constraints/competency-framework.xml +2 -2
  108. package/templates/base/timsquad/constraints/ssot-schema.xml +2 -2
  109. package/templates/base/timsquad/process/phase-checklist.yaml +1 -1
  110. package/templates/base/timsquad/process/state-machine.xml +2 -2
  111. package/templates/base/timsquad/process/validation-rules.xml +8 -8
  112. package/templates/base/timsquad/process/workflow-base.xml +8 -8
  113. package/templates/base/timsquad/retrospective/cycle-report.template.md +2 -2
  114. package/templates/base/timsquad/retrospective/patterns/failure-patterns.md +1 -1
  115. package/templates/base/timsquad/retrospective/patterns/success-patterns.md +2 -2
  116. package/templates/base/timsquad/retrospective/retrospective-state.xml +2 -2
  117. package/templates/base/timsquad/ssot/audit-trail-spec.template.md +155 -0
  118. package/templates/base/timsquad/ssot/compliance-matrix.template.md +105 -0
  119. package/templates/base/timsquad/ssot/component-map.template.md +181 -0
  120. package/templates/base/timsquad/ssot/data-design.template.md +4 -4
  121. package/templates/base/timsquad/ssot/deployment-spec.template.md +29 -22
  122. package/templates/base/timsquad/ssot/env-config.template.md +4 -2
  123. package/templates/base/timsquad/ssot/error-codes.template.md +3 -3
  124. package/templates/base/timsquad/ssot/functional-spec.template.md +40 -3
  125. package/templates/base/timsquad/ssot/glossary.template.md +2 -2
  126. package/templates/base/timsquad/ssot/infra-topology.template.md +191 -0
  127. package/templates/base/timsquad/ssot/integration-spec.template.md +2 -2
  128. package/templates/base/timsquad/ssot/monitoring-spec.template.md +185 -0
  129. package/templates/base/timsquad/ssot/navigation-map.template.md +154 -0
  130. package/templates/base/timsquad/ssot/performance-budget.template.md +132 -0
  131. package/templates/base/timsquad/ssot/planning.template.md +3 -3
  132. package/templates/base/timsquad/ssot/prd/_template.md +73 -0
  133. package/templates/base/timsquad/ssot/prd.template.md +10 -21
  134. package/templates/base/timsquad/ssot/requirements.template.md +3 -3
  135. package/templates/base/timsquad/ssot/sdk-spec.template.md +223 -0
  136. package/templates/base/timsquad/ssot/service-spec.template.md +3 -3
  137. package/templates/base/timsquad/ssot/state-machine.template.md +127 -0
  138. package/templates/base/timsquad/ssot/ui-ux-spec.template.md +43 -3
  139. package/templates/base/timsquad/ssot-map.template.yaml +28 -0
  140. package/templates/base/timsquad/state/workspace.xml +11 -11
  141. package/templates/platforms/claude-code/rules/adr-rules.md +1 -1
  142. package/templates/platforms/claude-code/rules/build-gate.md +1 -1
  143. package/templates/platforms/claude-code/rules/completion-verification.md +0 -2
  144. package/templates/platforms/claude-code/rules/context-monitor.md +1 -1
  145. package/templates/platforms/claude-code/rules/feedback-routing.md +2 -2
  146. package/templates/platforms/claude-code/rules/phase-management.md +2 -2
  147. package/templates/platforms/claude-code/rules/plan-review.md +2 -2
  148. package/templates/platforms/claude-code/rules/quality-guards.md +0 -2
  149. package/templates/platforms/claude-code/rules/sequence-management.md +15 -15
  150. package/templates/platforms/claude-code/rules/session-notes.md +1 -1
  151. package/templates/platforms/claude-code/rules/workspace-sync.md +1 -1
  152. package/templates/platforms/claude-code/scripts/build-gate.sh +6 -1
  153. package/templates/platforms/claude-code/scripts/change-scope-guard.sh +1 -4
  154. package/templates/platforms/claude-code/scripts/check-capability.sh +68 -0
  155. package/templates/platforms/claude-code/scripts/completion-guard.sh +62 -4
  156. package/templates/platforms/claude-code/scripts/context-restore.sh +33 -6
  157. package/templates/platforms/claude-code/scripts/phase-guard.sh +2 -5
  158. package/templates/platforms/claude-code/scripts/pre-compact.sh +3 -3
  159. package/templates/platforms/claude-code/scripts/safe-guard.sh +2 -5
  160. package/templates/platforms/claude-code/scripts/subagent-start.sh +11 -0
  161. package/templates/platforms/claude-code/scripts/subagent-stop.sh +11 -0
  162. package/templates/platforms/claude-code/settings.json +20 -74
  163. package/templates/project-types/api-backend/config.yaml +9 -5
  164. package/templates/project-types/api-backend/process/workflow.xml +2 -2
  165. package/templates/project-types/fintech/config.yaml +13 -19
  166. package/templates/project-types/fintech/ssot/audit-trail-spec.template.md +207 -0
  167. package/templates/project-types/fintech/ssot/compliance-matrix.template.md +187 -0
  168. package/templates/project-types/infra/config.yaml +7 -4
  169. package/templates/project-types/infra/process/workflow.xml +3 -3
  170. package/templates/project-types/mobile-app/config.yaml +8 -14
  171. package/templates/project-types/mobile-app/process/workflow.xml +4 -4
  172. package/templates/project-types/platform/config.yaml +8 -5
  173. package/templates/project-types/platform/process/workflow.xml +3 -3
  174. package/templates/project-types/web-app/config.yaml +9 -15
  175. package/templates/project-types/web-app/process/workflow.xml +6 -6
  176. package/templates/project-types/web-service/config.yaml +10 -19
  177. package/templates/project-types/web-service/process/workflow.xml +6 -6
  178. package/dist/commands/audit.d.ts +0 -22
  179. package/dist/commands/audit.d.ts.map +0 -1
  180. package/dist/commands/audit.js +0 -233
  181. package/dist/commands/audit.js.map +0 -1
  182. package/dist/commands/compile.d.ts +0 -3
  183. package/dist/commands/compile.d.ts.map +0 -1
  184. package/dist/commands/compile.js +0 -251
  185. package/dist/commands/compile.js.map +0 -1
  186. package/dist/commands/feedback.d.ts +0 -12
  187. package/dist/commands/feedback.d.ts.map +0 -1
  188. package/dist/commands/feedback.js +0 -382
  189. package/dist/commands/feedback.js.map +0 -1
  190. package/dist/commands/full.d.ts +0 -3
  191. package/dist/commands/full.d.ts.map +0 -1
  192. package/dist/commands/full.js +0 -88
  193. package/dist/commands/full.js.map +0 -1
  194. package/dist/commands/git/commit.d.ts +0 -3
  195. package/dist/commands/git/commit.d.ts.map +0 -1
  196. package/dist/commands/git/commit.js +0 -85
  197. package/dist/commands/git/commit.js.map +0 -1
  198. package/dist/commands/git/index.d.ts +0 -5
  199. package/dist/commands/git/index.d.ts.map +0 -1
  200. package/dist/commands/git/index.js +0 -5
  201. package/dist/commands/git/index.js.map +0 -1
  202. package/dist/commands/git/pr.d.ts +0 -3
  203. package/dist/commands/git/pr.d.ts.map +0 -1
  204. package/dist/commands/git/pr.js +0 -139
  205. package/dist/commands/git/pr.js.map +0 -1
  206. package/dist/commands/git/release.d.ts +0 -3
  207. package/dist/commands/git/release.d.ts.map +0 -1
  208. package/dist/commands/git/release.js +0 -153
  209. package/dist/commands/git/release.js.map +0 -1
  210. package/dist/commands/git/sync.d.ts +0 -3
  211. package/dist/commands/git/sync.d.ts.map +0 -1
  212. package/dist/commands/git/sync.js +0 -132
  213. package/dist/commands/git/sync.js.map +0 -1
  214. package/dist/commands/improve.d.ts +0 -3
  215. package/dist/commands/improve.d.ts.map +0 -1
  216. package/dist/commands/improve.js +0 -286
  217. package/dist/commands/improve.js.map +0 -1
  218. package/dist/commands/knowledge.d.ts +0 -3
  219. package/dist/commands/knowledge.d.ts.map +0 -1
  220. package/dist/commands/knowledge.js +0 -316
  221. package/dist/commands/knowledge.js.map +0 -1
  222. package/dist/commands/log.d.ts.map +0 -1
  223. package/dist/commands/log.js +0 -1468
  224. package/dist/commands/log.js.map +0 -1
  225. package/dist/commands/meta-index.d.ts +0 -3
  226. package/dist/commands/meta-index.d.ts.map +0 -1
  227. package/dist/commands/meta-index.js +0 -431
  228. package/dist/commands/meta-index.js.map +0 -1
  229. package/dist/commands/metrics.d.ts +0 -3
  230. package/dist/commands/metrics.d.ts.map +0 -1
  231. package/dist/commands/metrics.js +0 -843
  232. package/dist/commands/metrics.js.map +0 -1
  233. package/dist/commands/quick.d.ts +0 -3
  234. package/dist/commands/quick.d.ts.map +0 -1
  235. package/dist/commands/quick.js +0 -136
  236. package/dist/commands/quick.js.map +0 -1
  237. package/dist/commands/retro.d.ts +0 -3
  238. package/dist/commands/retro.d.ts.map +0 -1
  239. package/dist/commands/retro.js +0 -885
  240. package/dist/commands/retro.js.map +0 -1
  241. package/dist/commands/session.d.ts +0 -3
  242. package/dist/commands/session.d.ts.map +0 -1
  243. package/dist/commands/session.js +0 -346
  244. package/dist/commands/session.js.map +0 -1
  245. package/dist/commands/skills.d.ts +0 -12
  246. package/dist/commands/skills.d.ts.map +0 -1
  247. package/dist/commands/skills.js +0 -228
  248. package/dist/commands/skills.js.map +0 -1
  249. package/dist/commands/status.d.ts +0 -3
  250. package/dist/commands/status.d.ts.map +0 -1
  251. package/dist/commands/status.js +0 -127
  252. package/dist/commands/status.js.map +0 -1
  253. package/dist/commands/upgrade.d.ts.map +0 -1
  254. package/dist/commands/upgrade.js.map +0 -1
  255. package/dist/commands/watch.d.ts +0 -3
  256. package/dist/commands/watch.d.ts.map +0 -1
  257. package/dist/commands/watch.js +0 -213
  258. package/dist/commands/watch.js.map +0 -1
  259. package/dist/commands/workflow.d.ts +0 -5
  260. package/dist/commands/workflow.d.ts.map +0 -1
  261. package/dist/commands/workflow.js +0 -781
  262. package/dist/commands/workflow.js.map +0 -1
  263. package/templates/base/skills/audit/SKILL.md +0 -66
  264. package/templates/base/skills/controller/SKILL.md +0 -77
  265. package/templates/base/skills/controller/delegation/developer.md +0 -25
  266. package/templates/base/skills/controller/delegation/librarian.md +0 -33
  267. package/templates/base/skills/controller/delegation/reviewer.md +0 -19
  268. package/templates/base/skills/controller/triggers/phase-complete.md +0 -25
  269. package/templates/base/skills/controller/triggers/sequence-complete.md +0 -15
  270. package/templates/base/skills/controller/triggers/ssot-changed.md +0 -14
  271. package/templates/base/skills/controller/triggers/task-complete.md +0 -14
  272. package/templates/base/skills/librarian/SKILL.md +0 -53
  273. package/templates/base/skills/main-session-constraints/SKILL.md +0 -62
  274. package/templates/base/skills/retrospective/SKILL.md +0 -77
  275. package/templates/base/skills/review/SKILL.md +0 -72
  276. package/templates/base/skills/tsq-cli/SKILL.md +0 -73
  277. package/templates/base/skills/tsq-cli/references/cli-reference.md +0 -92
  278. package/templates/base/timsquad/feedback/feedback-router.sh +0 -341
  279. package/templates/base/timsquad/feedback/routing-rules.yaml +0 -352
  280. package/templates/platforms/claude-code/CLAUDE.md.template +0 -89
  281. package/templates/platforms/claude-code/rules/skill-suggest.md +0 -27
  282. package/templates/platforms/claude-code/scripts/skill-inject.sh +0 -216
  283. package/templates/platforms/claude-code/scripts/skill-rules.json +0 -95
  284. package/templates/platforms/claude-code/scripts/skill-suggest.sh +0 -105
  285. package/templates/platforms/claude-code/scripts/subagent-inject.sh +0 -53
  286. /package/templates/base/skills/{architecture → tsq-architecture}/references/adr-template.md +0 -0
  287. /package/templates/base/skills/{architecture → tsq-architecture}/references/api-design.md +0 -0
  288. /package/templates/base/skills/{methodology/bdd → tsq-bdd}/rules/gherkin-patterns.md +0 -0
  289. /package/templates/base/skills/{coding → tsq-coding}/rules/async-patterns.md +0 -0
  290. /package/templates/base/skills/{coding → tsq-coding}/rules/code-organization.md +0 -0
  291. /package/templates/base/skills/{coding → tsq-coding}/rules/error-handling.md +0 -0
  292. /package/templates/base/skills/{coding → tsq-coding}/rules/patterns.md +0 -0
  293. /package/templates/base/skills/{coding → tsq-coding}/rules/type-safety.md +0 -0
  294. /package/templates/base/skills/{controller → tsq-controller}/memory/.gitkeep +0 -0
  295. /package/templates/base/skills/{controller → tsq-controller}/references/README.md +0 -0
  296. /package/templates/base/skills/{controller → tsq-controller}/rules/README.md +0 -0
  297. /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/async-patterns.md +0 -0
  298. /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/code-style.md +0 -0
  299. /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/null-safety.md +0 -0
  300. /package/templates/base/skills/{mobile/dart → tsq-dart}/rules/type-system.md +0 -0
  301. /package/templates/base/skills/{database → tsq-database}/rules/query-optimization.md +0 -0
  302. /package/templates/base/skills/{database → tsq-database}/rules/supabase-patterns.md +0 -0
  303. /package/templates/base/skills/{methodology/ddd → tsq-ddd}/rules/strategic-patterns.md +0 -0
  304. /package/templates/base/skills/{methodology/debugging → tsq-debugging}/references/root-cause-tracing.md +0 -0
  305. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/SKILL.md +0 -0
  306. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/references/ci-cd-pipeline.md +0 -0
  307. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/code-signing.md +0 -0
  308. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/codemagic-setup.md +0 -0
  309. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/fastlane-setup.md +0 -0
  310. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/github-actions.md +0 -0
  311. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/store-deployment.md +0 -0
  312. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/ci-cd/rules/versioning.md +0 -0
  313. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/SKILL.md +0 -0
  314. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/references/i18n-architecture.md +0 -0
  315. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/arb-files.md +0 -0
  316. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/locale-switching.md +0 -0
  317. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/localization-setup.md +0 -0
  318. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/plural-gender.md +0 -0
  319. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/i18n/rules/text-direction.md +0 -0
  320. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/SKILL.md +0 -0
  321. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/references/monitoring-architecture.md +0 -0
  322. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/analytics.md +0 -0
  323. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/crashlytics-setup.md +0 -0
  324. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/logging.md +0 -0
  325. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/performance-monitoring.md +0 -0
  326. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/monitoring/rules/sentry-integration.md +0 -0
  327. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/SKILL.md +0 -0
  328. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/references/api-client-architecture.md +0 -0
  329. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/caching.md +0 -0
  330. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/connectivity.md +0 -0
  331. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/dio-setup.md +0 -0
  332. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/error-handling.md +0 -0
  333. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/interceptors.md +0 -0
  334. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/networking/rules/retrofit-patterns.md +0 -0
  335. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/SKILL.md +0 -0
  336. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/references/notification-architecture.md +0 -0
  337. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/references/platform-setup.md +0 -0
  338. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/background-processing.md +0 -0
  339. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/deep-linking.md +0 -0
  340. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/fcm-setup.md +0 -0
  341. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/local-notifications.md +0 -0
  342. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/notification-handling.md +0 -0
  343. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/notification-permissions.md +0 -0
  344. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/push-notifications/rules/rich-notifications.md +0 -0
  345. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/references/freezed-patterns.md +0 -0
  346. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/references/project-structure.md +0 -0
  347. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/animations.md +0 -0
  348. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/architecture.md +0 -0
  349. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/navigation-routing.md +0 -0
  350. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/performance.md +0 -0
  351. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/platform-adaptive.md +0 -0
  352. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/state-management.md +0 -0
  353. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/testing.md +0 -0
  354. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/rules/widget-conventions.md +0 -0
  355. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/SKILL.md +0 -0
  356. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/references/mobile-security-checklist.md +0 -0
  357. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/api-key-protection.md +0 -0
  358. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/authentication.md +0 -0
  359. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/data-protection.md +0 -0
  360. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/obfuscation.md +0 -0
  361. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/secure-storage.md +0 -0
  362. /package/templates/base/skills/{mobile/flutter → tsq-flutter}/security/rules/ssl-pinning.md +0 -0
  363. /package/templates/base/skills/{backend/node → tsq-hono}/rules/async-patterns.md +0 -0
  364. /package/templates/base/skills/{backend/node → tsq-hono}/rules/deployment.md +0 -0
  365. /package/templates/base/skills/{backend/node → tsq-hono}/rules/env-config.md +0 -0
  366. /package/templates/base/skills/{backend/node → tsq-hono}/rules/error-handling.md +0 -0
  367. /package/templates/base/skills/{backend/node → tsq-hono}/rules/hono-app-setup.md +0 -0
  368. /package/templates/base/skills/{backend/node → tsq-hono}/rules/jwt-auth.md +0 -0
  369. /package/templates/base/skills/{backend/node → tsq-hono}/rules/middleware.md +0 -0
  370. /package/templates/base/skills/{backend/node → tsq-hono}/rules/testing.md +0 -0
  371. /package/templates/base/skills/{frontend/nextjs → tsq-nextjs}/rules/app-router.md +0 -0
  372. /package/templates/base/skills/{planning → tsq-planning}/references/prd-guide.md +0 -0
  373. /package/templates/base/skills/{planning → tsq-planning}/references/requirements-guide.md +0 -0
  374. /package/templates/base/skills/{database/prisma → tsq-prisma}/rules/queries.md +0 -0
  375. /package/templates/base/skills/{database/prisma → tsq-prisma}/rules/schema-design.md +0 -0
  376. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/01-security.md +0 -0
  377. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/02-performance.md +0 -0
  378. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/03-seo.md +0 -0
  379. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/04-accessibility.md +0 -0
  380. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/05-ui-ux.md +0 -0
  381. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/06-architecture.md +0 -0
  382. /package/templates/base/skills/{product-audit → tsq-product-audit}/checklists/07-functional-requirements.md +0 -0
  383. /package/templates/base/skills/{product-audit → tsq-product-audit}/rules/audit-protocol.md +0 -0
  384. /package/templates/base/skills/{product-audit → tsq-product-audit}/rules/false-positive-guard.md +0 -0
  385. /package/templates/base/skills/{product-audit → tsq-product-audit}/rules/scoring-criteria.md +0 -0
  386. /package/templates/base/skills/{product-audit → tsq-product-audit}/templates/improvement-plan-template.md +0 -0
  387. /package/templates/base/skills/{product-audit → tsq-product-audit}/templates/report-template.md +0 -0
  388. /package/templates/base/skills/{frontend/react → tsq-react}/rules/_sections.md +0 -0
  389. /package/templates/base/skills/{frontend/react → tsq-react}/rules/anti-patterns.md +0 -0
  390. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-api-routes.md +0 -0
  391. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-defer-await.md +0 -0
  392. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-dependencies.md +0 -0
  393. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-parallel.md +0 -0
  394. /package/templates/base/skills/{frontend/react → tsq-react}/rules/async-suspense-boundaries.md +0 -0
  395. /package/templates/base/skills/{frontend/react → tsq-react}/rules/bundle-barrel-imports.md +0 -0
  396. /package/templates/base/skills/{frontend/react → tsq-react}/rules/bundle-defer-third-party.md +0 -0
  397. /package/templates/base/skills/{frontend/react → tsq-react}/rules/bundle-dynamic-imports.md +0 -0
  398. /package/templates/base/skills/{frontend/react → tsq-react}/rules/component-conventions.md +0 -0
  399. /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-combine-iterations.md +0 -0
  400. /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-early-exit.md +0 -0
  401. /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-index-maps.md +0 -0
  402. /package/templates/base/skills/{frontend/react → tsq-react}/rules/js-set-map-lookups.md +0 -0
  403. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rendering-conditional-render.md +0 -0
  404. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rendering-content-visibility.md +0 -0
  405. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rendering-hoist-jsx.md +0 -0
  406. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-defer-reads.md +0 -0
  407. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-derived-state.md +0 -0
  408. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-memo.md +0 -0
  409. /package/templates/base/skills/{frontend/react → tsq-react}/rules/rerender-transitions.md +0 -0
  410. /package/templates/base/skills/{frontend/react → tsq-react}/rules/server-after-nonblocking.md +0 -0
  411. /package/templates/base/skills/{frontend/react → tsq-react}/rules/server-cache-react.md +0 -0
  412. /package/templates/base/skills/{frontend/react → tsq-react}/rules/server-parallel-fetching.md +0 -0
  413. /package/templates/base/skills/{frontend/react → tsq-react}/rules/state-location.md +0 -0
  414. /package/templates/base/skills/{retrospective → tsq-retro}/references/improvement-template.md +0 -0
  415. /package/templates/base/skills/{security → tsq-security}/rules/auth-patterns.md +0 -0
  416. /package/templates/base/skills/{security → tsq-security}/rules/dependency-security.md +0 -0
  417. /package/templates/base/skills/{security → tsq-security}/rules/input-validation.md +0 -0
  418. /package/templates/base/skills/{security → tsq-security}/rules/owasp-examples.md +0 -0
  419. /package/templates/base/skills/{security → tsq-security}/rules/secrets-management.md +0 -0
  420. /package/templates/base/skills/{security → tsq-security}/scripts/check-secrets.sh +0 -0
  421. /package/templates/base/skills/{stability-verification → tsq-stability}/references/release-checklist.md +0 -0
  422. /package/templates/base/skills/{stability-verification → tsq-stability}/references/security-fix-patterns.md +0 -0
  423. /package/templates/base/skills/{stability-verification → tsq-stability}/rules/verification-layers.md +0 -0
  424. /package/templates/base/skills/{stability-verification → tsq-stability}/rules/verification-workflow.md +0 -0
  425. /package/templates/base/skills/{stability-verification → tsq-stability}/scripts/verify.sh +0 -0
  426. /package/templates/base/skills/{methodology/tdd → tsq-tdd}/rules/real-world-example.md +0 -0
  427. /package/templates/base/skills/{methodology/tdd → tsq-tdd}/rules/techniques.md +0 -0
  428. /package/templates/base/skills/{testing → tsq-testing}/references/e2e-stability.md +0 -0
  429. /package/templates/base/skills/{testing → tsq-testing}/references/testing-patterns.md +0 -0
  430. /package/templates/base/skills/{typescript → tsq-typescript}/rules/type-patterns.md +0 -0
  431. /package/templates/base/skills/{typescript → tsq-typescript}/rules/utility-types.md +0 -0
@@ -1,13 +1,10 @@
1
1
  ---
2
2
  name: tsq-protocol
3
3
  description: |
4
- TimSquad 에이전트 공통 프로토콜.
5
- task-context.json 우선 탐색, TSQ CLI 사용, 로그/피드백 규칙.
6
- 자동 주입 스킬 — 직접 호출하지 마세요.
7
- version: "1.0.0"
4
+ TimSquad 에이전트 공통 프로토콜. 메인세션과 서브에이전트 모두 이 프로토콜을 준수.
5
+ 로그/피드백 규칙, 작업 원칙을 정의. 자동 활성 스킬 — 직접 호출하지 마세요.
6
+ version: "2.1.0"
8
7
  tags: [tsq, protocol, agent]
9
- depends_on: []
10
- conflicts_with: []
11
8
  user-invocable: false
12
9
  ---
13
10
 
@@ -15,49 +12,104 @@ user-invocable: false
15
12
 
16
13
  에이전트가 TimSquad 시스템 내에서 따라야 하는 공통 프로토콜.
17
14
 
18
- ## Philosophy
19
-
20
- - TSQ CLI를 통해서만 로그/피드백/커밋 수행
21
- - task-context.json을 우선 탐색하여 불필요한 탐색 최소화
22
- - 피드백은 반드시 Level 분류를 명시
23
-
24
15
  ## Contract
25
16
 
26
17
  - **Trigger**: 모든 에이전트 세션 (자동 활성)
27
18
  - **Input**: 태스크 지시 + task-context.json
28
19
  - **Output**: TSQ 프로세스 준수 작업 결과
29
20
  - **Error**: 프로토콜 위반 시 경고 + 수정 안내
30
- - **Dependencies**: 없음
31
21
 
32
- ## Protocol
22
+ ## Protocol — 메인세션
23
+
24
+ 1. **요구사항 분석**: 사용자 요구 파악 + 모호함 해소
25
+ 2. **파이프라인 판단**: 작업 복잡도에 따라 분기
26
+ - 파이프라인 적합 → tsq-controller 스킬 경유 위임
27
+ - 단순 작업 → 직접 수행 + 최소 로그
28
+ - 모호 → 사용자에게 선택지 제시
29
+ 3. **검증 기준 선행**: 구현 전에 테스트 or 확인 방법을 먼저 명시
30
+ 4. **선택지 제시**: 요구사항에 여러 해석이 가능하면 조용히 선택하지 않음
31
+
32
+ ## Protocol — 서브에이전트
33
33
 
34
34
  1. **task-context 확인**: `.timsquad/.daemon/task-context.json` 우선 읽기
35
- 2. **TSQ CLI 사용**: 로그/피드백/커밋 모두 CLI 경유
36
- 3. **피드백 라우팅**: Level 분류 적절한 대상에 전달
35
+ 2. **제약조건 확인**: 주입된 Phase 제약 + allowed-tools 범위 확인
36
+ 3. **작업 수행**: 제약 범위 내에서 태스크 실행
37
+ 4. **Completion Report 출력**: 아래 형식으로 결과 보고 (**필수, 생략 불가**)
38
+
39
+ ### Completion Report (필수)
40
+
41
+ 서브에이전트는 작업 완료 시 **반드시** 아래 형식의 보고서를 출력해야 합니다.
42
+ Controller가 이 보고서를 검증하며, 누락 시 태스크 완료로 인정되지 않습니다.
43
+
44
+ ```
45
+ ## Completion Report
46
+ - Task: {태스크 설명 — 무엇을 했는지}
47
+ - Status: {pass|fail}
48
+ - Files changed: {변경된 파일 목록, 없으면 "none"}
49
+ - Tests: {passed N|failed N|skipped — 테스트 실행 결과}
50
+ - Notes: {차단 요소, 결정 사항, 또는 "none"}
51
+ ```
37
52
 
38
- ## Verification
53
+ **필드 규칙**:
54
+ | 필드 | 필수 | 허용 값 |
55
+ |------|------|---------|
56
+ | Task | Yes | 1줄 설명 |
57
+ | Status | Yes | `pass` 또는 `fail` |
58
+ | Files changed | Yes | 파일 경로 목록 또는 `none` |
59
+ | Tests | Yes | `passed N`, `failed N`, `skipped`, `N/A` |
60
+ | Notes | Yes | 텍스트 또는 `none` |
39
61
 
40
- | Check | Command | Pass Criteria |
41
- |-------|---------|---------------|
42
- | TSQ CLI 사용 | `tsq log` 사용 여부 | 직접 파일 조작 0건 |
43
- | 피드백 Level | 피드백 내용 확인 | L1/L2/L3 분류 존재 |
44
- | task-context | 탐색 순서 확인 | context 우선 사용 |
62
+ **Status 판정 기준**:
63
+ - `pass`: 모든 테스트 통과 + `tsc --noEmit` 클린 + 요구사항 충족
64
+ - `fail`: 테스트 실패, 빌드 오류, 또는 요구사항 미충족 (Notes에 사유 기록)
45
65
 
46
66
  ## Quick Rules
47
67
 
48
- ### CLI Commands
49
- | 이벤트 | 커맨드 |
50
- |--------|--------|
51
- | 작업 시작 | `tsq log add {agent} work "TASK-XXX 시작: {설명}"` |
52
- | 결정 기록 | `tsq log add {agent} decision "{결정 근거}"` |
53
- | 이슈 발견 | `tsq feedback "{이슈 설명}"` |
54
- | 작업 완료 | `tsq log add {agent} work "TASK-XXX 완료: {결과}"` |
55
- | 커밋 | `tsq commit -m "{메시지}"` (developer/dba만) |
68
+ ### 로그 기록
69
+ 로그는 `.timsquad/logs/{date}-{agent}.md`에 직접 append한다.
70
+
71
+ ```markdown
72
+ ## {time} [{type}]
73
+ {message}
74
+ ```
75
+
76
+ | type | 용도 |
77
+ |------|------|
78
+ | work | 작업 시작/완료 기록 |
79
+ | decision | 결정 근거 기록 |
80
+ | issue | 이슈/피드백 발견 |
81
+
82
+ ## Decision Log
83
+
84
+ 중요한 판단이 있을 때 `.timsquad/state/decisions.jsonl`에 한 줄 append한다.
85
+ 모든 판단을 기록할 필요 없음 — 아래 기준에 해당할 때만.
86
+
87
+ 기록 기준:
88
+ - 기술 선택 (라이브러리, 패턴, 아키텍처)
89
+ - 대안을 검토하고 하나를 선택한 경우
90
+ - 의도적으로 보류하거나 스킵한 항목
91
+ - 예상과 다른 동작을 발견한 경우
92
+ - 리스크를 인지하고 수용한 경우
93
+
94
+ 형식 (JSON, 한 줄):
95
+ ```
96
+ {"agent":"developer","decision":"JWT 선택","reason":"stateless, MSA 확장","alternatives":["session"],"carry_over":false}
97
+ ```
98
+
99
+ | 필드 | 필수 | 설명 |
100
+ |------|------|------|
101
+ | agent | Yes | 에이전트 이름 |
102
+ | decision | Yes | 무엇을 결정했는지 (1줄) |
103
+ | reason | Yes | 왜 그렇게 했는지 (1줄) |
104
+ | alternatives | No | 검토한 대안 목록 |
105
+ | carry_over | No | 다음 Phase에서 처리 필요 시 true |
106
+ | risk | No | 인지된 리스크 |
56
107
 
57
108
  ### Forbidden
58
- - 직접 `.timsquad/logs/` 파일 조작 → `tsq log` 사용
59
- - 직접 `.timsquad/feedback/` 파일 조작 → `tsq feedback` 사용
60
- - 직접 `git commit` `tsq commit` 사용
109
+ - 스펙 없이 대규모 구현 시작
110
+ - 서브에이전트 결과를 검증 없이 수용
111
+ - Phase gate 조건 미충족 다음 Phase 진행
112
+ - Completion Report 없이 태스크 완료 선언
61
113
 
62
114
  ### Feedback Routing
63
115
  | Level | 기준 | 라우팅 |
@@ -1,14 +1,17 @@
1
1
  ---
2
- name: react
3
- description: React 컴포넌트 개발 가이드라인. 단일 책임, UI/로직 분리, 명시적 데이터 흐름, 서버/클라이언트 상태 분리.
2
+ name: tsq-react
3
+ description: |
4
+ React 컴포넌트 개발 가이드라인. 단일 책임, UI/로직 분리, 명시적 데이터 흐름, 서버/클라이언트 상태 분리.
5
+ Use when: React 컴포넌트 작성·수정, 상태관리 설계, 커스텀 훅 작성, JSX/TSX 파일 편집 시.
4
6
  version: "1.0.0"
5
- tags: [react, components, frontend]
7
+ tags: [tsq, react, components, frontend]
6
8
  user-invocable: false
7
9
  ---
8
10
 
9
11
  # React Development Guidelines
10
12
 
11
13
  프로젝트 전체에서 일관된 React 컴포넌트 개발을 위한 컨벤션.
14
+ 기본 스택: React Query, Zustand, React Hook Form + Zod. 프로젝트 설정(`memory/conventions.md`)으로 재정의 가능.
12
15
 
13
16
  ## Philosophy
14
17
 
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: tsq-retro
3
+ description: |
4
+ 피드백 수집, KPT 회고, 개선 적용까지 전체 회고 사이클을 관리하는 스킬.
5
+ Use when: /tsq-retro 호출 시, 피드백 기록 시, Phase 완료 후 회고 시, 패턴 분석 시,
6
+ 개선 사항 적용 시, "피드백", "회고", "개선", "retro", "feedback", "improve" 언급 시.
7
+ version: "2.0.0"
8
+ tags: [tsq, retrospective, feedback, improvement, learning]
9
+ user-invocable: true
10
+ argument-hint: "[feedback|retro|improve] — 피드백 기록 / KPT 회고 / 개선 적용"
11
+ ---
12
+
13
+ # Retrospective Cycle
14
+
15
+ 피드백 수집 → KPT 회고 → 개선 적용의 전체 학습 루프를 관리한다.
16
+
17
+ ## Contract
18
+
19
+ - **Trigger**: `/tsq-retro`, `/tsq-retro feedback`, `/tsq-retro improve`
20
+ - **Input**: 모드에 따라 다름 (아래 Mode 참조)
21
+ - **Output**: 피드백 엔트리 / KPT 리포트 / 개선 적용 결과
22
+ - **Error**: 데이터 부족 시 수집 가능 범위 안내
23
+ - **Dependencies**: tsq-protocol
24
+
25
+ ## Modes
26
+
27
+ ### Mode 1: feedback — 피드백 기록
28
+
29
+ `/tsq-retro feedback "<메시지>"` 또는 작업 중 이슈 발견 시.
30
+
31
+ 1. **레벨 분류**: 메시지 내용으로 L1/L2/L3 판정
32
+ - **L1 (구현)**: 버그, 코드 품질, 테스트 누락 — 현재 Task에서 바로 수정 가능
33
+ - **L2 (설계)**: 아키텍처 변경, API 재설계, 스키마 수정 — Sequence/Phase 수준 조정 필요
34
+ - **L3 (기획)**: 요구사항 변경, 스펙 모순, 우선순위 재조정 — SSOT 수정 필요
35
+ 2. **기록**: `.timsquad/retrospective/feedback.jsonl`에 append
36
+ ```json
37
+ {"ts":"ISO8601","level":1,"phase":"P2","message":"...","status":"open"}
38
+ ```
39
+ 3. **즉시 조치 판단**:
40
+ - L1 → 현재 Task에서 수정 권고 (알림만)
41
+ - L2 → 현재 Sequence 완료 후 Architect 검토 권고
42
+ - L3 → Phase 완료 시 `/tsq-retro`에서 우선 다룸
43
+
44
+ 상세 분류 기준은 `references/feedback-guide.md` 참조.
45
+
46
+ ### Mode 2: retro — KPT 회고 (기본)
47
+
48
+ `/tsq-retro` 또는 `/tsq-retro retro`. Phase 완료 후 실행 권장.
49
+
50
+ 1. **데이터 수집**:
51
+ - `.timsquad/logs/` — 작업 로그
52
+ - `.timsquad/retrospective/feedback.jsonl` — 수집된 피드백
53
+ - `.timsquad/retrospective/metrics/` — 메트릭
54
+ - `.timsquad/retrospective/patterns/` — 기존 패턴
55
+ 2. **메트릭 계산**: 작업 수, 성공률, 평균 수정 횟수, 피드백 레벨별 건수
56
+ 3. **KPT 분석**: Keep / Problem / Try 분류
57
+ 4. **패턴 식별**: 실패 패턴(FP, 3회+ 반복) / 성공 패턴(SP, 효과 검증)
58
+ 5. **리포트 작성**: `.timsquad/retrospective/retro-{phase}.md`
59
+ 6. **개선 제안**: 실행 가능한 액션 아이템 도출 → 사용자 승인 대기
60
+ 7. **피드백 정리**: 처리된 feedback.jsonl 엔트리를 `status: "resolved"` 처리
61
+
62
+ 리포트 구성: 메트릭 요약 → 에이전트별 성과 → 피드백 분석(L1/L2/L3) → 패턴(FP/SP) → 개선 조치 → 다음 목표.
63
+
64
+ ### Mode 3: improve — 개선 적용
65
+
66
+ `/tsq-retro improve`. 회고에서 승인된 개선을 실제로 적용.
67
+
68
+ 1. **제안 로드**: 최근 retro 리포트에서 승인된 개선 항목 읽기
69
+ 2. **대상 분류**: 개선 대상별로 분류
70
+ - **스킬 패치**: SKILL.md 규칙/프로토콜 수정
71
+ - **템플릿 수정**: agent.md, config.yaml 등
72
+ - **패턴 등록**: `.timsquad/retrospective/patterns/` 에 FP/SP 기록
73
+ - **lessons 기록**: `.timsquad/retrospective/lessons.md` 에 학습 사항 append
74
+ 3. **적용**: 각 대상에 diff 형태로 변경 사항 제시 → 사용자 확인 후 적용
75
+ 4. **검증**: 변경 후 `npm test` 통과 확인
76
+ 5. **기록**: 적용된 개선을 lessons.md에 기록, 다음 retro에서 효과 측정
77
+
78
+ 상세 절차는 `references/improve-protocol.md` 참조. 개선 제안 형식은 `references/improvement-template.md` 참조.
79
+
80
+ ## Quick Rules
81
+
82
+ - **객관적 데이터 우선** — 주관적 평가보다 수치 기반
83
+ - **구체적 액션** — "더 잘하자"가 아닌 실행 가능한 행동
84
+ - **균형 잡힌 시각** — 문제점만이 아닌 성공 사례도 포함
85
+ - **점진적 개선** — 한 번에 대규모 변경보다 작은 개선을 반복
86
+ - **사용자 승인 필수** — improve 모드에서 자동 적용 금지, 반드시 확인 후 적용
@@ -0,0 +1,58 @@
1
+ ---
2
+ title: Feedback Level Classification Guide
3
+ category: reference
4
+ ---
5
+
6
+ # 피드백 레벨 분류 가이드
7
+
8
+ ## L1 — 구현 수준 (현재 Task에서 수정 가능)
9
+
10
+ 즉시 수정 가능한 코드/테스트 수준의 이슈.
11
+
12
+ | 트리거 | 예시 |
13
+ |--------|------|
14
+ | 버그 발견 | "로그인 시 토큰 만료 체크 누락" |
15
+ | 테스트 누락 | "에러 케이스 단위 테스트 없음" |
16
+ | 코드 품질 | "중복 로직이 3곳에 산재" |
17
+ | 타입 에러 | "반환 타입이 Promise인데 await 누락" |
18
+ | 린트/포맷 | "ESLint 규칙 위반" |
19
+
20
+ **조치**: 현재 Task 내에서 Developer가 바로 수정. Controller에 별도 보고 불필요.
21
+
22
+ ## L2 — 설계 수준 (Sequence/Phase 조정 필요)
23
+
24
+ 현재 Task 범위를 넘어서는 구조적 변경이 필요한 이슈.
25
+
26
+ | 트리거 | 예시 |
27
+ |--------|------|
28
+ | API 인터페이스 변경 | "REST → GraphQL 전환 필요" |
29
+ | DB 스키마 수정 | "정규화 깨짐, 마이그레이션 필요" |
30
+ | 아키텍처 변경 | "모놀리스 → 마이크로서비스 분리" |
31
+ | 의존성 충돌 | "라이브러리 A와 B 버전 비호환" |
32
+ | 성능 병목 | "N+1 쿼리 패턴, 구조적 수정 필요" |
33
+
34
+ **조치**: 현재 Sequence 완료 후 Architect 검토 권고. Phase Memory에 carry-over 기록.
35
+
36
+ ## L3 — 기획 수준 (SSOT 수정 필요)
37
+
38
+ 요구사항/스펙 자체의 변경이 필요한 이슈.
39
+
40
+ | 트리거 | 예시 |
41
+ |--------|------|
42
+ | 요구사항 모순 | "PRD에서 '실시간'이라 했는데 폴링으로 구현" |
43
+ | 스펙 누락 | "인증 방식이 정의되지 않음" |
44
+ | 우선순위 변경 | "MVP에서 결제 기능 제외해야 할 듯" |
45
+ | 외부 제약 | "API 제공업체 정책 변경으로 재설계 필요" |
46
+ | 비즈니스 로직 변경 | "수수료 계산 공식이 바뀜" |
47
+
48
+ **조치**: Phase 완료 시 `/tsq-retro`에서 우선 다룸. SSOT 문서 갱신 필요.
49
+
50
+ ## 판단 기준 요약
51
+
52
+ ```
53
+ 코드만 고치면 해결? → L1
54
+ 설계/구조를 바꿔야 해결? → L2
55
+ 스펙/요구사항이 틀림? → L3
56
+ ```
57
+
58
+ 애매한 경우 낮은 레벨로 시작하고, 회고에서 레벨을 올린다.
@@ -0,0 +1,87 @@
1
+ ---
2
+ title: Improvement Application Protocol
3
+ category: reference
4
+ ---
5
+
6
+ # 개선 적용 프로토콜
7
+
8
+ `/tsq-retro improve` 실행 시 상세 절차.
9
+
10
+ ## 1. 제안 로드
11
+
12
+ 최근 retro 리포트(`.timsquad/retrospective/retro-{phase}.md`)에서 개선 항목을 추출한다.
13
+ 각 항목에는 `[승인]` / `[보류]` / `[거부]` 태그가 있어야 한다. 태그 없으면 사용자에게 승인 요청.
14
+
15
+ ## 2. 대상별 적용 절차
16
+
17
+ ### 스킬 패치 (SKILL.md 수정)
18
+
19
+ 대상: `.claude/skills/tsq-*/SKILL.md`
20
+
21
+ 1. 변경할 스킬 파일 읽기
22
+ 2. diff 형태로 변경 사항 제시
23
+ 3. 사용자 확인 후 적용
24
+ 4. 변경 이유를 커밋 메시지에 포함
25
+
26
+ 주의: Quick Rules나 Protocol 순서 변경은 다른 스킬과의 의존성 확인 필요.
27
+
28
+ ### 템플릿 수정
29
+
30
+ 대상: `.claude/agents/*.md`, `.timsquad/config.yaml`
31
+
32
+ 1. 변경 영향 범위 확인 (해당 에이전트가 참조하는 스킬 목록)
33
+ 2. diff 제시 → 사용자 확인
34
+ 3. 적용 후 관련 에이전트 동작에 영향 없는지 확인
35
+
36
+ ### 패턴 등록
37
+
38
+ 대상: `.timsquad/retrospective/patterns/`
39
+
40
+ 실패 패턴(FP) 또는 성공 패턴(SP)을 등록한다.
41
+
42
+ ```markdown
43
+ ## FP-{NNN}: {패턴명}
44
+
45
+ - **빈도**: {N}회 (Phase {X}, {Y}, {Z})
46
+ - **증상**: {무엇이 반복적으로 실패하는가}
47
+ - **근본 원인**: {왜 반복되는가}
48
+ - **대응**: {어떻게 방지할 것인가}
49
+ - **적용일**: {ISO8601}
50
+ ```
51
+
52
+ ```markdown
53
+ ## SP-{NNN}: {패턴명}
54
+
55
+ - **빈도**: {N}회 검증됨
56
+ - **효과**: {어떤 개선 효과가 있었는가}
57
+ - **조건**: {이 패턴이 효과적인 조건}
58
+ - **적용일**: {ISO8601}
59
+ ```
60
+
61
+ ### lessons.md 기록
62
+
63
+ 대상: `.timsquad/retrospective/lessons.md`
64
+
65
+ 모든 개선 적용 결과를 기록한다. 다음 retro에서 효과 측정의 입력이 된다.
66
+
67
+ ```markdown
68
+ ## {ISO8601} — {개선 제목}
69
+
70
+ - **출처**: retro-{phase}.md IMP-{NNN}
71
+ - **변경**: {무엇을 바꿨는가}
72
+ - **기대 효과**: {무엇을 기대하는가}
73
+ - **측정 기준**: {다음 retro에서 확인할 지표}
74
+ ```
75
+
76
+ ## 3. 검증
77
+
78
+ 적용 후 반드시 확인:
79
+
80
+ 1. `npm test` — 테스트 통과
81
+ 2. 변경된 스킬이 있으면 frontmatter(name, description, version) 정합성 확인
82
+ 3. 패턴이 등록됐으면 patterns/ 디렉토리에 파일 존재 확인
83
+
84
+ ## 4. 효과 측정 (다음 retro에서)
85
+
86
+ lessons.md의 "측정 기준"을 다음 `/tsq-retro` 실행 시 자동으로 체크한다.
87
+ 개선이 효과가 있었으면 SP로 승격, 없었으면 Try 항목에 재등록.
@@ -1,13 +1,11 @@
1
1
  ---
2
- name: security
2
+ name: tsq-security
3
3
  description: |
4
4
  보안 검토 및 취약점 탐지 가이드라인.
5
5
  OWASP Top 10, 시크릿 관리, Rate Limiting, CSRF 방지를 다룸.
6
6
  Use when: "보안 검토, 취약점, OWASP, XSS, injection, 시크릿, 인증"
7
7
  version: "1.0.0"
8
- tags: [security, owasp, vulnerability]
9
- depends_on: []
10
- conflicts_with: []
8
+ tags: [tsq, security, owasp, vulnerability]
11
9
  user-invocable: false
12
10
  ---
13
11
 
@@ -1,13 +1,11 @@
1
1
  ---
2
- name: spec
2
+ name: tsq-spec
3
3
  description: |
4
4
  SSOT(Single Source of Truth) 문서 존재 여부를 확인하고, 미존재 시 구현 전 스펙 작성을 안내한다.
5
- `/spec <기능명>`으로 호출하면 해당 기능의 SSOT 문서를 찾아 상태를 보고한다.
5
+ `/tsq-spec <기능명>`으로 호출하면 해당 기능의 SSOT 문서를 찾아 상태를 보고한다.
6
6
  스펙 없이 구현하는 것을 방지하여 문서-코드 일관성을 유지한다.
7
7
  version: "1.0.0"
8
- tags: [spec, ssot, gate, documentation]
9
- depends_on: [tsq-protocol]
10
- conflicts_with: []
8
+ tags: [tsq, spec, ssot, gate, documentation]
11
9
  user-invocable: true
12
10
  argument-hint: "[기능명] — SSOT 문서 존재 여부 확인"
13
11
  ---
@@ -18,7 +16,7 @@ SSOT 문서 존재 여부를 확인하여 스펙 없는 구현을 방지한다.
18
16
 
19
17
  ## Contract
20
18
 
21
- - **Trigger**: `/spec` 호출 또는 구현 시작 전 자동 확인
19
+ - **Trigger**: `/tsq-spec` 호출 또는 구현 시작 전 자동 확인
22
20
  - **Input**: `$ARGUMENTS` (기능명) 또는 미지정 시 전체 SSOT 상태
23
21
  - **Output**: SSOT 상태 리포트 (존재/stale/미존재) + 권장 액션
24
22
  - **Error**: SSOT 디렉토리 자체가 없을 경우 "NOT FOUND" 안내
@@ -1,12 +1,12 @@
1
1
  ---
2
- name: stability-verification
2
+ name: tsq-stability
3
3
  description: |
4
4
  프로젝트 안정성 검증 스킬. 릴리스/스프린트 완료 전 6-Layer 자동+수동 검증 수행.
5
5
  L0(정적분석) → L1(유닛테스트) → L2(보안스캔) → L3(쉘스크립트) → L4(통합) → L5(패키지).
6
6
  각 레이어는 fail-closed(기본) 또는 fail-open 정책 적용.
7
7
  사용 시점: 릴리스 전, 스프린트 완료 시, 보안 감사 요청 시.
8
8
  version: "1.0.0"
9
- tags: [verification, security, quality, release]
9
+ tags: [tsq, verification, security, quality, release]
10
10
  user-invocable: false
11
11
  ---
12
12
 
@@ -33,7 +33,7 @@ user-invocable: false
33
33
  ## Quick Rules
34
34
 
35
35
  ### 검증 실행
36
- - `bash .claude/skills/stability-verification/scripts/verify.sh` 로 전체 실행
36
+ - `bash .claude/skills/tsq-stability/scripts/verify.sh` 로 전체 실행
37
37
  - `--layer L0` 으로 특정 레이어만 실행
38
38
  - `--skip L3` 으로 특정 레이어 건너뛰기
39
39
 
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: tsq-start
3
+ description: |
4
+ TimSquad 파이프라인 시작. 데몬 기동, 프로토콜 활성화, 현재 상태 복원.
5
+ 초기화 직후 프로젝트는 자동으로 온보딩 모드 진입 (SSOT 문서 작성 가이드).
6
+ Use when: 사용자가 /tsq-start로 TimSquad 파이프라인을 시작할 때.
7
+ version: "2.0.0"
8
+ tags: [tsq, pipeline, start, onboarding]
9
+ user-invocable: true
10
+ ---
11
+
12
+ # /tsq-start — TimSquad Pipeline Start
13
+
14
+ ## Protocol
15
+
16
+ 1. **데몬 기동**: `tsq daemon start 2>/dev/null || true`
17
+ 2. **현재 Phase 확인**: `.timsquad/state/current-phase.json` 읽기
18
+ 3. **프로토콜 활성화**: 이후 tsq-protocol 준수, 위임은 controller 경유
19
+ 4. **상태 복원**: 진행 중인 시퀀스/태스크 요약 출력
20
+ 5. **온보딩 감지**: SSOT 충족도 검사 → 미충족 시 온보딩 모드
21
+ 6. **안내 출력**
22
+
23
+ ## 온보딩 감지 (Step 5)
24
+
25
+ `.timsquad/ssot/`의 `.md` 파일을 스캔하여 작성 완료도 판정:
26
+ - **empty**: placeholder만 존재 (`[Resource Name]`, `TBD`, `example.com` 등이 50%+)
27
+ - **partial**: 일부 섹션만 작성
28
+ - **filled**: 주요 섹션 작성 완료
29
+
30
+ **진입 조건** (하나라도 해당): prd.md가 empty / required 70%+ empty / progress=0
31
+
32
+ 온보딩 시 SSOT 현황(⬜/🟨/✅)을 보여주고 3가지 선택지 제시:
33
+ 1. 온보딩 시작 (권장) — PRD부터 순서대로
34
+ 2. 특정 문서만 작성
35
+ 3. 건너뛰기
36
+
37
+ ## 온보딩 프로세스
38
+
39
+ **작성 우선순위**: prd → requirements → data-design → service-spec → 타입별 필수
40
+
41
+ 타입별 추가 우선 문서는 `references/onboarding-questions.md` 참조.
42
+
43
+ **각 문서 작성 흐름**:
44
+ 1. **인터뷰**: 핵심 질문 3-5개 (`references/onboarding-questions.md`의 ★ 필수 질문)
45
+ 2. **초안 생성**: 답변으로 SSOT 템플릿 placeholder 채움
46
+ 3. **확인**: 초안 보여주고 수정 수렴
47
+ 4. **저장**: `.timsquad/ssot/{name}.md`
48
+ 5. **다음 문서**: 계속 여부 확인
49
+
50
+ ### PRD → Grill 자동 연결
51
+
52
+ PRD 초안 완성 후 기능 인덱스에 기능이 2개 이상이면 자동으로 `/tsq-grill` 반복 진입:
53
+
54
+ 1. PRD 기능 인덱스 테이블에서 Sub-PRD 미작성 기능 목록 추출
55
+ 2. 사용자에게 목록 보여주고 순서 확인 ("이 순서로 하나씩 상세화합니다")
56
+ 3. 각 기능마다 `/tsq-grill` 프로세스 실행 (Why → What → How 인터뷰 → Sub-PRD 생성)
57
+ 4. 하나 완료 후 자동으로 다음 기능 진행 (사용자가 "중단", "나중에"라고 하면 정지)
58
+ 5. 중단 시 진행 상태를 `onboarding-progress.json`에 기록 → 다음 `/tsq-start`에서 이어서 진행
59
+ 6. 모든 기능의 Sub-PRD 완성 시 → 나머지 SSOT 문서(requirements, data-design 등) 온보딩 계속
60
+
61
+ 이렇게 하면 PRD가 기능 목록만 있는 껍데기가 아니라, 각 기능의 Why/What/How까지 잡힌 상태에서 설계 단계로 넘어간다.
62
+
63
+ **세션 관리**: `.timsquad/state/onboarding-progress.json`에 진행 상태 저장:
64
+ ```json
65
+ {
66
+ "documents": { "prd": "filled", "requirements": "empty", ... },
67
+ "grill": {
68
+ "pending": ["feature-b", "feature-c"],
69
+ "completed": ["feature-a"],
70
+ "current": null
71
+ },
72
+ "last_updated": "ISO8601"
73
+ }
74
+ ```
75
+ 세션 끊겨도 다음 `/tsq-start`에서 `grill.pending`부터 이어서 진행. 모든 문서 filled + grill.pending 비어있으면 자동 완료.
76
+
77
+ ## 온보딩 완료 후 자동 전환
78
+
79
+ 모든 SSOT 문서 filled + grill.pending 비어있으면 온보딩 완료. 이후:
80
+
81
+ 1. **`/tsq-decompose` 자동 안내**: "온보딩 완료. `/tsq-decompose`로 Phase-Sequence-Task 실행 계획을 생성하시겠습니까?"
82
+ 2. 사용자 승인 시 `/tsq-decompose` 실행 (Sub-PRD → DAG → planning.md)
83
+ 3. planning.md 확정 후 → 정상 파이프라인 진행 (Controller 경유 위임)
84
+
85
+ ## 파이프라인 분기
86
+
87
+ 온보딩 완료 + planning.md 확정 후 사용자가 작업을 지시하면:
88
+ - **파이프라인 적합** (새 기능, API, DB, 아키텍처) → controller 경유 위임
89
+ - **단순 작업** (오타, 스타일, 1-2줄) → 직접 수행 + 최소 로그
90
+ - **모호한 경우** → 사용자에게 선택지 제시