timsquad 2.1.0 → 3.4.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 (438) hide show
  1. package/README.ko.md +288 -0
  2. package/README.md +170 -763
  3. package/dist/commands/compile.d.ts +3 -0
  4. package/dist/commands/compile.d.ts.map +1 -0
  5. package/dist/commands/compile.js +170 -0
  6. package/dist/commands/compile.js.map +1 -0
  7. package/dist/commands/daemon.d.ts +7 -0
  8. package/dist/commands/daemon.d.ts.map +1 -0
  9. package/dist/commands/daemon.js +229 -0
  10. package/dist/commands/daemon.js.map +1 -0
  11. package/dist/commands/feedback.d.ts +9 -0
  12. package/dist/commands/feedback.d.ts.map +1 -1
  13. package/dist/commands/feedback.js +235 -14
  14. package/dist/commands/feedback.js.map +1 -1
  15. package/dist/commands/full.js +2 -2
  16. package/dist/commands/full.js.map +1 -1
  17. package/dist/commands/init.d.ts.map +1 -1
  18. package/dist/commands/init.js +118 -22
  19. package/dist/commands/init.js.map +1 -1
  20. package/dist/commands/knowledge.d.ts +3 -0
  21. package/dist/commands/knowledge.d.ts.map +1 -0
  22. package/dist/commands/knowledge.js +316 -0
  23. package/dist/commands/knowledge.js.map +1 -0
  24. package/dist/commands/log.d.ts +27 -0
  25. package/dist/commands/log.d.ts.map +1 -1
  26. package/dist/commands/log.js +965 -0
  27. package/dist/commands/log.js.map +1 -1
  28. package/dist/commands/meta-index.d.ts +3 -0
  29. package/dist/commands/meta-index.d.ts.map +1 -0
  30. package/dist/commands/meta-index.js +401 -0
  31. package/dist/commands/meta-index.js.map +1 -0
  32. package/dist/commands/metrics.d.ts.map +1 -1
  33. package/dist/commands/metrics.js +239 -4
  34. package/dist/commands/metrics.js.map +1 -1
  35. package/dist/commands/retro.js +154 -6
  36. package/dist/commands/retro.js.map +1 -1
  37. package/dist/commands/skills.d.ts +12 -0
  38. package/dist/commands/skills.d.ts.map +1 -0
  39. package/dist/commands/skills.js +231 -0
  40. package/dist/commands/skills.js.map +1 -0
  41. package/dist/commands/upgrade.d.ts +8 -0
  42. package/dist/commands/upgrade.d.ts.map +1 -0
  43. package/dist/commands/upgrade.js +292 -0
  44. package/dist/commands/upgrade.js.map +1 -0
  45. package/dist/commands/workflow.d.ts +3 -0
  46. package/dist/commands/workflow.d.ts.map +1 -0
  47. package/dist/commands/workflow.js +607 -0
  48. package/dist/commands/workflow.js.map +1 -0
  49. package/dist/daemon/context-writer.d.ts +16 -0
  50. package/dist/daemon/context-writer.d.ts.map +1 -0
  51. package/dist/daemon/context-writer.js +35 -0
  52. package/dist/daemon/context-writer.js.map +1 -0
  53. package/dist/daemon/entry.d.ts +7 -0
  54. package/dist/daemon/entry.d.ts.map +1 -0
  55. package/dist/daemon/entry.js +17 -0
  56. package/dist/daemon/entry.js.map +1 -0
  57. package/dist/daemon/event-queue.d.ts +52 -0
  58. package/dist/daemon/event-queue.d.ts.map +1 -0
  59. package/dist/daemon/event-queue.js +255 -0
  60. package/dist/daemon/event-queue.js.map +1 -0
  61. package/dist/daemon/file-watcher.d.ts +19 -0
  62. package/dist/daemon/file-watcher.d.ts.map +1 -0
  63. package/dist/daemon/file-watcher.js +87 -0
  64. package/dist/daemon/file-watcher.js.map +1 -0
  65. package/dist/daemon/index.d.ts +29 -0
  66. package/dist/daemon/index.d.ts.map +1 -0
  67. package/dist/daemon/index.js +296 -0
  68. package/dist/daemon/index.js.map +1 -0
  69. package/dist/daemon/jsonl-watcher.d.ts +49 -0
  70. package/dist/daemon/jsonl-watcher.d.ts.map +1 -0
  71. package/dist/daemon/jsonl-watcher.js +258 -0
  72. package/dist/daemon/jsonl-watcher.js.map +1 -0
  73. package/dist/daemon/meta-cache.d.ts +63 -0
  74. package/dist/daemon/meta-cache.d.ts.map +1 -0
  75. package/dist/daemon/meta-cache.js +249 -0
  76. package/dist/daemon/meta-cache.js.map +1 -0
  77. package/dist/daemon/session-state.d.ts +19 -0
  78. package/dist/daemon/session-state.d.ts.map +1 -0
  79. package/dist/daemon/session-state.js +132 -0
  80. package/dist/daemon/session-state.js.map +1 -0
  81. package/dist/daemon/shutdown.d.ts +21 -0
  82. package/dist/daemon/shutdown.d.ts.map +1 -0
  83. package/dist/daemon/shutdown.js +164 -0
  84. package/dist/daemon/shutdown.js.map +1 -0
  85. package/dist/index.js +24 -3
  86. package/dist/index.js.map +1 -1
  87. package/dist/lib/agent-composer.d.ts +38 -0
  88. package/dist/lib/agent-composer.d.ts.map +1 -0
  89. package/dist/lib/agent-composer.js +128 -0
  90. package/dist/lib/agent-composer.js.map +1 -0
  91. package/dist/lib/agent-generator.d.ts +22 -0
  92. package/dist/lib/agent-generator.d.ts.map +1 -0
  93. package/dist/lib/agent-generator.js +150 -0
  94. package/dist/lib/agent-generator.js.map +1 -0
  95. package/dist/lib/ast-parser.d.ts +11 -0
  96. package/dist/lib/ast-parser.d.ts.map +1 -0
  97. package/dist/lib/ast-parser.js +282 -0
  98. package/dist/lib/ast-parser.js.map +1 -0
  99. package/dist/lib/compile-rules.d.ts +66 -0
  100. package/dist/lib/compile-rules.d.ts.map +1 -0
  101. package/dist/lib/compile-rules.js +114 -0
  102. package/dist/lib/compile-rules.js.map +1 -0
  103. package/dist/lib/compiler.d.ts +105 -0
  104. package/dist/lib/compiler.d.ts.map +1 -0
  105. package/dist/lib/compiler.js +368 -0
  106. package/dist/lib/compiler.js.map +1 -0
  107. package/dist/lib/config.d.ts +7 -2
  108. package/dist/lib/config.d.ts.map +1 -1
  109. package/dist/lib/config.js +34 -3
  110. package/dist/lib/config.js.map +1 -1
  111. package/dist/lib/meta-index.d.ts +19 -0
  112. package/dist/lib/meta-index.d.ts.map +1 -0
  113. package/dist/lib/meta-index.js +573 -0
  114. package/dist/lib/meta-index.js.map +1 -0
  115. package/dist/lib/project.js +1 -1
  116. package/dist/lib/project.js.map +1 -1
  117. package/dist/lib/skill-generator.d.ts +32 -0
  118. package/dist/lib/skill-generator.d.ts.map +1 -0
  119. package/dist/lib/skill-generator.js +187 -0
  120. package/dist/lib/skill-generator.js.map +1 -0
  121. package/dist/lib/template.d.ts +16 -2
  122. package/dist/lib/template.d.ts.map +1 -1
  123. package/dist/lib/template.js +115 -20
  124. package/dist/lib/template.js.map +1 -1
  125. package/dist/lib/ui-index.d.ts +12 -0
  126. package/dist/lib/ui-index.d.ts.map +1 -0
  127. package/dist/lib/ui-index.js +239 -0
  128. package/dist/lib/ui-index.js.map +1 -0
  129. package/dist/lib/ui-parser.d.ts +12 -0
  130. package/dist/lib/ui-parser.d.ts.map +1 -0
  131. package/dist/lib/ui-parser.js +472 -0
  132. package/dist/lib/ui-parser.js.map +1 -0
  133. package/dist/lib/update-check.d.ts +6 -0
  134. package/dist/lib/update-check.d.ts.map +1 -0
  135. package/dist/lib/update-check.js +121 -0
  136. package/dist/lib/update-check.js.map +1 -0
  137. package/dist/lib/upgrade-backup.d.ts +33 -0
  138. package/dist/lib/upgrade-backup.d.ts.map +1 -0
  139. package/dist/lib/upgrade-backup.js +101 -0
  140. package/dist/lib/upgrade-backup.js.map +1 -0
  141. package/dist/lib/version.d.ts +19 -0
  142. package/dist/lib/version.d.ts.map +1 -0
  143. package/dist/lib/version.js +35 -0
  144. package/dist/lib/version.js.map +1 -0
  145. package/dist/lib/workflow-state.d.ts +48 -0
  146. package/dist/lib/workflow-state.d.ts.map +1 -0
  147. package/dist/lib/workflow-state.js +67 -0
  148. package/dist/lib/workflow-state.js.map +1 -0
  149. package/dist/types/config.d.ts +103 -2
  150. package/dist/types/config.d.ts.map +1 -1
  151. package/dist/types/config.js +184 -9
  152. package/dist/types/config.js.map +1 -1
  153. package/dist/types/feedback.d.ts +7 -0
  154. package/dist/types/feedback.d.ts.map +1 -1
  155. package/dist/types/feedback.js +1 -1
  156. package/dist/types/feedback.js.map +1 -1
  157. package/dist/types/index.d.ts +3 -0
  158. package/dist/types/index.d.ts.map +1 -1
  159. package/dist/types/index.js +3 -0
  160. package/dist/types/index.js.map +1 -1
  161. package/dist/types/meta-index.d.ts +146 -0
  162. package/dist/types/meta-index.d.ts.map +1 -0
  163. package/dist/types/meta-index.js +7 -0
  164. package/dist/types/meta-index.js.map +1 -0
  165. package/dist/types/project.d.ts +19 -3
  166. package/dist/types/project.d.ts.map +1 -1
  167. package/dist/types/project.js +23 -0
  168. package/dist/types/project.js.map +1 -1
  169. package/dist/types/task-log.d.ts +208 -0
  170. package/dist/types/task-log.d.ts.map +1 -0
  171. package/dist/types/task-log.js +6 -0
  172. package/dist/types/task-log.js.map +1 -0
  173. package/dist/types/ui-meta.d.ts +118 -0
  174. package/dist/types/ui-meta.d.ts.map +1 -0
  175. package/dist/types/ui-meta.js +7 -0
  176. package/dist/types/ui-meta.js.map +1 -0
  177. package/package.json +12 -4
  178. package/templates/base/agents/base/tsq-architect.md +68 -0
  179. package/templates/base/agents/base/tsq-dba.md +56 -0
  180. package/templates/base/agents/base/tsq-designer.md +72 -0
  181. package/templates/base/agents/base/tsq-developer.md +67 -0
  182. package/templates/base/agents/base/tsq-qa.md +55 -0
  183. package/templates/base/agents/base/tsq-security.md +65 -0
  184. package/templates/base/agents/overlays/domain/general-web/_common.md +11 -0
  185. package/templates/base/agents/overlays/domain/mobile/_common.md +13 -0
  186. package/templates/base/agents/overlays/platform/claude-code.md +12 -0
  187. package/templates/base/config.template.yaml +213 -0
  188. package/templates/base/knowledge/checklists/accessibility.md +37 -0
  189. package/templates/base/knowledge/checklists/architecture-review.md +28 -0
  190. package/templates/base/knowledge/checklists/database-standards.md +84 -0
  191. package/templates/base/knowledge/checklists/design-reference.md +97 -0
  192. package/templates/base/knowledge/checklists/security.md +50 -0
  193. package/templates/base/knowledge/checklists/ssot-validation.md +19 -0
  194. package/templates/base/knowledge/domains/_template.md +16 -0
  195. package/templates/base/knowledge/platforms/_template.md +16 -0
  196. package/templates/base/knowledge/templates/sequence-report.md +44 -0
  197. package/templates/base/knowledge/templates/task-result.md +105 -0
  198. package/templates/base/skills/_template/SKILL.md +59 -0
  199. package/templates/base/skills/_template/references/_template.md +35 -0
  200. package/templates/base/skills/_template/rules/_sections.md +34 -0
  201. package/templates/base/skills/_template/rules/_template.md +32 -0
  202. package/templates/base/skills/_template/scripts/_template.sh +31 -0
  203. package/templates/base/skills/architecture/SKILL.md +54 -0
  204. package/templates/base/skills/architecture/references/adr-template.md +50 -0
  205. package/templates/base/skills/architecture/references/api-design.md +64 -0
  206. package/templates/base/skills/backend/node/SKILL.md +81 -0
  207. package/templates/base/skills/backend/node/rules/async-patterns.md +81 -0
  208. package/templates/base/skills/backend/node/rules/deployment.md +33 -0
  209. package/templates/base/skills/backend/node/rules/env-config.md +41 -0
  210. package/templates/base/skills/backend/node/rules/error-handling.md +83 -0
  211. package/templates/base/skills/backend/node/rules/hono-app-setup.md +98 -0
  212. package/templates/base/skills/backend/node/rules/jwt-auth.md +76 -0
  213. package/templates/base/skills/backend/node/rules/middleware.md +56 -0
  214. package/templates/base/skills/backend/node/rules/testing.md +82 -0
  215. package/templates/base/skills/coding/SKILL.md +47 -0
  216. package/templates/base/skills/coding/rules/patterns.md +81 -0
  217. package/templates/base/skills/controller/SKILL.md +111 -0
  218. package/templates/base/skills/controller/references/README.md +35 -0
  219. package/templates/base/skills/controller/rules/README.md +18 -0
  220. package/templates/base/skills/database/SKILL.md +98 -0
  221. package/templates/base/skills/database/prisma/SKILL.md +57 -0
  222. package/templates/base/skills/database/prisma/rules/queries.md +133 -0
  223. package/templates/base/skills/database/prisma/rules/schema-design.md +80 -0
  224. package/templates/base/skills/frontend/nextjs/SKILL.md +59 -0
  225. package/templates/base/skills/frontend/nextjs/rules/app-router.md +138 -0
  226. package/templates/base/skills/frontend/react/SKILL.md +86 -0
  227. package/templates/base/skills/frontend/react/rules/_sections.md +88 -0
  228. package/templates/base/skills/frontend/react/rules/anti-patterns.md +67 -0
  229. package/templates/base/skills/frontend/react/rules/async-api-routes.md +38 -0
  230. package/templates/base/skills/frontend/react/rules/async-defer-await.md +80 -0
  231. package/templates/base/skills/frontend/react/rules/async-dependencies.md +36 -0
  232. package/templates/base/skills/frontend/react/rules/async-parallel.md +28 -0
  233. package/templates/base/skills/frontend/react/rules/async-suspense-boundaries.md +99 -0
  234. package/templates/base/skills/frontend/react/rules/bundle-barrel-imports.md +59 -0
  235. package/templates/base/skills/frontend/react/rules/bundle-defer-third-party.md +49 -0
  236. package/templates/base/skills/frontend/react/rules/bundle-dynamic-imports.md +35 -0
  237. package/templates/base/skills/frontend/react/rules/component-conventions.md +74 -0
  238. package/templates/base/skills/frontend/react/rules/js-combine-iterations.md +32 -0
  239. package/templates/base/skills/frontend/react/rules/js-early-exit.md +50 -0
  240. package/templates/base/skills/frontend/react/rules/js-index-maps.md +37 -0
  241. package/templates/base/skills/frontend/react/rules/js-set-map-lookups.md +24 -0
  242. package/templates/base/skills/frontend/react/rules/rendering-conditional-render.md +40 -0
  243. package/templates/base/skills/frontend/react/rules/rendering-content-visibility.md +38 -0
  244. package/templates/base/skills/frontend/react/rules/rendering-hoist-jsx.md +46 -0
  245. package/templates/base/skills/frontend/react/rules/rerender-defer-reads.md +39 -0
  246. package/templates/base/skills/frontend/react/rules/rerender-derived-state.md +29 -0
  247. package/templates/base/skills/frontend/react/rules/rerender-memo.md +44 -0
  248. package/templates/base/skills/frontend/react/rules/rerender-transitions.md +40 -0
  249. package/templates/base/skills/frontend/react/rules/server-after-nonblocking.md +73 -0
  250. package/templates/base/skills/frontend/react/rules/server-cache-react.md +26 -0
  251. package/templates/base/skills/frontend/react/rules/server-parallel-fetching.md +79 -0
  252. package/templates/base/skills/frontend/react/rules/state-location.md +55 -0
  253. package/templates/base/skills/methodology/bdd/SKILL.md +69 -0
  254. package/templates/base/skills/methodology/bdd/rules/gherkin-patterns.md +113 -0
  255. package/templates/base/skills/methodology/ddd/SKILL.md +74 -0
  256. package/templates/base/skills/methodology/ddd/rules/strategic-patterns.md +98 -0
  257. package/templates/base/skills/methodology/debugging/SKILL.md +60 -0
  258. package/templates/base/skills/methodology/debugging/references/root-cause-tracing.md +84 -0
  259. package/templates/base/skills/methodology/tdd/SKILL.md +66 -0
  260. package/templates/base/skills/methodology/tdd/rules/real-world-example.md +88 -0
  261. package/templates/base/skills/methodology/tdd/rules/techniques.md +185 -0
  262. package/templates/base/skills/mobile/dart/SKILL.md +69 -0
  263. package/templates/base/skills/mobile/dart/rules/async-patterns.md +112 -0
  264. package/templates/base/skills/mobile/dart/rules/code-style.md +96 -0
  265. package/templates/base/skills/mobile/dart/rules/null-safety.md +84 -0
  266. package/templates/base/skills/mobile/dart/rules/type-system.md +111 -0
  267. package/templates/base/skills/mobile/flutter/SKILL.md +89 -0
  268. package/templates/base/skills/mobile/flutter/ci-cd/SKILL.md +82 -0
  269. package/templates/base/skills/mobile/flutter/ci-cd/references/ci-cd-pipeline.md +314 -0
  270. package/templates/base/skills/mobile/flutter/ci-cd/rules/code-signing.md +106 -0
  271. package/templates/base/skills/mobile/flutter/ci-cd/rules/codemagic-setup.md +116 -0
  272. package/templates/base/skills/mobile/flutter/ci-cd/rules/fastlane-setup.md +105 -0
  273. package/templates/base/skills/mobile/flutter/ci-cd/rules/github-actions.md +112 -0
  274. package/templates/base/skills/mobile/flutter/ci-cd/rules/store-deployment.md +106 -0
  275. package/templates/base/skills/mobile/flutter/ci-cd/rules/versioning.md +107 -0
  276. package/templates/base/skills/mobile/flutter/i18n/SKILL.md +78 -0
  277. package/templates/base/skills/mobile/flutter/i18n/references/i18n-architecture.md +225 -0
  278. package/templates/base/skills/mobile/flutter/i18n/rules/arb-files.md +182 -0
  279. package/templates/base/skills/mobile/flutter/i18n/rules/locale-switching.md +226 -0
  280. package/templates/base/skills/mobile/flutter/i18n/rules/localization-setup.md +137 -0
  281. package/templates/base/skills/mobile/flutter/i18n/rules/plural-gender.md +159 -0
  282. package/templates/base/skills/mobile/flutter/i18n/rules/text-direction.md +199 -0
  283. package/templates/base/skills/mobile/flutter/monitoring/SKILL.md +81 -0
  284. package/templates/base/skills/mobile/flutter/monitoring/references/monitoring-architecture.md +269 -0
  285. package/templates/base/skills/mobile/flutter/monitoring/rules/analytics.md +227 -0
  286. package/templates/base/skills/mobile/flutter/monitoring/rules/crashlytics-setup.md +195 -0
  287. package/templates/base/skills/mobile/flutter/monitoring/rules/logging.md +258 -0
  288. package/templates/base/skills/mobile/flutter/monitoring/rules/performance-monitoring.md +248 -0
  289. package/templates/base/skills/mobile/flutter/monitoring/rules/sentry-integration.md +249 -0
  290. package/templates/base/skills/mobile/flutter/networking/SKILL.md +88 -0
  291. package/templates/base/skills/mobile/flutter/networking/references/api-client-architecture.md +305 -0
  292. package/templates/base/skills/mobile/flutter/networking/rules/caching.md +212 -0
  293. package/templates/base/skills/mobile/flutter/networking/rules/connectivity.md +213 -0
  294. package/templates/base/skills/mobile/flutter/networking/rules/dio-setup.md +159 -0
  295. package/templates/base/skills/mobile/flutter/networking/rules/error-handling.md +209 -0
  296. package/templates/base/skills/mobile/flutter/networking/rules/interceptors.md +205 -0
  297. package/templates/base/skills/mobile/flutter/networking/rules/retrofit-patterns.md +194 -0
  298. package/templates/base/skills/mobile/flutter/push-notifications/SKILL.md +87 -0
  299. package/templates/base/skills/mobile/flutter/push-notifications/references/notification-architecture.md +340 -0
  300. package/templates/base/skills/mobile/flutter/push-notifications/references/platform-setup.md +286 -0
  301. package/templates/base/skills/mobile/flutter/push-notifications/rules/background-processing.md +308 -0
  302. package/templates/base/skills/mobile/flutter/push-notifications/rules/deep-linking.md +217 -0
  303. package/templates/base/skills/mobile/flutter/push-notifications/rules/fcm-setup.md +164 -0
  304. package/templates/base/skills/mobile/flutter/push-notifications/rules/local-notifications.md +262 -0
  305. package/templates/base/skills/mobile/flutter/push-notifications/rules/notification-handling.md +210 -0
  306. package/templates/base/skills/mobile/flutter/push-notifications/rules/notification-permissions.md +246 -0
  307. package/templates/base/skills/mobile/flutter/push-notifications/rules/rich-notifications.md +320 -0
  308. package/templates/base/skills/mobile/flutter/references/freezed-patterns.md +162 -0
  309. package/templates/base/skills/mobile/flutter/references/project-structure.md +170 -0
  310. package/templates/base/skills/mobile/flutter/rules/animations.md +112 -0
  311. package/templates/base/skills/mobile/flutter/rules/architecture.md +121 -0
  312. package/templates/base/skills/mobile/flutter/rules/navigation-routing.md +117 -0
  313. package/templates/base/skills/mobile/flutter/rules/performance.md +112 -0
  314. package/templates/base/skills/mobile/flutter/rules/platform-adaptive.md +126 -0
  315. package/templates/base/skills/mobile/flutter/rules/state-management.md +110 -0
  316. package/templates/base/skills/mobile/flutter/rules/testing.md +131 -0
  317. package/templates/base/skills/mobile/flutter/rules/widget-conventions.md +122 -0
  318. package/templates/base/skills/mobile/flutter/security/SKILL.md +86 -0
  319. package/templates/base/skills/mobile/flutter/security/references/mobile-security-checklist.md +168 -0
  320. package/templates/base/skills/mobile/flutter/security/rules/api-key-protection.md +206 -0
  321. package/templates/base/skills/mobile/flutter/security/rules/authentication.md +248 -0
  322. package/templates/base/skills/mobile/flutter/security/rules/data-protection.md +271 -0
  323. package/templates/base/skills/mobile/flutter/security/rules/obfuscation.md +213 -0
  324. package/templates/base/skills/mobile/flutter/security/rules/secure-storage.md +171 -0
  325. package/templates/base/skills/mobile/flutter/security/rules/ssl-pinning.md +197 -0
  326. package/templates/base/skills/planning/SKILL.md +58 -0
  327. package/templates/base/skills/planning/references/prd-guide.md +47 -0
  328. package/templates/base/skills/planning/references/requirements-guide.md +46 -0
  329. package/templates/base/skills/prompt-engineering/SKILL.md +103 -0
  330. package/templates/base/skills/retrospective/SKILL.md +102 -0
  331. package/templates/base/skills/security/SKILL.md +55 -0
  332. package/templates/base/skills/security/rules/owasp-examples.md +119 -0
  333. package/templates/base/skills/security/scripts/check-secrets.sh +55 -0
  334. package/templates/base/skills/testing/SKILL.md +63 -0
  335. package/templates/base/skills/testing/references/testing-patterns.md +103 -0
  336. package/templates/base/skills/tsq-protocol/SKILL.md +51 -0
  337. package/templates/base/skills/typescript/SKILL.md +67 -0
  338. package/templates/base/skills/typescript/rules/type-patterns.md +135 -0
  339. package/templates/base/skills/typescript/rules/utility-types.md +76 -0
  340. package/templates/base/skills/ui-design/SKILL.md +70 -0
  341. package/templates/{common → base}/timsquad/feedback/routing-rules.yaml +1 -1
  342. package/templates/{common → base}/timsquad/retrospective/metrics/metrics-schema.json +46 -1
  343. package/templates/platforms/claude-code/CLAUDE.md.template +89 -0
  344. package/templates/platforms/claude-code/rules/adr-rules.md +32 -0
  345. package/templates/platforms/claude-code/rules/feedback-routing.md +18 -0
  346. package/templates/platforms/claude-code/rules/phase-management.md +23 -0
  347. package/templates/platforms/claude-code/rules/reporting-format.md +26 -0
  348. package/templates/platforms/claude-code/rules/sequence-management.md +72 -0
  349. package/templates/platforms/claude-code/rules/workspace-sync.md +33 -0
  350. package/templates/platforms/claude-code/scripts/completion-guard.sh +57 -0
  351. package/templates/platforms/claude-code/scripts/phase-guard.sh +79 -0
  352. package/templates/platforms/claude-code/settings.json +98 -0
  353. package/templates/project-types/api-backend/config.yaml +227 -0
  354. package/templates/project-types/api-backend/process/workflow.xml +214 -0
  355. package/templates/project-types/fintech/config.yaml +151 -0
  356. package/templates/project-types/fintech/process/workflow.xml +316 -0
  357. package/templates/project-types/infra/config.yaml +327 -0
  358. package/templates/project-types/infra/process/workflow.xml +296 -0
  359. package/templates/project-types/mobile-app/config.yaml +123 -0
  360. package/templates/project-types/mobile-app/process/workflow.xml +191 -0
  361. package/templates/project-types/platform/config.yaml +254 -0
  362. package/templates/project-types/platform/process/workflow.xml +254 -0
  363. package/templates/project-types/web-app/config.yaml +198 -0
  364. package/templates/project-types/web-app/process/workflow.xml +210 -0
  365. package/templates/project-types/web-service/config.yaml +136 -0
  366. package/templates/project-types/web-service/process/workflow.xml +184 -0
  367. package/templates/common/CLAUDE.md.template +0 -254
  368. package/templates/common/claude/agents/tsq-dba.md +0 -311
  369. package/templates/common/claude/agents/tsq-designer.md +0 -323
  370. package/templates/common/claude/agents/tsq-developer.md +0 -177
  371. package/templates/common/claude/agents/tsq-planner.md +0 -190
  372. package/templates/common/claude/agents/tsq-prompter.md +0 -356
  373. package/templates/common/claude/agents/tsq-qa.md +0 -168
  374. package/templates/common/claude/agents/tsq-retro.md +0 -193
  375. package/templates/common/claude/agents/tsq-security.md +0 -221
  376. package/templates/common/claude/hooks/auto-metrics.sh +0 -165
  377. package/templates/common/claude/hooks/auto-worklog.sh +0 -245
  378. package/templates/common/claude/hooks/event-logger.sh +0 -208
  379. package/templates/common/claude/settings.json +0 -86
  380. package/templates/common/claude/skills/architecture/SKILL.md +0 -123
  381. package/templates/common/claude/skills/backend/node/SKILL.md +0 -1015
  382. package/templates/common/claude/skills/coding/SKILL.md +0 -171
  383. package/templates/common/claude/skills/database/prisma/SKILL.md +0 -357
  384. package/templates/common/claude/skills/frontend/nextjs/SKILL.md +0 -279
  385. package/templates/common/claude/skills/frontend/react/SKILL.md +0 -1729
  386. package/templates/common/claude/skills/methodology/bdd/SKILL.md +0 -234
  387. package/templates/common/claude/skills/methodology/ddd/SKILL.md +0 -311
  388. package/templates/common/claude/skills/methodology/tdd/SKILL.md +0 -512
  389. package/templates/common/claude/skills/planning/SKILL.md +0 -90
  390. package/templates/common/claude/skills/security/SKILL.md +0 -234
  391. package/templates/common/claude/skills/testing/SKILL.md +0 -146
  392. package/templates/common/claude/skills/typescript/SKILL.md +0 -435
  393. package/templates/common/config.template.yaml +0 -132
  394. /package/templates/{common → base}/timsquad/architectures/clean/ARCHITECTURE.md +0 -0
  395. /package/templates/{common → base}/timsquad/architectures/clean/backend.xml +0 -0
  396. /package/templates/{common → base}/timsquad/architectures/clean/frontend.xml +0 -0
  397. /package/templates/{common → base}/timsquad/architectures/fsd/ARCHITECTURE.md +0 -0
  398. /package/templates/{common → base}/timsquad/architectures/fsd/frontend.xml +0 -0
  399. /package/templates/{common → base}/timsquad/architectures/hexagonal/ARCHITECTURE.md +0 -0
  400. /package/templates/{common → base}/timsquad/architectures/hexagonal/backend.xml +0 -0
  401. /package/templates/{common → base}/timsquad/constraints/competency-framework.xml +0 -0
  402. /package/templates/{common → base}/timsquad/constraints/ssot-schema.xml +0 -0
  403. /package/templates/{common → base}/timsquad/feedback/feedback-router.sh +0 -0
  404. /package/templates/{common → base}/timsquad/generators/data-design.xml +0 -0
  405. /package/templates/{common → base}/timsquad/generators/prd.xml +0 -0
  406. /package/templates/{common → base}/timsquad/generators/requirements.xml +0 -0
  407. /package/templates/{common → base}/timsquad/generators/service-spec.xml +0 -0
  408. /package/templates/{common → base}/timsquad/logs/_example.md +0 -0
  409. /package/templates/{common → base}/timsquad/logs/_template.md +0 -0
  410. /package/templates/{common → base}/timsquad/patterns/cqrs.xml +0 -0
  411. /package/templates/{common → base}/timsquad/patterns/event-sourcing.xml +0 -0
  412. /package/templates/{common → base}/timsquad/patterns/repository.xml +0 -0
  413. /package/templates/{common → base}/timsquad/process/phase-checklist.yaml +0 -0
  414. /package/templates/{common → base}/timsquad/process/state-machine.xml +0 -0
  415. /package/templates/{common → base}/timsquad/process/validation-rules.xml +0 -0
  416. /package/templates/{common → base}/timsquad/process/workflow-base.xml +0 -0
  417. /package/templates/{common → base}/timsquad/retrospective/cycle-report.template.md +0 -0
  418. /package/templates/{common → base}/timsquad/retrospective/patterns/failure-patterns.md +0 -0
  419. /package/templates/{common → base}/timsquad/retrospective/patterns/success-patterns.md +0 -0
  420. /package/templates/{common → base}/timsquad/retrospective/retrospective-config.xml +0 -0
  421. /package/templates/{common → base}/timsquad/retrospective/retrospective-state.xml +0 -0
  422. /package/templates/{common → base}/timsquad/ssot/adr/ADR-000-template.md +0 -0
  423. /package/templates/{common → base}/timsquad/ssot/adr/ADR-001-example.md +0 -0
  424. /package/templates/{common → base}/timsquad/ssot/data-design.template.md +0 -0
  425. /package/templates/{common → base}/timsquad/ssot/deployment-spec.template.md +0 -0
  426. /package/templates/{common → base}/timsquad/ssot/env-config.template.md +0 -0
  427. /package/templates/{common → base}/timsquad/ssot/error-codes.template.md +0 -0
  428. /package/templates/{common → base}/timsquad/ssot/functional-spec.template.md +0 -0
  429. /package/templates/{common → base}/timsquad/ssot/glossary.template.md +0 -0
  430. /package/templates/{common → base}/timsquad/ssot/integration-spec.template.md +0 -0
  431. /package/templates/{common → base}/timsquad/ssot/planning.template.md +0 -0
  432. /package/templates/{common → base}/timsquad/ssot/prd.template.md +0 -0
  433. /package/templates/{common → base}/timsquad/ssot/requirements.template.md +0 -0
  434. /package/templates/{common → base}/timsquad/ssot/security-spec.template.md +0 -0
  435. /package/templates/{common → base}/timsquad/ssot/service-spec.template.md +0 -0
  436. /package/templates/{common → base}/timsquad/ssot/test-spec.template.md +0 -0
  437. /package/templates/{common → base}/timsquad/ssot/ui-ux-spec.template.md +0 -0
  438. /package/templates/{common → base}/timsquad/state/workspace.xml +0 -0
@@ -0,0 +1,197 @@
1
+ ---
2
+ title: SSL Pinning
3
+ impact: HIGH
4
+ impactDescription: "미적용 → MITM 공격에 API 통신 노출, 토큰/데이터 탈취"
5
+ tags: ssl, tls, certificate-pinning, public-key-pinning, dio, mitm
6
+ ---
7
+
8
+ ## SSL Pinning
9
+
10
+ **Impact: HIGH (미적용 → MITM 공격에 API 통신 노출, 토큰/데이터 탈취)**
11
+
12
+ Dio SecurityContext 기반 인증서/공개키 pinning.
13
+ 프록시 도구(Charles, mitmproxy)를 통한 API 통신 감청 방지.
14
+
15
+ ### 의존성
16
+
17
+ ```yaml
18
+ # pubspec.yaml
19
+ dependencies:
20
+ dio: ^5.7.0
21
+ ```
22
+
23
+ ### 인증서 Pinning
24
+
25
+ **Incorrect (pinning 없이 기본 HTTP 클라이언트 사용):**
26
+ ```dart
27
+ final dio = Dio(BaseOptions(baseUrl: 'https://api.example.com'));
28
+ // → 루팅 기기 + Charles Proxy → 모든 API 통신 감청 가능
29
+ // → 사용자 토큰, 개인정보 탈취
30
+ ```
31
+
32
+ **Correct (인증서 pinning 적용):**
33
+ ```dart
34
+ class PinnedHttpClient {
35
+ /// 인증서 pinning이 적용된 Dio 인스턴스 생성
36
+ static Dio create({required String baseUrl}) {
37
+ final securityContext = SecurityContext(withTrustedRoots: false);
38
+
39
+ // 서버 인증서를 앱에 번들
40
+ // assets/certificates/api_cert.pem
41
+ final certData = rootBundle.load('assets/certificates/api_cert.pem');
42
+
43
+ return Dio(BaseOptions(baseUrl: baseUrl))
44
+ ..httpClientAdapter = IOHttpClientAdapter(
45
+ createHttpClient: () {
46
+ final client = HttpClient(context: securityContext);
47
+
48
+ client.badCertificateCallback = (cert, host, port) {
49
+ // 핀 검증 실패 → 연결 거부
50
+ return false;
51
+ };
52
+
53
+ return client;
54
+ },
55
+ );
56
+ }
57
+ }
58
+ ```
59
+
60
+ ### 공개키 Pinning (권장)
61
+
62
+ ```dart
63
+ /// 공개키 pinning — 인증서 갱신 시에도 공개키가 동일하면 동작
64
+ class PublicKeyPinnedClient {
65
+ // SHA-256 공개키 해시 (base64)
66
+ // openssl 명령어로 추출:
67
+ // openssl s_client -connect api.example.com:443 | \
68
+ // openssl x509 -pubkey -noout | \
69
+ // openssl pkey -pubin -outform der | \
70
+ // openssl dgst -sha256 -binary | base64
71
+ static const _pinnedKeys = [
72
+ 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=', // 현재 키
73
+ 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=', // 백업 키
74
+ ];
75
+
76
+ static Dio create({required String baseUrl}) {
77
+ return Dio(BaseOptions(baseUrl: baseUrl))
78
+ ..httpClientAdapter = IOHttpClientAdapter(
79
+ createHttpClient: () {
80
+ final client = HttpClient();
81
+
82
+ client.badCertificateCallback = (X509Certificate cert, String host, int port) {
83
+ // 공개키 해시 비교
84
+ final certHash = sha256
85
+ .convert(cert.der)
86
+ .toString();
87
+
88
+ // 핀 목록에 포함되어 있으면 허용
89
+ return _pinnedKeys.contains(certHash);
90
+ };
91
+
92
+ return client;
93
+ },
94
+ );
95
+ }
96
+ }
97
+ ```
98
+
99
+ ### 핀 업데이트 전략
100
+
101
+ ```dart
102
+ /// 원격 핀 설정 — 인증서 만료 시 앱 업데이트 없이 핀 교체
103
+ class RemotePinManager {
104
+ final SecureStorageService _storage;
105
+ final Dio _bootstrapDio; // pinning 없는 초기 요청용 (최초 1회)
106
+
107
+ RemotePinManager({
108
+ required SecureStorageService storage,
109
+ required Dio bootstrapDio,
110
+ }) : _storage = storage,
111
+ _bootstrapDio = bootstrapDio;
112
+
113
+ /// 앱 시작 시 핀 목록 갱신
114
+ Future<List<String>> fetchPins() async {
115
+ // 1. 로컬 캐시 확인
116
+ final cached = await _storage.getPinnedKeys();
117
+ if (cached != null && cached.isNotEmpty) {
118
+ return cached;
119
+ }
120
+
121
+ // 2. 서버에서 핀 목록 가져오기 (최초 또는 캐시 만료)
122
+ try {
123
+ final response = await _bootstrapDio.get('/security/pins');
124
+ final pins = (response.data['pins'] as List).cast<String>();
125
+ await _storage.savePinnedKeys(pins);
126
+ return pins;
127
+ } catch (e) {
128
+ // 3. 하드코딩 폴백 (앱 번들)
129
+ return PublicKeyPinnedClient._pinnedKeys;
130
+ }
131
+ }
132
+ }
133
+ ```
134
+
135
+ ### 디버그/개발 환경 처리
136
+
137
+ ```dart
138
+ /// 개발 환경에서만 pinning 비활성화
139
+ Dio createApiClient({required String baseUrl}) {
140
+ if (kDebugMode) {
141
+ // 개발 환경: Charles Proxy 등 디버깅 도구 허용
142
+ return Dio(BaseOptions(baseUrl: baseUrl));
143
+ }
144
+
145
+ // 프로덕션: pinning 적용
146
+ return PublicKeyPinnedClient.create(baseUrl: baseUrl);
147
+ }
148
+
149
+ // 주의: kDebugMode가 아닌 커스텀 플래그 사용 시
150
+ // Release 빌드에서 실수로 pinning 비활성화 위험
151
+ // → kDebugMode (컴파일 타임 상수) 사용 권장
152
+ ```
153
+
154
+ ### 플랫폼별 고려사항
155
+
156
+ ```
157
+ iOS:
158
+ - App Transport Security (ATS) → TLS 1.2 이상 강제 (기본)
159
+ - NSAllowsArbitraryLoads: false 유지 (HTTP 차단)
160
+ - 개발 서버 예외: NSExceptionDomains에 로컬 서버만 추가
161
+
162
+ Android:
163
+ - Network Security Config (res/xml/network_security_config.xml)
164
+ - 기본: 시스템 CA만 신뢰 (Android 7+)
165
+ - 사용자 CA 차단: <trust-anchors><certificates src="system"/></trust-anchors>
166
+ - 디버그 빌드 예외: <debug-overrides><trust-anchors><certificates src="user"/></trust-anchors></debug-overrides>
167
+ ```
168
+
169
+ ```xml
170
+ <!-- android/app/src/main/res/xml/network_security_config.xml -->
171
+ <?xml version="1.0" encoding="utf-8"?>
172
+ <network-security-config>
173
+ <base-config cleartextTrafficPermitted="false">
174
+ <trust-anchors>
175
+ <certificates src="system"/>
176
+ </trust-anchors>
177
+ </base-config>
178
+ <debug-overrides>
179
+ <trust-anchors>
180
+ <certificates src="user"/>
181
+ </trust-anchors>
182
+ </debug-overrides>
183
+ </network-security-config>
184
+ ```
185
+
186
+ ### 규칙
187
+
188
+ - 프로덕션 → SSL pinning 필수 (인증서 또는 공개키)
189
+ - 공개키 pinning 권장 → 인증서 갱신 시에도 동일 키면 동작
190
+ - 백업 핀 최소 1개 → 키 롤오버 시 앱 업데이트 없이 전환
191
+ - `badCertificateCallback` → 핀 불일치 시 `return false` (연결 거부)
192
+ - 디버그 모드 → `kDebugMode`로 pinning 비활성화 (프록시 디버깅용)
193
+ - `kDebugMode` 외 커스텀 플래그 → Release에서 실수로 비활성화 위험
194
+ - Android → `network_security_config.xml` 에서 cleartext 차단 + 사용자 CA 차단
195
+ - iOS → ATS 기본 유지, `NSAllowsArbitraryLoads: false`
196
+ - 핀 만료 대비 → 원격 핀 업데이트 또는 하드코딩 백업 핀
197
+ - 인증서 교체 주기 → 핀 업데이트 배포 일정과 동기화
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: planning
3
+ description: |
4
+ 기획 및 요건 정의 가이드라인.
5
+ PRD, 요구사항 정의, 문서 구조화, 대용량 문서 분할 전략을 다룸.
6
+ Use when: "기획, PRD, 요구사항, 요건 정의, 스코프, 마일스톤"
7
+ version: "1.0.0"
8
+ tags: [planning, prd, requirements]
9
+ user-invocable: false
10
+ ---
11
+
12
+ # Planning
13
+
14
+ 기획 문서 작성 및 요건 정의를 위한 가이드라인.
15
+
16
+ ## Philosophy
17
+
18
+ - SSOT 구조 준수: PRD (Why) → Planning (Overview) → Requirements (What)
19
+ - 각 문서는 다음 단계의 입력
20
+ - 검증 가능한 요건만 작성
21
+
22
+ ## Resources
23
+
24
+ | Priority | Type | Resource | Description |
25
+ |----------|------|----------|-------------|
26
+ | HIGH | ref | [prd-guide](references/prd-guide.md) | PRD 작성 가이드 + 예시 |
27
+ | HIGH | ref | [requirements-guide](references/requirements-guide.md) | 요건 분류 + SMART + MoSCoW |
28
+
29
+ ## Quick Rules
30
+
31
+ ### SSOT Documents
32
+ | 문서 | 역할 |
33
+ |------|------|
34
+ | `prd.md` | 왜 만드는지, 목표, 성공 지표 |
35
+ | `planning.md` | 전체 계획, 마일스톤, 일정 |
36
+ | `requirements.md` | 기능/비기능 요건 목록 |
37
+ | `functional-spec.md` | 기능 시나리오, 예외처리 |
38
+
39
+ ### Large Document Strategy
40
+ 800줄 이상 예상 문서는 반드시 분할:
41
+ 1. 목차 기반 규모 사전 추정
42
+ 2. 도메인별 분할
43
+ 3. 인덱스 파일에서 분할 문서 링크 유지
44
+ 4. 순차 append 방식으로 섹션별 작성
45
+
46
+ ### Context Verification
47
+ SSOT 템플릿 작성 시 `config.yaml` 프로젝트 설정을 먼저 확인.
48
+ 프로젝트에서 실제 사용하는 서비스만 포함. 제너릭 외부 서비스를 무분별하게 채우지 않는다.
49
+
50
+ ## Checklist
51
+
52
+ | Priority | Item |
53
+ |----------|------|
54
+ | CRITICAL | 목표가 명확히 정의되었는가 |
55
+ | CRITICAL | 스코프가 명확히 구분되었는가 (포함/제외) |
56
+ | HIGH | 모든 요건에 우선순위가 있는가 |
57
+ | HIGH | 요건이 검증 가능한가 (정량적 기준) |
58
+ | MEDIUM | 이해관계자 승인을 받았는가 |
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: PRD Writing Guide
3
+ category: guide
4
+ source: internal
5
+ ---
6
+
7
+ # PRD (Product Requirements Document) Guide
8
+
9
+ PRD 작성 시 필수 섹션과 예시.
10
+
11
+ ## Required Sections
12
+
13
+ 1. **배경 및 목적** — 왜 이 제품/기능이 필요한가
14
+ 2. **목표 사용자** — 누가 사용하는가
15
+ 3. **핵심 가치** — 어떤 문제를 해결하는가
16
+ 4. **성공 지표** — 어떻게 성공을 측정할 것인가
17
+ 5. **스코프** — 포함/제외 범위
18
+
19
+ ## Example
20
+
21
+ ```markdown
22
+ ## 1. 배경 및 목적
23
+ 현재 로그인 프로세스에서 이탈률이 30%에 달함.
24
+ 소셜 로그인 도입으로 가입/로그인 허들을 낮추고자 함.
25
+
26
+ ## 2. 목표 사용자
27
+ - 처음 방문하는 신규 사용자
28
+ - 비밀번호를 자주 잊어버리는 사용자
29
+
30
+ ## 3. 핵심 가치
31
+ - 3초 내 로그인 완료
32
+ - 비밀번호 기억 부담 제거
33
+
34
+ ## 4. 성공 지표
35
+ - 로그인 이탈률 30% → 10%
36
+ - 가입 전환율 20% 향상
37
+
38
+ ## 5. 스코프
39
+ 포함: Google, Apple 소셜 로그인
40
+ 제외: Facebook, Twitter (Phase 2)
41
+ ```
42
+
43
+ ## Common Pitfalls
44
+
45
+ - 성공 지표가 정량적이지 않음 ("사용자 경험 개선" → 구체적 수치)
46
+ - 스코프 경계가 모호 → 나중에 스코프 크리프 발생
47
+ - 목표 사용자 미정의 → 모든 사람을 위해 만들다 아무도 만족 못함
@@ -0,0 +1,46 @@
1
+ ---
2
+ title: Requirements Writing Guide
3
+ category: guide
4
+ source: internal
5
+ ---
6
+
7
+ # Requirements Writing Guide
8
+
9
+ 기능/비기능 요건 정의 및 분류 가이드.
10
+
11
+ ## Classification
12
+
13
+ | 유형 | 약어 | 설명 |
14
+ |------|------|------|
15
+ | 기능 요건 | FR | 시스템이 해야 하는 것 |
16
+ | 비기능 요건 | NFR | 성능, 보안, 확장성 등 |
17
+
18
+ ## SMART Principles
19
+
20
+ - **S**pecific — 구체적
21
+ - **M**easurable — 측정 가능
22
+ - **A**chievable — 달성 가능
23
+ - **R**elevant — 관련성 있음
24
+ - **T**ime-bound — 기한 있음
25
+
26
+ ## Priority System (MoSCoW)
27
+
28
+ - **Must** — 반드시 포함
29
+ - **Should** — 강력 권장
30
+ - **Could** — 있으면 좋음
31
+ - **Won't** — 이번에는 제외
32
+
33
+ ## Requirements Table Template
34
+
35
+ ```markdown
36
+ | ID | 분류 | 요건 | 우선순위 | 검증 방법 |
37
+ |----|-----|-----|---------|----------|
38
+ | FR-001 | 인증 | 사용자는 이메일/비밀번호로 로그인할 수 있다 | Must | 테스트 |
39
+ | NFR-001 | 성능 | 로그인 응답 시간 < 500ms | Must | 부하 테스트 |
40
+ ```
41
+
42
+ ## Common Pitfalls
43
+
44
+ - 검증 불가능한 요건 ("빨라야 한다" → "응답 500ms 이하")
45
+ - 우선순위 미지정 → 모든 것이 Must가 됨
46
+ - 기능/비기능 미분류 → 비기능 요건 누락
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: prompt-engineering
3
+ description: 프롬프트 최적화, 템플릿 관리, 회고 기반 개선 가이드라인
4
+ version: "1.0.0"
5
+ tags: [prompt, optimization, retrospective]
6
+ user-invocable: false
7
+ ---
8
+
9
+ <skill name="prompt-engineering">
10
+ <purpose>에이전트/스킬 프롬프트 최적화 및 품질 개선</purpose>
11
+
12
+ <optimization-principles>
13
+ <principle name="구조화">
14
+ 역할 → 페르소나 → 작업 전 필수 → 핵심 원칙 → 작업 프로세스 → 출력 형식 → 금지 사항 → 예시
15
+ </principle>
16
+ <principle name="명확성">
17
+ | Bad | Good |
18
+ |-----|------|
19
+ | "잘 작성해" | "3문장 이내로 요약해" |
20
+ | "좋은 코드" | "테스트 커버리지 80%" |
21
+ | 나열만 | "필수/권장/선택" 분류 |
22
+ </principle>
23
+ <principle name="컨텍스트">
24
+ 프로젝트 정보, 참조 문서 경로, 제약 사항을 명시적으로 주입
25
+ </principle>
26
+ <principle name="예시 포함">
27
+ Good/Bad 예시를 함께 제공하여 기대 품질 수준 명확화
28
+ </principle>
29
+ </optimization-principles>
30
+
31
+ <template-format>
32
+ <![CDATA[
33
+ ---
34
+ name: {template-name}
35
+ version: 1.0.0
36
+ agent: {target-agent}
37
+ task_type: {implementation|review|analysis}
38
+ ---
39
+
40
+ # {Title}
41
+
42
+ ## 컨텍스트 주입
43
+ {{CONTEXT}}
44
+
45
+ ## 작업 정의
46
+ {{TASK_DESCRIPTION}}
47
+
48
+ ## SSOT 참조
49
+ {{SSOT_REFERENCES}}
50
+
51
+ ## 출력 요구사항
52
+ {{OUTPUT_REQUIREMENTS}}
53
+
54
+ ## 검증 기준
55
+ {{VALIDATION_CRITERIA}}
56
+ ]]>
57
+ </template-format>
58
+
59
+ <version-management>
60
+ | 변경 유형 | 버전 증가 | 예시 |
61
+ |---------|----------|------|
62
+ | 구조 변경 | Major (x.0.0) | 섹션 추가/삭제 |
63
+ | 내용 수정 | Minor (0.x.0) | 규칙 추가, 예시 수정 |
64
+ | 오타 수정 | Patch (0.0.x) | 단순 수정 |
65
+ </version-management>
66
+
67
+ <rollback-conditions>
68
+ | 조건 | 액션 |
69
+ |-----|------|
70
+ | 성공률 10% 하락 | 이전 버전 롤백 |
71
+ | Critical 피드백 발생 | 즉시 롤백 + 분석 |
72
+ | A/B 테스트 실패 | 기존 버전 유지 |
73
+ </rollback-conditions>
74
+
75
+ <improvement-mapping>
76
+ 패턴 → 프롬프트 개선 매핑 프로세스:
77
+ 1. 실패/성공 패턴 식별 (회고 스킬에서)
78
+ 2. 대상 에이전트/스킬 .md 파일 특정
79
+ 3. 변경 전/후 diff 작성
80
+ 4. 기대 효과 및 검증 방법 명시
81
+ 5. 사용자 승인 후 적용
82
+ </improvement-mapping>
83
+
84
+ <quality-checklist>
85
+ | 항목 | 검증 내용 |
86
+ |-----|----------|
87
+ | 명확성 | 모호한 표현이 없는가? |
88
+ | 완전성 | 필요한 정보가 모두 있는가? |
89
+ | 구조화 | 논리적 순서로 구성되었는가? |
90
+ | 예시 | Good/Bad 예시가 있는가? |
91
+ | 제약 | 금지 사항이 명시되었는가? |
92
+ | 출력 | 기대 출력 형식이 정의되었는가? |
93
+ </quality-checklist>
94
+
95
+ <effectiveness-metrics>
96
+ | 메트릭 | 측정 방법 | 목표 |
97
+ |-------|----------|:----:|
98
+ | 작업 성공률 | 성공 작업 / 전체 작업 | 90%+ |
99
+ | 수정 횟수 | 평균 수정 횟수 | 2 미만 |
100
+ | 피드백 레벨 | Level 2+ 피드백 비율 | 10% 미만 |
101
+ | SSOT 정합성 | SSOT 불일치 건수 | 0 |
102
+ </effectiveness-metrics>
103
+ </skill>
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: retrospective
3
+ description: 회고 분석, 패턴 식별, 개선 제안 가이드라인
4
+ version: "1.0.0"
5
+ tags: [retrospective, analysis, improvement]
6
+ user-invocable: false
7
+ ---
8
+
9
+ <skill name="retrospective">
10
+ <purpose>프로젝트 회고를 위한 분석 프레임워크와 개선 프로세스</purpose>
11
+
12
+ <tsq-cli priority="critical">
13
+ <instruction>
14
+ 로그 기록, 피드백, 메트릭, 회고 등 TSQ CLI가 제공하는 기능은 반드시 CLI 커맨드를 사용하세요.
15
+ 직접 파일을 조작하지 마세요. CLI를 사용해야 구조화된 데이터가 자동 저장됩니다.
16
+ </instruction>
17
+ <commands>
18
+ | 시점 | 커맨드 |
19
+ |-----|--------|
20
+ | 회고 시작 | `tsq retro start` |
21
+ | Phase별 회고 | `tsq retro phase {phase}` |
22
+ | 메트릭 수집 | `tsq retro collect` 또는 `tsq metrics collect` |
23
+ | 로그 확인 | `tsq log list` / `tsq log today` |
24
+ | 리포트 생성 | `tsq retro report` (GitHub Issue 포함) |
25
+ | 로컬 리포트만 | `tsq retro report --local` |
26
+ | 사이클 완료 | `tsq retro apply` |
27
+ </commands>
28
+ </tsq-cli>
29
+
30
+ <references>
31
+ <reference path=".timsquad/retrospective/metrics/">메트릭 데이터</reference>
32
+ <reference path=".timsquad/logs/">작업 로그</reference>
33
+ <reference path=".timsquad/retrospective/patterns/">기존 패턴</reference>
34
+ <reference path=".timsquad/state/workspace.xml">작업 이력</reference>
35
+ </references>
36
+
37
+ <kpt-framework>
38
+ <description>Keep-Problem-Try 회고 프레임워크</description>
39
+ <category name="Keep">무엇이 잘 되었나? 계속해야 할 것은?</category>
40
+ <category name="Problem">무엇이 문제였나? 장애물은?</category>
41
+ <category name="Try">다음에 시도해볼 것은?</category>
42
+ </kpt-framework>
43
+
44
+ <pattern-classification>
45
+ <failure-pattern id="FP-XXX">
46
+ <criteria>3회 이상 반복, 작업 지연 유발, 품질 저하 원인</criteria>
47
+ </failure-pattern>
48
+ <success-pattern id="SP-XXX">
49
+ <criteria>효과 검증됨, 효율성 향상, 품질 향상</criteria>
50
+ </success-pattern>
51
+ </pattern-classification>
52
+
53
+ <metrics>
54
+ | 메트릭 | 계산 방법 |
55
+ |-------|----------|
56
+ | 작업 수 | 완료된 작업 개수 |
57
+ | 성공률 | (성공 작업 / 전체 작업) x 100 |
58
+ | 평균 수정 횟수 | 총 수정 횟수 / 작업 수 |
59
+ | 점수 | 가중 평균 (성공률 x 0.4 + (1 - 수정률) x 0.3 + 기타 x 0.3) |
60
+ </metrics>
61
+
62
+ <improvement-format>
63
+ <![CDATA[
64
+ ## IMP-XXX: {개선 제목}
65
+
66
+ **대상**: {에이전트/스킬}.md
67
+ **관련 패턴**: FP-XXX / SP-XXX
68
+
69
+ ### 현재 문제
70
+ {문제 설명}
71
+
72
+ ### 제안 변경
73
+ ```diff
74
+ - 현재 내용
75
+ + 개선된 내용
76
+ ```
77
+
78
+ ### 기대 효과
79
+ {개선 효과}
80
+ ]]>
81
+ </improvement-format>
82
+
83
+ <report-sections>
84
+ 1. 메트릭 요약
85
+ 2. 에이전트별 성과
86
+ 3. 피드백 분석
87
+ 4. 발견된 패턴
88
+ 5. 개선 조치
89
+ 6. 다음 사이클 목표
90
+ </report-sections>
91
+
92
+ <principles>
93
+ <principle>객관적 데이터 우선 - 주관적 평가보다 수치 기반</principle>
94
+ <principle>구체적 예시 - 추상적 서술 지양</principle>
95
+ <principle>실행 가능한 개선안 - "더 잘하자" 대신 구체적 액션</principle>
96
+ <principle>균형 잡힌 시각 - 문제점만이 아닌 성공 사례도 포함</principle>
97
+ </principles>
98
+
99
+ <apply-process>
100
+ 제안된 개선 → 사용자 검토/승인 → SKILL.md 업데이트 → 템플릿 업데이트 → lessons.md 기록 → 다음 사이클에서 효과 측정
101
+ </apply-process>
102
+ </skill>
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: security
3
+ description: 보안 검토 및 취약점 탐지 가이드라인
4
+ version: "1.0.0"
5
+ tags: [security, owasp, vulnerability]
6
+ user-invocable: false
7
+ ---
8
+
9
+ # Security Guidelines (OWASP Top 10)
10
+
11
+ ## OWASP Top 10 요약
12
+
13
+ | # | 취약점 | 핵심 방어 |
14
+ |---|--------|----------|
15
+ | 1 | Injection | Parameterized Query, ORM 사용 |
16
+ | 2 | Broken Authentication | 강력한 패스워드 정책, bcrypt(12+) |
17
+ | 3 | Sensitive Data Exposure | DTO로 민감 정보 제외, 로그 마스킹 |
18
+ | 5 | Broken Access Control | authenticate + authorize 미들웨어 |
19
+ | 6 | Security Misconfiguration | helmet(), CORS 제한 |
20
+ | 7 | XSS | textContent 사용, innerHTML 금지 |
21
+ | 8 | Insecure Deserialization | Zod 스키마 검증 |
22
+ | 9 | Known Vulnerabilities | npm audit, 정기 업데이트 |
23
+ | 10 | Insufficient Logging | 로그인 실패, 브루트포스 로깅 |
24
+
25
+ ## 추가 보안 체크
26
+
27
+ ### 시크릿 관리
28
+ - **금지**: 하드코딩 (`const apiKey = 'sk-...'`)
29
+ - **필수**: 환경변수 (`process.env.API_KEY`)
30
+ - **권장**: 시크릿 매니저
31
+
32
+ ### Rate Limiting
33
+ - API 엔드포인트에 rate limiter 적용
34
+
35
+ ### CSRF 방지
36
+ - csrf 토큰 사용
37
+
38
+ ## Checklist
39
+ - [ ] SQL/NoSQL Injection 방지
40
+ - [ ] 강력한 인증 구현
41
+ - [ ] 민감 정보 보호
42
+ - [ ] 접근 제어 구현
43
+ - [ ] XSS 방지
44
+ - [ ] 입력 검증 (Zod)
45
+ - [ ] 의존성 취약점 확인
46
+ - [ ] 보안 로깅 구현
47
+ - [ ] 시크릿 안전하게 관리
48
+ - [ ] Rate Limiting 적용
49
+
50
+ ## Resources
51
+
52
+ | Priority | Type | Resource | Description |
53
+ |----------|------|----------|-------------|
54
+ | CRITICAL | rule | [owasp-examples](rules/owasp-examples.md) | 취약점별 Bad/Good 코드 예시 |
55
+ | HIGH | script | [check-secrets](scripts/check-secrets.sh) | 하드코딩된 시크릿 자동 스캔 |