@tacuchi/agent-workflow-cli 11.0.1 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/README.md +51 -95
  2. package/dist/application/artifacts-service.d.ts +3 -12
  3. package/dist/application/artifacts-service.d.ts.map +1 -1
  4. package/dist/application/artifacts-service.js +18 -19
  5. package/dist/application/artifacts-service.js.map +1 -1
  6. package/dist/application/branch-resolver.d.ts +16 -0
  7. package/dist/application/branch-resolver.d.ts.map +1 -0
  8. package/dist/application/branch-resolver.js +24 -0
  9. package/dist/application/branch-resolver.js.map +1 -0
  10. package/dist/application/check-branch-service.d.ts +0 -2
  11. package/dist/application/check-branch-service.d.ts.map +1 -1
  12. package/dist/application/check-branch-service.js +5 -40
  13. package/dist/application/check-branch-service.js.map +1 -1
  14. package/dist/application/checkpoint/markdown.d.ts.map +1 -1
  15. package/dist/application/checkpoint/markdown.js +1 -16
  16. package/dist/application/checkpoint/markdown.js.map +1 -1
  17. package/dist/application/checkpoint/state-reader.d.ts +1 -3
  18. package/dist/application/checkpoint/state-reader.d.ts.map +1 -1
  19. package/dist/application/checkpoint/state-reader.js +10 -31
  20. package/dist/application/checkpoint/state-reader.js.map +1 -1
  21. package/dist/application/checkpoint-service.d.ts +12 -14
  22. package/dist/application/checkpoint-service.d.ts.map +1 -1
  23. package/dist/application/checkpoint-service.js +36 -61
  24. package/dist/application/checkpoint-service.js.map +1 -1
  25. package/dist/application/checkpoint-write-service.d.ts +0 -2
  26. package/dist/application/checkpoint-write-service.d.ts.map +1 -1
  27. package/dist/application/checkpoint-write-service.js +5 -6
  28. package/dist/application/checkpoint-write-service.js.map +1 -1
  29. package/dist/application/history-update-service.js +3 -1
  30. package/dist/application/history-update-service.js.map +1 -1
  31. package/dist/application/hook-branch-check.d.ts.map +1 -1
  32. package/dist/application/hook-branch-check.js +5 -34
  33. package/dist/application/hook-branch-check.js.map +1 -1
  34. package/dist/application/hook-git-commit-advisor.d.ts.map +1 -1
  35. package/dist/application/hook-git-commit-advisor.js +18 -23
  36. package/dist/application/hook-git-commit-advisor.js.map +1 -1
  37. package/dist/application/markdown.d.ts.map +1 -1
  38. package/dist/application/markdown.js +0 -4
  39. package/dist/application/markdown.js.map +1 -1
  40. package/dist/application/parsers/project-block.d.ts +0 -8
  41. package/dist/application/parsers/project-block.d.ts.map +1 -1
  42. package/dist/application/parsers/project-block.js +13 -52
  43. package/dist/application/parsers/project-block.js.map +1 -1
  44. package/dist/application/paths-service.d.ts +7 -8
  45. package/dist/application/paths-service.d.ts.map +1 -1
  46. package/dist/application/paths-service.js +12 -8
  47. package/dist/application/paths-service.js.map +1 -1
  48. package/dist/application/project-md-upsert-service.d.ts +3 -11
  49. package/dist/application/project-md-upsert-service.d.ts.map +1 -1
  50. package/dist/application/project-md-upsert-service.js +6 -56
  51. package/dist/application/project-md-upsert-service.js.map +1 -1
  52. package/dist/application/project-tab-data.d.ts +14 -42
  53. package/dist/application/project-tab-data.d.ts.map +1 -1
  54. package/dist/application/project-tab-data.js +27 -113
  55. package/dist/application/project-tab-data.js.map +1 -1
  56. package/dist/application/release-data/artifacts.d.ts +0 -2
  57. package/dist/application/release-data/artifacts.d.ts.map +1 -1
  58. package/dist/application/release-data/artifacts.js +22 -12
  59. package/dist/application/release-data/artifacts.js.map +1 -1
  60. package/dist/application/release-data/sessions.d.ts +0 -2
  61. package/dist/application/release-data/sessions.d.ts.map +1 -1
  62. package/dist/application/release-data/sessions.js +36 -27
  63. package/dist/application/release-data/sessions.js.map +1 -1
  64. package/dist/application/release-data-service.d.ts +0 -3
  65. package/dist/application/release-data-service.d.ts.map +1 -1
  66. package/dist/application/release-data-service.js +3 -21
  67. package/dist/application/release-data-service.js.map +1 -1
  68. package/dist/application/render/history-row.d.ts +1 -9
  69. package/dist/application/render/history-row.d.ts.map +1 -1
  70. package/dist/application/render/history-row.js +3 -20
  71. package/dist/application/render/history-row.js.map +1 -1
  72. package/dist/application/render/project-block.d.ts +1 -3
  73. package/dist/application/render/project-block.d.ts.map +1 -1
  74. package/dist/application/render/project-block.js +4 -27
  75. package/dist/application/render/project-block.js.map +1 -1
  76. package/dist/application/self/doctor-self.d.ts.map +1 -1
  77. package/dist/application/self/doctor-self.js +15 -8
  78. package/dist/application/self/doctor-self.js.map +1 -1
  79. package/dist/application/self/install-hooks.d.ts +1 -1
  80. package/dist/application/self/install-hooks.d.ts.map +1 -1
  81. package/dist/application/self/install-hooks.js +3 -2
  82. package/dist/application/self/install-hooks.js.map +1 -1
  83. package/dist/application/self/install-skill.d.ts +9 -3
  84. package/dist/application/self/install-skill.d.ts.map +1 -1
  85. package/dist/application/self/install-skill.js +16 -16
  86. package/dist/application/self/install-skill.js.map +1 -1
  87. package/dist/application/self/uninstall-skill.js +14 -12
  88. package/dist/application/self/uninstall-skill.js.map +1 -1
  89. package/dist/application/self/uninstall.js +14 -12
  90. package/dist/application/self/uninstall.js.map +1 -1
  91. package/dist/application/session-artifacts.d.ts +7 -6
  92. package/dist/application/session-artifacts.d.ts.map +1 -1
  93. package/dist/application/session-artifacts.js +10 -15
  94. package/dist/application/session-artifacts.js.map +1 -1
  95. package/dist/application/session-close-service.d.ts +5 -22
  96. package/dist/application/session-close-service.d.ts.map +1 -1
  97. package/dist/application/session-close-service.js +20 -143
  98. package/dist/application/session-close-service.js.map +1 -1
  99. package/dist/application/session-create-service.d.ts +9 -29
  100. package/dist/application/session-create-service.d.ts.map +1 -1
  101. package/dist/application/session-create-service.js +44 -288
  102. package/dist/application/session-create-service.js.map +1 -1
  103. package/dist/application/session-resolver.d.ts +4 -25
  104. package/dist/application/session-resolver.d.ts.map +1 -1
  105. package/dist/application/session-resolver.js +33 -149
  106. package/dist/application/session-resolver.js.map +1 -1
  107. package/dist/application/session-resume-service.d.ts +3 -4
  108. package/dist/application/session-resume-service.d.ts.map +1 -1
  109. package/dist/application/session-resume-service.js +8 -26
  110. package/dist/application/session-resume-service.js.map +1 -1
  111. package/dist/application/sessions-service.d.ts +2 -3
  112. package/dist/application/sessions-service.d.ts.map +1 -1
  113. package/dist/application/sessions-service.js +9 -26
  114. package/dist/application/sessions-service.js.map +1 -1
  115. package/dist/application/skill-index-service.d.ts +0 -2
  116. package/dist/application/skill-index-service.d.ts.map +1 -1
  117. package/dist/application/skill-index-service.js +0 -1
  118. package/dist/application/skill-index-service.js.map +1 -1
  119. package/dist/application/skills-resolver-service.d.ts +22 -0
  120. package/dist/application/skills-resolver-service.d.ts.map +1 -0
  121. package/dist/application/skills-resolver-service.js +71 -0
  122. package/dist/application/skills-resolver-service.js.map +1 -0
  123. package/dist/application/sources-service.d.ts +0 -5
  124. package/dist/application/sources-service.d.ts.map +1 -1
  125. package/dist/application/sources-service.js +5 -44
  126. package/dist/application/sources-service.js.map +1 -1
  127. package/dist/application/templates/session.d.ts +24 -0
  128. package/dist/application/templates/session.d.ts.map +1 -0
  129. package/dist/application/templates/session.js +46 -0
  130. package/dist/application/templates/session.js.map +1 -0
  131. package/dist/application/upgrade-hub-mode-service.d.ts.map +1 -1
  132. package/dist/application/upgrade-hub-mode-service.js +0 -1
  133. package/dist/application/upgrade-hub-mode-service.js.map +1 -1
  134. package/dist/application/workspace-init-service.d.ts +60 -0
  135. package/dist/application/workspace-init-service.d.ts.map +1 -0
  136. package/dist/application/workspace-init-service.js +227 -0
  137. package/dist/application/workspace-init-service.js.map +1 -0
  138. package/dist/cli/commands/check-branch.d.ts.map +1 -1
  139. package/dist/cli/commands/check-branch.js +0 -3
  140. package/dist/cli/commands/check-branch.js.map +1 -1
  141. package/dist/cli/commands/plugin-doctor.d.ts.map +1 -1
  142. package/dist/cli/commands/plugin-doctor.js +0 -3
  143. package/dist/cli/commands/plugin-doctor.js.map +1 -1
  144. package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
  145. package/dist/cli/commands/project-md-upsert.js +5 -31
  146. package/dist/cli/commands/project-md-upsert.js.map +1 -1
  147. package/dist/cli/commands/session-close.d.ts.map +1 -1
  148. package/dist/cli/commands/session-close.js +1 -33
  149. package/dist/cli/commands/session-close.js.map +1 -1
  150. package/dist/cli/commands/session-create.d.ts.map +1 -1
  151. package/dist/cli/commands/session-create.js +5 -21
  152. package/dist/cli/commands/session-create.js.map +1 -1
  153. package/dist/cli/commands/session-resume.js +1 -1
  154. package/dist/cli/commands/session-resume.js.map +1 -1
  155. package/dist/cli/commands/set-working-branch.d.ts +3 -0
  156. package/dist/cli/commands/set-working-branch.d.ts.map +1 -0
  157. package/dist/cli/commands/set-working-branch.js +34 -0
  158. package/dist/cli/commands/set-working-branch.js.map +1 -0
  159. package/dist/cli/commands/skill-index.d.ts.map +1 -1
  160. package/dist/cli/commands/skill-index.js +0 -3
  161. package/dist/cli/commands/skill-index.js.map +1 -1
  162. package/dist/cli/commands/skills.d.ts +3 -0
  163. package/dist/cli/commands/skills.d.ts.map +1 -0
  164. package/dist/cli/commands/skills.js +10 -0
  165. package/dist/cli/commands/skills.js.map +1 -0
  166. package/dist/cli/commands/sources.d.ts.map +1 -1
  167. package/dist/cli/commands/sources.js +0 -3
  168. package/dist/cli/commands/sources.js.map +1 -1
  169. package/dist/cli/commands/workspace-init.d.ts +3 -0
  170. package/dist/cli/commands/workspace-init.d.ts.map +1 -0
  171. package/dist/cli/commands/workspace-init.js +69 -0
  172. package/dist/cli/commands/workspace-init.js.map +1 -0
  173. package/dist/cli/help-groups.d.ts.map +1 -1
  174. package/dist/cli/help-groups.js +8 -19
  175. package/dist/cli/help-groups.js.map +1 -1
  176. package/dist/cli/interactive-menu.d.ts +1 -1
  177. package/dist/cli/interactive-menu.d.ts.map +1 -1
  178. package/dist/cli/main.js +29 -37
  179. package/dist/cli/main.js.map +1 -1
  180. package/dist/cli/parser.d.ts +0 -2
  181. package/dist/cli/parser.d.ts.map +1 -1
  182. package/dist/cli/parser.js +1 -13
  183. package/dist/cli/parser.js.map +1 -1
  184. package/dist/cli/tui/app.js +3 -38
  185. package/dist/cli/tui/app.js.map +1 -1
  186. package/dist/cli/tui/components/hub-init-alias.js +1 -1
  187. package/dist/cli/tui/components/hub-init-alias.js.map +1 -1
  188. package/dist/cli/tui/components/hub-init-form.d.ts.map +1 -1
  189. package/dist/cli/tui/components/hub-init-form.js +13 -12
  190. package/dist/cli/tui/components/hub-init-form.js.map +1 -1
  191. package/dist/cli/tui/components/workspace-init-alias.d.ts +5 -0
  192. package/dist/cli/tui/components/workspace-init-alias.d.ts.map +1 -0
  193. package/dist/cli/tui/components/workspace-init-alias.js +19 -0
  194. package/dist/cli/tui/components/workspace-init-alias.js.map +1 -0
  195. package/dist/cli/tui/components/workspace-init-form.d.ts +13 -0
  196. package/dist/cli/tui/components/workspace-init-form.d.ts.map +1 -0
  197. package/dist/cli/tui/components/workspace-init-form.js +87 -0
  198. package/dist/cli/tui/components/workspace-init-form.js.map +1 -0
  199. package/dist/cli/tui/data/activity.d.ts +1 -1
  200. package/dist/cli/tui/data/activity.d.ts.map +1 -1
  201. package/dist/cli/tui/data/activity.js +2 -2
  202. package/dist/cli/tui/data/activity.js.map +1 -1
  203. package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
  204. package/dist/cli/tui/data/workflow-content.js +67 -87
  205. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  206. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
  207. package/dist/cli/tui/tabs/project-tab.js +23 -97
  208. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  209. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  210. package/dist/cli/tui/tabs/skills-tab.js +7 -7
  211. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  212. package/dist/cli/tui/tabs/workflow-tab.d.ts +1 -3
  213. package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
  214. package/dist/cli/tui/tabs/workflow-tab.js +2 -2
  215. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
  216. package/dist/cli/types.d.ts +3 -0
  217. package/dist/cli/types.d.ts.map +1 -1
  218. package/dist/domain/plugin.d.ts +2 -12
  219. package/dist/domain/plugin.d.ts.map +1 -1
  220. package/dist/domain/project.d.ts +0 -9
  221. package/dist/domain/project.d.ts.map +1 -1
  222. package/dist/domain/session.d.ts +7 -24
  223. package/dist/domain/session.d.ts.map +1 -1
  224. package/dist/domain/skills.d.ts +22 -0
  225. package/dist/domain/skills.d.ts.map +1 -0
  226. package/dist/domain/skills.js +37 -0
  227. package/dist/domain/skills.js.map +1 -0
  228. package/dist/domain/types.d.ts +6 -2
  229. package/dist/domain/types.d.ts.map +1 -1
  230. package/dist/index.d.ts +4 -4
  231. package/dist/index.d.ts.map +1 -1
  232. package/dist/index.js.map +1 -1
  233. package/dist/runtime/config-service.js +1 -1
  234. package/dist/runtime/config-service.js.map +1 -1
  235. package/dist/runtime/types.d.ts +0 -1
  236. package/dist/runtime/types.d.ts.map +1 -1
  237. package/dist/runtime/types.js.map +1 -1
  238. package/package.json +12 -3
  239. package/skills/w/README.md +65 -0
  240. package/skills/w/SKILL.md +153 -0
  241. package/skills/w/artifacts/README.md +60 -0
  242. package/skills/w/artifacts/artifacts-core/BACKLOG.md +12 -0
  243. package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +22 -0
  244. package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +39 -0
  245. package/skills/w/artifacts/artifacts-core/SESSION.md +27 -0
  246. package/skills/w/artifacts/artifacts-core/TASKS.md +18 -0
  247. package/skills/w/artifacts/artifacts-dev/DECISION.md +11 -0
  248. package/skills/w/artifacts/artifacts-dev/TECHNICAL-NOTE.md +81 -0
  249. package/skills/w/artifacts/artifacts-research/ANALYSIS-FILE.md +48 -0
  250. package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +20 -0
  251. package/skills/w/commands/README.md +116 -0
  252. package/skills/w/commands/export-diagrams.md +35 -0
  253. package/skills/w/commands/export-manuals.md +35 -0
  254. package/skills/w/commands/export-reports.md +35 -0
  255. package/skills/w/commands/export-scripts.md +35 -0
  256. package/skills/w/commands/plan-exec.md +46 -0
  257. package/skills/w/commands/plan-new.md +44 -0
  258. package/skills/w/commands/quick.md +39 -0
  259. package/skills/w/commands/spec-new.md +63 -0
  260. package/skills/w/commands/spec-refine.md +41 -0
  261. package/skills/w/commands/workspace-init.md +39 -0
  262. package/skills/w/exports/README.md +88 -0
  263. package/skills/w/exports/export-diagrams/SKILL.md +125 -0
  264. package/skills/w/exports/export-manuals/SKILL.md +127 -0
  265. package/skills/w/exports/export-reports/SKILL.md +115 -0
  266. package/skills/w/exports/export-scripts/SKILL.md +135 -0
  267. package/skills/w/hooks/README.md +15 -0
  268. package/skills/{agent-workflow → w}/hooks/hooks.template.json +2 -2
  269. package/skills/w/loops/README.md +118 -0
  270. package/skills/w/loops/plan-exec-loop/SKILL.md +161 -0
  271. package/skills/w/loops/plan-new-loop/SKILL.md +97 -0
  272. package/skills/w/loops/quick-loop/SKILL.md +102 -0
  273. package/skills/w/loops/spec-refine-loop/SKILL.md +222 -0
  274. package/skills/w/roles/README.md +154 -0
  275. package/skills/w/roles/coding-standards/SKILL.md +82 -0
  276. package/skills/w/roles/diagrams/SKILL.md +248 -0
  277. package/skills/w/roles/git/SKILL.md +98 -0
  278. package/skills/w/roles/research/SKILL.md +181 -0
  279. package/skills/w/roles/sql/SKILL.md +137 -0
  280. package/skills/w/roles/testing/SKILL.md +180 -0
  281. package/skills/w/roles/tools/SKILL.md +148 -0
  282. package/skills/w/roles/ui-spec/SKILL.md +136 -0
  283. package/skills/w/roles/writing/SKILL.md +90 -0
  284. package/skills/agent-workflow/LICENSE +0 -661
  285. package/skills/agent-workflow/MANUAL-FUNCIONAL.md +0 -298
  286. package/skills/agent-workflow/MANUAL-TECNICO.md +0 -271
  287. package/skills/agent-workflow/README.md +0 -74
  288. package/skills/agent-workflow/SKILL.md +0 -112
  289. package/skills/agent-workflow/commands/README.md +0 -26
  290. package/skills/agent-workflow/commands/compact.md +0 -24
  291. package/skills/agent-workflow/commands/doctor.md +0 -100
  292. package/skills/agent-workflow/commands/export-arq.md +0 -77
  293. package/skills/agent-workflow/commands/export-conclusions.md +0 -78
  294. package/skills/agent-workflow/commands/export-plan.md +0 -74
  295. package/skills/agent-workflow/commands/export-qa-note.md +0 -30
  296. package/skills/agent-workflow/commands/export-report.md +0 -78
  297. package/skills/agent-workflow/commands/export-requirement.md +0 -30
  298. package/skills/agent-workflow/commands/export-scripts.md +0 -82
  299. package/skills/agent-workflow/commands/export-tech-manuals.md +0 -75
  300. package/skills/agent-workflow/commands/export-tech-note.md +0 -30
  301. package/skills/agent-workflow/commands/hub-init.md +0 -58
  302. package/skills/agent-workflow/commands/migrate.md +0 -56
  303. package/skills/agent-workflow/commands/patch.md +0 -49
  304. package/skills/agent-workflow/commands/project-init.md +0 -60
  305. package/skills/agent-workflow/commands/resume.md +0 -22
  306. package/skills/agent-workflow/commands/rules.md +0 -41
  307. package/skills/agent-workflow/commands/session.md +0 -35
  308. package/skills/agent-workflow/docs/TEST-PLAN.md +0 -163
  309. package/skills/agent-workflow/doctrine/README.md +0 -15
  310. package/skills/agent-workflow/doctrine/compact/SKILL.md +0 -145
  311. package/skills/agent-workflow/doctrine/doctor/SKILL.md +0 -86
  312. package/skills/agent-workflow/doctrine/hub-init/SKILL.md +0 -77
  313. package/skills/agent-workflow/doctrine/hub-init/references/multiroot-manual.md +0 -51
  314. package/skills/agent-workflow/doctrine/implement/SKILL.md +0 -290
  315. package/skills/agent-workflow/doctrine/implement/references/branch-verification.md +0 -16
  316. package/skills/agent-workflow/doctrine/implement/references/design-md-template.md +0 -108
  317. package/skills/agent-workflow/doctrine/implement/references/rollback-guide.md +0 -83
  318. package/skills/agent-workflow/doctrine/migrate/SKILL.md +0 -281
  319. package/skills/agent-workflow/doctrine/project-init/SKILL.md +0 -100
  320. package/skills/agent-workflow/doctrine/refactor/SKILL.md +0 -208
  321. package/skills/agent-workflow/doctrine/refactor/references/refactor-md-template.md +0 -108
  322. package/skills/agent-workflow/doctrine/refactor/references/strangler-checklist.md +0 -116
  323. package/skills/agent-workflow/doctrine/resume/SKILL.md +0 -199
  324. package/skills/agent-workflow/doctrine/rules/SKILL.md +0 -250
  325. package/skills/agent-workflow/doctrine/session/SKILL.md +0 -471
  326. package/skills/agent-workflow/doctrine/session/references/auto-plan-rules.md +0 -63
  327. package/skills/agent-workflow/doctrine/session/references/backlog-template.md +0 -95
  328. package/skills/agent-workflow/doctrine/session/references/branch-verification.md +0 -198
  329. package/skills/agent-workflow/doctrine/session/references/commits-policy.md +0 -111
  330. package/skills/agent-workflow/doctrine/session/references/communication-style.md +0 -50
  331. package/skills/agent-workflow/doctrine/session/references/graduacion-routing.md +0 -88
  332. package/skills/agent-workflow/doctrine/session/references/lifecycle-deep.md +0 -160
  333. package/skills/agent-workflow/doctrine/session/references/prompts/C1-specialty-selection.md +0 -11
  334. package/skills/agent-workflow/doctrine/session/references/prompts/C2-cost-guard.md +0 -14
  335. package/skills/agent-workflow/doctrine/session/references/prompts/M1-closure-commit-prompt.md +0 -104
  336. package/skills/agent-workflow/doctrine/session/references/prompts/M10-next-step.md +0 -17
  337. package/skills/agent-workflow/doctrine/session/references/prompts/M11-context.md +0 -16
  338. package/skills/agent-workflow/doctrine/session/references/prompts/M13-closure-cleanup.md +0 -61
  339. package/skills/agent-workflow/doctrine/session/references/prompts/M2-branch-caso-A.md +0 -14
  340. package/skills/agent-workflow/doctrine/session/references/prompts/M3-branch-caso-C.md +0 -33
  341. package/skills/agent-workflow/doctrine/session/references/prompts/M4-cross-source-hard-gate.md +0 -33
  342. package/skills/agent-workflow/doctrine/session/references/prompts/M5-modality-analyze.md +0 -15
  343. package/skills/agent-workflow/doctrine/session/references/prompts/M6-phase-gate.md +0 -31
  344. package/skills/agent-workflow/doctrine/session/references/prompts/M7-refactor-legacy-detected.md +0 -28
  345. package/skills/agent-workflow/doctrine/session/references/prompts/M8-refactor-cleanup.md +0 -16
  346. package/skills/agent-workflow/doctrine/session/references/prompts/M9-contract-review.md +0 -39
  347. package/skills/agent-workflow/doctrine/session/references/prompts/S1-type-design.md +0 -15
  348. package/skills/agent-workflow/doctrine/session/references/prompts/S2-topic-change-detection.md +0 -14
  349. package/skills/agent-workflow/doctrine/session/references/prompts/S3-flow-detection.md +0 -28
  350. package/skills/agent-workflow/doctrine/session/references/prompts/S4-resume.md +0 -27
  351. package/skills/agent-workflow/doctrine/session/references/prompts/S5-post-compact.md +0 -17
  352. package/skills/agent-workflow/doctrine/session/references/prompts/S6-scope.md +0 -16
  353. package/skills/agent-workflow/doctrine/session/references/prompts/S7-design-review.md +0 -37
  354. package/skills/agent-workflow/doctrine/session/references/prompts-catalog.md +0 -213
  355. package/skills/agent-workflow/doctrine/session/references/sandbox-readonly-rules.md +0 -82
  356. package/skills/agent-workflow/doctrine/session/references/specialty-decision-tree.md +0 -56
  357. package/skills/agent-workflow/doctrine/session/references/topic-change-rules.md +0 -67
  358. package/skills/agent-workflow/exports/README.md +0 -15
  359. package/skills/agent-workflow/exports/export-arq/SKILL.md +0 -229
  360. package/skills/agent-workflow/exports/export-arq/references/lexico-tecnico.md +0 -94
  361. package/skills/agent-workflow/exports/export-arq/references/template-c4.md +0 -293
  362. package/skills/agent-workflow/exports/export-arq/references/template-plantuml.puml +0 -77
  363. package/skills/agent-workflow/exports/export-arq/references/template-structurizr.dsl +0 -72
  364. package/skills/agent-workflow/exports/export-arq/references/validations.md +0 -231
  365. package/skills/agent-workflow/exports/export-conclusions/SKILL.md +0 -169
  366. package/skills/agent-workflow/exports/export-conclusions/references/dedup-rules.md +0 -154
  367. package/skills/agent-workflow/exports/export-conclusions/references/template-conclusions.md +0 -158
  368. package/skills/agent-workflow/exports/export-plan/SKILL.md +0 -225
  369. package/skills/agent-workflow/exports/export-plan/references/state-transitions.md +0 -141
  370. package/skills/agent-workflow/exports/export-plan/references/template-plan.md +0 -132
  371. package/skills/agent-workflow/exports/export-qa-note/SKILL.md +0 -31
  372. package/skills/agent-workflow/exports/export-report/SKILL.md +0 -262
  373. package/skills/agent-workflow/exports/export-report/references/lexico.md +0 -174
  374. package/skills/agent-workflow/exports/export-report/references/template-a.md +0 -95
  375. package/skills/agent-workflow/exports/export-report/references/template-b.md +0 -221
  376. package/skills/agent-workflow/exports/export-report/references/template-c.md +0 -180
  377. package/skills/agent-workflow/exports/export-report/references/validations.md +0 -255
  378. package/skills/agent-workflow/exports/export-requirement/SKILL.md +0 -31
  379. package/skills/agent-workflow/exports/export-scripts/SKILL.md +0 -211
  380. package/skills/agent-workflow/exports/export-scripts/references/code-scan-recommendations.md +0 -83
  381. package/skills/agent-workflow/exports/export-scripts/references/deprecation-plan.md +0 -80
  382. package/skills/agent-workflow/exports/export-scripts/references/lexico-tecnico.md +0 -47
  383. package/skills/agent-workflow/exports/export-scripts/references/manifest-template.md +0 -265
  384. package/skills/agent-workflow/exports/export-scripts/references/readme-template.md +0 -49
  385. package/skills/agent-workflow/exports/export-scripts/references/theme-handling.md +0 -141
  386. package/skills/agent-workflow/exports/export-scripts/references/validations.md +0 -69
  387. package/skills/agent-workflow/exports/export-tech-manuals/SKILL.md +0 -214
  388. package/skills/agent-workflow/exports/export-tech-manuals/references/lexico-tecnico.md +0 -97
  389. package/skills/agent-workflow/exports/export-tech-manuals/references/template-index.md +0 -123
  390. package/skills/agent-workflow/exports/export-tech-manuals/references/template-manual.md +0 -143
  391. package/skills/agent-workflow/exports/export-tech-manuals/references/validations.md +0 -211
  392. package/skills/agent-workflow/exports/export-tech-note/SKILL.md +0 -31
  393. package/skills/agent-workflow/hooks/README.md +0 -15
  394. package/skills/agent-workflow/references/README.md +0 -12
  395. package/skills/agent-workflow/references/checkpoint.md +0 -59
  396. package/skills/agent-workflow/references/dev-only.md +0 -50
  397. package/skills/agent-workflow/references/doctor.md +0 -61
  398. package/skills/agent-workflow/references/history.md +0 -40
  399. package/skills/agent-workflow/references/hooks.md +0 -35
  400. package/skills/agent-workflow/references/legacy-anchors.md +0 -50
  401. package/skills/agent-workflow/references/mcp.md +0 -34
  402. package/skills/agent-workflow/references/objetivo-tasks.md +0 -64
  403. package/skills/agent-workflow/references/orchestration.md +0 -86
  404. package/skills/agent-workflow/references/profile-parametrization.md +0 -88
  405. package/skills/agent-workflow/references/self.md +0 -68
  406. package/skills/agent-workflow/references/session-mgmt.md +0 -109
  407. package/skills/agent-workflow/references/sources.md +0 -102
  408. package/skills/agent-workflow/specialties/README.md +0 -14
  409. package/skills/agent-workflow/specialties/analyze-conclude/SKILL.md +0 -181
  410. package/skills/agent-workflow/specialties/analyze-conclude/references/incident-classification.md +0 -61
  411. package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md +0 -148
  412. package/skills/agent-workflow/specialties/analyze-investigate/references/cost-guard.md +0 -85
  413. package/skills/agent-workflow/specialties/analyze-synthesize/SKILL.md +0 -127
  414. package/skills/agent-workflow/specialties/design-brief/SKILL.md +0 -90
  415. package/skills/agent-workflow/specialties/design-deliver/SKILL.md +0 -121
  416. package/skills/agent-workflow/specialties/design-develop/SKILL.md +0 -115
  417. package/skills/agent-workflow/specialties/design-discover/SKILL.md +0 -103
  418. package/skills/agent-workflow/standards/README.md +0 -12
  419. package/skills/agent-workflow/standards/coding-standards/SKILL.md +0 -102
  420. package/skills/agent-workflow/standards/coding-standards/references/angular-typescript.md +0 -266
  421. package/skills/agent-workflow/standards/coding-standards/references/database-conventions.md +0 -170
  422. package/skills/agent-workflow/standards/coding-standards/references/fe-be-integration.md +0 -300
  423. package/skills/agent-workflow/standards/coding-standards/references/frontend-structure.md +0 -182
  424. package/skills/agent-workflow/standards/coding-standards/references/java-spring.md +0 -244
  425. package/skills/agent-workflow/standards/coding-standards/references/project-structure.md +0 -197
  426. package/skills/agent-workflow/standards/frontend-design/SKILL.md +0 -62
  427. package/skills/agent-workflow/standards/frontend-design/references/feedback-toasts-patterns.md +0 -249
  428. package/skills/agent-workflow/standards/frontend-design/references/form-patterns.md +0 -278
  429. package/skills/agent-workflow/standards/frontend-design/references/list-patterns.md +0 -256
  430. package/skills/agent-workflow/standards/frontend-design/references/modal-patterns.md +0 -220
  431. package/skills/agent-workflow/standards/frontend-design/references/navigation-patterns.md +0 -224
  432. package/skills/agent-workflow/standards/redaccion-simple/SKILL.md +0 -128
  433. package/skills/agent-workflow/standards/sql-rollback-generator/SKILL.md +0 -158
  434. package/skills/agent-workflow/standards/sql-rollback-generator/references/irreversible-checklist.md +0 -161
  435. package/skills/agent-workflow/standards/sql-rollback-generator/references/release-rollback.md +0 -133
  436. package/skills/agent-workflow/standards/sql-rollback-generator/references/rollback-patterns.md +0 -257
  437. package/skills/agent-workflow/standards/sql-script-organizer/SKILL.md +0 -243
  438. package/skills/agent-workflow/standards/sql-script-organizer/references/bundle-readme-template.md +0 -82
  439. package/skills/agent-workflow/standards/sql-script-organizer/references/categorization-rules.md +0 -122
  440. package/skills/agent-workflow/standards/sql-script-organizer/references/consolidation-cross-session.md +0 -125
  441. package/skills/agent-workflow/standards/sql-script-organizer/references/scripts-sql-format.md +0 -140
  442. package/skills/agent-workflow/standards/testing-strategy/SKILL.md +0 -113
  443. package/skills/agent-workflow/standards/testing-strategy/references/test-levels.md +0 -255
  444. package/skills/agent-workflow/workflows/README.md +0 -12
  445. package/skills/agent-workflow/workflows/analyze-workflow/SKILL.md +0 -94
  446. package/skills/agent-workflow/workflows/design-workflow/SKILL.md +0 -79
  447. package/skills/agent-workflow/workflows/dev-workflow/SKILL.md +0 -172
@@ -1,133 +0,0 @@
1
- # Rollback global de release y por tema (LEGACY — deprecation Fase 1)
2
-
3
- > **Estado**: legacy. Aplica solo a `release` / `release-scripts` legacy (deprecation Fase 1). El reemplazo canónico es `/agent-workflow:export-scripts` v4.0.0+, que produce un único `00-ROLLBACK.sql` cross-session al root del bundle (algoritmo en `SKILL.md` v2.0.0).
4
-
5
- Algoritmos detallados para rollbacks consolidados en modo release legacy. El SKILL.md tiene el resumen; este archivo tiene el procedimiento completo paso a paso.
6
-
7
- ## Rollback global de release (cross-session)
8
-
9
- `docs/release/NNN-release-YYYY-MM-DD/scripts/rollback/00-rollback-release.sql` revierte el release completo.
10
-
11
- ### Principio
12
-
13
- Revertir en **orden inverso absoluto**:
14
- - Sesiones: última → primera (session_N → … → session_1).
15
- - Dentro de cada sesión: 04 → 03 → 02 → 01 (contrario al de ejecución).
16
-
17
- ### Proceso
18
-
19
- 1. Recolectar todos los `.rollback.sql` del bundle consolidado.
20
- 2. Ordenar inversamente: primero todos los rollbacks de la sesión más reciente (04→01), luego la anterior, etc.
21
- 3. Encadenar en un único archivo:
22
-
23
- ```sql
24
- -- Rollback global del Release NNN (YYYY-MM-DD)
25
- -- Cubre N sesiones desde sessionXXX hasta sessionYYY
26
- BEGIN;
27
-
28
- -- sessionYYY-nombre (última)
29
- -- 04-inserts
30
- [contenido en orden inverso]
31
- -- 03-migracion
32
- [contenido en orden inverso]
33
- -- 02-ddl-funciones
34
- [contenido en orden inverso]
35
- -- 01-ddl-tablas
36
- [contenido en orden inverso]
37
-
38
- -- sessionXXX-nombre-previo
39
- [misma estructura]
40
-
41
- COMMIT;
42
- ```
43
-
44
- 4. Preservar marcas `-- WARNING: IRREVERSIBLE` con contexto (sesión origen).
45
- 5. Listar irreversibles al inicio antes del `BEGIN;`:
46
-
47
- ```sql
48
- -- ADVERTENCIA: Este release contiene [N] operaciones irreversibles:
49
- -- - sessionXXX / 03-migracion/001-*.sql — DROP COLUMN (mitigación: esq_audit.tb_bkp_*_sessionXXX)
50
- -- - sessionYYY / 01-ddl-tablas/002-*.sql — DROP TABLE CASCADE (mitigación: sin respaldo)
51
- -- Revisar docs/release/NNN-informe-release.md sección 4.2 antes de ejecutar.
52
- ```
53
-
54
- ### Qué NO hacer
55
-
56
- - Fusionar rollbacks de distintas sesiones sobre la misma tabla — dejar cada bloque independiente.
57
- - Cambiar el orden inverso — puede dejar referencias colgando.
58
- - Ejecutar el rollback desde el plugin. Siempre manual por el usuario.
59
-
60
- ### Verificación mínima
61
-
62
- - Orden inverso absoluto respetado (sesiones descendente, categorías 04→01).
63
- - Operaciones irreversibles listadas al inicio.
64
- - Archivo abre con `BEGIN;` y cierra con `COMMIT;`.
65
- - Cada bloque de sesión delimitado con `-- === sessionXXX ===`.
66
- - Headers de respaldo preservados donde aplica.
67
-
68
- ## Rollback por tema (delegado por release-scripts)
69
-
70
- Tres niveles:
71
-
72
- 1. **Consolidado por categoría**: `tema-<slug>/<categoria>.rollback.sql` concatena rollbacks de scripts fuente en orden inverso, envuelto en `BEGIN; … COMMIT;`.
73
- 2. **Por-tema**: `tema-<slug>/rollback-tema-<slug>.sql` encadena los 4 consolidados (04→03→02→01).
74
- 3. **Global del release**: `rollback/00-rollback-release.sql` encadena rollbacks por-tema en orden inverso a `ORDER.md`.
75
-
76
- ### Generación del consolidado por categoría
77
-
78
- 1. Recolectar `.rollback.sql` correspondientes al consolidado forward.
79
- 2. Ordenar inversamente: último script primero.
80
- 3. Eliminar `BEGIN;`/`COMMIT;` de cada rollback individual.
81
- 4. Concatenar con separadores `[i/N]`.
82
- 5. Envolver en un único `BEGIN; … COMMIT;`.
83
-
84
- ### Generación del rollback por-tema
85
-
86
- ```sql
87
- -- Rollback del tema <slug> — Release NNN (revierte 04→01)
88
- BEGIN;
89
-
90
- -- 04-inserts
91
- [contenido sin BEGIN/COMMIT]
92
-
93
- -- 03-migracion
94
- [contenido sin BEGIN/COMMIT]
95
-
96
- -- 02-ddl-funciones
97
- [contenido sin BEGIN/COMMIT]
98
-
99
- -- 01-ddl-tablas
100
- [contenido sin BEGIN/COMMIT]
101
-
102
- COMMIT;
103
- ```
104
-
105
- Preservar marcas `-- WARNING: IRREVERSIBLE` y listarlas al inicio.
106
-
107
- ### Generación del global
108
-
109
- 1. Tomar `rollback-tema-<slug>.sql` de todos los temas.
110
- 2. Ordenar inversamente al de `ORDER.md`.
111
- 3. Encadenar inline (no `\i` includes) en un único `BEGIN; … COMMIT;`.
112
- 4. Listar irreversibles al inicio agrupadas por tema origen.
113
-
114
- ### Multi-tema en rollback
115
-
116
- Scripts multi-tema se incluyen sólo en el consolidado del tema canónico. Su rollback aparece sólo allí; los demás temas no lo duplican. El global lo incluye una vez.
117
-
118
- ### Qué NO hacer
119
-
120
- - Duplicar contenido entre consolidados.
121
- - Cambiar el orden de categorías dentro del rollback por-tema (siempre 04→03→02→01).
122
- - Generar consolidados de rollback para categorías sin forwards.
123
- - Dejar `BEGIN;`/`COMMIT;` de scripts individuales dentro de los consolidados.
124
-
125
- ### Verificación mínima
126
-
127
- - Cada consolidado forward tiene su rollback consolidado.
128
- - Bloques en orden inverso al forward.
129
- - Cada tema con scripts tiene su `rollback-tema-<slug>.sql`.
130
- - El global encadena en orden inverso a `ORDER.md`.
131
- - Irreversibles listados al inicio del global, agrupados por tema origen.
132
- - Ningún rollback multi-tema duplicado.
133
- - Cada archivo abre con `BEGIN;` y cierra con `COMMIT;` (uno solo por archivo).
@@ -1,257 +0,0 @@
1
- # Patrones de Rollback SQL
2
-
3
- Recetas por tipo de operación. Motor primario: **PostgreSQL**. Se incluyen equivalencias para otros motores donde difieren.
4
-
5
- ---
6
-
7
- ## DDL de Tablas
8
-
9
- ### CREATE TABLE → DROP TABLE
10
-
11
- ```sql
12
- -- Forward
13
- BEGIN;
14
- CREATE TABLE IF NOT EXISTS esq_credito.tb_nueva (
15
- id_nueva integer NOT NULL DEFAULT nextval('esq_credito.seq_tb_nueva'),
16
- nombre varchar(100) NOT NULL,
17
- estado integer NOT NULL DEFAULT 1,
18
- CONSTRAINT pk_tb_nueva PRIMARY KEY (id_nueva)
19
- );
20
- COMMIT;
21
-
22
- -- Rollback
23
- BEGIN;
24
- DROP TABLE IF EXISTS esq_credito.tb_nueva;
25
- DROP SEQUENCE IF EXISTS esq_credito.seq_tb_nueva; -- si la secuencia fue creada junto a la tabla
26
- COMMIT;
27
- ```
28
-
29
- ### ALTER TABLE ADD COLUMN → DROP COLUMN
30
-
31
- ```sql
32
- -- Forward
33
- BEGIN;
34
- ALTER TABLE esq_credito.tb_credito
35
- ADD COLUMN IF NOT EXISTS flag_reestructurado integer NOT NULL DEFAULT 0;
36
- COMMIT;
37
-
38
- -- Rollback
39
- BEGIN;
40
- ALTER TABLE esq_credito.tb_credito
41
- DROP COLUMN IF EXISTS flag_reestructurado;
42
- COMMIT;
43
- ```
44
-
45
- ### DROP TABLE (con respaldo previo)
46
-
47
- ```sql
48
- -- 000-backup-tb-x.sql (siempre antes del DROP)
49
- BEGIN;
50
- CREATE TABLE IF NOT EXISTS esq_audit.tb_bkp_credito_sessionXXX
51
- AS SELECT * FROM esq_credito.tb_credito_legacy;
52
- COMMIT;
53
-
54
- -- Forward
55
- BEGIN;
56
- DROP TABLE IF EXISTS esq_credito.tb_credito_legacy;
57
- COMMIT;
58
-
59
- -- Rollback
60
- BEGIN;
61
- CREATE TABLE IF NOT EXISTS esq_credito.tb_credito_legacy
62
- AS SELECT * FROM esq_audit.tb_bkp_credito_sessionXXX;
63
- -- Restaurar constraints si aplica:
64
- ALTER TABLE esq_credito.tb_credito_legacy
65
- ADD CONSTRAINT pk_tb_credito_legacy PRIMARY KEY (id_credito_legacy);
66
- COMMIT;
67
- ```
68
-
69
- ### CREATE INDEX → DROP INDEX
70
-
71
- ```sql
72
- -- Forward
73
- CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_tb_credito_cliente
74
- ON esq_credito.tb_credito(id_cliente);
75
-
76
- -- Rollback
77
- DROP INDEX CONCURRENTLY IF EXISTS esq_credito.idx_tb_credito_cliente;
78
- ```
79
-
80
- > `CONCURRENTLY` no puede ir dentro de `BEGIN/COMMIT` en PostgreSQL — ejecutar fuera de transacción o sin `CONCURRENTLY` dentro de transacción.
81
-
82
- ---
83
-
84
- ## DDL de Funciones y SP
85
-
86
- ### CREATE OR REPLACE FUNCTION → DROP FUNCTION
87
-
88
- ```sql
89
- -- Forward
90
- BEGIN;
91
- CREATE OR REPLACE FUNCTION esq_credito.fn_calcular_cuota_v2(
92
- p_monto numeric,
93
- p_tasa numeric,
94
- p_plazo integer
95
- ) RETURNS numeric
96
- LANGUAGE plpgsql AS $$
97
- BEGIN
98
- RETURN p_monto * (p_tasa / 12) / (1 - POWER(1 + p_tasa / 12, -p_plazo));
99
- END;
100
- $$;
101
- COMMIT;
102
-
103
- -- Rollback: eliminar nueva versión y restaurar la anterior (si existe)
104
- BEGIN;
105
- DROP FUNCTION IF EXISTS esq_credito.fn_calcular_cuota_v2(numeric, numeric, integer);
106
- -- Si existía v1, recrear aquí:
107
- -- CREATE OR REPLACE FUNCTION esq_credito.fn_calcular_cuota(...) ...
108
- COMMIT;
109
- ```
110
-
111
- > **Siempre incluir la firma completa en `DROP FUNCTION`** (tipos de parámetros). PostgreSQL puede tener múltiples sobrecargas del mismo nombre.
112
-
113
- ### DROP FUNCTION irreversible
114
-
115
- ```sql
116
- -- WARNING: IRREVERSIBLE — no hay versión anterior registrada
117
- -- Rollback best-effort: cuerpo de la función para restauración manual
118
- BEGIN;
119
- DROP FUNCTION IF EXISTS esq_credito.fn_legacy(integer);
120
- COMMIT;
121
-
122
- /*
123
- RESTAURACIÓN MANUAL si se necesita revertir:
124
- CREATE OR REPLACE FUNCTION esq_credito.fn_legacy(p_id integer)
125
- RETURNS void LANGUAGE plpgsql AS $$
126
- BEGIN
127
- -- [cuerpo de la función aquí]
128
- END;
129
- $$;
130
- */
131
- ```
132
-
133
- ---
134
-
135
- ## Migración de Datos
136
-
137
- ### UPDATE masivo → restaurar desde backup
138
-
139
- ```sql
140
- -- 000-backup-tb-credito.sql
141
- BEGIN;
142
- CREATE TABLE IF NOT EXISTS esq_audit.tb_bkp_credito_sessionXXX AS
143
- SELECT id_credito, estado, estado_proceso
144
- FROM esq_credito.tb_credito
145
- WHERE estado = 0 AND fecha_registro < '2024-01-01';
146
- COMMIT;
147
-
148
- -- Forward: migración
149
- BEGIN;
150
- UPDATE esq_credito.tb_credito
151
- SET estado = 2
152
- WHERE estado = 0 AND fecha_registro < '2024-01-01';
153
- COMMIT;
154
-
155
- -- Rollback: restaurar desde backup
156
- BEGIN;
157
- UPDATE esq_credito.tb_credito t
158
- SET estado = bkp.estado
159
- FROM esq_audit.tb_bkp_credito_sessionXXX bkp
160
- WHERE t.id_credito = bkp.id_credito;
161
- COMMIT;
162
- ```
163
-
164
- ### INSERT ... SELECT → DELETE por rango
165
-
166
- ```sql
167
- -- Forward: poblar tabla destino desde origen
168
- BEGIN;
169
- INSERT INTO esq_credito.tb_credito_nuevo (id_credito, monto, estado)
170
- SELECT id_credito, monto_prestamo, 1
171
- FROM esq_credito.tb_credito_legacy
172
- WHERE flag_migrado = 0;
173
- COMMIT;
174
-
175
- -- Rollback: eliminar solo los registros insertados en esta sesión
176
- BEGIN;
177
- DELETE FROM esq_credito.tb_credito_nuevo
178
- WHERE id_credito IN (
179
- SELECT id_credito FROM esq_credito.tb_credito_legacy WHERE flag_migrado = 0
180
- );
181
- COMMIT;
182
- ```
183
-
184
- ---
185
-
186
- ## Inserts de datos nuevos
187
-
188
- ### INSERT simple → DELETE por clave natural
189
-
190
- ```sql
191
- -- Forward
192
- BEGIN;
193
- INSERT INTO esq_sistema.tb_maestra_detalle
194
- (id_maestra, codprog, descripcion, valor, estado, usuario_registro, fecha_registro)
195
- VALUES
196
- (1, 'EST_SOLICITUD', 'Pendiente', 1, 1, 'session_deploy', NOW()),
197
- (1, 'EST_SOLICITUD', 'Aprobada', 2, 1, 'session_deploy', NOW()),
198
- (1, 'EST_SOLICITUD', 'Rechazada', 3, 1, 'session_deploy', NOW())
199
- ON CONFLICT DO NOTHING;
200
- COMMIT;
201
-
202
- -- Rollback
203
- BEGIN;
204
- DELETE FROM esq_sistema.tb_maestra_detalle
205
- WHERE codprog = 'EST_SOLICITUD'
206
- AND valor IN (1, 2, 3)
207
- AND usuario_registro = 'session_deploy';
208
- COMMIT;
209
- ```
210
-
211
- ---
212
-
213
- ## Bloque rollback de una sesión dentro de `00-ROLLBACK.sql`
214
-
215
- ```sql
216
- -- ----------------------------------------------------------------------------
217
- -- ROLLBACK de sessionXXX-[nombre] — revierte los cambios en orden inverso.
218
- -- Forma parte del 00-ROLLBACK.sql cross-session del bundle.
219
- -- ----------------------------------------------------------------------------
220
- BEGIN;
221
-
222
- -- Paso 4 invertido: deshacer inserts
223
- DELETE FROM esq_sistema.tb_maestra_detalle
224
- WHERE codprog = 'EST_SOLICITUD' AND usuario_registro = 'session_deploy';
225
-
226
- -- Paso 3 invertido: deshacer migraciones
227
- UPDATE esq_credito.tb_credito t
228
- SET estado = bkp.estado
229
- FROM esq_audit.tb_bkp_credito_sessionXXX bkp
230
- WHERE t.id_credito = bkp.id_credito;
231
-
232
- -- Paso 2 invertido: eliminar funciones nuevas
233
- DROP FUNCTION IF EXISTS esq_credito.fn_calcular_cuota_v2(numeric, numeric, integer);
234
-
235
- -- Paso 1 invertido: eliminar tablas nuevas
236
- DROP TABLE IF EXISTS esq_credito.tb_nueva;
237
- DROP SEQUENCE IF EXISTS esq_credito.seq_tb_nueva;
238
-
239
- COMMIT;
240
- ```
241
-
242
- ---
243
-
244
- ## Equivalencias entre motores
245
-
246
- | Concepto | PostgreSQL | Oracle | SQL Server |
247
- |---|---|---|---|
248
- | Idempotencia CREATE TABLE | `CREATE TABLE IF NOT EXISTS` | `BEGIN EXECUTE IMMEDIATE ... EXCEPTION WHEN OTHERS THEN NULL; END;` | `IF NOT EXISTS (SELECT...) CREATE TABLE` |
249
- | Idempotencia DROP | `DROP TABLE IF EXISTS` | No nativo — usar bloque PL/SQL | `DROP TABLE IF EXISTS` (2016+) |
250
- | Create o reemplazar función | `CREATE OR REPLACE FUNCTION` | `CREATE OR REPLACE FUNCTION` | `CREATE OR ALTER PROCEDURE` |
251
- | Insertar sin duplicar | `ON CONFLICT DO NOTHING` | `INSERT INTO ... WHERE NOT EXISTS (SELECT 1 ...)` | `IF NOT EXISTS (SELECT 1 ...) INSERT` |
252
- | Esquema explícito | `esq_credito.tb_x` | `schema.tb_x` | `[schema].[tb_x]` |
253
- | Secuencias | `CREATE SEQUENCE` / `nextval(...)` | `CREATE SEQUENCE` / `.NEXTVAL` | `IDENTITY` o `SEQUENCE` (2012+) |
254
- | Transacción | `BEGIN; ... COMMIT;` | `-- implícita; usar COMMIT;` | `BEGIN TRANSACTION; ... COMMIT;` |
255
- | Creación condicional índice | `CREATE INDEX IF NOT EXISTS` | No nativo | `IF NOT EXISTS (SELECT...) CREATE INDEX` |
256
-
257
- > Si el motor de destino no es PostgreSQL, indicarlo en el header del script y ajustar la sintaxis según la tabla anterior.
@@ -1,243 +0,0 @@
1
- ---
2
- name: sql-script-organizer
3
- description: "Mantiene el archivo único SCRIPTS.sql por sesión (uppercase EN canon, F-D session062), aplica estilo del proyecto (BEGIN/COMMIT, idempotencia, schema explícito), markers @category (01-ddl-tablas, 02-ddl-funciones, 03-migracion, 04-inserts) y @stmt por sentencia. La separación 01-04 + generación de rollbacks ocurre post-hoc en /agent-workflow:export-scripts (no durante exec). BREAKING desde v1.0.0: reemplaza el layout scripts/01-04/* + .rollback.sql per archivo (2N+1) por SCRIPTS.sql único. Layouts legacy se migran con /agent-workflow:migrate --upgrade-topology."
4
- version: 1.0.0
5
- ---
6
-
7
- # SQL Script Organizer
8
-
9
- Organización, estilo y graduación de scripts SQL dentro del flujo de sesiones.
10
-
11
- ## Regla cero — read/write filesystem only
12
-
13
- Este skill **organiza, renumera, escribe diffs y prepara el bundle** en disco. **Nunca ejecuta SQL** contra `<mcp-cert>`/`<mcp-prod>` ni ningún otro destino. La aplicación del bundle (DDL, migraciones, inserts) la realiza el **usuario** manualmente, fuera del scope de este skill. Si durante el flujo aparece tentación de "verificar aplicando" — refusar y pedir al usuario que ejecute.
14
-
15
- ## When to use
16
-
17
- - Cuando existan ≥2 archivos `.sql` en la sesión y necesiten ordenarse para entrega.
18
- - **Antes de escribir un nuevo `.sql`** — para elegir categoría correcta y aplicar estilo desde el inicio.
19
- - Al llegar a Fase 5 (Cierre) con scripts SQL pendientes de graduar.
20
- - NL: "unificar", "reorganizar", "preparar bundle de scripts", "listos para prod".
21
- - Al renumerar o reclasificar scripts durante la sesión.
22
-
23
- ## Sandbox read-only
24
-
25
- `../session/references/sandbox-readonly-rules.md`. Plan describe clasificación, renumeración y orden propuestos (sin crear ni mover `.sql`).
26
-
27
- ## Staging durante la sesión (v1.0.0 — BREAKING)
28
-
29
- **Archivo único** en la raíz de la sesión:
30
-
31
- ```
32
- .workflow/sessions/sessionXXX-nombre/
33
- └── SCRIPTS.sql (consolidado de todas las sentencias de la sesión)
34
- ```
35
-
36
- Spec completa: ver [`references/scripts-sql-format.md`](references/scripts-sql-format.md).
37
-
38
- **Cada sentencia** se appendea al SCRIPTS.sql con un par de markers en comentarios:
39
-
40
- ```sql
41
- -- @category: 01-ddl-tablas
42
- -- @stmt: 01-crear-tabla-usuarios
43
- CREATE TABLE IF NOT EXISTS esq_credito.tb_usuarios (
44
- ...
45
- );
46
- ```
47
-
48
- - `@category` clasifica la sentencia (4 valores canónicos, ver tabla abajo).
49
- - `@stmt` da el slug determinístico (`NN-verbo-objetivo`). Sirve para que `export-scripts` derive el filename al separar.
50
- - Orden cronológico dentro del archivo = orden en que se appendea. `export-scripts` resuelve el orden de ejecución final por categoría (01 → 02 → 03 → 04).
51
- - `BEGIN;` global al inicio del archivo, `COMMIT;` al final. Cada sentencia individual NO trae su propio BEGIN/COMMIT (la separación post-hoc los agrega por archivo).
52
-
53
- > **Sin .rollback.sql per archivo durante exec**. Los rollbacks se generan post-hoc al correr `/agent-workflow:export-scripts` (ver `sql-rollback-generator` v1.0.0).
54
-
55
- ## Migración desde layout legacy
56
-
57
- Sesiones creadas con `sql-script-organizer` v0.x usan layout antiguo:
58
-
59
- ```
60
- .workflow/sessions/sessionXXX-nombre/scripts/
61
- ├── 01-ddl-tablas/
62
- │ └── 001-crear-tabla.sql
63
- ├── 02-ddl-funciones/
64
- │ └── 001-crear-fn.sql
65
- └── ...
66
- ```
67
-
68
- Para migrar: `/agent-workflow:migrate --upgrade-topology`. El skill `migrate` detecta el layout legacy y consolida en `SCRIPTS.sql` preservando order + agregando markers. Ver `agent-workflow/skills/migrate/SKILL.md` capability 11.
69
-
70
- `/agent-workflow:export-scripts` aborta si detecta layout legacy sin migrar. NO consume sesiones mixtas.
71
-
72
- ## Las 4 categorías (markers `@category`)
73
-
74
- | Marker | Patrones de detección |
75
- |---|---|
76
- | `01-ddl-tablas` | `CREATE TABLE`, `DROP TABLE`, `ALTER TABLE`, `CREATE INDEX`, `CREATE SEQUENCE` |
77
- | `02-ddl-funciones` | `CREATE [OR REPLACE] FUNCTION`, `CREATE [OR REPLACE] PROCEDURE`, `DROP FUNCTION`, `DROP PROCEDURE` |
78
- | `03-migracion` | `UPDATE`, `INSERT ... SELECT ...`, `DELETE` sobre datos existentes, transformaciones de columnas |
79
- | `04-inserts` | `INSERT INTO ... VALUES`, seeds de catálogos, `tb_maestra_detalle`, datos de configuración inicial |
80
-
81
- **Orden de ejecución obligatorio**: 01 → 02 → 03 → 04. El archivo SCRIPTS.sql puede mezclar categorías cronológicamente; `export-scripts` ordena al bundle final.
82
-
83
- Patrones detallados y edge cases en `references/categorization-rules.md`.
84
-
85
- ## Reglas de estilo SQL
86
-
87
- Cumplir `coding-standards/references/database-conventions.md#estilo-de-scripts-sql`:
88
-
89
- - `BEGIN;` al inicio, `COMMIT;` al final.
90
- - Idempotencia: `CREATE TABLE IF NOT EXISTS`, `DROP ... IF EXISTS`, `CREATE OR REPLACE`, `ON CONFLICT`.
91
- - Cuerpo: preferir `WITH ... AS` (CTEs encadenadas) sobre subqueries anidados y sobre `DO $$ ... LOOP ... END $$`. Ver "Cuerpo: CTEs sobre DO/LOOP" abajo.
92
- - Header canónico de 4 líneas (Script / Sesion / Objeto / Alcance). Ver "Header canónico" abajo.
93
- - Separador entre secciones: una línea de comentario envuelta por guiones. Ver "Separadores entre secciones" abajo.
94
- - Nunca crear `fn_*`/`sp_*` para reusar lógica exclusiva de un script; usar CTE o inline.
95
- - Schema siempre explícito (`esq_credito.tb_x`, nunca `public.`).
96
-
97
- ### Header canónico
98
-
99
- Bloque único al inicio del script, entre dos líneas de iguales:
100
-
101
- ```sql
102
- -- ============================================================================
103
- -- Script: NNN-tipo-objetivo.sql
104
- -- Sesion: sNNN
105
- -- Objeto: <qué hace, 1-2 líneas>
106
- -- Alcance: <filtros y boundaries del cambio, 1 línea>
107
- -- ============================================================================
108
- ```
109
-
110
- - Solo 4 campos: `Script`, `Sesion`, `Objeto`, `Alcance`.
111
- - `Sesion` puede listar varias sesiones cuando el script trazó historia (ej. `s078 → s080 (fix UNIQUE) → s082 (simplificado)`).
112
- - Autor / Fecha / "Defensa futura" / notas largas **NO** van dentro del header. Si el contexto lo amerita, van como bloque libre debajo del header (separado por una línea en blanco). Default: no se generan.
113
- - Si el motor no es Postgres, indicarlo en `Objeto:` o como nota libre debajo, no como campo del header.
114
-
115
- ### Separadores entre secciones
116
-
117
- Cada sección del cuerpo se introduce con una línea de comentario corta envuelta por guiones seguidos:
118
-
119
- ```sql
120
- -- ----------------------------------------------------------------------------
121
- -- N. Descripción corta de qué hace este bloque.
122
- -- ----------------------------------------------------------------------------
123
- ```
124
-
125
- - Sin cajas dobles (`====` queda solo para el header).
126
- - Si el script tiene una sola sección, omitir separadores.
127
- - No partir un bloque corto solo por estética — los separadores marcan flujos lógicos, no líneas.
128
-
129
- ### Cuerpo: CTEs sobre DO/LOOP
130
-
131
- - Default: una transformación = `WITH ... AS` con CTEs encadenadas + un `INSERT/UPDATE/DELETE` final que las consume.
132
- - Evitar `DO $$ DECLARE ... FOR ... LOOP ... END $$` cuando el mismo resultado se logra declarativamente. Es código que el lector tiene que mentalizar fila a fila; el SQL declarativo es más fácil de auditar y revertir.
133
- - Excepción permitida: descubrimiento dinámico de objetos (FKs, columnas, constraints, secuencias) que no se puede expresar en SQL declarativo. En ese caso documentar el motivo en `Objeto:` del header (ej. `Objeto: ... cascadea a hijas via FKs detectadas dinámicamente.`).
134
-
135
- ## Proceso de mantenimiento del SCRIPTS.sql (v1.0.0)
136
-
137
- 1. **Detectar la categoría** del cambio a aplicar siguiendo la tabla de markers.
138
- 2. **Verificar idempotencia** del statement (CREATE OR REPLACE, IF EXISTS, ON CONFLICT, etc.).
139
- 3. **Append** al `SCRIPTS.sql` con par de markers (`@category` + `@stmt`).
140
- 4. **Style check** — el statement debe cumplir el header canónico, CTEs sobre DO/LOOP, schema explícito.
141
- 5. **NO mover ni renumerar** archivos individuales (solo hay un SCRIPTS.sql).
142
- 6. **NO generar `.rollback.sql`** durante exec (rollback se genera al exportar).
143
-
144
- El usuario revisa el SCRIPTS.sql periódicamente; la separación 01-04 final y la verificación de dependencias cruzadas la hace `/agent-workflow:export-scripts` post-hoc.
145
-
146
- ## Layout del bundle (post-export-scripts v5.0.0)
147
-
148
- `/agent-workflow:export-scripts` v5.0.0+ produce el bundle al ejecutarse, no este skill. Layout plano con **numeración continua** tras `00-ROLLBACK.sql`:
149
-
150
- ```
151
- <docs>/scripts/NNN-export-scripts-YYYY-MM-DD/
152
- ├── 00-ROLLBACK.sql (único rollback cross-session — sql-rollback-generator v3.0.0)
153
- ├── 01-<CATEGORIA>.sql (primera categoría con contenido)
154
- ├── 02-<CATEGORIA>.sql (segunda categoría con contenido, si aplica)
155
- ├── ... (numeración continua, sin gaps por categoría vacía)
156
- └── README.md (índice + cómo aplicar + cómo revertir)
157
- ```
158
-
159
- Orden canónico de las categorías (para asignar número): `DDL-TABLES` → `DDL-FUNCTIONS` → `DML` → `INSERTS`. Las vacías no ocupan número. Si sólo hay DML, el archivo se llama `01-DML.sql`.
160
-
161
- Sentencias individuales del `SCRIPTS.sql` per-sesión se consolidan **cross-session** al archivo de su categoría — no se crea sub-carpeta por sesión.
162
-
163
- Layout **v3.x** (`por-sesion/<sessionXXX>/01-04/*.sql + .rollback.sql` companions + per-sesión `rollback/`) ya **no se genera** desde v4.0.0. Layout **v4.0.0** (números fijos 01-04 con gaps) reemplazado por numeración continua en v5.0.0. Bundles ya escritos con layouts previos quedan como histórico.
164
-
165
- Layout **legacy** pre-SCRIPTS.sql (`scripts/01-04/*.sql + .rollback.sql` directo en sesión) tampoco se genera; sesiones nuevas usan SCRIPTS.sql. Layouts legacy en sesiones cerradas se migran con `/agent-workflow:migrate --upgrade-topology`.
166
-
167
- ## Graduación al cierre (vía `/agent-workflow:release`)
168
-
169
- Los scripts viven en la sesión durante execution: `.workflow/sessions/<folder>/scripts/`. La graduación a `docs/scripts/NNN-sessionXXX-<slug>/` la hace **`/agent-workflow:release` exclusivamente** (DEC-003) — único disparador de `kind=script`. Sesiones individuales NO invocan `agent-workflow graduate --kind script` directamente.
170
-
171
- Destino al graduar (DEC-002, vía release):
172
- - **hub mode** → `<hub>/docs/scripts/NNN-sessionXXX-<slug>/`.
173
- - **project mode** → `<cwd>/docs/scripts/NNN-sessionXXX-<slug>/`.
174
-
175
- `NNN` = siguiente correlativo en `docs/scripts/` (`agent-workflow next-number docs/scripts`). Release registra la ruta en `.workflow/HISTORY.md`.
176
-
177
- ## Modo release (cross-session + por tema)
178
-
179
- Cuando `release` o `release-scripts` invocan este skill, aplica modo consolidación cross-session o modo por tema. Ambos comparten la clasificación 01→04 pero cambian el layout y la transaccionalidad.
180
-
181
- Procedimiento completo (entrada, proceso paso a paso, layout destino, formato del consolidado, qué NO hacer) en **`references/consolidation-cross-session.md`**.
182
-
183
- ## Integración con otros skills
184
-
185
- - **`sql-rollback-generator`** v3.0.0+ — **on-export**: lee los forwards ya consolidados por `export-scripts` (no `SCRIPTS.sql` original) y genera `00-ROLLBACK.sql` único.
186
- - **`export-scripts`** v5.0.0+ — consume `SCRIPTS.sql` per sesión + `docs/scripts/*.sql` standalone, clasifica por categoría y asigna numeración continua tras `00-ROLLBACK.sql`. Aborta si detecta layout legacy.
187
- - **`migrate`** v1.3.0+ — capability 11: convierte layouts legacy `scripts/01-04/*.sql` → `SCRIPTS.sql` consolidado.
188
- - **`coding-standards`** — fuente de las reglas de estilo (`database-conventions.md`).
189
- - **`session`** — Fase execution invoca este skill al primer change SQL; Fase closure no necesita acción adicional.
190
-
191
- ## Ejemplo de header simplificado
192
-
193
- Antes (estilo viejo, evitar):
194
-
195
- ```sql
196
- -- ============================================================================
197
- -- Script: 020-dml-normalizar-codusuario-uppercase.sql
198
- -- Sesion: s078 (creado) → s079 (formato iniciales) → s080 (fix UNIQUE)
199
- -- Fecha: 2026-04-29
200
- -- Autor: Jesus Loayza (con asistencia AI)
201
- -- Objeto: Renombra esq_x.tb_x.cod a MAYUSCULAS con sufijo numerico para
202
- -- colisiones internas. Cascadea a hijas via FKs detectadas dinamicamente.
203
- -- Alcance: SOLO usuarios id_tipo = 'CORE' con tb_persona valida.
204
- -- Defensa futura: AuthSvc.generarCod en mscore-mantenimiento.
205
- -- ============================================================================
206
- -- Si el INSERT al mapping rebota con UNIQUE, significa que ...
207
- -- ============================================================================
208
- ```
209
-
210
- Después (estilo canónico):
211
-
212
- ```sql
213
- -- ============================================================================
214
- -- Script: 020-dml-normalizar-codusuario-uppercase.sql
215
- -- Sesion: s078 → s080 (fix UNIQUE) → s082 (simplificado one-shot, sin trigger)
216
- -- Objeto: Renombra esq_x.tb_x.cod a MAYUSCULAS con sufijo numérico para
217
- -- colisiones. Cascadea a hijas vía FKs detectadas dinámicamente.
218
- -- Alcance: SOLO usuarios id_tipo = 'CORE' con tb_persona válida.
219
- -- ============================================================================
220
- ```
221
-
222
- Y en el cuerpo, las secciones se separan así:
223
-
224
- ```sql
225
- -- ----------------------------------------------------------------------------
226
- -- 1. Mapping old → new para CORE con persona válida.
227
- -- ----------------------------------------------------------------------------
228
- WITH bases AS (
229
- SELECT u.id, u.cod AS old_code,
230
- UPPER(LEFT(TRIM(p.nombres), 1) || REPLACE(TRIM(p.apellido_paterno), ' ', '')) AS base_code
231
- FROM esq_x.tb_x u
232
- JOIN esq_x.tb_persona p ON p.id_persona = u.id_persona
233
- WHERE u.id_tipo = 'CORE'
234
- ),
235
- mapped AS ( ... )
236
- INSERT INTO _cod_map (id, old_code, new_code) SELECT id, old_code, new_code FROM mapped;
237
- ```
238
-
239
- ## Recursos adicionales
240
-
241
- - **`references/categorization-rules.md`** — patrones detallados, edge cases, scripts mixtos.
242
- - **`references/bundle-readme-template.md`** — plantilla para `scripts/bundle/README.md`.
243
- - **`references/consolidation-cross-session.md`** — modo release (cross-session + por tema).