@bendyline/gilde 0.1.51 → 0.1.53

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 (585) hide show
  1. package/authoring/chat-models/nanbeige4.2-3b-q4.json +133 -0
  2. package/data/chat-models/index.json +1 -1
  3. package/data/chat-models/na/nanbeige4.2-3b-q4/manifest.json +138 -0
  4. package/data/chat-models/na/nanbeige4.2-3b-q4/versions/1.0.0/manifest.json +14 -0
  5. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.3/craftbook.json +278 -0
  6. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.3/test.json +118 -0
  7. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.3/craftbook.json +277 -0
  8. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.3/test.json +189 -0
  9. package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.1/craftbook.json +616 -0
  10. package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.1/test.json +228 -0
  11. package/data/craftbook-templates/ad/ad-variations/versions/1.0.3/craftbook.json +213 -0
  12. package/data/craftbook-templates/ad/ad-variations/versions/1.0.3/test.json +108 -0
  13. package/data/craftbook-templates/al/album-curate/versions/1.0.3/craftbook.json +250 -0
  14. package/data/craftbook-templates/al/album-curate/versions/1.0.3/test.json +147 -0
  15. package/data/craftbook-templates/al/alert-rules/versions/1.0.3/craftbook.json +213 -0
  16. package/data/craftbook-templates/al/alert-rules/versions/1.0.3/test.json +145 -0
  17. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.5/craftbook.json +381 -0
  18. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.5/test.json +157 -0
  19. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.3/craftbook.json +279 -0
  20. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.3/test.json +102 -0
  21. package/data/craftbook-templates/an/annual-document-review/versions/1.0.3/craftbook.json +277 -0
  22. package/data/craftbook-templates/an/annual-document-review/versions/1.0.3/test.json +113 -0
  23. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.3/craftbook.json +277 -0
  24. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.3/test.json +123 -0
  25. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.3/craftbook.json +278 -0
  26. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.3/test.json +192 -0
  27. package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.1/craftbook.json +600 -0
  28. package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.1/test.json +290 -0
  29. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.3/craftbook.json +282 -0
  30. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.3/test.json +139 -0
  31. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.3/craftbook.json +265 -0
  32. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.3/test.json +103 -0
  33. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.3/craftbook.json +259 -0
  34. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.3/test.json +103 -0
  35. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.5/craftbook.json +370 -0
  36. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.5/test.json +221 -0
  37. package/data/craftbook-templates/au/auth-flow/versions/1.0.3/craftbook.json +279 -0
  38. package/data/craftbook-templates/au/auth-flow/versions/1.0.3/test.json +143 -0
  39. package/data/craftbook-templates/au/automation-recipe/versions/1.0.3/craftbook.json +324 -0
  40. package/data/craftbook-templates/au/automation-recipe/versions/1.0.3/test.json +296 -0
  41. package/data/craftbook-templates/ba/backup-routine/versions/1.0.3/craftbook.json +279 -0
  42. package/data/craftbook-templates/ba/backup-routine/versions/1.0.3/test.json +108 -0
  43. package/data/craftbook-templates/bl/blog-post/versions/1.0.3/craftbook.json +278 -0
  44. package/data/craftbook-templates/bl/blog-post/versions/1.0.3/test.json +118 -0
  45. package/data/craftbook-templates/bo/board-deck/versions/1.0.3/craftbook.json +279 -0
  46. package/data/craftbook-templates/bo/board-deck/versions/1.0.3/test.json +100 -0
  47. package/data/craftbook-templates/bo/board-game-web/versions/1.0.3/craftbook.json +288 -0
  48. package/data/craftbook-templates/bo/board-game-web/versions/1.0.3/test.json +99 -0
  49. package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/craftbook.json +294 -0
  50. package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/test.json +162 -0
  51. package/data/craftbook-templates/br/branding-website/versions/1.1.2/craftbook.json +329 -0
  52. package/data/craftbook-templates/br/branding-website/versions/1.1.2/test.json +164 -0
  53. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.3/craftbook.json +219 -0
  54. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.3/test.json +103 -0
  55. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.6/craftbook.json +620 -0
  56. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.6/test.json +376 -0
  57. package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.1/craftbook.json +728 -0
  58. package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.1/test.json +221 -0
  59. package/data/craftbook-templates/bu/build-loop/versions/1.1.1/craftbook.json +139 -0
  60. package/data/craftbook-templates/bu/build-loop/versions/1.1.1/test.json +121 -0
  61. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.3/craftbook.json +219 -0
  62. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.3/test.json +102 -0
  63. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.3/craftbook.json +222 -0
  64. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.3/test.json +106 -0
  65. package/data/craftbook-templates/ca/careful-mode/versions/1.2.1/craftbook.json +64 -0
  66. package/data/craftbook-templates/ca/careful-mode/versions/1.2.1/test.json +110 -0
  67. package/data/craftbook-templates/ca/case-study/versions/1.0.3/craftbook.json +275 -0
  68. package/data/craftbook-templates/ca/case-study/versions/1.0.3/test.json +112 -0
  69. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.3/craftbook.json +289 -0
  70. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.3/test.json +105 -0
  71. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.4/craftbook.json +279 -0
  72. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.4/test.json +155 -0
  73. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.3/craftbook.json +184 -0
  74. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.3/test.json +98 -0
  75. package/data/craftbook-templates/ch/character-sheet/versions/1.0.3/craftbook.json +216 -0
  76. package/data/craftbook-templates/ch/character-sheet/versions/1.0.3/test.json +143 -0
  77. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/craftbook.json +256 -0
  78. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/test.json +178 -0
  79. package/data/craftbook-templates/ch/chart-pack/versions/1.0.3/craftbook.json +285 -0
  80. package/data/craftbook-templates/ch/chart-pack/versions/1.0.3/test.json +104 -0
  81. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.3/craftbook.json +286 -0
  82. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.3/test.json +97 -0
  83. package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.1/craftbook.json +585 -0
  84. package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.1/test.json +225 -0
  85. package/data/craftbook-templates/ci/citation-audit/versions/1.0.3/craftbook.json +278 -0
  86. package/data/craftbook-templates/ci/citation-audit/versions/1.0.3/test.json +152 -0
  87. package/data/craftbook-templates/cl/cli-tool/versions/1.1.3/craftbook.json +283 -0
  88. package/data/craftbook-templates/cl/cli-tool/versions/1.1.3/test.json +128 -0
  89. package/data/craftbook-templates/co/code-review/versions/1.0.1/craftbook.json +229 -0
  90. package/data/craftbook-templates/co/code-review/versions/1.0.1/test.json +249 -0
  91. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.3/craftbook.json +280 -0
  92. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.3/test.json +119 -0
  93. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.3/craftbook.json +279 -0
  94. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.3/test.json +122 -0
  95. package/data/craftbook-templates/co/codemod-sweep/versions/1.0.0/test.json +1 -1
  96. package/data/craftbook-templates/co/codemod-sweep/versions/1.0.1/craftbook.json +603 -0
  97. package/data/craftbook-templates/co/codemod-sweep/versions/1.0.1/test.json +252 -0
  98. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.3/craftbook.json +277 -0
  99. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.3/test.json +229 -0
  100. package/data/craftbook-templates/co/company-research-brief/versions/1.0.3/craftbook.json +272 -0
  101. package/data/craftbook-templates/co/company-research-brief/versions/1.0.3/test.json +97 -0
  102. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.3/craftbook.json +286 -0
  103. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.3/test.json +109 -0
  104. package/data/craftbook-templates/co/compat-check/versions/1.0.3/craftbook.json +285 -0
  105. package/data/craftbook-templates/co/compat-check/versions/1.0.3/test.json +148 -0
  106. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.3/craftbook.json +273 -0
  107. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.3/test.json +119 -0
  108. package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.1/craftbook.json +518 -0
  109. package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.1/test.json +160 -0
  110. package/data/craftbook-templates/co/config-scaffold/versions/1.0.3/craftbook.json +215 -0
  111. package/data/craftbook-templates/co/config-scaffold/versions/1.0.3/test.json +120 -0
  112. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.3/craftbook.json +277 -0
  113. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.3/test.json +152 -0
  114. package/data/craftbook-templates/co/content-deck/versions/1.2.3/craftbook.json +335 -0
  115. package/data/craftbook-templates/co/content-deck/versions/1.2.3/test.json +169 -0
  116. package/data/craftbook-templates/co/contract-template/versions/1.0.3/craftbook.json +283 -0
  117. package/data/craftbook-templates/co/contract-template/versions/1.0.3/test.json +102 -0
  118. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.3/craftbook.json +233 -0
  119. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.3/test.json +159 -0
  120. package/data/craftbook-templates/co/copy-review/versions/1.0.3/craftbook.json +278 -0
  121. package/data/craftbook-templates/co/copy-review/versions/1.0.3/test.json +105 -0
  122. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/craftbook.json +339 -0
  123. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/test.json +187 -0
  124. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.3/craftbook.json +279 -0
  125. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.3/test.json +159 -0
  126. package/data/craftbook-templates/co/cover-letter/versions/1.0.3/craftbook.json +216 -0
  127. package/data/craftbook-templates/co/cover-letter/versions/1.0.3/test.json +100 -0
  128. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.3/craftbook.json +212 -0
  129. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.3/test.json +207 -0
  130. package/data/craftbook-templates/cr/cron-job/versions/1.0.3/craftbook.json +282 -0
  131. package/data/craftbook-templates/cr/cron-job/versions/1.0.3/test.json +104 -0
  132. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.3/craftbook.json +301 -0
  133. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.3/test.json +138 -0
  134. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.4/craftbook.json +211 -0
  135. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.4/test.json +102 -0
  136. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.3/craftbook.json +219 -0
  137. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.3/test.json +114 -0
  138. package/data/craftbook-templates/da/data-dictionary/versions/1.0.3/craftbook.json +219 -0
  139. package/data/craftbook-templates/da/data-dictionary/versions/1.0.3/test.json +101 -0
  140. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.3/craftbook.json +282 -0
  141. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.3/test.json +104 -0
  142. package/data/craftbook-templates/da/data-join-merge/versions/1.0.3/craftbook.json +212 -0
  143. package/data/craftbook-templates/da/data-join-merge/versions/1.0.3/test.json +104 -0
  144. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.4/craftbook.json +281 -0
  145. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.4/test.json +162 -0
  146. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.3/craftbook.json +277 -0
  147. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.3/test.json +329 -0
  148. package/data/craftbook-templates/da/data-to-report/versions/1.0.3/craftbook.json +277 -0
  149. package/data/craftbook-templates/da/data-to-report/versions/1.0.3/test.json +98 -0
  150. package/data/craftbook-templates/da/data-viz-page/versions/1.0.3/craftbook.json +281 -0
  151. package/data/craftbook-templates/da/data-viz-page/versions/1.0.3/test.json +117 -0
  152. package/data/craftbook-templates/da/dataset-clean/versions/1.2.4/craftbook.json +212 -0
  153. package/data/craftbook-templates/da/dataset-clean/versions/1.2.4/test.json +95 -0
  154. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.3/craftbook.json +283 -0
  155. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.3/test.json +104 -0
  156. package/data/craftbook-templates/de/deep-security-review/versions/1.1.3/craftbook.json +378 -0
  157. package/data/craftbook-templates/de/deep-security-review/versions/1.1.3/test.json +184 -0
  158. package/data/craftbook-templates/de/dependency-audit/versions/1.1.3/craftbook.json +275 -0
  159. package/data/craftbook-templates/de/dependency-audit/versions/1.1.3/test.json +111 -0
  160. package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.1/craftbook.json +619 -0
  161. package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.1/test.json +235 -0
  162. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.3/craftbook.json +288 -0
  163. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.3/test.json +165 -0
  164. package/data/craftbook-templates/de/design-review/versions/1.0.3/craftbook.json +277 -0
  165. package/data/craftbook-templates/de/design-review/versions/1.0.3/test.json +121 -0
  166. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.5/craftbook.json +627 -0
  167. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.5/test.json +201 -0
  168. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.3/craftbook.json +221 -0
  169. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.3/test.json +97 -0
  170. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.3/craftbook.json +283 -0
  171. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.3/test.json +162 -0
  172. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.3/craftbook.json +282 -0
  173. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.3/test.json +104 -0
  174. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/craftbook.json +216 -0
  175. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/test.json +110 -0
  176. package/data/craftbook-templates/do/dockerize-app/versions/1.0.3/craftbook.json +282 -0
  177. package/data/craftbook-templates/do/dockerize-app/versions/1.0.3/test.json +92 -0
  178. package/data/craftbook-templates/do/docs-site/versions/1.0.3/craftbook.json +281 -0
  179. package/data/craftbook-templates/do/docs-site/versions/1.0.3/test.json +97 -0
  180. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.3/craftbook.json +279 -0
  181. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.3/test.json +135 -0
  182. package/data/craftbook-templates/dr/draft-social-post/versions/1.0.1/craftbook.json +321 -0
  183. package/data/craftbook-templates/dr/draft-social-post/versions/1.0.1/test.json +161 -0
  184. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.3/craftbook.json +277 -0
  185. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.3/test.json +104 -0
  186. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.3/craftbook.json +278 -0
  187. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.3/test.json +110 -0
  188. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.3/craftbook.json +280 -0
  189. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.3/test.json +97 -0
  190. package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/craftbook.json +312 -0
  191. package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/test.json +146 -0
  192. package/data/craftbook-templates/em/email-sequence/versions/1.0.3/craftbook.json +274 -0
  193. package/data/craftbook-templates/em/email-sequence/versions/1.0.3/test.json +97 -0
  194. package/data/craftbook-templates/em/email-template/versions/1.0.3/craftbook.json +281 -0
  195. package/data/craftbook-templates/em/email-template/versions/1.0.3/test.json +97 -0
  196. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.5/craftbook.json +577 -0
  197. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.5/test.json +191 -0
  198. package/data/craftbook-templates/ep/episode-plan/versions/1.0.3/craftbook.json +277 -0
  199. package/data/craftbook-templates/ep/episode-plan/versions/1.0.3/test.json +100 -0
  200. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.3/craftbook.json +219 -0
  201. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.3/test.json +110 -0
  202. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.3/craftbook.json +279 -0
  203. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.3/test.json +110 -0
  204. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.5/craftbook.json +606 -0
  205. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.5/test.json +139 -0
  206. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.3/craftbook.json +274 -0
  207. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.3/test.json +104 -0
  208. package/data/craftbook-templates/fa/fact-check/versions/1.0.3/craftbook.json +278 -0
  209. package/data/craftbook-templates/fa/fact-check/versions/1.0.3/test.json +110 -0
  210. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.3/craftbook.json +184 -0
  211. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.3/test.json +111 -0
  212. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.3/craftbook.json +215 -0
  213. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.3/test.json +110 -0
  214. package/data/craftbook-templates/fa/favicon-set/versions/1.0.3/craftbook.json +284 -0
  215. package/data/craftbook-templates/fa/favicon-set/versions/1.0.3/test.json +103 -0
  216. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.1/craftbook.json +324 -0
  217. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.1/test.json +162 -0
  218. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.3/craftbook.json +281 -0
  219. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.3/test.json +97 -0
  220. package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.1/craftbook.json +716 -0
  221. package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.1/test.json +239 -0
  222. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.3/craftbook.json +215 -0
  223. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.3/test.json +103 -0
  224. package/data/craftbook-templates/fo/forecast-model/versions/1.0.3/craftbook.json +216 -0
  225. package/data/craftbook-templates/fo/forecast-model/versions/1.0.3/test.json +104 -0
  226. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.3/craftbook.json +282 -0
  227. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.3/test.json +162 -0
  228. package/data/craftbook-templates/fo/form-wizard/versions/1.0.3/craftbook.json +222 -0
  229. package/data/craftbook-templates/fo/form-wizard/versions/1.0.3/test.json +110 -0
  230. package/data/craftbook-templates/fr/freeze-scope/versions/1.3.1/craftbook.json +96 -0
  231. package/data/craftbook-templates/fr/freeze-scope/versions/1.3.1/test.json +131 -0
  232. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.3/craftbook.json +306 -0
  233. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.3/test.json +99 -0
  234. package/data/craftbook-templates/gl/glossary-build/versions/1.0.3/craftbook.json +274 -0
  235. package/data/craftbook-templates/gl/glossary-build/versions/1.0.3/test.json +110 -0
  236. package/data/craftbook-templates/gr/graphql-api/versions/1.0.4/craftbook.json +281 -0
  237. package/data/craftbook-templates/gr/graphql-api/versions/1.0.4/test.json +92 -0
  238. package/data/craftbook-templates/gr/grpc-service/versions/1.0.3/craftbook.json +283 -0
  239. package/data/craftbook-templates/gr/grpc-service/versions/1.0.3/test.json +92 -0
  240. package/data/craftbook-templates/ha/handbook-section/versions/1.0.3/craftbook.json +283 -0
  241. package/data/craftbook-templates/ha/handbook-section/versions/1.0.3/test.json +110 -0
  242. package/data/craftbook-templates/he/hero-image/versions/1.0.3/craftbook.json +289 -0
  243. package/data/craftbook-templates/he/hero-image/versions/1.0.3/test.json +103 -0
  244. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/craftbook.json +365 -0
  245. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/test.json +128 -0
  246. package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.1/craftbook.json +605 -0
  247. package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.1/test.json +220 -0
  248. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.2/craftbook.json +337 -0
  249. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.2/test.json +176 -0
  250. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.3/craftbook.json +288 -0
  251. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.3/test.json +99 -0
  252. package/data/craftbook-templates/ic/icon-pack/versions/1.0.3/craftbook.json +281 -0
  253. package/data/craftbook-templates/ic/icon-pack/versions/1.0.3/test.json +103 -0
  254. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.5/craftbook.json +571 -0
  255. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.5/test.json +141 -0
  256. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.3/craftbook.json +288 -0
  257. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.3/test.json +99 -0
  258. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.3/craftbook.json +277 -0
  259. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.3/test.json +103 -0
  260. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.3/craftbook.json +276 -0
  261. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.3/test.json +103 -0
  262. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.3/craftbook.json +221 -0
  263. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.3/test.json +97 -0
  264. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.3/craftbook.json +216 -0
  265. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.3/test.json +103 -0
  266. package/data/craftbook-templates/im/image-set-index/versions/1.2.2/craftbook.json +295 -0
  267. package/data/craftbook-templates/im/image-set-index/versions/1.2.2/test.json +180 -0
  268. package/data/craftbook-templates/in/inbox-triage/versions/1.0.3/craftbook.json +276 -0
  269. package/data/craftbook-templates/in/inbox-triage/versions/1.0.3/test.json +104 -0
  270. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.3/craftbook.json +219 -0
  271. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.3/test.json +110 -0
  272. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.3/craftbook.json +288 -0
  273. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.3/test.json +109 -0
  274. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/craftbook.json +288 -0
  275. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/test.json +121 -0
  276. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.3/craftbook.json +281 -0
  277. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.3/test.json +99 -0
  278. package/data/craftbook-templates/in/invitation-design/versions/1.0.3/craftbook.json +240 -0
  279. package/data/craftbook-templates/in/invitation-design/versions/1.0.3/test.json +121 -0
  280. package/data/craftbook-templates/in/invoice-generator/versions/1.0.3/craftbook.json +222 -0
  281. package/data/craftbook-templates/in/invoice-generator/versions/1.0.3/test.json +97 -0
  282. package/data/craftbook-templates/in/invoice-run/versions/1.1.3/craftbook.json +354 -0
  283. package/data/craftbook-templates/in/invoice-run/versions/1.1.3/test.json +140 -0
  284. package/data/craftbook-templates/index.json +1 -1
  285. package/data/craftbook-templates/it/item-intake/versions/1.0.3/craftbook.json +276 -0
  286. package/data/craftbook-templates/it/item-intake/versions/1.0.3/test.json +145 -0
  287. package/data/craftbook-templates/ju/juice-pass/versions/1.0.3/craftbook.json +228 -0
  288. package/data/craftbook-templates/ju/juice-pass/versions/1.0.3/test.json +116 -0
  289. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.3/craftbook.json +275 -0
  290. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.3/test.json +110 -0
  291. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.3/craftbook.json +285 -0
  292. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.3/test.json +97 -0
  293. package/data/craftbook-templates/la/landing-copy/versions/1.0.3/craftbook.json +275 -0
  294. package/data/craftbook-templates/la/landing-copy/versions/1.0.3/test.json +110 -0
  295. package/data/craftbook-templates/la/landing-page/versions/1.0.3/craftbook.json +348 -0
  296. package/data/craftbook-templates/la/landing-page/versions/1.0.3/test.json +97 -0
  297. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.3/craftbook.json +274 -0
  298. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.3/test.json +104 -0
  299. package/data/craftbook-templates/li/library-package/versions/1.0.3/craftbook.json +284 -0
  300. package/data/craftbook-templates/li/library-package/versions/1.0.3/test.json +92 -0
  301. package/data/craftbook-templates/li/literature-review/versions/1.0.3/craftbook.json +279 -0
  302. package/data/craftbook-templates/li/literature-review/versions/1.0.3/test.json +110 -0
  303. package/data/craftbook-templates/lo/localize-content/versions/1.0.3/craftbook.json +275 -0
  304. package/data/craftbook-templates/lo/localize-content/versions/1.0.3/test.json +110 -0
  305. package/data/craftbook-templates/lo/logo-set/versions/1.0.3/craftbook.json +281 -0
  306. package/data/craftbook-templates/lo/logo-set/versions/1.0.3/test.json +103 -0
  307. package/data/craftbook-templates/ma/market-scan/versions/1.0.3/craftbook.json +279 -0
  308. package/data/craftbook-templates/ma/market-scan/versions/1.0.3/test.json +213 -0
  309. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.3/craftbook.json +220 -0
  310. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.3/test.json +110 -0
  311. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.3/craftbook.json +219 -0
  312. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.3/test.json +110 -0
  313. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.3/craftbook.json +218 -0
  314. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.3/test.json +187 -0
  315. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.3/craftbook.json +220 -0
  316. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.3/test.json +103 -0
  317. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/craftbook.json +250 -0
  318. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/test.json +112 -0
  319. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.3/craftbook.json +283 -0
  320. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.3/test.json +92 -0
  321. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.3/craftbook.json +229 -0
  322. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.3/test.json +99 -0
  323. package/data/craftbook-templates/mo/mock-interview/versions/1.0.3/craftbook.json +270 -0
  324. package/data/craftbook-templates/mo/mock-interview/versions/1.0.3/test.json +110 -0
  325. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.3/craftbook.json +293 -0
  326. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.3/test.json +136 -0
  327. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/craftbook.json +294 -0
  328. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/test.json +197 -0
  329. package/data/craftbook-templates/mo/month-close/versions/1.0.3/craftbook.json +277 -0
  330. package/data/craftbook-templates/mo/month-close/versions/1.0.3/test.json +97 -0
  331. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.3/craftbook.json +277 -0
  332. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.3/test.json +120 -0
  333. package/data/craftbook-templates/mo/moodboard/versions/1.0.3/craftbook.json +221 -0
  334. package/data/craftbook-templates/mo/moodboard/versions/1.0.3/test.json +103 -0
  335. package/data/craftbook-templates/mo/morning-brief/versions/1.0.3/craftbook.json +241 -0
  336. package/data/craftbook-templates/mo/morning-brief/versions/1.0.3/test.json +225 -0
  337. package/data/craftbook-templates/mo/morning-report/versions/1.0.3/craftbook.json +289 -0
  338. package/data/craftbook-templates/mo/morning-report/versions/1.0.3/test.json +250 -0
  339. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.3/craftbook.json +212 -0
  340. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.3/test.json +103 -0
  341. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.3/craftbook.json +324 -0
  342. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.3/test.json +86 -0
  343. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.3/craftbook.json +281 -0
  344. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.3/test.json +110 -0
  345. package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.1/craftbook.json +242 -0
  346. package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.1/test.json +120 -0
  347. package/data/craftbook-templates/no/notification-router/versions/1.0.3/craftbook.json +293 -0
  348. package/data/craftbook-templates/no/notification-router/versions/1.0.3/test.json +162 -0
  349. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.3/craftbook.json +275 -0
  350. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.3/test.json +103 -0
  351. package/data/craftbook-templates/of/offer-compare/versions/1.0.3/craftbook.json +214 -0
  352. package/data/craftbook-templates/of/offer-compare/versions/1.0.3/test.json +110 -0
  353. package/data/craftbook-templates/of/office-hours/versions/1.1.1/craftbook.json +150 -0
  354. package/data/craftbook-templates/of/office-hours/versions/1.1.1/test.json +118 -0
  355. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.3/craftbook.json +219 -0
  356. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.3/test.json +110 -0
  357. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.3/craftbook.json +281 -0
  358. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.3/test.json +97 -0
  359. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.3/craftbook.json +219 -0
  360. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.3/test.json +110 -0
  361. package/data/craftbook-templates/on/one-pager/versions/1.0.3/craftbook.json +281 -0
  362. package/data/craftbook-templates/on/one-pager/versions/1.0.3/test.json +110 -0
  363. package/data/craftbook-templates/op/ops-runbook/versions/1.0.3/craftbook.json +197 -0
  364. package/data/craftbook-templates/op/ops-runbook/versions/1.0.3/test.json +104 -0
  365. package/data/craftbook-templates/pa/page-spread/versions/1.0.3/craftbook.json +216 -0
  366. package/data/craftbook-templates/pa/page-spread/versions/1.0.3/test.json +132 -0
  367. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.3/craftbook.json +283 -0
  368. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.3/test.json +92 -0
  369. package/data/craftbook-templates/pe/perf-audit/versions/1.1.1/craftbook.json +320 -0
  370. package/data/craftbook-templates/pe/perf-audit/versions/1.1.1/test.json +162 -0
  371. package/data/craftbook-templates/pe/perf-optimization/versions/2.0.1/craftbook.json +695 -0
  372. package/data/craftbook-templates/pe/perf-optimization/versions/2.0.1/test.json +235 -0
  373. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/craftbook.json +276 -0
  374. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/test.json +122 -0
  375. package/data/craftbook-templates/ph/photo-cull/versions/1.0.3/craftbook.json +277 -0
  376. package/data/craftbook-templates/ph/photo-cull/versions/1.0.3/test.json +103 -0
  377. package/data/craftbook-templates/ph/physics-toy/versions/1.0.3/craftbook.json +222 -0
  378. package/data/craftbook-templates/ph/physics-toy/versions/1.0.3/test.json +99 -0
  379. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.3/craftbook.json +279 -0
  380. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.3/test.json +97 -0
  381. package/data/craftbook-templates/pl/plan/versions/1.0.1/craftbook.json +222 -0
  382. package/data/craftbook-templates/pl/plan/versions/1.0.1/test.json +91 -0
  383. package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/craftbook.json +277 -0
  384. package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/test.json +111 -0
  385. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.3/craftbook.json +276 -0
  386. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.3/test.json +103 -0
  387. package/data/craftbook-templates/po/portfolio-site/versions/1.0.3/craftbook.json +289 -0
  388. package/data/craftbook-templates/po/portfolio-site/versions/1.0.3/test.json +97 -0
  389. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.9/craftbook.json +589 -0
  390. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.9/test.json +240 -0
  391. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.3/craftbook.json +273 -0
  392. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.3/test.json +110 -0
  393. package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/craftbook.json +296 -0
  394. package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/test.json +117 -0
  395. package/data/craftbook-templates/pr/practice-session/versions/1.0.3/craftbook.json +250 -0
  396. package/data/craftbook-templates/pr/practice-session/versions/1.0.3/test.json +114 -0
  397. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.3/craftbook.json +277 -0
  398. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.3/test.json +97 -0
  399. package/data/craftbook-templates/pr/press-release/versions/1.0.3/craftbook.json +275 -0
  400. package/data/craftbook-templates/pr/press-release/versions/1.0.3/test.json +356 -0
  401. package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/craftbook.json +220 -0
  402. package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/test.json +150 -0
  403. package/data/craftbook-templates/pr/pricing-page/versions/1.0.3/craftbook.json +348 -0
  404. package/data/craftbook-templates/pr/pricing-page/versions/1.0.3/test.json +97 -0
  405. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.3/craftbook.json +213 -0
  406. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.3/test.json +110 -0
  407. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.3/craftbook.json +281 -0
  408. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.3/test.json +110 -0
  409. package/data/craftbook-templates/pu/pull-request-review/versions/1.9.1/craftbook.json +432 -0
  410. package/data/craftbook-templates/pu/pull-request-review/versions/1.9.1/test.json +141 -0
  411. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.3/craftbook.json +233 -0
  412. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.3/test.json +123 -0
  413. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.3/craftbook.json +293 -0
  414. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.3/test.json +97 -0
  415. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.3/craftbook.json +277 -0
  416. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.3/test.json +116 -0
  417. package/data/craftbook-templates/re/reading-list/versions/1.0.3/craftbook.json +218 -0
  418. package/data/craftbook-templates/re/reading-list/versions/1.0.3/test.json +110 -0
  419. package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/craftbook.json +277 -0
  420. package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/test.json +149 -0
  421. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.3/craftbook.json +274 -0
  422. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.3/test.json +104 -0
  423. package/data/craftbook-templates/re/reception-report/versions/1.0.2/craftbook.json +295 -0
  424. package/data/craftbook-templates/re/reception-report/versions/1.0.2/test.json +168 -0
  425. package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/craftbook.json +277 -0
  426. package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/test.json +128 -0
  427. package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/craftbook.json +250 -0
  428. package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/test.json +110 -0
  429. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.3/craftbook.json +282 -0
  430. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.3/test.json +104 -0
  431. package/data/craftbook-templates/re/refactor-module/versions/2.0.1/craftbook.json +693 -0
  432. package/data/craftbook-templates/re/refactor-module/versions/2.0.1/test.json +241 -0
  433. package/data/craftbook-templates/re/regex-builder/versions/1.0.3/craftbook.json +283 -0
  434. package/data/craftbook-templates/re/regex-builder/versions/1.0.3/test.json +92 -0
  435. package/data/craftbook-templates/re/release-announcement/versions/1.0.3/craftbook.json +290 -0
  436. package/data/craftbook-templates/re/release-announcement/versions/1.0.3/test.json +202 -0
  437. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.3/craftbook.json +358 -0
  438. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.3/test.json +138 -0
  439. package/data/craftbook-templates/re/release-notes/versions/1.0.4/craftbook.json +336 -0
  440. package/data/craftbook-templates/re/release-notes/versions/1.0.4/test.json +111 -0
  441. package/data/craftbook-templates/re/release-readiness-review/versions/1.1.1/craftbook.json +317 -0
  442. package/data/craftbook-templates/re/release-readiness-review/versions/1.1.1/test.json +110 -0
  443. package/data/craftbook-templates/re/reliability-review/versions/1.0.3/craftbook.json +281 -0
  444. package/data/craftbook-templates/re/reliability-review/versions/1.0.3/test.json +115 -0
  445. package/data/craftbook-templates/re/report-pdf/versions/1.1.3/craftbook.json +317 -0
  446. package/data/craftbook-templates/re/report-pdf/versions/1.1.3/test.json +98 -0
  447. package/data/craftbook-templates/re/research-report/versions/1.0.3/craftbook.json +279 -0
  448. package/data/craftbook-templates/re/research-report/versions/1.0.3/test.json +113 -0
  449. package/data/craftbook-templates/re/research-to-document/versions/1.2.3/craftbook.json +388 -0
  450. package/data/craftbook-templates/re/research-to-document/versions/1.2.3/test.json +243 -0
  451. package/data/craftbook-templates/re/rest-api/versions/1.0.4/craftbook.json +282 -0
  452. package/data/craftbook-templates/re/rest-api/versions/1.0.4/test.json +387 -0
  453. package/data/craftbook-templates/re/resume-cv/versions/1.0.3/craftbook.json +281 -0
  454. package/data/craftbook-templates/re/resume-cv/versions/1.0.3/test.json +97 -0
  455. package/data/craftbook-templates/re/reviewer-loop/versions/1.0.1/craftbook.json +144 -0
  456. package/data/craftbook-templates/re/reviewer-loop/versions/1.0.1/test.json +135 -0
  457. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.3/craftbook.json +290 -0
  458. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.3/test.json +162 -0
  459. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.6/craftbook.json +595 -0
  460. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.6/test.json +157 -0
  461. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/craftbook.json +302 -0
  462. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/test.json +137 -0
  463. package/data/craftbook-templates/ru/runbook/versions/1.0.3/craftbook.json +282 -0
  464. package/data/craftbook-templates/ru/runbook/versions/1.0.3/test.json +118 -0
  465. package/data/craftbook-templates/sc/schema-migration/versions/2.0.1/craftbook.json +619 -0
  466. package/data/craftbook-templates/sc/schema-migration/versions/2.0.1/test.json +225 -0
  467. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.4/craftbook.json +274 -0
  468. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.4/test.json +162 -0
  469. package/data/craftbook-templates/sc/script-automation/versions/1.0.3/craftbook.json +281 -0
  470. package/data/craftbook-templates/sc/script-automation/versions/1.0.3/test.json +162 -0
  471. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.4/craftbook.json +282 -0
  472. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.4/test.json +90 -0
  473. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.3/craftbook.json +277 -0
  474. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.3/test.json +110 -0
  475. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.5/craftbook.json +608 -0
  476. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.5/test.json +157 -0
  477. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.3/craftbook.json +213 -0
  478. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.3/test.json +97 -0
  479. package/data/craftbook-templates/sh/ship/versions/1.1.1/craftbook.json +301 -0
  480. package/data/craftbook-templates/sh/ship/versions/1.1.1/test.json +225 -0
  481. package/data/craftbook-templates/so/social-digest/versions/1.0.2/craftbook.json +233 -0
  482. package/data/craftbook-templates/so/social-digest/versions/1.0.2/test.json +168 -0
  483. package/data/craftbook-templates/so/social-thread/versions/1.0.3/craftbook.json +216 -0
  484. package/data/craftbook-templates/so/social-thread/versions/1.0.3/test.json +110 -0
  485. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/craftbook.json +277 -0
  486. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/test.json +158 -0
  487. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.3/craftbook.json +280 -0
  488. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.3/test.json +97 -0
  489. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.5/craftbook.json +610 -0
  490. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.5/test.json +162 -0
  491. package/data/craftbook-templates/sp/spec-doc/versions/1.0.3/craftbook.json +280 -0
  492. package/data/craftbook-templates/sp/spec-doc/versions/1.0.3/test.json +104 -0
  493. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.3/craftbook.json +221 -0
  494. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.3/test.json +160 -0
  495. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.3/craftbook.json +271 -0
  496. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.3/test.json +103 -0
  497. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/craftbook.json +218 -0
  498. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/test.json +104 -0
  499. package/data/craftbook-templates/st/standup-summary/versions/1.0.3/craftbook.json +219 -0
  500. package/data/craftbook-templates/st/standup-summary/versions/1.0.3/test.json +110 -0
  501. package/data/craftbook-templates/st/state-machine/versions/1.0.3/craftbook.json +283 -0
  502. package/data/craftbook-templates/st/state-machine/versions/1.0.3/test.json +92 -0
  503. package/data/craftbook-templates/st/status-report/versions/1.0.3/craftbook.json +283 -0
  504. package/data/craftbook-templates/st/status-report/versions/1.0.3/test.json +110 -0
  505. package/data/craftbook-templates/su/subscription-audit/versions/1.0.3/craftbook.json +277 -0
  506. package/data/craftbook-templates/su/subscription-audit/versions/1.0.3/test.json +104 -0
  507. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.3/craftbook.json +264 -0
  508. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.3/test.json +103 -0
  509. package/data/craftbook-templates/su/summarize-long/versions/1.0.3/craftbook.json +216 -0
  510. package/data/craftbook-templates/su/summarize-long/versions/1.0.3/test.json +110 -0
  511. package/data/craftbook-templates/su/survey-analysis/versions/1.0.3/craftbook.json +277 -0
  512. package/data/craftbook-templates/su/survey-analysis/versions/1.0.3/test.json +104 -0
  513. package/data/craftbook-templates/sv/svg-animation/versions/1.0.3/craftbook.json +219 -0
  514. package/data/craftbook-templates/sv/svg-animation/versions/1.0.3/test.json +97 -0
  515. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.3/craftbook.json +226 -0
  516. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.3/test.json +97 -0
  517. package/data/craftbook-templates/te/technical-documentation/versions/2.0.5/craftbook.json +582 -0
  518. package/data/craftbook-templates/te/technical-documentation/versions/2.0.5/test.json +174 -0
  519. package/data/craftbook-templates/te/test-coverage-review/versions/1.2.1/craftbook.json +320 -0
  520. package/data/craftbook-templates/te/test-coverage-review/versions/1.2.1/test.json +116 -0
  521. package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.1/craftbook.json +590 -0
  522. package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.1/test.json +195 -0
  523. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.3/craftbook.json +280 -0
  524. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.3/test.json +144 -0
  525. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/craftbook.json +280 -0
  526. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/test.json +142 -0
  527. package/data/craftbook-templates/th/threat-model/versions/1.0.3/craftbook.json +274 -0
  528. package/data/craftbook-templates/th/threat-model/versions/1.0.3/test.json +110 -0
  529. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.3/craftbook.json +214 -0
  530. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.3/test.json +103 -0
  531. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/craftbook.json +321 -0
  532. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/test.json +159 -0
  533. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.3/craftbook.json +216 -0
  534. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.3/test.json +110 -0
  535. package/data/craftbook-templates/to/topic-explainer/versions/1.0.3/craftbook.json +274 -0
  536. package/data/craftbook-templates/to/topic-explainer/versions/1.0.3/test.json +110 -0
  537. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.3/craftbook.json +250 -0
  538. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.3/test.json +101 -0
  539. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.3/craftbook.json +218 -0
  540. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.3/test.json +103 -0
  541. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.3/craftbook.json +329 -0
  542. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.3/test.json +154 -0
  543. package/data/craftbook-templates/tr/translate-content/versions/1.1.2/craftbook.json +139 -0
  544. package/data/craftbook-templates/tr/translate-content/versions/1.1.2/test.json +141 -0
  545. package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.1/craftbook.json +589 -0
  546. package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.1/test.json +221 -0
  547. package/data/craftbook-templates/ux/ux-update/versions/1.0.1/craftbook.json +604 -0
  548. package/data/craftbook-templates/ux/ux-update/versions/1.0.1/test.json +206 -0
  549. package/data/craftbook-templates/ve/version-bump/versions/1.1.1/craftbook.json +322 -0
  550. package/data/craftbook-templates/ve/version-bump/versions/1.1.1/test.json +92 -0
  551. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.3/craftbook.json +221 -0
  552. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.3/test.json +103 -0
  553. package/data/craftbook-templates/vi/visit-prep/versions/1.0.3/craftbook.json +274 -0
  554. package/data/craftbook-templates/vi/visit-prep/versions/1.0.3/test.json +97 -0
  555. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.3/craftbook.json +216 -0
  556. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.3/test.json +103 -0
  557. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/craftbook.json +291 -0
  558. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/test.json +124 -0
  559. package/data/craftbook-templates/we/web-app-crud/versions/1.0.3/craftbook.json +281 -0
  560. package/data/craftbook-templates/we/web-app-crud/versions/1.0.3/test.json +97 -0
  561. package/data/craftbook-templates/we/web-component/versions/1.0.3/craftbook.json +222 -0
  562. package/data/craftbook-templates/we/web-component/versions/1.0.3/test.json +97 -0
  563. package/data/craftbook-templates/we/webhook-handler/versions/1.0.3/craftbook.json +283 -0
  564. package/data/craftbook-templates/we/webhook-handler/versions/1.0.3/test.json +162 -0
  565. package/data/craftbook-templates/we/week-plan/versions/1.0.3/craftbook.json +276 -0
  566. package/data/craftbook-templates/we/week-plan/versions/1.0.3/test.json +258 -0
  567. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.3/craftbook.json +277 -0
  568. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.3/test.json +97 -0
  569. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.3/craftbook.json +214 -0
  570. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.3/test.json +104 -0
  571. package/data/craftbook-templates/we/weekly-review/versions/1.0.3/craftbook.json +219 -0
  572. package/data/craftbook-templates/we/weekly-review/versions/1.0.3/test.json +110 -0
  573. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/craftbook.json +277 -0
  574. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/test.json +138 -0
  575. package/data/craftbook-templates/wh/whitepaper/versions/1.0.3/craftbook.json +277 -0
  576. package/data/craftbook-templates/wh/whitepaper/versions/1.0.3/test.json +113 -0
  577. package/data/craftbook-templates/ye/year-in-review/versions/1.0.3/craftbook.json +250 -0
  578. package/data/craftbook-templates/ye/year-in-review/versions/1.0.3/test.json +145 -0
  579. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.3/craftbook.json +271 -0
  580. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.3/test.json +103 -0
  581. package/package.json +1 -1
  582. package/schemas/craftbook-doc.schema.json +86 -0
  583. package/schemas/craftbook-template-version.schema.json +86 -0
  584. package/schemas/knowledge-catalog-identity.schema.json +122 -0
  585. package/schemas/knowledge-catalog-version.schema.json +169 -0
@@ -0,0 +1,212 @@
1
+ {
2
+ "id": "dataset-clean",
3
+ "name": "Clean a Dataset",
4
+ "description": "Profile, clean, and validate a messy CSV/TSV/JSON dataset into an analysis-ready table. Profiles the raw data FIRST (row/column counts, types, null rates, duplicates, outliers, encoding) so cleaning decisions are evidence-based, then applies deterministic transforms (dedup, type coercion, null handling, whitespace/case normalization, value standardization), then validates the cleaned output against the same profile so nothing was silently dropped or corrupted. Use this for data wrangling, tidying, deduplication, normalizing dirty spreadsheets, and prepping raw exports for charts or modeling.\n\nA gallery craftbook generated from an archetype spec. It runs\n`phase → (per-phase gate) → … → evaluate → (loop) → finish`. Each build\nphase that produces a checkable artifact is followed by a **runtime\ngate-checkpoint** — the runtime verifies the artifact and routes with no\nmodel turn, looping back to redo the phase on a miss. The final `evaluate`\nstep holds a static deliverable gate plus a reviewer QA pass. What it adds\nover the generic `build-loop`: a specialist role per phase, a\ndomain-correct ordering, and a concrete per-phase quality bar.\n\nDeliverables marked \"artifact\" land in the project's artifacts drawer (`write_artifact` / `read_artifact`), not the shipped workspace — review output is not product source.\n\nPhases:\n\n1. Profile the raw data (data-analyst) — measure the data's shape, types, and defects before touching it → gated on artifact `{{workPath}}/profile.md` (markdown-notes)\n2. Clean the data (developer) — apply the planned deterministic transforms and emit the cleaned file → gated on `data/clean.csv` (data-file)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "profile",
6
+ "triggers": [
7
+ "clean this dataset",
8
+ "tidy a csv",
9
+ "deduplicate data",
10
+ "fix dirty data",
11
+ "prep data for analysis"
12
+ ],
13
+ "paramSchema": {
14
+ "type": "object",
15
+ "properties": {
16
+ "workPath": {
17
+ "type": "string",
18
+ "title": "Working folder",
19
+ "description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
20
+ "default": "{{task.dir}}"
21
+ }
22
+ }
23
+ },
24
+ "steps": [
25
+ {
26
+ "id": "profile",
27
+ "name": "Profile the raw data",
28
+ "description": "measure the data's shape, types, and defects before touching it",
29
+ "prompt": "Load the raw dataset and PROFILE it before deciding any fix. Step 1: report row count, column count, and the delimiter/encoding. Step 2: for EACH column report inferred type, % null/blank, # distinct values, and 3 sample values. Step 3: count exact-duplicate rows and flag candidate key columns. Step 4: list concrete defects you observe — mixed types in a column, inconsistent casing ('USA' vs 'usa'), stray whitespace, mojibake/encoding issues, impossible values (negative ages, dates in the future), and outliers (values > 3 stdev). Step 5: turn each defect into a planned, deterministic fix and write an acceptance-criteria checklist (e.g. 'no exact-duplicate rows', 'date column parses as ISO-8601', 'no nulls in key columns', 'cleaned row count >= 95% of raw unless dupes explain the drop'). Call write_task_note with the profile table + defects + fixes + checklist, and also write the same content to {{workPath}}/profile.md. No cleaning code yet.\n\nThe deliverable `{{workPath}}/profile.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
30
+ "suggestedRole": "data-analyst",
31
+ "advanceWhen": {
32
+ "file": "{{workPath}}/profile.md",
33
+ "minBytes": 1,
34
+ "sniff": "nonempty",
35
+ "artifact": true
36
+ },
37
+ "gate": {
38
+ "at": "completion",
39
+ "checks": [
40
+ {
41
+ "kind": "minBytes",
42
+ "file": "{{workPath}}/profile.md",
43
+ "bytes": 120,
44
+ "artifact": true
45
+ },
46
+ {
47
+ "kind": "sniff",
48
+ "file": "{{workPath}}/profile.md",
49
+ "sniff": "nonempty",
50
+ "artifact": true
51
+ }
52
+ ],
53
+ "onReject": "profile",
54
+ "maxAttempts": 3
55
+ },
56
+ "next": "clean",
57
+ "toolPolicy": {
58
+ "disallowBuiltinToolsets": [
59
+ "ai-apps",
60
+ "archives",
61
+ "audio",
62
+ "browser-automation",
63
+ "code-execution",
64
+ "craftbooks",
65
+ "data-tables",
66
+ "entity-intel",
67
+ "git",
68
+ "image-intel",
69
+ "images",
70
+ "role-delegation",
71
+ "role-delegation-escalation",
72
+ "security-intel",
73
+ "team-management",
74
+ "videos",
75
+ "web",
76
+ "workspace-fs-write"
77
+ ],
78
+ "outputMedium": "artifact",
79
+ "additionalOutputMedia": [
80
+ "task-note"
81
+ ]
82
+ }
83
+ },
84
+ {
85
+ "id": "clean",
86
+ "name": "Clean the data",
87
+ "description": "apply the planned deterministic transforms and emit the cleaned file",
88
+ "prompt": "Apply EXACTLY the fixes the profile planned — no new undocumented transforms. Step 1: read the raw file with the correct encoding/delimiter. Step 2: in order, drop exact duplicates, coerce each column to its target type, normalize whitespace and casing, standardize known value variants to a canonical form, and handle nulls per the plan (impute, drop, or leave with a reason). Step 3: keep a running tally of rows-in vs rows-out and WHY any row was dropped. Step 4: write the cleaned dataset to data/clean.csv with a header row and consistent quoting. Step 5: call write_task_note with the path, the rows-in/rows-out delta, and which checklist items the output now satisfies. Do not lose columns the profile expected to keep.",
89
+ "suggestedRole": "developer",
90
+ "advanceWhen": {
91
+ "file": "data/clean.csv",
92
+ "minBytes": 1,
93
+ "sniff": "nonempty"
94
+ },
95
+ "gate": {
96
+ "at": "completion",
97
+ "checks": [
98
+ {
99
+ "kind": "minBytes",
100
+ "file": "data/clean.csv",
101
+ "bytes": 120
102
+ },
103
+ {
104
+ "kind": "sniff",
105
+ "file": "data/clean.csv",
106
+ "sniff": "data-table"
107
+ }
108
+ ],
109
+ "onReject": "clean",
110
+ "maxAttempts": 4
111
+ },
112
+ "next": "evaluate",
113
+ "toolPolicy": {
114
+ "disallowBuiltinToolsets": [
115
+ "ai-apps",
116
+ "archives",
117
+ "artifacts",
118
+ "audio",
119
+ "browser-automation",
120
+ "craftbooks",
121
+ "data-tables",
122
+ "entity-intel",
123
+ "git",
124
+ "image-intel",
125
+ "images",
126
+ "role-delegation",
127
+ "role-delegation-escalation",
128
+ "security-intel",
129
+ "team-management",
130
+ "videos",
131
+ "web"
132
+ ],
133
+ "outputMedium": "workspace",
134
+ "additionalOutputMedia": [
135
+ "task-note"
136
+ ]
137
+ }
138
+ },
139
+ {
140
+ "id": "evaluate",
141
+ "name": "Evaluate",
142
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
143
+ "prompt": "Validate that data/clean.csv is genuinely analysis-ready by re-profiling it. Step 1: confirm it parses as CSV, has a header row, and zero exact-duplicate rows. Step 2: confirm the key column(s) have no nulls and every column holds its declared type. Step 3: reconcile the row count — raw rows minus documented duplicates must equal the cleaned row count, and no column was dropped. Step 4: re-measure at least two of these numbers yourself rather than trusting the build note. Step 5: spot-check 5 rows against the raw source to confirm values were transformed, not corrupted. Write PASS/FAIL per acceptance criterion from the profile note; any FAIL loops back to clean.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"clean\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
144
+ "suggestedRole": "reviewer",
145
+ "consumes": [
146
+ {
147
+ "file": "data/clean.csv"
148
+ }
149
+ ],
150
+ "next": "clean",
151
+ "toolPolicy": {
152
+ "disallowBuiltinToolsets": [
153
+ "ai-apps",
154
+ "archives",
155
+ "artifacts",
156
+ "audio",
157
+ "browser-automation",
158
+ "code-execution",
159
+ "craftbooks",
160
+ "data-tables",
161
+ "entity-intel",
162
+ "git",
163
+ "image-intel",
164
+ "images",
165
+ "role-delegation",
166
+ "role-delegation-escalation",
167
+ "security-intel",
168
+ "team-management",
169
+ "videos",
170
+ "web",
171
+ "workspace-fs-write"
172
+ ],
173
+ "outputMedium": "task-note"
174
+ }
175
+ },
176
+ {
177
+ "id": "finish",
178
+ "name": "Finish",
179
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
180
+ "prompt": "Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.",
181
+ "suggestedRole": "developer",
182
+ "terminal": true,
183
+ "toolPolicy": {
184
+ "disallowBuiltinToolsets": [
185
+ "ai-apps",
186
+ "archives",
187
+ "artifacts",
188
+ "audio",
189
+ "browser-automation",
190
+ "code-execution",
191
+ "craftbooks",
192
+ "data-tables",
193
+ "entity-intel",
194
+ "git",
195
+ "image-intel",
196
+ "images",
197
+ "role-delegation",
198
+ "role-delegation-escalation",
199
+ "security-intel",
200
+ "team-management",
201
+ "videos",
202
+ "web",
203
+ "workspace-fs-write"
204
+ ],
205
+ "outputMedium": "task-note"
206
+ }
207
+ }
208
+ ],
209
+ "version": "1.2.4",
210
+ "releasedAt": "2026-09-01T20:00:00Z",
211
+ "minGezelVersion": "1.26233"
212
+ }
@@ -0,0 +1,95 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Messy CSV cleanup",
4
+ "objective": "Exercise the data-cleaning class with messy CSV fixtures, dedupe rules, date normalization, and deterministic JSON output.",
5
+ "tags": [
6
+ "html-page"
7
+ ],
8
+ "prompt": "Can you biuld us a little page for this? The content notes are in source/page-content.md. Save it as index.html — one file, nothing fancy needed on our end.",
9
+ "setup": {
10
+ "projectName": "Clean a Dataset Eval",
11
+ "files": [
12
+ {
13
+ "path": "source/brief.md",
14
+ "content": "# Clean a Dataset Eval Brief\n\nClient: Boreal Desk, a home-office accessories company.\nAudience: operations leads who need an artifact they can use this week.\n\nFixed source facts for grounding:\n- The returns desk pilot covered 18 SKUs.\n- Median first response improved from 18 hours to 6 hours.\n- Preventable refund leakage fell from 14.2% to 8.9%.\n- The top unresolved complaint is status silence after photo submission.\n- Required next actions are automated status emails, barcode-exception training, and a weekly Finance exception export.\n\nUse these facts when the task asks for prose, analysis, copy, UI content, or test data. Do not use live web services, real credentials, or current outside data.\n\nCraftbook under test: dataset-clean - Clean a Dataset.\n"
15
+ },
16
+ {
17
+ "path": "source/page-content.md",
18
+ "content": "# Boreal Desk Support Board\n\nBuild content around a support operations board. Required labels: Open issues, Status silence, Response time, Refund leakage, Next action. Required metric text: 18 hours to 6 hours and 14.2% to 8.9%.\n"
19
+ }
20
+ ],
21
+ "worker": {
22
+ "name": "Jules",
23
+ "role": "Developer"
24
+ }
25
+ },
26
+ "mocks": [],
27
+ "success": {
28
+ "summary": "The hand-authored data-wrangle grader validates parseability, schema, normalization, dedupe, row count, ordering, and golden records.",
29
+ "deliverables": [
30
+ {
31
+ "path": "index.html",
32
+ "kind": "html-page",
33
+ "minBytes": 3000,
34
+ "checks": [
35
+ {
36
+ "kind": "cssMinBytes",
37
+ "bytes": 650,
38
+ "file": "index.html"
39
+ },
40
+ {
41
+ "kind": "jsParses",
42
+ "file": "index.html"
43
+ },
44
+ {
45
+ "kind": "contains",
46
+ "file": "index.html",
47
+ "pattern": "Boreal|Support Board|returns",
48
+ "flags": "i"
49
+ },
50
+ {
51
+ "kind": "contains",
52
+ "file": "index.html",
53
+ "pattern": "18\\s*hours|6\\s*hours|14\\.2%|8\\.9%",
54
+ "flags": "i"
55
+ },
56
+ {
57
+ "kind": "contains",
58
+ "file": "index.html",
59
+ "pattern": "button|input|filter|tab|card|section|nav",
60
+ "flags": "i"
61
+ }
62
+ ]
63
+ }
64
+ ]
65
+ },
66
+ "rubric": {
67
+ "artifact": {
68
+ "path": "index.html",
69
+ "kind": "html"
70
+ },
71
+ "axes": [
72
+ {
73
+ "name": "structure",
74
+ "description": "Layout and hierarchy fit the content; sections are scannable and coherent."
75
+ },
76
+ {
77
+ "name": "grounding",
78
+ "description": "Seeded source content is used faithfully — no invented facts or dropped requirements."
79
+ },
80
+ {
81
+ "name": "interactivity",
82
+ "description": "Controls and states the page claims to offer actually work."
83
+ },
84
+ {
85
+ "name": "polish",
86
+ "description": "Styling is intentional and responsive rather than unstyled or broken."
87
+ }
88
+ ]
89
+ },
90
+ "qualityFocus": [
91
+ "precision ETL",
92
+ "fixture-backed grading",
93
+ "single-gap feedback"
94
+ ]
95
+ }
@@ -0,0 +1,283 @@
1
+ {
2
+ "id": "db-index-tuning",
3
+ "name": "Diagnose + Add Database Indexes",
4
+ "description": "Diagnose slow database queries and add the right indexes — driven by the query plan, not by hunches — then prove the speedup without harming writes. Analyzes FIRST with EXPLAIN/query plans to find the actual full scans and missing indexes, then adds the targeted indexes (right columns, right order, covering where it helps), then a reviewer confirms the plans now use the index and queries are faster. Covers EXPLAIN/query plans, full-table-scan detection, composite index column order, covering indexes, selectivity, and the write-amplification tradeoff.\n\nA gallery craftbook generated from an archetype spec. It runs\n`phase → (per-phase gate) → … → evaluate → (loop) → finish`. Each build\nphase that produces a checkable artifact is followed by a **runtime\ngate-checkpoint** — the runtime verifies the artifact and routes with no\nmodel turn, looping back to redo the phase on a miss. The final `evaluate`\nstep holds a static deliverable gate plus a reviewer QA pass. What it adds\nover the generic `build-loop`: a specialist role per phase, a\ndomain-correct ordering, and a concrete per-phase quality bar.\n\nDeliverables marked \"artifact\" land in the project's artifacts drawer (`write_artifact` / `read_artifact`), not the shipped workspace — review output is not product source.\n\nPhases:\n\n1. Analyze the queries (data-analyst) — use query plans to find scans and missing indexes → gated on artifact `{{workPath}}/analyze.md` (markdown-notes)\n2. Add the indexes (developer) — write the index migration to the analysis → gated on `migrations/add_indexes.sql` (code-module)\n3. Verify the plans (reviewer) — confirm plans use the index and queries are faster → gated on artifact `{{workPath}}/verify.md` (markdown-notes)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "analyze",
6
+ "triggers": [
7
+ "add database indexes",
8
+ "speed up slow queries",
9
+ "tune database performance",
10
+ "fix a slow query",
11
+ "explain plan and index"
12
+ ],
13
+ "paramSchema": {
14
+ "type": "object",
15
+ "properties": {
16
+ "workPath": {
17
+ "type": "string",
18
+ "title": "Working folder",
19
+ "description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
20
+ "default": "{{task.dir}}"
21
+ }
22
+ }
23
+ },
24
+ "steps": [
25
+ {
26
+ "id": "analyze",
27
+ "name": "Analyze the queries",
28
+ "description": "use query plans to find scans and missing indexes",
29
+ "prompt": "Diagnose with data, not hunches — index by the query plan. Step 1: Identify the slow queries and run EXPLAIN/EXPLAIN ANALYZE on each to capture the actual plan, noting full table scans, expensive sorts, and the rows examined vs returned. Step 2: For each problem query, determine the columns in WHERE/JOIN/ORDER BY that drive the scan and would benefit from an index, and the right COLUMN ORDER for a composite (most selective / equality before range). Step 3: Consider covering indexes where a query reads only a few columns. Step 4: Note the WRITE cost tradeoff so you do not over-index. Step 5: Write a numbered acceptance-criteria checklist of 5-9 items (e.g. 'each target query's plan no longer does a full table scan', 'the added index columns/order match the query predicates', 'no redundant/duplicate index is added', 'write-heavy tables are not over-indexed'). `write_task_note` the plans + proposed indexes + checklist and write the same to the produces path.\n\nThe deliverable `{{workPath}}/analyze.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
30
+ "suggestedRole": "data-analyst",
31
+ "advanceWhen": {
32
+ "file": "{{workPath}}/analyze.md",
33
+ "minBytes": 1,
34
+ "sniff": "nonempty",
35
+ "artifact": true
36
+ },
37
+ "gate": {
38
+ "at": "completion",
39
+ "checks": [
40
+ {
41
+ "kind": "minBytes",
42
+ "file": "{{workPath}}/analyze.md",
43
+ "bytes": 120,
44
+ "artifact": true
45
+ },
46
+ {
47
+ "kind": "sniff",
48
+ "file": "{{workPath}}/analyze.md",
49
+ "sniff": "nonempty",
50
+ "artifact": true
51
+ }
52
+ ],
53
+ "onReject": "analyze",
54
+ "maxAttempts": 3
55
+ },
56
+ "next": "change",
57
+ "toolPolicy": {
58
+ "disallowBuiltinToolsets": [
59
+ "ai-apps",
60
+ "archives",
61
+ "audio",
62
+ "browser-automation",
63
+ "code-execution",
64
+ "craftbooks",
65
+ "data-tables",
66
+ "entity-intel",
67
+ "git",
68
+ "image-intel",
69
+ "images",
70
+ "role-delegation",
71
+ "role-delegation-escalation",
72
+ "security-intel",
73
+ "team-management",
74
+ "videos",
75
+ "web",
76
+ "workspace-fs-write"
77
+ ],
78
+ "outputMedium": "artifact",
79
+ "additionalOutputMedia": [
80
+ "task-note"
81
+ ]
82
+ }
83
+ },
84
+ {
85
+ "id": "change",
86
+ "name": "Add the indexes",
87
+ "description": "write the index migration to the analysis",
88
+ "prompt": "Write the index changes to the analysis. Step 1: Author the CREATE INDEX statements (as a migration) with the columns and ORDER the analysis specified — composite order matters. Step 2: Add covering/included columns only where the analysis justified them; avoid duplicating an existing index's prefix. Step 3: Use concurrent/online index creation if the database supports it to avoid locking, and include the down/rollback (DROP INDEX). Step 4: Keep the change minimal — only the indexes the plans demanded, not a scattershot of indexes that bloat writes. Write the migration to the produces path. On a loop-back, adjust only the index the reviewer flagged. `write_task_note` the migration path and which criteria now pass.",
89
+ "suggestedRole": "developer",
90
+ "advanceWhen": {
91
+ "file": "migrations/add_indexes.sql",
92
+ "minBytes": 1,
93
+ "sniff": "nonempty"
94
+ },
95
+ "gate": {
96
+ "at": "completion",
97
+ "checks": [
98
+ {
99
+ "kind": "minBytes",
100
+ "file": "migrations/add_indexes.sql",
101
+ "bytes": 200
102
+ },
103
+ {
104
+ "kind": "sniff",
105
+ "file": "migrations/add_indexes.sql",
106
+ "sniff": "nonempty"
107
+ },
108
+ {
109
+ "kind": "esmImports",
110
+ "file": "migrations/add_indexes.sql"
111
+ },
112
+ {
113
+ "kind": "sourceParses",
114
+ "file": "migrations/add_indexes.sql"
115
+ }
116
+ ],
117
+ "onReject": "change",
118
+ "maxAttempts": 3
119
+ },
120
+ "next": "verify",
121
+ "toolPolicy": {
122
+ "disallowBuiltinToolsets": [
123
+ "ai-apps",
124
+ "archives",
125
+ "artifacts",
126
+ "audio",
127
+ "browser-automation",
128
+ "code-execution",
129
+ "craftbooks",
130
+ "data-tables",
131
+ "entity-intel",
132
+ "git",
133
+ "image-intel",
134
+ "images",
135
+ "role-delegation",
136
+ "role-delegation-escalation",
137
+ "security-intel",
138
+ "team-management",
139
+ "videos",
140
+ "web"
141
+ ],
142
+ "outputMedium": "workspace",
143
+ "additionalOutputMedia": [
144
+ "task-note"
145
+ ]
146
+ }
147
+ },
148
+ {
149
+ "id": "verify",
150
+ "name": "Verify the plans",
151
+ "description": "confirm plans use the index and queries are faster",
152
+ "prompt": "Verify the indexes actually help. Step 1: Re-run EXPLAIN on each target query and confirm the plan now USES the new index (index scan/seek) instead of a full table scan. Step 2: Confirm the query timing improved against the baseline. Step 3: Confirm the index column order matches the predicates and no redundant/duplicate index was created. Step 4: Sanity-check that write-heavy tables were not over-indexed (the tradeoff is acknowledged). Write a verification note with before/after plans and timings to the produces path.\n\nThe deliverable `{{workPath}}/verify.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
153
+ "suggestedRole": "reviewer",
154
+ "advanceWhen": {
155
+ "file": "{{workPath}}/verify.md",
156
+ "minBytes": 1,
157
+ "sniff": "nonempty",
158
+ "artifact": true
159
+ },
160
+ "gate": {
161
+ "at": "completion",
162
+ "checks": [
163
+ {
164
+ "kind": "minBytes",
165
+ "file": "migrations/add_indexes.sql",
166
+ "bytes": 200
167
+ },
168
+ {
169
+ "kind": "sniff",
170
+ "file": "migrations/add_indexes.sql",
171
+ "sniff": "nonempty"
172
+ },
173
+ {
174
+ "kind": "esmImports",
175
+ "file": "migrations/add_indexes.sql"
176
+ },
177
+ {
178
+ "kind": "sourceParses",
179
+ "file": "migrations/add_indexes.sql"
180
+ }
181
+ ],
182
+ "onReject": "verify",
183
+ "maxAttempts": 4
184
+ },
185
+ "next": "evaluate",
186
+ "toolPolicy": {
187
+ "disallowBuiltinToolsets": [
188
+ "ai-apps",
189
+ "archives",
190
+ "audio",
191
+ "browser-automation",
192
+ "code-execution",
193
+ "craftbooks",
194
+ "data-tables",
195
+ "entity-intel",
196
+ "git",
197
+ "image-intel",
198
+ "images",
199
+ "role-delegation",
200
+ "role-delegation-escalation",
201
+ "security-intel",
202
+ "team-management",
203
+ "videos",
204
+ "web",
205
+ "workspace-fs-write"
206
+ ],
207
+ "outputMedium": "artifact"
208
+ }
209
+ },
210
+ {
211
+ "id": "evaluate",
212
+ "name": "Evaluate",
213
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
214
+ "prompt": "Re-run EXPLAIN on the target queries. For EACH acceptance criterion: confirm each query's plan now uses the index (no full scan), confirm timings improved over baseline, confirm the index columns/order match the predicates, and confirm no redundant index and no over-indexing of write-heavy tables. Write PASS/FAIL per criterion; an index the plan does not use is a FAIL.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"change\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
215
+ "suggestedRole": "reviewer",
216
+ "consumes": [
217
+ {
218
+ "file": "migrations/add_indexes.sql"
219
+ }
220
+ ],
221
+ "next": "change",
222
+ "toolPolicy": {
223
+ "disallowBuiltinToolsets": [
224
+ "ai-apps",
225
+ "archives",
226
+ "artifacts",
227
+ "audio",
228
+ "browser-automation",
229
+ "code-execution",
230
+ "craftbooks",
231
+ "data-tables",
232
+ "entity-intel",
233
+ "git",
234
+ "image-intel",
235
+ "images",
236
+ "role-delegation",
237
+ "role-delegation-escalation",
238
+ "security-intel",
239
+ "team-management",
240
+ "videos",
241
+ "web",
242
+ "workspace-fs-write"
243
+ ],
244
+ "outputMedium": "task-note"
245
+ }
246
+ },
247
+ {
248
+ "id": "finish",
249
+ "name": "Finish",
250
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
251
+ "prompt": "Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.",
252
+ "suggestedRole": "developer",
253
+ "terminal": true,
254
+ "toolPolicy": {
255
+ "disallowBuiltinToolsets": [
256
+ "ai-apps",
257
+ "archives",
258
+ "artifacts",
259
+ "audio",
260
+ "browser-automation",
261
+ "code-execution",
262
+ "craftbooks",
263
+ "data-tables",
264
+ "entity-intel",
265
+ "git",
266
+ "image-intel",
267
+ "images",
268
+ "role-delegation",
269
+ "role-delegation-escalation",
270
+ "security-intel",
271
+ "team-management",
272
+ "videos",
273
+ "web",
274
+ "workspace-fs-write"
275
+ ],
276
+ "outputMedium": "task-note"
277
+ }
278
+ }
279
+ ],
280
+ "version": "1.0.3",
281
+ "releasedAt": "2026-09-01T20:00:00Z",
282
+ "minGezelVersion": "1.26233"
283
+ }