@bendyline/gilde 0.1.38 → 0.1.40

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 (857) hide show
  1. package/authoring/chat-models/muse-glimmer-30b-q4.json +3 -3
  2. package/authoring/chat-models/ornith-9b-q4.json +1 -1
  3. package/authoring/chat-models/ornith1.5-9b-q4.json +149 -0
  4. package/authoring/chat-models/qwen3.8-27b-iq1-s.json +190 -0
  5. package/authoring/chat-models/qwen3.8-27b-q2.json +189 -0
  6. package/data/chat-models/index.json +1 -1
  7. package/data/chat-models/mu/muse-glimmer-30b-q4/manifest.json +4 -3
  8. package/data/chat-models/mu/muse-glimmer-30b-q4/versions/1.0.2/manifest.json +20 -0
  9. package/data/chat-models/or/ornith-9b-q4/manifest.json +1 -1
  10. package/data/chat-models/or/ornith1.5-9b-q4/manifest.json +187 -0
  11. package/data/chat-models/or/ornith1.5-9b-q4/versions/1.0.0/manifest.json +53 -0
  12. package/data/chat-models/qw/qwen3.8-27b-iq1-s/manifest.json +195 -0
  13. package/data/chat-models/qw/qwen3.8-27b-iq1-s/versions/1.0.0/manifest.json +19 -0
  14. package/data/chat-models/qw/qwen3.8-27b-q2/manifest.json +194 -0
  15. package/data/chat-models/qw/qwen3.8-27b-q2/versions/1.0.0/manifest.json +19 -0
  16. package/data/craftbook-templates/a1/a11y-audit/manifest.json +1 -0
  17. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/craftbook.json +153 -0
  18. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/test.json +118 -0
  19. package/data/craftbook-templates/ab/ab-test-readout/manifest.json +1 -0
  20. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/craftbook.json +153 -0
  21. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/test.json +189 -0
  22. package/data/craftbook-templates/ac/accessibility-retrofit/manifest.json +1 -0
  23. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/craftbook.json +122 -0
  24. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/test.json +100 -0
  25. package/data/craftbook-templates/ad/ad-variations/manifest.json +1 -0
  26. package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/craftbook.json +117 -0
  27. package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/test.json +111 -0
  28. package/data/craftbook-templates/al/album-curate/manifest.json +1 -0
  29. package/data/craftbook-templates/al/album-curate/versions/1.0.2/craftbook.json +127 -0
  30. package/data/craftbook-templates/al/album-curate/versions/1.0.2/test.json +150 -0
  31. package/data/craftbook-templates/al/alert-rules/manifest.json +1 -0
  32. package/data/craftbook-templates/al/alert-rules/versions/1.0.2/craftbook.json +113 -0
  33. package/data/craftbook-templates/al/alert-rules/versions/1.0.2/test.json +148 -0
  34. package/data/craftbook-templates/al/alt-text-pass/manifest.json +1 -0
  35. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/craftbook.json +154 -0
  36. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/test.json +100 -0
  37. package/data/craftbook-templates/an/anniversary-cut/manifest.json +1 -0
  38. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/craftbook.json +238 -0
  39. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/test.json +160 -0
  40. package/data/craftbook-templates/an/annotated-bibliography/manifest.json +1 -0
  41. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/craftbook.json +158 -0
  42. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/test.json +105 -0
  43. package/data/craftbook-templates/an/annual-document-review/manifest.json +1 -0
  44. package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/craftbook.json +152 -0
  45. package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/test.json +113 -0
  46. package/data/craftbook-templates/an/anomaly-scan/manifest.json +1 -0
  47. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/craftbook.json +153 -0
  48. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/test.json +123 -0
  49. package/data/craftbook-templates/ap/api-contract-review/manifest.json +1 -0
  50. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/craftbook.json +153 -0
  51. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/test.json +118 -0
  52. package/data/craftbook-templates/ar/artifact-integrity-review/manifest.json +1 -0
  53. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/craftbook.json +170 -0
  54. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/test.json +139 -0
  55. package/data/craftbook-templates/au/audio-ad-spot/manifest.json +1 -0
  56. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/craftbook.json +141 -0
  57. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/test.json +106 -0
  58. package/data/craftbook-templates/au/audio-highlight-reel/manifest.json +1 -0
  59. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/craftbook.json +135 -0
  60. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/test.json +106 -0
  61. package/data/craftbook-templates/au/audiobook-master-pack/manifest.json +1 -0
  62. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/craftbook.json +222 -0
  63. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/test.json +224 -0
  64. package/data/craftbook-templates/au/auth-flow/manifest.json +1 -0
  65. package/data/craftbook-templates/au/auth-flow/versions/1.0.2/craftbook.json +160 -0
  66. package/data/craftbook-templates/au/auth-flow/versions/1.0.2/test.json +143 -0
  67. package/data/craftbook-templates/au/automation-recipe/manifest.json +1 -0
  68. package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/craftbook.json +176 -0
  69. package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/test.json +299 -0
  70. package/data/craftbook-templates/ba/backup-routine/manifest.json +1 -0
  71. package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/craftbook.json +160 -0
  72. package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/test.json +111 -0
  73. package/data/craftbook-templates/bl/blog-post/manifest.json +1 -0
  74. package/data/craftbook-templates/bl/blog-post/versions/1.0.2/craftbook.json +155 -0
  75. package/data/craftbook-templates/bl/blog-post/versions/1.0.2/test.json +121 -0
  76. package/data/craftbook-templates/bo/board-deck/manifest.json +1 -0
  77. package/data/craftbook-templates/bo/board-deck/versions/1.0.2/craftbook.json +153 -0
  78. package/data/craftbook-templates/bo/board-deck/versions/1.0.2/test.json +103 -0
  79. package/data/craftbook-templates/bo/board-game-web/manifest.json +1 -0
  80. package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/craftbook.json +162 -0
  81. package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/test.json +102 -0
  82. package/data/craftbook-templates/bo/booking-automation/manifest.json +1 -0
  83. package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/craftbook.json +170 -0
  84. package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/test.json +165 -0
  85. package/data/craftbook-templates/br/branding-website/manifest.json +1 -0
  86. package/data/craftbook-templates/br/broadcast-announcement/manifest.json +1 -0
  87. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/craftbook.json +119 -0
  88. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/test.json +106 -0
  89. package/data/craftbook-templates/br/browser-qa-audit/manifest.json +1 -0
  90. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/craftbook.json +429 -0
  91. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/test.json +379 -0
  92. package/data/craftbook-templates/bu/bug-fix-tdd/manifest.json +1 -0
  93. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/craftbook.json +176 -0
  94. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/test.json +95 -0
  95. package/data/craftbook-templates/bu/build-loop/manifest.json +1 -0
  96. package/data/craftbook-templates/ca/calendar-brief/manifest.json +1 -0
  97. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/craftbook.json +119 -0
  98. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/test.json +105 -0
  99. package/data/craftbook-templates/ca/canvas-generative-art/manifest.json +1 -0
  100. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/craftbook.json +122 -0
  101. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/test.json +109 -0
  102. package/data/craftbook-templates/ca/careful-mode/manifest.json +1 -0
  103. package/data/craftbook-templates/ca/case-study/manifest.json +1 -0
  104. package/data/craftbook-templates/ca/case-study/versions/1.0.2/craftbook.json +155 -0
  105. package/data/craftbook-templates/ca/case-study/versions/1.0.2/test.json +115 -0
  106. package/data/craftbook-templates/ca/case-study-writeup/manifest.json +1 -0
  107. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/craftbook.json +163 -0
  108. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/test.json +108 -0
  109. package/data/craftbook-templates/ch/changelog-cut/manifest.json +1 -0
  110. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/craftbook.json +125 -0
  111. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/test.json +109 -0
  112. package/data/craftbook-templates/ch/changelog-writeup/manifest.json +1 -0
  113. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/craftbook.json +119 -0
  114. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/test.json +132 -0
  115. package/data/craftbook-templates/ch/chapter-narration-run/manifest.json +1 -0
  116. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/craftbook.json +135 -0
  117. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/test.json +158 -0
  118. package/data/craftbook-templates/ch/chapter-weave/manifest.json +1 -0
  119. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/craftbook.json +86 -0
  120. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/test.json +101 -0
  121. package/data/craftbook-templates/ch/character-sheet/manifest.json +1 -0
  122. package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/craftbook.json +94 -0
  123. package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/test.json +146 -0
  124. package/data/craftbook-templates/ch/character-turnaround/manifest.json +1 -0
  125. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/craftbook.json +133 -0
  126. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/test.json +181 -0
  127. package/data/craftbook-templates/ch/chart-pack/manifest.json +1 -0
  128. package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/craftbook.json +160 -0
  129. package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/test.json +107 -0
  130. package/data/craftbook-templates/ch/chrome-extension/manifest.json +1 -0
  131. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/craftbook.json +160 -0
  132. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/test.json +100 -0
  133. package/data/craftbook-templates/ci/ci-pipeline/manifest.json +1 -0
  134. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/craftbook.json +144 -0
  135. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/test.json +165 -0
  136. package/data/craftbook-templates/ci/citation-audit/manifest.json +1 -0
  137. package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/craftbook.json +158 -0
  138. package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/test.json +152 -0
  139. package/data/craftbook-templates/cl/cli-tool/manifest.json +1 -0
  140. package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/craftbook.json +159 -0
  141. package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/test.json +131 -0
  142. package/data/craftbook-templates/co/code-review/manifest.json +1 -0
  143. package/data/craftbook-templates/co/codebase-refactoring-review/manifest.json +1 -0
  144. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/craftbook.json +165 -0
  145. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/test.json +119 -0
  146. package/data/craftbook-templates/co/codebase-ux-review/manifest.json +1 -0
  147. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/craftbook.json +165 -0
  148. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/test.json +122 -0
  149. package/data/craftbook-templates/co/cohort-analysis/manifest.json +1 -0
  150. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/craftbook.json +153 -0
  151. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/test.json +229 -0
  152. package/data/craftbook-templates/co/company-research-brief/manifest.json +1 -0
  153. package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/craftbook.json +151 -0
  154. package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/test.json +100 -0
  155. package/data/craftbook-templates/co/comparison-matrix/manifest.json +1 -0
  156. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/craftbook.json +165 -0
  157. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/test.json +112 -0
  158. package/data/craftbook-templates/co/compat-check/manifest.json +1 -0
  159. package/data/craftbook-templates/co/compat-check/versions/1.0.2/craftbook.json +158 -0
  160. package/data/craftbook-templates/co/compat-check/versions/1.0.2/test.json +148 -0
  161. package/data/craftbook-templates/co/competitive-analysis/manifest.json +1 -0
  162. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/craftbook.json +152 -0
  163. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/test.json +119 -0
  164. package/data/craftbook-templates/co/comprehensive-codebase-review/art.json +12 -0
  165. package/data/craftbook-templates/co/comprehensive-codebase-review/logo.webp +0 -0
  166. package/data/craftbook-templates/co/comprehensive-codebase-review/manifest.json +27 -0
  167. package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.0/craftbook.json +337 -0
  168. package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.0/test.json +160 -0
  169. package/data/craftbook-templates/co/config-scaffold/manifest.json +1 -0
  170. package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/craftbook.json +117 -0
  171. package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/test.json +123 -0
  172. package/data/craftbook-templates/co/content-accuracy-review/manifest.json +1 -0
  173. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/craftbook.json +153 -0
  174. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/test.json +152 -0
  175. package/data/craftbook-templates/co/content-deck/manifest.json +1 -0
  176. package/data/craftbook-templates/co/contract-template/manifest.json +1 -0
  177. package/data/craftbook-templates/co/contract-template/versions/1.0.2/craftbook.json +157 -0
  178. package/data/craftbook-templates/co/contract-template/versions/1.0.2/test.json +105 -0
  179. package/data/craftbook-templates/co/cookbook-layout/manifest.json +1 -0
  180. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/craftbook.json +133 -0
  181. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/test.json +162 -0
  182. package/data/craftbook-templates/co/copy-review/manifest.json +1 -0
  183. package/data/craftbook-templates/co/copy-review/versions/1.0.2/craftbook.json +153 -0
  184. package/data/craftbook-templates/co/copy-review/versions/1.0.2/test.json +105 -0
  185. package/data/craftbook-templates/co/corpus-email-digest/manifest.json +1 -0
  186. package/data/craftbook-templates/co/corpus-synthesis/manifest.json +1 -0
  187. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/craftbook.json +158 -0
  188. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/test.json +159 -0
  189. package/data/craftbook-templates/co/cover-letter/manifest.json +1 -0
  190. package/data/craftbook-templates/co/cover-letter/versions/1.0.2/craftbook.json +119 -0
  191. package/data/craftbook-templates/co/cover-letter/versions/1.0.2/test.json +103 -0
  192. package/data/craftbook-templates/cr/crm-update-batch/manifest.json +1 -0
  193. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/craftbook.json +113 -0
  194. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/test.json +210 -0
  195. package/data/craftbook-templates/cr/cron-job/manifest.json +1 -0
  196. package/data/craftbook-templates/cr/cron-job/versions/1.0.2/craftbook.json +159 -0
  197. package/data/craftbook-templates/cr/cron-job/versions/1.0.2/test.json +107 -0
  198. package/data/craftbook-templates/cr/crossword-forge/manifest.json +1 -0
  199. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/craftbook.json +176 -0
  200. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/test.json +138 -0
  201. package/data/craftbook-templates/cs/csv-transformer/manifest.json +1 -0
  202. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/craftbook.json +113 -0
  203. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/test.json +105 -0
  204. package/data/craftbook-templates/da/dashboard-spec/manifest.json +1 -0
  205. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/craftbook.json +119 -0
  206. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/test.json +117 -0
  207. package/data/craftbook-templates/da/data-dictionary/manifest.json +1 -0
  208. package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/craftbook.json +119 -0
  209. package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/test.json +104 -0
  210. package/data/craftbook-templates/da/data-export-migrate/manifest.json +1 -0
  211. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/craftbook.json +160 -0
  212. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/test.json +107 -0
  213. package/data/craftbook-templates/da/data-join-merge/manifest.json +1 -0
  214. package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/craftbook.json +113 -0
  215. package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/test.json +107 -0
  216. package/data/craftbook-templates/da/data-pipeline-etl/manifest.json +1 -0
  217. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/craftbook.json +160 -0
  218. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/test.json +165 -0
  219. package/data/craftbook-templates/da/data-quality-audit/manifest.json +1 -0
  220. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/craftbook.json +153 -0
  221. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/test.json +329 -0
  222. package/data/craftbook-templates/da/data-to-report/manifest.json +1 -0
  223. package/data/craftbook-templates/da/data-to-report/versions/1.0.2/craftbook.json +152 -0
  224. package/data/craftbook-templates/da/data-to-report/versions/1.0.2/test.json +98 -0
  225. package/data/craftbook-templates/da/data-viz-page/manifest.json +1 -0
  226. package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/craftbook.json +155 -0
  227. package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/test.json +120 -0
  228. package/data/craftbook-templates/da/dataset-clean/manifest.json +1 -0
  229. package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/craftbook.json +113 -0
  230. package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/test.json +98 -0
  231. package/data/craftbook-templates/db/db-index-tuning/manifest.json +1 -0
  232. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/craftbook.json +160 -0
  233. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/test.json +107 -0
  234. package/data/craftbook-templates/de/deep-security-review/manifest.json +1 -0
  235. package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/craftbook.json +223 -0
  236. package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/test.json +160 -0
  237. package/data/craftbook-templates/de/dependency-audit/manifest.json +1 -0
  238. package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/craftbook.json +153 -0
  239. package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/test.json +111 -0
  240. package/data/craftbook-templates/de/deploy-checklist/manifest.json +1 -0
  241. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/craftbook.json +171 -0
  242. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/test.json +168 -0
  243. package/data/craftbook-templates/de/design-review/manifest.json +1 -0
  244. package/data/craftbook-templates/de/design-review/versions/1.0.2/craftbook.json +153 -0
  245. package/data/craftbook-templates/de/design-review/versions/1.0.2/test.json +121 -0
  246. package/data/craftbook-templates/de/design-system-consultation/manifest.json +1 -0
  247. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/craftbook.json +443 -0
  248. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/test.json +204 -0
  249. package/data/craftbook-templates/di/diagram-from-text/manifest.json +1 -0
  250. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/craftbook.json +121 -0
  251. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/test.json +100 -0
  252. package/data/craftbook-templates/di/digest-from-feeds/manifest.json +1 -0
  253. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/craftbook.json +158 -0
  254. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/test.json +165 -0
  255. package/data/craftbook-templates/do/doc-intake-pipeline/manifest.json +1 -0
  256. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/craftbook.json +160 -0
  257. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/test.json +107 -0
  258. package/data/craftbook-templates/do/doc-rewrite/manifest.json +1 -0
  259. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/craftbook.json +119 -0
  260. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/test.json +113 -0
  261. package/data/craftbook-templates/do/dockerize-app/manifest.json +1 -0
  262. package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/craftbook.json +160 -0
  263. package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/test.json +95 -0
  264. package/data/craftbook-templates/do/docs-site/manifest.json +1 -0
  265. package/data/craftbook-templates/do/docs-site/versions/1.0.2/craftbook.json +155 -0
  266. package/data/craftbook-templates/do/docs-site/versions/1.0.2/test.json +100 -0
  267. package/data/craftbook-templates/do/documentation-drift-review/manifest.json +1 -0
  268. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/craftbook.json +165 -0
  269. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/test.json +135 -0
  270. package/data/craftbook-templates/dr/draft-social-post/manifest.json +1 -0
  271. package/data/craftbook-templates/dr/drive-wrap-up/manifest.json +1 -0
  272. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/craftbook.json +152 -0
  273. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/test.json +107 -0
  274. package/data/craftbook-templates/du/due-diligence-brief/manifest.json +1 -0
  275. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/craftbook.json +158 -0
  276. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/test.json +113 -0
  277. package/data/craftbook-templates/eb/ebook-compile/manifest.json +1 -0
  278. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/craftbook.json +155 -0
  279. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/test.json +100 -0
  280. package/data/craftbook-templates/ed/edit-notes/manifest.json +1 -0
  281. package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/craftbook.json +188 -0
  282. package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/test.json +149 -0
  283. package/data/craftbook-templates/em/email-sequence/manifest.json +1 -0
  284. package/data/craftbook-templates/em/email-sequence/versions/1.0.2/craftbook.json +154 -0
  285. package/data/craftbook-templates/em/email-sequence/versions/1.0.2/test.json +100 -0
  286. package/data/craftbook-templates/em/email-template/manifest.json +1 -0
  287. package/data/craftbook-templates/em/email-template/versions/1.0.2/craftbook.json +155 -0
  288. package/data/craftbook-templates/em/email-template/versions/1.0.2/test.json +100 -0
  289. package/data/craftbook-templates/en/engineering-retrospective/manifest.json +1 -0
  290. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/craftbook.json +415 -0
  291. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/test.json +194 -0
  292. package/data/craftbook-templates/ep/episode-plan/manifest.json +1 -0
  293. package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/craftbook.json +152 -0
  294. package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/test.json +100 -0
  295. package/data/craftbook-templates/es/escalation-playbook/manifest.json +1 -0
  296. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/craftbook.json +119 -0
  297. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/test.json +113 -0
  298. package/data/craftbook-templates/ev/evidence-brief/manifest.json +1 -0
  299. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/craftbook.json +158 -0
  300. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/test.json +113 -0
  301. package/data/craftbook-templates/ex/executive-level-review/manifest.json +1 -0
  302. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/craftbook.json +445 -0
  303. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/test.json +139 -0
  304. package/data/craftbook-templates/ex/expense-categorize/manifest.json +1 -0
  305. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/craftbook.json +152 -0
  306. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/test.json +107 -0
  307. package/data/craftbook-templates/fa/fact-check/manifest.json +1 -0
  308. package/data/craftbook-templates/fa/fact-check/versions/1.0.2/craftbook.json +158 -0
  309. package/data/craftbook-templates/fa/fact-check/versions/1.0.2/test.json +113 -0
  310. package/data/craftbook-templates/fa/family-story-chapter/manifest.json +1 -0
  311. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/craftbook.json +86 -0
  312. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/test.json +111 -0
  313. package/data/craftbook-templates/fa/faq-from-docs/manifest.json +1 -0
  314. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/craftbook.json +119 -0
  315. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/test.json +113 -0
  316. package/data/craftbook-templates/fa/favicon-set/manifest.json +1 -0
  317. package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/craftbook.json +158 -0
  318. package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/test.json +106 -0
  319. package/data/craftbook-templates/fe/feature-flag-release/manifest.json +1 -0
  320. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/craftbook.json +171 -0
  321. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/test.json +165 -0
  322. package/data/craftbook-templates/fe/feature-flag-rollout/manifest.json +1 -0
  323. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/craftbook.json +160 -0
  324. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/test.json +165 -0
  325. package/data/craftbook-templates/fe/feedback-widget/manifest.json +1 -0
  326. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/craftbook.json +155 -0
  327. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/test.json +100 -0
  328. package/data/craftbook-templates/fo/folder-to-audio/manifest.json +1 -0
  329. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/craftbook.json +115 -0
  330. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/test.json +106 -0
  331. package/data/craftbook-templates/fo/forecast-model/manifest.json +1 -0
  332. package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/craftbook.json +117 -0
  333. package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/test.json +107 -0
  334. package/data/craftbook-templates/fo/form-fill-batch/manifest.json +1 -0
  335. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/craftbook.json +160 -0
  336. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/test.json +165 -0
  337. package/data/craftbook-templates/fo/form-wizard/manifest.json +1 -0
  338. package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/craftbook.json +122 -0
  339. package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/test.json +113 -0
  340. package/data/craftbook-templates/fr/freeze-scope/manifest.json +1 -0
  341. package/data/craftbook-templates/ga/game-with-screens/manifest.json +1 -0
  342. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/craftbook.json +180 -0
  343. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/test.json +102 -0
  344. package/data/craftbook-templates/gl/glossary-build/manifest.json +1 -0
  345. package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/craftbook.json +152 -0
  346. package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/test.json +113 -0
  347. package/data/craftbook-templates/gr/graphql-api/manifest.json +1 -0
  348. package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/craftbook.json +158 -0
  349. package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/test.json +95 -0
  350. package/data/craftbook-templates/gr/grpc-service/manifest.json +1 -0
  351. package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/craftbook.json +159 -0
  352. package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/test.json +95 -0
  353. package/data/craftbook-templates/ha/handbook-section/manifest.json +1 -0
  354. package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/craftbook.json +157 -0
  355. package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/test.json +113 -0
  356. package/data/craftbook-templates/he/hero-image/manifest.json +1 -0
  357. package/data/craftbook-templates/he/hero-image/versions/1.0.2/craftbook.json +166 -0
  358. package/data/craftbook-templates/he/hero-image/versions/1.0.2/test.json +106 -0
  359. package/data/craftbook-templates/ho/holiday-card-run/manifest.json +1 -0
  360. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/craftbook.json +214 -0
  361. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/test.json +131 -0
  362. package/data/craftbook-templates/ho/hotfix-flow/manifest.json +1 -0
  363. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/craftbook.json +194 -0
  364. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/test.json +95 -0
  365. package/data/craftbook-templates/ht/html-arcade-game/manifest.json +1 -0
  366. package/data/craftbook-templates/ht/html-puzzle-game/manifest.json +1 -0
  367. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/craftbook.json +162 -0
  368. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/test.json +102 -0
  369. package/data/craftbook-templates/ic/icon-pack/manifest.json +1 -0
  370. package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/craftbook.json +158 -0
  371. package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/test.json +106 -0
  372. package/data/craftbook-templates/id/idea-office-hours/manifest.json +1 -0
  373. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/craftbook.json +409 -0
  374. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/test.json +144 -0
  375. package/data/craftbook-templates/id/idle-clicker-game/manifest.json +1 -0
  376. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/craftbook.json +162 -0
  377. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/test.json +102 -0
  378. package/data/craftbook-templates/im/image-batch-edit/manifest.json +1 -0
  379. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/craftbook.json +153 -0
  380. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/test.json +106 -0
  381. package/data/craftbook-templates/im/image-dedup-cluster/manifest.json +1 -0
  382. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/craftbook.json +152 -0
  383. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/test.json +106 -0
  384. package/data/craftbook-templates/im/image-palette-extract/manifest.json +1 -0
  385. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/craftbook.json +121 -0
  386. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/test.json +100 -0
  387. package/data/craftbook-templates/im/image-seo-rename/manifest.json +1 -0
  388. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/craftbook.json +117 -0
  389. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/test.json +106 -0
  390. package/data/craftbook-templates/im/image-set-index/manifest.json +1 -0
  391. package/data/craftbook-templates/in/inbox-triage/manifest.json +1 -0
  392. package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/craftbook.json +152 -0
  393. package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/test.json +107 -0
  394. package/data/craftbook-templates/in/incident-comms-templates/manifest.json +1 -0
  395. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/craftbook.json +119 -0
  396. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/test.json +113 -0
  397. package/data/craftbook-templates/in/incident-postmortem/manifest.json +1 -0
  398. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/craftbook.json +170 -0
  399. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/test.json +112 -0
  400. package/data/craftbook-templates/in/insurance-inventory/manifest.json +1 -0
  401. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/craftbook.json +165 -0
  402. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/test.json +124 -0
  403. package/data/craftbook-templates/in/interactive-quiz/manifest.json +1 -0
  404. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/craftbook.json +155 -0
  405. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/test.json +102 -0
  406. package/data/craftbook-templates/in/investigate/manifest.json +1 -0
  407. package/data/craftbook-templates/in/investigate-root-cause/manifest.json +1 -0
  408. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/craftbook.json +153 -0
  409. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/test.json +113 -0
  410. package/data/craftbook-templates/in/invitation-design/manifest.json +1 -0
  411. package/data/craftbook-templates/in/invitation-design/versions/1.0.2/craftbook.json +140 -0
  412. package/data/craftbook-templates/in/invitation-design/versions/1.0.2/test.json +124 -0
  413. package/data/craftbook-templates/in/invoice-generator/manifest.json +1 -0
  414. package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/craftbook.json +122 -0
  415. package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/test.json +100 -0
  416. package/data/craftbook-templates/in/invoice-run/manifest.json +1 -0
  417. package/data/craftbook-templates/in/invoice-run/versions/1.1.2/craftbook.json +211 -0
  418. package/data/craftbook-templates/in/invoice-run/versions/1.1.2/test.json +143 -0
  419. package/data/craftbook-templates/index.json +1 -1
  420. package/data/craftbook-templates/it/item-intake/manifest.json +1 -0
  421. package/data/craftbook-templates/it/item-intake/versions/1.0.2/craftbook.json +152 -0
  422. package/data/craftbook-templates/it/item-intake/versions/1.0.2/test.json +148 -0
  423. package/data/craftbook-templates/ju/juice-pass/manifest.json +1 -0
  424. package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/craftbook.json +128 -0
  425. package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/test.json +119 -0
  426. package/data/craftbook-templates/kn/knowledge-base-article/manifest.json +1 -0
  427. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/craftbook.json +155 -0
  428. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/test.json +113 -0
  429. package/data/craftbook-templates/kp/kpi-scorecard/manifest.json +1 -0
  430. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/craftbook.json +160 -0
  431. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/test.json +100 -0
  432. package/data/craftbook-templates/la/landing-copy/manifest.json +1 -0
  433. package/data/craftbook-templates/la/landing-copy/versions/1.0.2/craftbook.json +155 -0
  434. package/data/craftbook-templates/la/landing-copy/versions/1.0.2/test.json +113 -0
  435. package/data/craftbook-templates/la/landing-page/manifest.json +1 -0
  436. package/data/craftbook-templates/la/landing-page/versions/1.0.2/craftbook.json +196 -0
  437. package/data/craftbook-templates/la/landing-page/versions/1.0.2/test.json +100 -0
  438. package/data/craftbook-templates/le/lead-enrichment/manifest.json +1 -0
  439. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/craftbook.json +152 -0
  440. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/test.json +107 -0
  441. package/data/craftbook-templates/li/library-package/manifest.json +1 -0
  442. package/data/craftbook-templates/li/library-package/versions/1.0.2/craftbook.json +159 -0
  443. package/data/craftbook-templates/li/library-package/versions/1.0.2/test.json +95 -0
  444. package/data/craftbook-templates/li/literature-review/manifest.json +1 -0
  445. package/data/craftbook-templates/li/literature-review/versions/1.0.2/craftbook.json +158 -0
  446. package/data/craftbook-templates/li/literature-review/versions/1.0.2/test.json +113 -0
  447. package/data/craftbook-templates/li/live-browser-qa/manifest.json +1 -0
  448. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/craftbook.json +153 -0
  449. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/test.json +165 -0
  450. package/data/craftbook-templates/lo/localize-content/manifest.json +1 -0
  451. package/data/craftbook-templates/lo/localize-content/versions/1.0.2/craftbook.json +155 -0
  452. package/data/craftbook-templates/lo/localize-content/versions/1.0.2/test.json +113 -0
  453. package/data/craftbook-templates/lo/logo-set/manifest.json +1 -0
  454. package/data/craftbook-templates/lo/logo-set/versions/1.0.2/craftbook.json +158 -0
  455. package/data/craftbook-templates/lo/logo-set/versions/1.0.2/test.json +106 -0
  456. package/data/craftbook-templates/ma/market-scan/manifest.json +1 -0
  457. package/data/craftbook-templates/ma/market-scan/versions/1.0.2/craftbook.json +158 -0
  458. package/data/craftbook-templates/ma/market-scan/versions/1.0.2/test.json +213 -0
  459. package/data/craftbook-templates/me/meeting-minutes/manifest.json +1 -0
  460. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/craftbook.json +120 -0
  461. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/test.json +113 -0
  462. package/data/craftbook-templates/me/meeting-notes-to-actions/manifest.json +1 -0
  463. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/craftbook.json +119 -0
  464. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/test.json +113 -0
  465. package/data/craftbook-templates/me/meeting-prep-brief/manifest.json +1 -0
  466. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/craftbook.json +119 -0
  467. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/test.json +187 -0
  468. package/data/craftbook-templates/me/meeting-summary-audio/manifest.json +1 -0
  469. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/craftbook.json +121 -0
  470. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/test.json +106 -0
  471. package/data/craftbook-templates/me/memory-prompt-session/manifest.json +1 -0
  472. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/craftbook.json +127 -0
  473. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/test.json +115 -0
  474. package/data/craftbook-templates/me/message-queue-consumer/manifest.json +1 -0
  475. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/craftbook.json +159 -0
  476. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/test.json +95 -0
  477. package/data/craftbook-templates/mi/micro-game-jam/manifest.json +1 -0
  478. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/craftbook.json +129 -0
  479. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/test.json +102 -0
  480. package/data/craftbook-templates/mo/mock-interview/manifest.json +1 -0
  481. package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/craftbook.json +151 -0
  482. package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/test.json +113 -0
  483. package/data/craftbook-templates/mo/mod-scaffold/manifest.json +1 -0
  484. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/craftbook.json +168 -0
  485. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/test.json +136 -0
  486. package/data/craftbook-templates/mo/monitor-and-alert/manifest.json +1 -0
  487. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/craftbook.json +170 -0
  488. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/test.json +200 -0
  489. package/data/craftbook-templates/mo/month-close/manifest.json +1 -0
  490. package/data/craftbook-templates/mo/month-close/versions/1.0.2/craftbook.json +152 -0
  491. package/data/craftbook-templates/mo/month-close/versions/1.0.2/test.json +100 -0
  492. package/data/craftbook-templates/mo/monthly-recording-review/manifest.json +1 -0
  493. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/craftbook.json +152 -0
  494. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/test.json +120 -0
  495. package/data/craftbook-templates/mo/moodboard/manifest.json +1 -0
  496. package/data/craftbook-templates/mo/moodboard/versions/1.0.2/craftbook.json +121 -0
  497. package/data/craftbook-templates/mo/moodboard/versions/1.0.2/test.json +106 -0
  498. package/data/craftbook-templates/mo/morning-brief/manifest.json +1 -0
  499. package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/craftbook.json +119 -0
  500. package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/test.json +228 -0
  501. package/data/craftbook-templates/mo/morning-report/manifest.json +1 -0
  502. package/data/craftbook-templates/mo/morning-report/versions/1.0.2/craftbook.json +164 -0
  503. package/data/craftbook-templates/mo/morning-report/versions/1.0.2/test.json +253 -0
  504. package/data/craftbook-templates/mu/music-metadata-tag/manifest.json +1 -0
  505. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/craftbook.json +113 -0
  506. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/test.json +106 -0
  507. package/data/craftbook-templates/na/narrated-slideshow/manifest.json +1 -0
  508. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/craftbook.json +193 -0
  509. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/test.json +89 -0
  510. package/data/craftbook-templates/ne/newsletter-issue/manifest.json +1 -0
  511. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/craftbook.json +155 -0
  512. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/test.json +113 -0
  513. package/data/craftbook-templates/no/notification-router/manifest.json +1 -0
  514. package/data/craftbook-templates/no/notification-router/versions/1.0.2/craftbook.json +170 -0
  515. package/data/craftbook-templates/no/notification-router/versions/1.0.2/test.json +165 -0
  516. package/data/craftbook-templates/oc/ocr-extract/manifest.json +1 -0
  517. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/craftbook.json +149 -0
  518. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/test.json +106 -0
  519. package/data/craftbook-templates/of/offer-compare/manifest.json +1 -0
  520. package/data/craftbook-templates/of/offer-compare/versions/1.0.2/craftbook.json +118 -0
  521. package/data/craftbook-templates/of/offer-compare/versions/1.0.2/test.json +113 -0
  522. package/data/craftbook-templates/of/office-hours/manifest.json +1 -0
  523. package/data/craftbook-templates/on/onboarding-checklist/manifest.json +1 -0
  524. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/craftbook.json +119 -0
  525. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/test.json +113 -0
  526. package/data/craftbook-templates/on/onboarding-flow/manifest.json +1 -0
  527. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/craftbook.json +155 -0
  528. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/test.json +100 -0
  529. package/data/craftbook-templates/on/oncall-handoff/manifest.json +1 -0
  530. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/craftbook.json +119 -0
  531. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/test.json +113 -0
  532. package/data/craftbook-templates/on/one-pager/manifest.json +1 -0
  533. package/data/craftbook-templates/on/one-pager/versions/1.0.2/craftbook.json +155 -0
  534. package/data/craftbook-templates/on/one-pager/versions/1.0.2/test.json +113 -0
  535. package/data/craftbook-templates/op/ops-runbook/manifest.json +1 -0
  536. package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/craftbook.json +124 -0
  537. package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/test.json +107 -0
  538. package/data/craftbook-templates/pa/page-spread/manifest.json +1 -0
  539. package/data/craftbook-templates/pa/page-spread/versions/1.0.2/craftbook.json +94 -0
  540. package/data/craftbook-templates/pa/page-spread/versions/1.0.2/test.json +135 -0
  541. package/data/craftbook-templates/pa/parser-grammar/manifest.json +1 -0
  542. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/craftbook.json +159 -0
  543. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/test.json +95 -0
  544. package/data/craftbook-templates/pe/perf-audit/manifest.json +1 -0
  545. package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/craftbook.json +153 -0
  546. package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/test.json +165 -0
  547. package/data/craftbook-templates/pe/perf-optimization/manifest.json +1 -0
  548. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/craftbook.json +160 -0
  549. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/test.json +95 -0
  550. package/data/craftbook-templates/pe/pest-diagnosis/manifest.json +1 -0
  551. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/craftbook.json +152 -0
  552. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/test.json +125 -0
  553. package/data/craftbook-templates/ph/photo-cull/manifest.json +1 -0
  554. package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/craftbook.json +152 -0
  555. package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/test.json +106 -0
  556. package/data/craftbook-templates/ph/physics-toy/manifest.json +1 -0
  557. package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/craftbook.json +122 -0
  558. package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/test.json +102 -0
  559. package/data/craftbook-templates/pi/pitch-deck/manifest.json +1 -0
  560. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/craftbook.json +153 -0
  561. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/test.json +100 -0
  562. package/data/craftbook-templates/pl/plan/manifest.json +1 -0
  563. package/data/craftbook-templates/pl/playtest-report/manifest.json +1 -0
  564. package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/craftbook.json +152 -0
  565. package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/test.json +114 -0
  566. package/data/craftbook-templates/po/podcast-chaptering/manifest.json +1 -0
  567. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/craftbook.json +152 -0
  568. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/test.json +106 -0
  569. package/data/craftbook-templates/po/portfolio-site/manifest.json +1 -0
  570. package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/craftbook.json +163 -0
  571. package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/test.json +100 -0
  572. package/data/craftbook-templates/po/powerpoint-deck/manifest.json +1 -0
  573. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/craftbook.json +397 -0
  574. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/test.json +242 -0
  575. package/data/craftbook-templates/pr/pr-security-review/manifest.json +1 -0
  576. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/craftbook.json +153 -0
  577. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/test.json +113 -0
  578. package/data/craftbook-templates/pr/practice-exam/manifest.json +1 -0
  579. package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/craftbook.json +171 -0
  580. package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/test.json +120 -0
  581. package/data/craftbook-templates/pr/practice-session/manifest.json +1 -0
  582. package/data/craftbook-templates/pr/practice-session/versions/1.0.2/craftbook.json +127 -0
  583. package/data/craftbook-templates/pr/practice-session/versions/1.0.2/test.json +117 -0
  584. package/data/craftbook-templates/pr/pre-departure-countdown/manifest.json +1 -0
  585. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/craftbook.json +152 -0
  586. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/test.json +100 -0
  587. package/data/craftbook-templates/pr/press-release/manifest.json +1 -0
  588. package/data/craftbook-templates/pr/press-release/versions/1.0.2/craftbook.json +155 -0
  589. package/data/craftbook-templates/pr/press-release/versions/1.0.2/test.json +359 -0
  590. package/data/craftbook-templates/pr/price-tracker/manifest.json +1 -0
  591. package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/craftbook.json +121 -0
  592. package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/test.json +153 -0
  593. package/data/craftbook-templates/pr/pricing-page/manifest.json +1 -0
  594. package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/craftbook.json +196 -0
  595. package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/test.json +100 -0
  596. package/data/craftbook-templates/pr/product-descriptions/manifest.json +1 -0
  597. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/craftbook.json +117 -0
  598. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/test.json +113 -0
  599. package/data/craftbook-templates/pr/proposal-sow/manifest.json +1 -0
  600. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/craftbook.json +155 -0
  601. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/test.json +113 -0
  602. package/data/craftbook-templates/pu/pull-request-review/manifest.json +1 -0
  603. package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/craftbook.json +279 -0
  604. package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/test.json +144 -0
  605. package/data/craftbook-templates/pu/puzzle-pack-layout/manifest.json +1 -0
  606. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/craftbook.json +133 -0
  607. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/test.json +126 -0
  608. package/data/craftbook-templates/pw/pwa-offline/manifest.json +1 -0
  609. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/craftbook.json +167 -0
  610. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/test.json +100 -0
  611. package/data/craftbook-templates/qa/qa/manifest.json +1 -0
  612. package/data/craftbook-templates/qu/quarterly-summary/manifest.json +1 -0
  613. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/craftbook.json +152 -0
  614. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/test.json +116 -0
  615. package/data/craftbook-templates/re/reading-list/manifest.json +1 -0
  616. package/data/craftbook-templates/re/reading-list/versions/1.0.2/craftbook.json +119 -0
  617. package/data/craftbook-templates/re/reading-list/versions/1.0.2/test.json +113 -0
  618. package/data/craftbook-templates/re/receipt-intake/manifest.json +1 -0
  619. package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/craftbook.json +152 -0
  620. package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/test.json +152 -0
  621. package/data/craftbook-templates/re/receipt-ocr-ledger/manifest.json +1 -0
  622. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/craftbook.json +152 -0
  623. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/test.json +107 -0
  624. package/data/craftbook-templates/re/reception-report/manifest.json +1 -0
  625. package/data/craftbook-templates/re/reception-report/versions/1.0.1/craftbook.json +177 -0
  626. package/data/craftbook-templates/re/reception-report/versions/1.0.1/test.json +169 -0
  627. package/data/craftbook-templates/re/recipe-capture/manifest.json +1 -0
  628. package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/craftbook.json +152 -0
  629. package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/test.json +131 -0
  630. package/data/craftbook-templates/re/record-a-relative/manifest.json +1 -0
  631. package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/craftbook.json +127 -0
  632. package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/test.json +113 -0
  633. package/data/craftbook-templates/re/recurring-invoice-run/manifest.json +1 -0
  634. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/craftbook.json +160 -0
  635. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/test.json +107 -0
  636. package/data/craftbook-templates/re/refactor-module/manifest.json +1 -0
  637. package/data/craftbook-templates/re/refactor-module/versions/1.0.3/craftbook.json +160 -0
  638. package/data/craftbook-templates/re/refactor-module/versions/1.0.3/test.json +95 -0
  639. package/data/craftbook-templates/re/regex-builder/manifest.json +1 -0
  640. package/data/craftbook-templates/re/regex-builder/versions/1.0.2/craftbook.json +159 -0
  641. package/data/craftbook-templates/re/regex-builder/versions/1.0.2/test.json +95 -0
  642. package/data/craftbook-templates/re/release-announcement/manifest.json +1 -0
  643. package/data/craftbook-templates/re/release-announcement/versions/1.0.2/craftbook.json +171 -0
  644. package/data/craftbook-templates/re/release-announcement/versions/1.0.2/test.json +205 -0
  645. package/data/craftbook-templates/re/release-artifact-sanity-check/manifest.json +1 -0
  646. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/craftbook.json +226 -0
  647. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/test.json +141 -0
  648. package/data/craftbook-templates/re/release-notes/manifest.json +1 -0
  649. package/data/craftbook-templates/re/release-notes/versions/1.0.2/craftbook.json +171 -0
  650. package/data/craftbook-templates/re/release-notes/versions/1.0.2/test.json +114 -0
  651. package/data/craftbook-templates/re/release-pipeline-ci/manifest.json +1 -0
  652. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/craftbook.json +159 -0
  653. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/test.json +165 -0
  654. package/data/craftbook-templates/re/release-readiness-review/manifest.json +1 -0
  655. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/craftbook.json +153 -0
  656. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/test.json +113 -0
  657. package/data/craftbook-templates/re/reliability-review/manifest.json +1 -0
  658. package/data/craftbook-templates/re/reliability-review/versions/1.0.2/craftbook.json +165 -0
  659. package/data/craftbook-templates/re/reliability-review/versions/1.0.2/test.json +115 -0
  660. package/data/craftbook-templates/re/report-pdf/manifest.json +1 -0
  661. package/data/craftbook-templates/re/report-pdf/versions/1.1.2/craftbook.json +185 -0
  662. package/data/craftbook-templates/re/report-pdf/versions/1.1.2/test.json +101 -0
  663. package/data/craftbook-templates/re/research-report/manifest.json +1 -0
  664. package/data/craftbook-templates/re/research-report/versions/1.0.2/craftbook.json +158 -0
  665. package/data/craftbook-templates/re/research-report/versions/1.0.2/test.json +113 -0
  666. package/data/craftbook-templates/re/research-to-document/manifest.json +1 -0
  667. package/data/craftbook-templates/re/research-to-document/versions/1.2.2/craftbook.json +228 -0
  668. package/data/craftbook-templates/re/research-to-document/versions/1.2.2/test.json +243 -0
  669. package/data/craftbook-templates/re/rest-api/manifest.json +1 -0
  670. package/data/craftbook-templates/re/rest-api/versions/1.0.3/craftbook.json +159 -0
  671. package/data/craftbook-templates/re/rest-api/versions/1.0.3/test.json +390 -0
  672. package/data/craftbook-templates/re/resume-cv/manifest.json +1 -0
  673. package/data/craftbook-templates/re/resume-cv/versions/1.0.2/craftbook.json +155 -0
  674. package/data/craftbook-templates/re/resume-cv/versions/1.0.2/test.json +100 -0
  675. package/data/craftbook-templates/re/reviewer-loop/manifest.json +1 -0
  676. package/data/craftbook-templates/ro/rollback-plan/manifest.json +1 -0
  677. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/craftbook.json +171 -0
  678. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/test.json +165 -0
  679. package/data/craftbook-templates/ro/root-cause-investigation/manifest.json +1 -0
  680. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/craftbook.json +425 -0
  681. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/test.json +157 -0
  682. package/data/craftbook-templates/ro/rough-cut-assembly/manifest.json +1 -0
  683. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/craftbook.json +179 -0
  684. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/test.json +140 -0
  685. package/data/craftbook-templates/ru/runbook/manifest.json +1 -0
  686. package/data/craftbook-templates/ru/runbook/versions/1.0.2/craftbook.json +157 -0
  687. package/data/craftbook-templates/ru/runbook/versions/1.0.2/test.json +121 -0
  688. package/data/craftbook-templates/sc/schema-migration/manifest.json +1 -0
  689. package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/craftbook.json +156 -0
  690. package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/test.json +106 -0
  691. package/data/craftbook-templates/sc/scrape-to-structured/manifest.json +1 -0
  692. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/craftbook.json +152 -0
  693. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/test.json +165 -0
  694. package/data/craftbook-templates/sc/script-automation/manifest.json +1 -0
  695. package/data/craftbook-templates/sc/script-automation/versions/1.0.2/craftbook.json +160 -0
  696. package/data/craftbook-templates/sc/script-automation/versions/1.0.2/test.json +165 -0
  697. package/data/craftbook-templates/sd/sdk-wrapper/manifest.json +1 -0
  698. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/craftbook.json +159 -0
  699. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/test.json +93 -0
  700. package/data/craftbook-templates/se/seasonal-maintenance-sweep/manifest.json +1 -0
  701. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/craftbook.json +152 -0
  702. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/test.json +113 -0
  703. package/data/craftbook-templates/se/security-architecture-review/manifest.json +1 -0
  704. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/craftbook.json +452 -0
  705. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/test.json +157 -0
  706. package/data/craftbook-templates/se/seo-meta-pack/manifest.json +1 -0
  707. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/craftbook.json +117 -0
  708. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/test.json +100 -0
  709. package/data/craftbook-templates/sh/ship/manifest.json +1 -0
  710. package/data/craftbook-templates/so/social-digest/manifest.json +1 -0
  711. package/data/craftbook-templates/so/social-digest/versions/1.0.1/craftbook.json +140 -0
  712. package/data/craftbook-templates/so/social-digest/versions/1.0.1/test.json +169 -0
  713. package/data/craftbook-templates/so/social-thread/manifest.json +1 -0
  714. package/data/craftbook-templates/so/social-thread/versions/1.0.2/craftbook.json +119 -0
  715. package/data/craftbook-templates/so/social-thread/versions/1.0.2/test.json +113 -0
  716. package/data/craftbook-templates/so/source-quality-audit/manifest.json +1 -0
  717. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/craftbook.json +152 -0
  718. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/test.json +161 -0
  719. package/data/craftbook-templates/sp/spa-dashboard/manifest.json +1 -0
  720. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/craftbook.json +155 -0
  721. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/test.json +100 -0
  722. package/data/craftbook-templates/sp/spec-authoring/manifest.json +1 -0
  723. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/craftbook.json +448 -0
  724. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/test.json +165 -0
  725. package/data/craftbook-templates/sp/spec-doc/manifest.json +1 -0
  726. package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/craftbook.json +155 -0
  727. package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/test.json +107 -0
  728. package/data/craftbook-templates/sp/spreadsheet-model/manifest.json +1 -0
  729. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/craftbook.json +121 -0
  730. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/test.json +163 -0
  731. package/data/craftbook-templates/sp/sprite-sheet/manifest.json +1 -0
  732. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/craftbook.json +149 -0
  733. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/test.json +106 -0
  734. package/data/craftbook-templates/sq/sql-analysis/manifest.json +1 -0
  735. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/craftbook.json +121 -0
  736. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/test.json +107 -0
  737. package/data/craftbook-templates/st/standup-summary/manifest.json +1 -0
  738. package/data/craftbook-templates/st/standup-summary/versions/1.0.2/craftbook.json +119 -0
  739. package/data/craftbook-templates/st/standup-summary/versions/1.0.2/test.json +113 -0
  740. package/data/craftbook-templates/st/state-machine/manifest.json +1 -0
  741. package/data/craftbook-templates/st/state-machine/versions/1.0.2/craftbook.json +159 -0
  742. package/data/craftbook-templates/st/state-machine/versions/1.0.2/test.json +95 -0
  743. package/data/craftbook-templates/st/status-report/manifest.json +1 -0
  744. package/data/craftbook-templates/st/status-report/versions/1.0.2/craftbook.json +158 -0
  745. package/data/craftbook-templates/st/status-report/versions/1.0.2/test.json +113 -0
  746. package/data/craftbook-templates/su/subscription-audit/manifest.json +1 -0
  747. package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/craftbook.json +152 -0
  748. package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/test.json +107 -0
  749. package/data/craftbook-templates/su/subtitle-generator/manifest.json +1 -0
  750. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/craftbook.json +140 -0
  751. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/test.json +106 -0
  752. package/data/craftbook-templates/su/summarize-long/manifest.json +1 -0
  753. package/data/craftbook-templates/su/summarize-long/versions/1.0.2/craftbook.json +119 -0
  754. package/data/craftbook-templates/su/summarize-long/versions/1.0.2/test.json +113 -0
  755. package/data/craftbook-templates/su/survey-analysis/manifest.json +1 -0
  756. package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/craftbook.json +153 -0
  757. package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/test.json +107 -0
  758. package/data/craftbook-templates/sv/svg-animation/manifest.json +1 -0
  759. package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/craftbook.json +122 -0
  760. package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/test.json +100 -0
  761. package/data/craftbook-templates/ta/tailor-resume/manifest.json +1 -0
  762. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/craftbook.json +126 -0
  763. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/test.json +100 -0
  764. package/data/craftbook-templates/te/technical-documentation/manifest.json +1 -0
  765. package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/craftbook.json +420 -0
  766. package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/test.json +177 -0
  767. package/data/craftbook-templates/te/test-coverage-review/manifest.json +1 -0
  768. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/craftbook.json +153 -0
  769. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/test.json +116 -0
  770. package/data/craftbook-templates/te/test-suite-backfill/manifest.json +1 -0
  771. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/craftbook.json +132 -0
  772. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/test.json +95 -0
  773. package/data/craftbook-templates/th/thank-you-batch/manifest.json +1 -0
  774. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/craftbook.json +155 -0
  775. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/test.json +144 -0
  776. package/data/craftbook-templates/th/thank-you-sweep/manifest.json +1 -0
  777. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/craftbook.json +155 -0
  778. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/test.json +145 -0
  779. package/data/craftbook-templates/th/threat-model/manifest.json +1 -0
  780. package/data/craftbook-templates/th/threat-model/versions/1.0.2/craftbook.json +153 -0
  781. package/data/craftbook-templates/th/threat-model/versions/1.0.2/test.json +113 -0
  782. package/data/craftbook-templates/th/thumbnail-generator/manifest.json +1 -0
  783. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/craftbook.json +115 -0
  784. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/test.json +106 -0
  785. package/data/craftbook-templates/ti/tileset-batch/manifest.json +1 -0
  786. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/craftbook.json +172 -0
  787. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/test.json +162 -0
  788. package/data/craftbook-templates/to/tone-rewrite/manifest.json +1 -0
  789. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/craftbook.json +119 -0
  790. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/test.json +113 -0
  791. package/data/craftbook-templates/to/topic-explainer/manifest.json +1 -0
  792. package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/craftbook.json +152 -0
  793. package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/test.json +113 -0
  794. package/data/craftbook-templates/tr/transcribe-and-shownotes/manifest.json +1 -0
  795. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/craftbook.json +127 -0
  796. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/test.json +101 -0
  797. package/data/craftbook-templates/tr/transcribe-audio/manifest.json +1 -0
  798. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/craftbook.json +119 -0
  799. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/test.json +106 -0
  800. package/data/craftbook-templates/tr/transcribe-index/manifest.json +1 -0
  801. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/craftbook.json +183 -0
  802. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/test.json +154 -0
  803. package/data/craftbook-templates/tr/translate-content/manifest.json +1 -0
  804. package/data/craftbook-templates/ty/type-safety-pass/manifest.json +1 -0
  805. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/craftbook.json +160 -0
  806. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/test.json +95 -0
  807. package/data/craftbook-templates/ve/version-bump/manifest.json +1 -0
  808. package/data/craftbook-templates/ve/version-bump/versions/1.0.2/craftbook.json +167 -0
  809. package/data/craftbook-templates/ve/version-bump/versions/1.0.2/test.json +95 -0
  810. package/data/craftbook-templates/vi/video-storyboard/manifest.json +1 -0
  811. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/craftbook.json +121 -0
  812. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/test.json +106 -0
  813. package/data/craftbook-templates/vi/visit-prep/manifest.json +1 -0
  814. package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/craftbook.json +152 -0
  815. package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/test.json +100 -0
  816. package/data/craftbook-templates/vo/voiceover-script/manifest.json +1 -0
  817. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/craftbook.json +119 -0
  818. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/test.json +106 -0
  819. package/data/craftbook-templates/we/weak-spot-drill/manifest.json +1 -0
  820. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/craftbook.json +166 -0
  821. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/test.json +127 -0
  822. package/data/craftbook-templates/we/web-app-crud/manifest.json +1 -0
  823. package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/craftbook.json +155 -0
  824. package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/test.json +100 -0
  825. package/data/craftbook-templates/we/web-component/manifest.json +1 -0
  826. package/data/craftbook-templates/we/web-component/versions/1.0.2/craftbook.json +122 -0
  827. package/data/craftbook-templates/we/web-component/versions/1.0.2/test.json +100 -0
  828. package/data/craftbook-templates/we/webhook-handler/manifest.json +1 -0
  829. package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/craftbook.json +159 -0
  830. package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/test.json +165 -0
  831. package/data/craftbook-templates/we/week-plan/manifest.json +1 -0
  832. package/data/craftbook-templates/we/week-plan/versions/1.0.2/craftbook.json +152 -0
  833. package/data/craftbook-templates/we/week-plan/versions/1.0.2/test.json +258 -0
  834. package/data/craftbook-templates/we/weekly-menu-plan/manifest.json +1 -0
  835. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/craftbook.json +152 -0
  836. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/test.json +100 -0
  837. package/data/craftbook-templates/we/weekly-pipeline-review/manifest.json +1 -0
  838. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/craftbook.json +118 -0
  839. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/test.json +107 -0
  840. package/data/craftbook-templates/we/weekly-review/manifest.json +1 -0
  841. package/data/craftbook-templates/we/weekly-review/versions/1.0.2/craftbook.json +119 -0
  842. package/data/craftbook-templates/we/weekly-review/versions/1.0.2/test.json +113 -0
  843. package/data/craftbook-templates/we/weekly-walkthrough/manifest.json +1 -0
  844. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/craftbook.json +152 -0
  845. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/test.json +141 -0
  846. package/data/craftbook-templates/wh/whitepaper/manifest.json +1 -0
  847. package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/craftbook.json +153 -0
  848. package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/test.json +113 -0
  849. package/data/craftbook-templates/ye/year-in-review/manifest.json +1 -0
  850. package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/craftbook.json +127 -0
  851. package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/test.json +148 -0
  852. package/data/craftbook-templates/yo/youtube-chapters-seo/manifest.json +1 -0
  853. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/craftbook.json +146 -0
  854. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/test.json +106 -0
  855. package/package.json +1 -1
  856. package/schemas/craftbook-template-identity.schema.json +21 -0
  857. package/schemas/craftbook-test.schema.json +10 -0
@@ -0,0 +1,107 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Scheduled Batch Job smoke eval",
4
+ "objective": "Self-contained smoke eval for the Scheduled Batch Job craftbook using the data generic harness.",
5
+ "tags": [
6
+ "data"
7
+ ],
8
+ "prompt": "I dropped our numbers in source/records.csv. Can you look at the data, analyze it, and put togehter some results in analysis.md?",
9
+ "setup": {
10
+ "projectName": "Scheduled Batch Job Eval",
11
+ "about": "Self-contained eval project for cron-job. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/analysis.md.",
12
+ "missionObjectives": "Use the Scheduled Batch Job craftbook/template, read the seeded local fixtures, and write analysis.md without network calls, real credentials, or live services.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "content": "# Scheduled Batch Job 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: cron-job - Scheduled Batch Job.\n"
17
+ },
18
+ {
19
+ "path": "source/records.csv",
20
+ "content": "customer,region,orders,revenue_usd,churn_risk\nAster,North,12,1440,low\nBoreal,South,8,720,medium\nCedar,West,15,2100,high\nDune,North,5,500,low\n"
21
+ }
22
+ ],
23
+ "worker": {
24
+ "name": "Jules",
25
+ "role": "Data Analyst"
26
+ },
27
+ "craftbookParams": {
28
+ "workPath": "tasks/eval"
29
+ }
30
+ },
31
+ "mocks": [],
32
+ "success": {
33
+ "summary": "analysis.md is a seeded-data analysis with deterministic computed facts.",
34
+ "deliverables": [
35
+ {
36
+ "path": "analysis.md",
37
+ "kind": "markdown-report",
38
+ "minBytes": 900,
39
+ "checks": [
40
+ {
41
+ "kind": "contains",
42
+ "file": "analysis.md",
43
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
44
+ "flags": "i"
45
+ },
46
+ {
47
+ "kind": "contains",
48
+ "file": "analysis.md",
49
+ "pattern": "40\\b",
50
+ "flags": "i",
51
+ "label": "include total orders of 40"
52
+ },
53
+ {
54
+ "kind": "contains",
55
+ "file": "analysis.md",
56
+ "pattern": "\\$?4,?760\\b",
57
+ "flags": "i",
58
+ "label": "include total revenue of 4760"
59
+ },
60
+ {
61
+ "kind": "contains",
62
+ "file": "analysis.md",
63
+ "pattern": "Cedar",
64
+ "flags": "i",
65
+ "label": "identify Cedar as top revenue and high risk"
66
+ },
67
+ {
68
+ "kind": "contains",
69
+ "file": "analysis.md",
70
+ "pattern": "high",
71
+ "flags": "i",
72
+ "label": "include churn-risk finding"
73
+ }
74
+ ]
75
+ }
76
+ ]
77
+ },
78
+ "rubric": {
79
+ "artifact": {
80
+ "path": "analysis.md",
81
+ "kind": "markdown"
82
+ },
83
+ "axes": [
84
+ {
85
+ "name": "accuracy",
86
+ "description": "Computed figures are correct against the seeded records."
87
+ },
88
+ {
89
+ "name": "grounding",
90
+ "description": "Every claim traces to the seeded data — nothing invented."
91
+ },
92
+ {
93
+ "name": "structure",
94
+ "description": "Tables and sections make the analysis checkable at a glance."
95
+ },
96
+ {
97
+ "name": "actionability",
98
+ "description": "Recommendations follow from the findings and are concretely doable."
99
+ }
100
+ ]
101
+ },
102
+ "qualityFocus": [
103
+ "seeded data reading",
104
+ "computed facts",
105
+ "recommendation grounding"
106
+ ]
107
+ }
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "crossword-forge",
5
5
  "role": "general",
6
+ "category": "design",
6
7
  "name": "Forge a Crossword",
7
8
  "description": "Construct a personalized crossword and prove it works before anyone's pencil touches it: the grid actually interlocks, every entry sits in the grid exactly where its number says, every clue is tuned to the solver — and the whole thing ships as a printable page with the solution kept decently out of sight. Locks the theme and the word list FIRST, then constructs the mechanically-verified grid, then renders the printable puzzle. Use for making a crossword, a personalized puzzle for the family, 'a crossword with the grandkids' names in it', and printable puzzle gifts.",
8
9
  "tags": [
@@ -0,0 +1,176 @@
1
+ {
2
+ "id": "crossword-forge",
3
+ "name": "Forge a Crossword",
4
+ "description": "Construct a personalized crossword and prove it works before anyone's pencil touches it: the grid actually interlocks, every entry sits in the grid exactly where its number says, every clue is tuned to the solver — and the whole thing ships as a printable page with the solution kept decently out of sight. Locks the theme and the word list FIRST, then constructs the mechanically-verified grid, then renders the printable puzzle. Use for making a crossword, a personalized puzzle for the family, 'a crossword with the grandkids' names in it', and printable puzzle gifts.\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. Scope the puzzle (puzzle-maker) — theme and word list from the personal material, construction rules → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Construct the grid (developer) — verified puzzle data — grid, entries, clues → gated on `puzzle.json` (json)\n3. Render the printable page (developer) — printable grid and clues, solution out of sight, shelf copy filed → gated on `puzzle.html` (html-page)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "scope",
6
+ "triggers": [
7
+ "make a crossword",
8
+ "crossword for the family",
9
+ "personalized crossword puzzle",
10
+ "forge a crossword",
11
+ "printable crossword"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the puzzle",
17
+ "description": "theme and word list from the personal material, construction rules",
18
+ "prompt": "Set the build before placing a letter. Step 1: gather the personal material — the task's params (theme, names, size) and any notes in the workspace about the solvers: names, places, pets, running jokes. Step 2: draft the word list — the personal entries first, filler words only where the grid needs them to interlock, everything spellable in plain uppercase letters. Step 3: lock the construction rules — grid size from the size param (small about 9x9, medium about 13x13, large about 15x15), every entry placed in the grid and crossing at least one other entry, no entry without a clue, clue difficulty tuned to the solvers. Step 4: write an acceptance-criteria checklist ('every entry reads out of the grid at its stated coordinates', 'every crossing agrees letter for letter', 'every entry has a clue at the target difficulty', 'the personal words made it into the grid', 'the rendered page prints cleanly with the solution out of casual sight'). Call write_task_note with the theme + word count + checklist and write {{workPath}}/scope.md.\n\nThe deliverable `{{workPath}}/scope.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.",
19
+ "suggestedRole": "puzzle-maker",
20
+ "advanceWhen": {
21
+ "file": "{{workPath}}/scope.md",
22
+ "minBytes": 1,
23
+ "sniff": "nonempty",
24
+ "artifact": true
25
+ },
26
+ "gate": {
27
+ "at": "completion",
28
+ "checks": [
29
+ {
30
+ "kind": "minBytes",
31
+ "file": "{{workPath}}/scope.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "{{workPath}}/scope.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "scope",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "construct"
46
+ },
47
+ {
48
+ "id": "construct",
49
+ "name": "Construct the grid",
50
+ "description": "verified puzzle data — grid, entries, clues",
51
+ "prompt": "Construct the puzzle as data at puzzle.json. Step 1: build the grid — uppercase letters in filled cells, '.' for blocks — placing every word from the locked list so the entries interlock. Step 2: write it as JSON with this exact shape: { \"title\": ..., \"size\": { \"rows\": N, \"cols\": N }, \"grid\": [ one string per row ], \"entries\": [ { \"number\", \"answer\", \"row\", \"col\", \"direction\": \"across\" or \"down\", \"clue\" } ] } — rows and columns zero-indexed from the top-left. Step 3: verify your own work cell by cell before completing — every answer must read out of the grid exactly at its coordinates and every crossing letter must agree; the gate re-checks this mechanically and names any entry that lies. Step 4: write the clues into the entries — personal entries clued with the in-jokes, fillers clued honestly at the target difficulty. Call write_task_note with the grid size and the entry count.",
52
+ "suggestedRole": "developer",
53
+ "advanceWhen": {
54
+ "file": "puzzle.json",
55
+ "minBytes": 1,
56
+ "sniff": "json-valid"
57
+ },
58
+ "gate": {
59
+ "at": "completion",
60
+ "checks": [
61
+ {
62
+ "kind": "minBytes",
63
+ "file": "puzzle.json",
64
+ "bytes": 400
65
+ }
66
+ ],
67
+ "scripts": [
68
+ {
69
+ "name": "checkJsonValid",
70
+ "scope": "standard",
71
+ "inputs": {
72
+ "file": "puzzle.json"
73
+ }
74
+ }
75
+ ],
76
+ "onReject": "construct",
77
+ "maxAttempts": 3
78
+ },
79
+ "next": "render"
80
+ },
81
+ {
82
+ "id": "render",
83
+ "name": "Render the printable page",
84
+ "description": "printable grid and clues, solution out of sight, shelf copy filed",
85
+ "prompt": "Render the playable, printable page at puzzle.html. Step 1: draw the empty numbered grid from puzzle.json — blocks and cell numbers exactly as the data has them — beside the across and down clue lists. Step 2: make it print-ready — an @page rule, print styles, the grid sized so a pencil fits in the squares. Step 3: keep the solution out of casual sight — behind a toggle on screen and on its own page in print, never beside the blank grid. Step 4: any script on the page must actually run — check it before completing. Step 5: file a dated copy of puzzle.json and puzzle.html into the puzzles/ shelf named for the theme, so the pack-layout ritual can find them later. Call write_task_note with the page path and the shelf copies.",
86
+ "suggestedRole": "developer",
87
+ "consumes": [
88
+ {
89
+ "file": "puzzle.json"
90
+ }
91
+ ],
92
+ "advanceWhen": {
93
+ "file": "puzzle.html",
94
+ "minBytes": 1,
95
+ "sniff": "html-complete"
96
+ },
97
+ "gate": {
98
+ "at": "completion",
99
+ "checks": [
100
+ {
101
+ "kind": "minBytes",
102
+ "file": "puzzle.html",
103
+ "bytes": 800
104
+ },
105
+ {
106
+ "kind": "htmlLint",
107
+ "file": "puzzle.html"
108
+ },
109
+ {
110
+ "kind": "cssMinBytes",
111
+ "bytes": 650,
112
+ "file": "puzzle.html"
113
+ },
114
+ {
115
+ "kind": "contains",
116
+ "file": "puzzle.html",
117
+ "pattern": "@page|@media\\s+print",
118
+ "flags": "i",
119
+ "label": "print CSS"
120
+ },
121
+ {
122
+ "kind": "jsParses",
123
+ "file": "puzzle.html"
124
+ }
125
+ ],
126
+ "scripts": [
127
+ {
128
+ "name": "checkHtmlComplete",
129
+ "scope": "standard",
130
+ "inputs": {
131
+ "file": "puzzle.html"
132
+ }
133
+ }
134
+ ],
135
+ "onReject": "render",
136
+ "maxAttempts": 4
137
+ },
138
+ "next": "evaluate"
139
+ },
140
+ {
141
+ "id": "evaluate",
142
+ "name": "Evaluate",
143
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
144
+ "prompt": "Open puzzle.json and puzzle.html and verify every criterion from {{workPath}}/scope.md: read three entries out of the grid by their coordinates and confirm each matches its answer, check one crossing square agrees in both directions, confirm every entry has a clue and the personal words from the scope made it in, and check the rendered page — the grid matches the data, the clue numbers line up, and the solution stays out of sight on screen and in print. Write PASS/FAIL per criterion; on any failure, name the entry or cell and loop back to construct.\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: \"construct\" })` 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.",
145
+ "suggestedRole": "reviewer",
146
+ "consumes": [
147
+ {
148
+ "file": "puzzle.html"
149
+ }
150
+ ],
151
+ "next": "construct"
152
+ },
153
+ {
154
+ "id": "finish",
155
+ "name": "Finish",
156
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
157
+ "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.",
158
+ "suggestedRole": "developer",
159
+ "terminal": true
160
+ }
161
+ ],
162
+ "version": "1.0.2",
163
+ "releasedAt": "2026-08-21T00:00:00Z",
164
+ "paramSchema": {
165
+ "type": "object",
166
+ "properties": {
167
+ "workPath": {
168
+ "type": "string",
169
+ "title": "Working folder",
170
+ "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.",
171
+ "default": "{{task.dir}}"
172
+ }
173
+ }
174
+ },
175
+ "minGezelVersion": "1.26233"
176
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Forge a Crossword — personal words to a verified printable grid",
4
+ "objective": "Measure whether the crossword-forge craftbook constructs a mechanically-valid interlocking crossword from the seeded family notes — entries readable out of the grid at their coordinates, every entry clued — rendered as a printable page with the solution out of sight.",
5
+ "tags": [
6
+ "html-page"
7
+ ],
8
+ "prompt": "can you make a crossword for the grandkids with there names and our dog in it? printable pls",
9
+ "setup": {
10
+ "projectName": "Loon Lake Puzzle Almanac",
11
+ "about": "Puzzle almanac project for the Halloran family. Notes about the solvers live at workspace/notes/family.md; finished puzzles are filed on the workspace/puzzles shelf. The working puzzle is workspace/puzzle.json with its printable page at workspace/puzzle.html.",
12
+ "missionObjectives": "The grid must actually interlock and verify — every entry readable out of the grid at its coordinates, every entry clued. Personalization comes from the family notes. No live services, no real credentials.",
13
+ "files": [
14
+ {
15
+ "path": "tasks/eval/family.md",
16
+ "content": "# The solvers\n\nGrandkids: Nora (12, reigning flashlight-tag champion), Felix (10, dinosaur phase never ended),\nImani (9, reads above her grade and knows it), Theo (7, will need help with the long ones).\n\nThe dog: Biscuit — golden retriever, eats crayons, beloved.\n\nPlaces: the cabin at Loon Lake, the porch swing, Grandpa's garden.\n\nRunning jokes: Grandpa's burnt pancakes, the canoe that tipped twice in one day,\nflashlight tag after dark, \"who fed Biscuit already?\"\n"
17
+ },
18
+ {
19
+ "path": "checks/verify-puzzle.mjs",
20
+ "content": "// Eval-only re-check: verifies puzzle.json is a real, solvable crossword.\n// Exits 0 and prints PUZZLE OK when every entry reads out of the grid at its\n// coordinates, every entry has a clue, and the entries interlock.\nimport { readFileSync } from 'node:fs';\n\nfunction fail(message) {\n console.error('PUZZLE BROKEN: ' + message);\n process.exit(1);\n}\n\nlet puzzle;\ntry {\n puzzle = JSON.parse(readFileSync('puzzle.json', 'utf8'));\n} catch (err) {\n fail('puzzle.json missing or not valid JSON (' + err.message + ')');\n}\n\nconst grid = puzzle.grid;\nif (!Array.isArray(grid) || grid.length < 5 || !grid.every((r) => typeof r === 'string')) {\n fail('grid must be an array of at least 5 row strings');\n}\nconst width = grid[0].length;\nfor (let r = 0; r < grid.length; r++) {\n if (grid[r].length !== width) fail('row ' + r + ' width differs from row 0');\n if (!/^[A-Z.]+$/.test(grid[r])) fail('row ' + r + ' has characters outside A-Z and \".\"');\n}\n\nconst entries = puzzle.entries;\nif (!Array.isArray(entries) || entries.length < 4) fail('need at least 4 entries');\n\nconst owners = new Map();\nlet across = 0;\nlet down = 0;\nfor (const e of entries) {\n const label = typeof e.answer === 'string' && e.answer ? e.answer : 'entry #' + (e.number ?? '?');\n if (typeof e.answer !== 'string' || !/^[A-Z]{2,}$/.test(e.answer)) fail(label + ': bad answer');\n if (e.direction !== 'across' && e.direction !== 'down') fail(label + ': bad direction');\n if (!Number.isInteger(e.row) || !Number.isInteger(e.col)) fail(label + ': bad coordinates');\n if (typeof e.clue !== 'string' || e.clue.trim().length === 0) fail(label + ': missing clue');\n if (e.direction === 'across') across++;\n else down++;\n for (let i = 0; i < e.answer.length; i++) {\n const r = e.direction === 'down' ? e.row + i : e.row;\n const c = e.direction === 'across' ? e.col + i : e.col;\n if (r < 0 || r >= grid.length || c < 0 || c >= width) fail(label + ' runs off the grid');\n if (grid[r][c] !== e.answer[i]) {\n fail(label + ': grid has \"' + grid[r][c] + '\" at ' + r + ',' + c + ' expected \"' + e.answer[i] + '\"');\n }\n const key = r + ',' + c;\n if (!owners.has(key)) owners.set(key, new Set());\n owners.get(key).add(e.direction + ':' + label);\n }\n}\nif (across === 0 || down === 0) fail('need both across and down entries');\n\nfor (const e of entries) {\n let interlocks = false;\n for (let i = 0; i < e.answer.length && !interlocks; i++) {\n const r = e.direction === 'down' ? e.row + i : e.row;\n const c = e.direction === 'across' ? e.col + i : e.col;\n for (const owner of owners.get(r + ',' + c) ?? []) {\n if (!owner.startsWith(e.direction + ':')) interlocks = true;\n }\n }\n if (!interlocks) fail(e.answer + ' does not cross any other entry');\n}\n\nconsole.log('PUZZLE OK: ' + entries.length + ' entries (' + across + ' across, ' + down + ' down) verified');\n"
21
+ }
22
+ ],
23
+ "worker": {
24
+ "name": "Wouter",
25
+ "role": "Puzzle maker"
26
+ },
27
+ "craftbookParams": {
28
+ "workPath": "tasks/eval"
29
+ }
30
+ },
31
+ "mocks": [],
32
+ "success": {
33
+ "summary": "puzzle.json is a verified interlocking crossword carrying the personal words; puzzle.html is a printable page with clue lists and the solution kept out of sight.",
34
+ "deliverables": [
35
+ {
36
+ "path": "puzzle.json",
37
+ "kind": "json",
38
+ "minBytes": 400,
39
+ "checks": [
40
+ {
41
+ "kind": "sniff",
42
+ "file": "puzzle.json",
43
+ "sniff": "json-valid"
44
+ },
45
+ {
46
+ "kind": "nodeScriptPasses",
47
+ "script": "checks/verify-puzzle.mjs",
48
+ "timeoutMs": 5000,
49
+ "requiredOutput": [
50
+ {
51
+ "pattern": "PUZZLE OK",
52
+ "label": "grid verifies as solvable"
53
+ }
54
+ ]
55
+ },
56
+ {
57
+ "kind": "contains",
58
+ "file": "puzzle.json",
59
+ "pattern": "NORA|FELIX|IMANI|THEO",
60
+ "label": "a grandkid name made the grid"
61
+ },
62
+ {
63
+ "kind": "contains",
64
+ "file": "puzzle.json",
65
+ "pattern": "BISCUIT",
66
+ "label": "the dog made the grid"
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ "path": "puzzle.html",
72
+ "kind": "html-page",
73
+ "minBytes": 2000,
74
+ "checks": [
75
+ {
76
+ "kind": "cssMinBytes",
77
+ "bytes": 650,
78
+ "file": "puzzle.html"
79
+ },
80
+ {
81
+ "kind": "jsParses",
82
+ "file": "puzzle.html"
83
+ },
84
+ {
85
+ "kind": "contains",
86
+ "file": "puzzle.html",
87
+ "pattern": "@page|@media\\s+print",
88
+ "flags": "i",
89
+ "label": "print CSS"
90
+ },
91
+ {
92
+ "kind": "contains",
93
+ "file": "puzzle.html",
94
+ "pattern": "Across",
95
+ "flags": "i",
96
+ "label": "across clue list"
97
+ },
98
+ {
99
+ "kind": "contains",
100
+ "file": "puzzle.html",
101
+ "pattern": "Down",
102
+ "flags": "i",
103
+ "label": "down clue list"
104
+ }
105
+ ]
106
+ }
107
+ ]
108
+ },
109
+ "rubric": {
110
+ "artifact": {
111
+ "path": "puzzle.html",
112
+ "kind": "html"
113
+ },
114
+ "axes": [
115
+ {
116
+ "name": "solvability",
117
+ "description": "The grid interlocks and the clue numbering matches the grid — a solver could actually finish it."
118
+ },
119
+ {
120
+ "name": "personalization",
121
+ "description": "The names, the dog, and the running jokes from the family notes carry the puzzle; fillers stay in the background."
122
+ },
123
+ {
124
+ "name": "clue craft",
125
+ "description": "Clues are tuned to the solvers — in-jokes for the personal entries, honest difficulty for the fillers, help-sized for the youngest."
126
+ },
127
+ {
128
+ "name": "print readiness",
129
+ "description": "The page prints with pencil-sized squares and the solution on its own page, never beside the blank grid."
130
+ }
131
+ ]
132
+ },
133
+ "qualityFocus": [
134
+ "verified interlocking grid",
135
+ "grounded personalization",
136
+ "solution out of sight"
137
+ ]
138
+ }
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "csv-transformer",
5
5
  "role": "general",
6
+ "category": "code-data",
6
7
  "name": "CSV / Tabular Transformer",
7
8
  "description": "Reshape and convert tabular data from one schema to another: rename and reorder columns, split or merge fields, derive new columns, pivot/unpivot, change format (CSV<->JSON<->TSV), and filter rows. Locks the input and target schema and the field-by-field mapping FIRST (so the transform is a contract, not guesswork), then builds the transform and emits the output, then verifies row counts and a sample mapping. Use this for reshaping a CSV, converting data formats, remapping columns, flattening JSON to a table, or reformatting an export for another tool.",
8
9
  "tags": [
@@ -0,0 +1,113 @@
1
+ {
2
+ "id": "csv-transformer",
3
+ "name": "CSV / Tabular Transformer",
4
+ "description": "Reshape and convert tabular data from one schema to another: rename and reorder columns, split or merge fields, derive new columns, pivot/unpivot, change format (CSV<->JSON<->TSV), and filter rows. Locks the input and target schema and the field-by-field mapping FIRST (so the transform is a contract, not guesswork), then builds the transform and emits the output, then verifies row counts and a sample mapping. Use this for reshaping a CSV, converting data formats, remapping columns, flattening JSON to a table, or reformatting an export for another tool.\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. Scope the schema mapping (planner) — lock the input schema, target schema, and field-by-field mapping → gated on artifact `{{workPath}}/schema-scope.md` (markdown-notes)\n2. Build the transform (developer) — apply the mapping and emit the target file → gated on `data/output.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": "schema-scope",
6
+ "triggers": [
7
+ "reshape a csv",
8
+ "convert csv to json",
9
+ "remap columns",
10
+ "transform tabular data",
11
+ "reformat a data export"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "schema-scope",
16
+ "name": "Scope the schema mapping",
17
+ "description": "lock the input schema, target schema, and field-by-field mapping",
18
+ "prompt": "Define the transform contract before writing any code. Step 1: document the INPUT schema (columns, types, format/delimiter) from a sample of the source. Step 2: document the TARGET schema (columns, types, order, output format). Step 3: write the field-by-field mapping table: each target column = which source column(s) and the transform (rename, cast, split on delimiter, concatenate, derive via formula, constant). Step 4: define row-level rules — filters to apply, dedup, how to handle missing source values, and pivot/unpivot if the shape changes. Step 5: write an acceptance-criteria checklist ('output has exactly the target columns in order', 'output parses in the target format', 'row count matches the filter rule', 'a sampled row maps correctly end-to-end', 'no data type errors'). Call write_task_note and write the mapping table + rules + checklist to {{workPath}}/schema-scope.md.\n\nThe deliverable `{{workPath}}/schema-scope.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.",
19
+ "suggestedRole": "planner",
20
+ "advanceWhen": {
21
+ "file": "{{workPath}}/schema-scope.md",
22
+ "minBytes": 1,
23
+ "sniff": "nonempty",
24
+ "artifact": true
25
+ },
26
+ "gate": {
27
+ "at": "completion",
28
+ "checks": [
29
+ {
30
+ "kind": "minBytes",
31
+ "file": "{{workPath}}/schema-scope.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "{{workPath}}/schema-scope.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "schema-scope",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "build"
46
+ },
47
+ {
48
+ "id": "build",
49
+ "name": "Build the transform",
50
+ "description": "apply the mapping and emit the target file",
51
+ "prompt": "Implement the transform exactly to the mapping table. Step 1: read the input with the correct delimiter/encoding. Step 2: apply each target column's rule in order (rename, cast, split/join, derive, constant); reshape (pivot/unpivot) if specified. Step 3: apply row filters and dedup; track rows-in vs rows-out and the reason for any drop. Step 4: write the output to data/output.csv (or the requested format/extension) with the target columns in the exact specified order and a header row. Step 5: ensure the output parses (valid CSV/JSON) and types are clean (no '1.0' where an int is expected). On a loop-back, fix only the named gaps. Call write_task_note with the path and rows-in/rows-out.",
52
+ "suggestedRole": "developer",
53
+ "advanceWhen": {
54
+ "file": "data/output.csv",
55
+ "minBytes": 1,
56
+ "sniff": "nonempty"
57
+ },
58
+ "gate": {
59
+ "at": "completion",
60
+ "checks": [
61
+ {
62
+ "kind": "minBytes",
63
+ "file": "data/output.csv",
64
+ "bytes": 120
65
+ },
66
+ {
67
+ "kind": "sniff",
68
+ "file": "data/output.csv",
69
+ "sniff": "data-table"
70
+ }
71
+ ],
72
+ "onReject": "build",
73
+ "maxAttempts": 4
74
+ },
75
+ "next": "evaluate"
76
+ },
77
+ {
78
+ "id": "evaluate",
79
+ "name": "Evaluate",
80
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
81
+ "prompt": "Open data/output.csv and verify it matches the schema-scope contract. Step 1: confirm it parses in the target format and has EXACTLY the target columns in the specified order. Step 2: re-count the rows and reconcile against input — the count must equal input rows after the documented filter/dedup, with the delta explained. Step 3: pick 3 source rows and trace them through the mapping by hand to confirm each target field is correct end-to-end. Step 4: scan for type errors (e.g. '1.0' where an int is expected) and stray nulls the mapping didn't intend. Write PASS/FAIL per criterion; any FAIL loops back to build.\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: \"build\" })` 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.",
82
+ "suggestedRole": "reviewer",
83
+ "consumes": [
84
+ {
85
+ "file": "data/output.csv"
86
+ }
87
+ ],
88
+ "next": "build"
89
+ },
90
+ {
91
+ "id": "finish",
92
+ "name": "Finish",
93
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
94
+ "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.",
95
+ "suggestedRole": "developer",
96
+ "terminal": true
97
+ }
98
+ ],
99
+ "version": "1.2.3",
100
+ "releasedAt": "2026-08-21T00:00:00Z",
101
+ "paramSchema": {
102
+ "type": "object",
103
+ "properties": {
104
+ "workPath": {
105
+ "type": "string",
106
+ "title": "Working folder",
107
+ "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.",
108
+ "default": "{{task.dir}}"
109
+ }
110
+ }
111
+ },
112
+ "minGezelVersion": "1.26233"
113
+ }