@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,135 @@
1
+ {
2
+ "id": "chapter-narration-run",
3
+ "name": "Narrate a Chapter",
4
+ "description": "Take one chapter from manuscript to narrated audio, deliberately: a narration script with pronunciations and pauses marked before anything renders, the audio driven through the project's narration capabilities with a run log, and a listen-check against the text — no skipped paragraphs, no mangled names. Locks the chapter and the style sheet FIRST (voice, pace, every proper noun's pronunciation), then preps the script, then renders, then checks coverage. Use for narrating a chapter, audiobook recording runs, text-to-speech passes, and 'read chapter two aloud'.\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 chapter (producer) — chapter locked, style sheet read, pronunciation list built → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Prep the narration script (copywriter) — the chapter as a marked-up narration script\n3. Render the audio (developer) — the chapter rendered to audio with its run log\n4. Listen-check and report (reviewer) — coverage and name check against the manuscript, run report → gated on artifact `{{workPath}}/report.md` (markdown-report)\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
+ "narrate the chapter",
8
+ "record chapter two",
9
+ "render the narration",
10
+ "audiobook chapter run",
11
+ "read the chapter aloud"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the chapter",
17
+ "description": "chapter locked, style sheet read, pronunciation list built",
18
+ "prompt": "Define the narration run before prepping a word. Step 1: identify the chapter being narrated and read it end to end from the manuscript under manuscript/. Step 2: read the narration style sheet at narration/style.md — the voice, the pace, the pause conventions — and treat it as law for this run. Step 3: build the pronunciation list — every proper noun and unusual name in the chapter, each with its pronunciation from the style sheet; for any name the style sheet does not cover, propose a pronunciation and flag it for the owner rather than letting the render guess. Step 4: write an acceptance-criteria checklist ('narration script covers the full chapter, nothing skipped', 'every listed name carries pronunciation markup', 'pauses marked per the style sheet', 'rendered through the project's narration script via run_installed_script with a status-ok log', 'listen-check confirms coverage and names'). Call write_task_note with the chapter, the pronunciation-list size + 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": "producer",
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": "prep"
46
+ },
47
+ {
48
+ "id": "prep",
49
+ "name": "Prep the narration script",
50
+ "description": "the chapter as a marked-up narration script",
51
+ "prompt": "Turn the chapter into the script the narration engine reads. Step 1: carry the chapter's full text into a narration script at narration/scripts/, named for the chapter — every paragraph present, in order, nothing summarized away; a narration script is the text plus markup, never a digest. Step 2: mark it up per the style sheet — pronunciation markup on every name from the locked list at its first occurrence, pause marks at scene breaks and where the prose needs air, and any pace notes the style sheet calls for. Step 3: re-read against the manuscript once, checking coverage paragraph by paragraph. Call write_task_note with the script path, its word count, and the count of pronunciation marks placed.",
52
+ "suggestedRole": "copywriter",
53
+ "next": "render"
54
+ },
55
+ {
56
+ "id": "render",
57
+ "name": "Render the audio",
58
+ "description": "the chapter rendered to audio with its run log",
59
+ "prompt": "Render the narration. Step 1: the narration engine is a project script — call list_scripts to find it, then run it with run_installed_script({ name: \"<script name>\" }); never run it with run_nodejs_script and never reimplement it. It reads the narration script from narration/scripts/, writes the chapter's audio into audio/ named for the chapter, and writes a run log beside it as JSON with a status field and the word count it processed. Step 2: if run_installed_script reports an error or the log flags names it could not resolve, read the error text, fix the script's markup, and run it again — never write the audio or its log yourself; the log is evidence the engine ran. Step 3: once it succeeds, read the log and confirm status ok and a word count in line with the script's. Call write_task_note with the audio path, the log's word count, and anything the log flagged.",
60
+ "suggestedRole": "developer",
61
+ "next": "report"
62
+ },
63
+ {
64
+ "id": "report",
65
+ "name": "Listen-check and report",
66
+ "description": "coverage and name check against the manuscript, run report",
67
+ "prompt": "Check the render against the text, then write the run report. Step 1: verify coverage — the log's word count against the script's, and the script's paragraphs against the manuscript's; a skipped paragraph is the failure this ritual exists to catch. Step 2: verify the names — every pronunciation from the locked list was marked in the script and none were flagged unresolved by the run log. Step 3: write {{workPath}}/report.md — the chapter, the audio path and duration or word count from the log, the coverage result stated plainly, the pronunciation check result name by name, and anything flagged for the owner (proposed pronunciations awaiting approval, spots worth a human listen). Call write_task_note with the report path and the coverage verdict.\n\nThe deliverable `{{workPath}}/report.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.",
68
+ "suggestedRole": "reviewer",
69
+ "advanceWhen": {
70
+ "file": "{{workPath}}/report.md",
71
+ "minBytes": 1,
72
+ "sniff": "nonempty",
73
+ "artifact": true
74
+ },
75
+ "gate": {
76
+ "at": "completion",
77
+ "checks": [
78
+ {
79
+ "kind": "minBytes",
80
+ "file": "{{workPath}}/report.md",
81
+ "bytes": 600,
82
+ "artifact": true
83
+ },
84
+ {
85
+ "kind": "contains",
86
+ "file": "{{workPath}}/report.md",
87
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
88
+ "flags": "i",
89
+ "label": "at least one markdown heading",
90
+ "artifact": true
91
+ }
92
+ ],
93
+ "onReject": "report",
94
+ "maxAttempts": 4
95
+ },
96
+ "next": "evaluate"
97
+ },
98
+ {
99
+ "id": "evaluate",
100
+ "name": "Evaluate",
101
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
102
+ "prompt": "Open {{workPath}}/report.md, the run log in audio/, the narration script in narration/scripts/, and the manuscript chapter and verify every criterion from {{workPath}}/scope.md: the script covers the full chapter with nothing skipped, every locked name carries pronunciation markup, the log reports status ok with a word count consistent with the script, and the report states the coverage and name-check results honestly. Write PASS/FAIL per criterion; on any failure, name the gap and loop back to report — or to prep if the script itself is the problem.\n\nThe deliverable lives in the project's artifacts drawer — open `{{workPath}}/report.md` with `read_artifact`, not `read_file`.\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: \"report\" })` 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.",
103
+ "suggestedRole": "reviewer",
104
+ "consumes": [
105
+ {
106
+ "file": "{{workPath}}/report.md",
107
+ "artifact": true
108
+ }
109
+ ],
110
+ "next": "report"
111
+ },
112
+ {
113
+ "id": "finish",
114
+ "name": "Finish",
115
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
116
+ "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.",
117
+ "suggestedRole": "developer",
118
+ "terminal": true
119
+ }
120
+ ],
121
+ "version": "1.0.3",
122
+ "releasedAt": "2026-08-21T00:00:00Z",
123
+ "paramSchema": {
124
+ "type": "object",
125
+ "properties": {
126
+ "workPath": {
127
+ "type": "string",
128
+ "title": "Working folder",
129
+ "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.",
130
+ "default": "{{task.dir}}"
131
+ }
132
+ }
133
+ },
134
+ "minGezelVersion": "1.26233"
135
+ }
@@ -0,0 +1,158 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Narrate a Chapter smoke eval",
4
+ "objective": "Task-specific eval for the Narrate a Chapter craftbook: chapter two (three tricky Irish and Scottish names) is prepped into a marked-up narration script, rendered through the fake narration engine, and listen-checked — with the name missing from the style sheet flagged, not guessed.",
5
+ "tags": [
6
+ "external"
7
+ ],
8
+ "prompt": "can you narrate chapter 2 with the fake voice engine thats wired up? watch the character names, the pronounciations trip everyone up",
9
+ "setup": {
10
+ "projectName": "Audiobook Studio — Chapter Narration Eval",
11
+ "about": "Self-contained eval project for chapter-narration-run. The manuscript chapter is manuscript/chapter-02.md and the narration style sheet is narration/style.md (markup conventions plus the pronunciations on file). The narration script goes to narration/scripts/chapter-02-script.md; the fake narration engine is the ready-made mock-probe project script — it reads every script under narration/scripts/ and writes audio/chapter-02.wav plus audio/chapter-02-log.json. The listen-check report goes to tasks/eval/report.md.",
12
+ "missionObjectives": "Use the Narrate a Chapter craftbook/template, prep the full chapter into a marked-up narration script per the style sheet, render through the provided mock-probe script, and listen-check coverage and names in tasks/eval/report.md. Names not on the style sheet get a proposed pronunciation flagged for the owner, never guessed silently. No real narration engines or services — only the wired fake.",
13
+ "files": [
14
+ {
15
+ "path": "manuscript/chapter-02.md",
16
+ "content": "# Chapter Two - The Ferry at Dusk\n\nSaoirse counted the coins twice before sliding them across the worn brass\nplate. The ferryman did not look up. Behind her, the harbor lamps were\ncoming on one by one, and the gulls had gone quiet the way they always did\njust before the tide turned.\n\n\"Two for the crossing,\" she said. \"One of us is a dog.\"\n\nThe ferryman looked up then. Tadhg, to his credit, sat very straight and\ntried to look like a dog with a ticket. The wind came off the water smelling\nof iron and kelp, and somewhere out past the breakwater a bell buoy kept its\nslow, patient time.\n\nThey had been walking since the morning of the second day, since the door\nin the sea wall that should not have opened and did. Saoirse had stopped\nasking how Tadhg knew the way. He knew it the way water knows downhill.\n\nEilidh was waiting on the far shore. That was the whole of the plan, and\nsaying it out loud made it sound even thinner than it was. Eilidh, who had\nsent one letter in four years, in handwriting that got smaller with every\nline, as if the words were trying to hide. Eilidh, who signed it only with\nthe old mark they had invented under the school stairs, the one that meant\ncome anyway.\n\nThe ferry moved off with no sound but the water folding along its sides.\nSaoirse kept her eyes on the far shore lights and her hand on the warm\nscruff of Tadhg's neck.\n\n\"When we get there,\" she said quietly, \"let me do the talking.\"\n\nTadhg said nothing, which from Tadhg was a whole opinion.\n\nThe crossing took the length of one slow bell. When the hull touched the\nfar dock, the lamps went out all at once, every one of them, as if the\nshore had drawn a breath. And there, at the end of the dock, stood a small\nfigure with a lantern, handwriting-small against the dark.\n\n\"You came anyway,\" said Eilidh.\n"
17
+ },
18
+ {
19
+ "path": "narration/style.md",
20
+ "content": "# Narration style sheet\n\nVoice: warm, unhurried, close to the listener. Evening-reading pace,\nabout 150 words a minute. Let the quiet moments stay quiet.\n\nMarkup conventions for narration scripts:\n- Pronunciation: mark a name at its first occurrence as [pron: Name = SOUNDS-like].\n- Pauses: [pause] at scene breaks and wherever the prose needs air.\n- Pace: [slow] ... [/slow] around passages to be read deliberately.\n\nPronunciations on file:\n- [pron: Saoirse = SEER-sha]\n- [pron: Tadhg = TIGE] (rhymes with tiger without the r)\n\nAny name not on this list gets a proposed pronunciation flagged for the\nowner before the render - the engine must never guess.\n"
21
+ }
22
+ ],
23
+ "worker": {
24
+ "name": "Lot",
25
+ "role": "Producer"
26
+ },
27
+ "craftbookParams": {
28
+ "workPath": "tasks/eval"
29
+ }
30
+ },
31
+ "mocks": [
32
+ {
33
+ "kind": "cli",
34
+ "id": "probe",
35
+ "description": "Provenance-trusted project script `mock-probe` that runs the fake narration engine: reads the narration scripts under narration/scripts/ and writes the stub wav plus a run log per chapter into audio/.",
36
+ "shim": {
37
+ "path": "scripts/mock-probe.ts",
38
+ "content": "import { defineScript, gezel } from '@bendyline/gezel-sdk';\n\nexport const meta = defineScript({\n name: 'mock-probe',\n description:\n 'Fake narration engine for this eval: reads every narration script under narration/scripts/, then writes a stub wav per chapter into audio/ plus a run log with the word count and the pronunciation-mark count.',\n inputs: {},\n outputs: {\n runs: { type: 'string', description: 'JSON array of run logs, one per narration script rendered.' },\n },\n requires: ['workspace.read', 'workspace.write'],\n});\n\nconst entries = await gezel.fs.list('narration/scripts');\nconst scripts = entries.filter((entry) => !entry.isDirectory && entry.name.endsWith('-script.md'));\nif (scripts.length === 0) {\n throw new Error('no narration script found under narration/scripts, expected <chapter>-script.md');\n}\nconst results = [];\nfor (const entry of scripts) {\n const path = `narration/scripts/${entry.name}`;\n const text = await gezel.fs.read(path);\n const slug = entry.name.replace(/-script\\.md$/, '');\n const wordCount = text.split(/\\s+/).filter((word) => word.length > 0).length;\n const pronunciationMarks = (text.match(/\\[pron:/g) ?? []).length;\n if (wordCount < 50) {\n throw new Error(`narration script ${path} is too short to be a full chapter (${wordCount} words)`);\n }\n const log = { status: 'ok', engine: 'mock-tts', script: path, wordCount, pronunciationMarks };\n await gezel.fs.write(`audio/${slug}.wav`, `MOCKWAV ${slug} stub\\n${'0'.repeat(2048)}\\n`);\n await gezel.fs.write(`audio/${slug}-log.json`, `${JSON.stringify(log, null, 2)}\\n`);\n results.push(log);\n}\ngezel.output({ runs: JSON.stringify(results) });\n"
39
+ }
40
+ }
41
+ ],
42
+ "success": {
43
+ "summary": "The narration script covers the full chapter with pronunciation and pause markup, the fake engine produced the wav and a status-ok log, and the report states coverage and flags Eilidh (absent from the style sheet) with a proposal.",
44
+ "deliverables": [
45
+ {
46
+ "path": "narration/scripts/chapter-02-script.md",
47
+ "kind": "markdown-doc",
48
+ "minBytes": 1000,
49
+ "checks": [
50
+ {
51
+ "kind": "contains",
52
+ "file": "narration/scripts/chapter-02-script.md",
53
+ "pattern": "\\[pron:",
54
+ "label": "pronunciation markup is present"
55
+ },
56
+ {
57
+ "kind": "contains",
58
+ "file": "narration/scripts/chapter-02-script.md",
59
+ "pattern": "\\[pause\\]",
60
+ "label": "pause marks are placed"
61
+ },
62
+ {
63
+ "kind": "valuesSubsetOf",
64
+ "file": "narration/scripts/chapter-02-script.md",
65
+ "sourceFiles": [
66
+ "manuscript/chapter-02.md"
67
+ ],
68
+ "pattern": "\\[pron:\\s*([A-Za-z]+)",
69
+ "label": "every pronunciation mark names a character from the manuscript"
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "path": "audio/chapter-02.wav",
75
+ "kind": "audio-file",
76
+ "minBytes": 500
77
+ },
78
+ {
79
+ "path": "audio/chapter-02-log.json",
80
+ "kind": "json",
81
+ "checks": [
82
+ {
83
+ "kind": "jsonPathEquals",
84
+ "file": "audio/chapter-02-log.json",
85
+ "path": "status",
86
+ "value": "ok",
87
+ "label": "the narration run log reports status ok"
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "path": "tasks/eval/report.md",
93
+ "kind": "markdown-report",
94
+ "minBytes": 400,
95
+ "checks": [
96
+ {
97
+ "kind": "contains",
98
+ "file": "tasks/eval/report.md",
99
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
100
+ "flags": "i"
101
+ },
102
+ {
103
+ "kind": "contains",
104
+ "file": "tasks/eval/report.md",
105
+ "pattern": "coverage|complete|skipped",
106
+ "flags": "i",
107
+ "label": "a coverage claim is made"
108
+ },
109
+ {
110
+ "kind": "contains",
111
+ "file": "tasks/eval/report.md",
112
+ "pattern": "Eilidh",
113
+ "label": "the name missing from the style sheet is addressed"
114
+ },
115
+ {
116
+ "kind": "judge",
117
+ "file": "tasks/eval/report.md",
118
+ "rubric": "The report flags Eilidh as absent from the style sheet with a proposed pronunciation awaiting the owner rather than a silent guess, and its coverage claim is consistent with the run log's word count and the script.",
119
+ "sourceFiles": [
120
+ "narration/style.md",
121
+ "audio/chapter-02-log.json"
122
+ ],
123
+ "label": "flagged, never guessed"
124
+ }
125
+ ]
126
+ }
127
+ ]
128
+ },
129
+ "rubric": {
130
+ "artifact": {
131
+ "path": "tasks/eval/report.md",
132
+ "kind": "markdown"
133
+ },
134
+ "axes": [
135
+ {
136
+ "name": "pronunciation-care",
137
+ "description": "Every tricky name is marked at first occurrence; the unlisted one is flagged with a proposal."
138
+ },
139
+ {
140
+ "name": "pacing-markup",
141
+ "description": "Pauses and pace marks follow the style sheet where the prose needs air."
142
+ },
143
+ {
144
+ "name": "qa-rigor",
145
+ "description": "Coverage is verified against the manuscript, not assumed."
146
+ },
147
+ {
148
+ "name": "fidelity",
149
+ "description": "The script is the full chapter text, nothing summarized away."
150
+ }
151
+ ]
152
+ },
153
+ "qualityFocus": [
154
+ "full-text coverage",
155
+ "pronunciation flagged not guessed",
156
+ "run-log grounding"
157
+ ]
158
+ }
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "chapter-weave",
5
5
  "role": "general",
6
+ "category": "writing",
6
7
  "name": "Weave a Chapter",
7
8
  "description": "Weave the banked sessions into one memoir chapter in the teller's voice: every scene traceable to something actually said, gaps marked for a future session instead of invented — the ritual that turns interviews into a book. Locks the chapter's arc and the no-invention rules FIRST, then drafts from session material only, with a faithfulness pass that loops until every detail traces. Use for drafting a memoir chapter, weaving sessions into a story, and 'turn the interviews into a chapter'.",
8
9
  "tags": [
@@ -0,0 +1,86 @@
1
+ {
2
+ "id": "chapter-weave",
3
+ "name": "Weave a Chapter",
4
+ "description": "Weave the banked sessions into one memoir chapter in the teller's voice: every scene traceable to something actually said, gaps marked for a future session instead of invented — the ritual that turns interviews into a book. Locks the chapter's arc and the no-invention rules FIRST, then drafts from session material only, with a faithfulness pass that loops until every detail traces. Use for drafting a memoir chapter, weaving sessions into a story, and 'turn the interviews into a chapter'.\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 chapter (editor) — chapter arc from the sessions, no-invention rules, target file → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Draft the chapter (writer) — the woven chapter under chapters/, session material only\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
+ "weave the sessions into a chapter",
8
+ "draft a memoir chapter",
9
+ "turn the interviews into a chapter",
10
+ "write the next chapter",
11
+ "chapter from the sessions"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the chapter",
17
+ "description": "chapter arc from the sessions, no-invention rules, target file",
18
+ "prompt": "Choose the chapter before writing a line. Step 1: read every session file under sessions/ (and sessions.json for the index) — what themes recur, which sessions overlap, and where the material is thick enough to hold a chapter. Step 2: pick the chapter's arc with the owner — the span of time or the thread of feeling it covers, and where it opens and closes. Step 3: lock the weaving rules: no invented events — every scene traces to something actually said; the teller's phrasings survive the prose; where sessions contradict each other, the contradiction is surfaced, not silently resolved; where the record has a hole, the gap is marked inline for a future session, never papered over. Step 4: write the acceptance-criteria checklist from those rules, name the chapter file under chapters/ (the path the owner asks for, or chapters/<slug>.md named for the arc), and call write_task_note with the arc + checklist. 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": "editor",
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": "draft"
46
+ },
47
+ {
48
+ "id": "draft",
49
+ "name": "Draft the chapter",
50
+ "description": "the woven chapter under chapters/, session material only",
51
+ "prompt": "Weave the chapter from session material only. Step 1: gather every passage across the sessions that belongs to the locked arc. Step 2: write the chapter in the teller's voice — their rhythms, their words for things — with the narrative connective tissue kept thin and honest. Step 3: where the teller told it two ways, keep both tellings visible ('she remembered it as...; in another telling...'). Step 4: where the arc needs something the sessions never said, mark the gap inline — [gap: ask about ...] — and move on. Step 5: save the chapter under chapters/ at the path locked in scope, make it substantial (a real chapter, not an outline), and call write_task_note with the word count and the gap count.",
52
+ "suggestedRole": "writer",
53
+ "next": "evaluate"
54
+ },
55
+ {
56
+ "id": "evaluate",
57
+ "name": "Evaluate",
58
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
59
+ "prompt": "Open the chapter under chapters/ beside every session file it draws on, and verify every criterion from {{workPath}}/scope.md: pick five concrete events or details in the chapter and find each one in a session file — any detail with no source is invented and fails the whole pass; the teller's phrasings survive (spot-check three passages); contradictions between sessions are surfaced in the text, not resolved silently; gaps are marked inline, not smoothed over. Write PASS/FAIL per criterion; on any failure, name the invented detail or missed criterion and loop back to draft.\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: \"draft\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. If you advance without a target, the loop sends you back by design. After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
60
+ "suggestedRole": "reviewer",
61
+ "next": "draft"
62
+ },
63
+ {
64
+ "id": "finish",
65
+ "name": "Finish",
66
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
67
+ "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.",
68
+ "suggestedRole": "developer",
69
+ "terminal": true
70
+ }
71
+ ],
72
+ "version": "1.0.2",
73
+ "releasedAt": "2026-08-21T00:00:00Z",
74
+ "paramSchema": {
75
+ "type": "object",
76
+ "properties": {
77
+ "workPath": {
78
+ "type": "string",
79
+ "title": "Working folder",
80
+ "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.",
81
+ "default": "{{task.dir}}"
82
+ }
83
+ }
84
+ },
85
+ "minGezelVersion": "1.26233"
86
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Weave a Chapter — the bakery years",
4
+ "objective": "Measure whether the chapter-weave craftbook drafts a memoir chapter built only from session material, surfacing the sessions' contradiction and marking gaps instead of inventing.",
5
+ "tags": [
6
+ "corpus"
7
+ ],
8
+ "prompt": "can you weave the three bakery sessions into a chapter? theyre in sessions/ — draft to chapters/chapter-04.md",
9
+ "setup": {
10
+ "projectName": "Mam's Memoir",
11
+ "about": "Memoir studio project capturing Els's life story. Banked sessions live under workspace/sessions; drafted chapters go under workspace/chapters. The tellers' words are the only source material.",
12
+ "missionObjectives": "Turn the banked sessions into book chapters in the teller's voice: every scene traceable to something actually said, contradictions surfaced, gaps marked for a future session. No live services, no real credentials.",
13
+ "files": [
14
+ {
15
+ "path": "sessions/2026-05-14-session.md",
16
+ "content": "# Session — 2026-05-14 — taking over the bakery\n\nTeller: Els. Interviewer: Jip.\n\nWe took over the bakery on the Vissersdijk in 1978. Your father signed the papers with flour already on his sleeves, that is how sure he was. I was twenty-six and I had never once seen four o'clock in the morning.\n\nThe front of the shop was ice until the ovens caught up. Cold, then warm — that was the whole day. I kneaded with my coat on until six. The smell of the first proof is the smell I will want on my last day. Yeast and warm linen.\n\nThe harbor men came at five thirty, before anyone else was awake. They never spoke before the first roll, not one word, and I learned not to speak either. Mrs. Terpstra came every Thursday for the raisin loaf and paid in coins she counted twice.\n\n[Jip's note: she got up mid-session to find the shop bell in the box under the stairs. Held it the rest of the hour.]\n"
17
+ },
18
+ {
19
+ "path": "sessions/2026-06-02-session.md",
20
+ "content": "# Session — 2026-06-02 — the strike year\n\nTeller: Els. Interviewer: Jip.\n\nThe strike year was bad. I will not dress it up. Nineteen eighty-four, the flour price doubled in one season and we did not sleep for the mathematics of it. Your father wanted to sell. I said the ovens stay lit.\n\nI took in mending in the afternoons so they could stay lit. Nobody in the town knew. I did the mending in the back room with the curtain closed, and I hid the sewing basket in the flour store when customers came through to the back. Mrs. Terpstra nearly caught me twice.\n\nYou were four that year. You slept in the flour sacks like a cat. The customers asked after you like you were part of the inventory.\n\nWhat I remember best from the bad year is the morning your father hung the strike poster in the window and then baked for the strikers anyway, free, before dawn, so no one would see them take the bread. He never once called it charity. He called it keeping the ovens honest.\n"
21
+ },
22
+ {
23
+ "path": "sessions/2026-06-21-session.md",
24
+ "content": "# Session — 2026-06-21 — the shop, start to finish\n\nTeller: Els. Interviewer: Jip.\n\nWe opened the doors in the spring of 1979 — I remember because the tulip men still had their stalls out when we swept the front the first time. [Jip's note: session 1 says 1978; she was certain both times. Did the papers get signed in 1978 and the doors open later? Not resolved.]\n\nThe wedding cakes were my department. I made forty-one wedding cakes in twelve years. I counted, because each one went up in the window on the Friday and the whole street came to look. The one I never got to make was for my sister Riet. She called off the wedding two weeks before, and the fruit was already soaking. We ate the fruit at Christmas for three years and never once said what it was for.\n\nMy hands ended it, mostly. And the supermarket on the ring road, a little. We sold in 1990 to the Boonstra boy, who let it become a phone shop, which I have decided not to be bitter about. I kept the shop bell. When I shake it I am twenty-six again, cold then warm.\n"
25
+ }
26
+ ],
27
+ "worker": {
28
+ "name": "Vera",
29
+ "role": "Writer"
30
+ },
31
+ "craftbookParams": {
32
+ "workPath": "tasks/eval"
33
+ }
34
+ },
35
+ "mocks": [],
36
+ "success": {
37
+ "summary": "chapters/chapter-04.md is a substantial woven chapter in the teller's voice: events trace to the sessions, the 1978/1979 contradiction is surfaced rather than silently resolved, and gaps are marked inline.",
38
+ "deliverables": [
39
+ {
40
+ "path": "chapters/chapter-04.md",
41
+ "kind": "markdown-doc",
42
+ "minBytes": 2500,
43
+ "checks": [
44
+ {
45
+ "kind": "contains",
46
+ "file": "chapters/chapter-04.md",
47
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
48
+ "flags": "i"
49
+ },
50
+ {
51
+ "kind": "contains",
52
+ "file": "chapters/chapter-04.md",
53
+ "pattern": "\\[gap|ask about|another telling|she remembered it as",
54
+ "flags": "i",
55
+ "label": "gaps or contradictions marked on the page"
56
+ },
57
+ {
58
+ "kind": "judge",
59
+ "file": "chapters/chapter-04.md",
60
+ "rubric": "Every concrete event and detail in the chapter appears in one of the session files — nothing invented. The contradiction between the sessions about when the bakery opened is surfaced in the text, not silently resolved to one year.",
61
+ "sourceFiles": [
62
+ "sessions/2026-05-14-session.md",
63
+ "sessions/2026-06-02-session.md",
64
+ "sessions/2026-06-21-session.md"
65
+ ],
66
+ "label": "faithfulness to session material"
67
+ }
68
+ ]
69
+ }
70
+ ]
71
+ },
72
+ "rubric": {
73
+ "artifact": {
74
+ "path": "chapters/chapter-04.md",
75
+ "kind": "markdown"
76
+ },
77
+ "axes": [
78
+ {
79
+ "name": "faithfulness",
80
+ "description": "Every scene traces to something actually said in a session; no invented events, dates, or dialogue."
81
+ },
82
+ {
83
+ "name": "narrative craft",
84
+ "description": "The chapter has an arc and momentum — real prose, not stitched-together excerpts."
85
+ },
86
+ {
87
+ "name": "voice preservation",
88
+ "description": "The teller's phrasings survive — 'cold then warm', 'keeping the ovens honest' — rather than being paraphrased away."
89
+ },
90
+ {
91
+ "name": "gap honesty",
92
+ "description": "Holes and contradictions are visible on the page (gap marks, both tellings kept), never papered over."
93
+ }
94
+ ]
95
+ },
96
+ "qualityFocus": [
97
+ "no invented events",
98
+ "contradiction surfacing",
99
+ "teller's voice"
100
+ ]
101
+ }
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "character-sheet",
5
5
  "role": "general",
6
+ "category": "media",
6
7
  "name": "Character Sheet",
7
8
  "description": "Lock a character before the pages need them: reference images across the poses and expressions the story calls for, the palette and silhouette written down, and every seed and prompt persisted in a manifest — so page twelve's hero is page one's hero. Locks the character brief FIRST — silhouette, palette, expression and pose list — then generates the reference set with its manifest, then lays the contact sheet anyone can draw from. Use for character sheets, locking a character's look, reference sets before more pages, 'keep them looking the same', and building a comic's cast bible.",
8
9
  "tags": [
@@ -0,0 +1,94 @@
1
+ {
2
+ "id": "character-sheet",
3
+ "name": "Character Sheet",
4
+ "description": "Lock a character before the pages need them: reference images across the poses and expressions the story calls for, the palette and silhouette written down, and every seed and prompt persisted in a manifest — so page twelve's hero is page one's hero. Locks the character brief FIRST — silhouette, palette, expression and pose list — then generates the reference set with its manifest, then lays the contact sheet anyone can draw from. Use for character sheets, locking a character's look, reference sets before more pages, 'keep them looking the same', and building a comic's cast bible.\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. Write the character brief (tekenaar) — silhouette, palette, expression and pose list from the story → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Generate the reference set (image-generator) — pose and expression references, every seed and prompt persisted\n3. Lay the contact sheet (designer) — one page showing the set with palette, silhouette, and usage notes\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 character sheet",
8
+ "lock the character's look",
9
+ "reference images for the character",
10
+ "keep them looking the same",
11
+ "character bible page"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Write the character brief",
17
+ "description": "silhouette, palette, expression and pose list from the story",
18
+ "prompt": "Pin the character down in words before a single image. Step 1: read the story notes in the workspace and the owner's ask — who this character is, what they do in the pages, and any look already established. Step 2: write the identity spec — the silhouette in one sentence (the shape you'd know in shadow), the palette as a short list of specific colors, the two or three features that make them THEM, and what they would never look like. Step 3: list the poses and expressions the pages actually need — at least four (a neutral standing turn, an action pose, and the emotional beats the story calls for). Step 4: write an acceptance-criteria checklist ('at least four references covering the pose and expression list', 'every reference recorded in the manifest with its seed and prompt', 'palette and silhouette written on the sheet', 'the manifest lists only files that really exist'). Call write_task_note with the character name + pose list + 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": "tekenaar",
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": "generate"
46
+ },
47
+ {
48
+ "id": "generate",
49
+ "name": "Generate the reference set",
50
+ "description": "pose and expression references, every seed and prompt persisted",
51
+ "prompt": "Build the reference set under characters/<name>/ (lowercase folder named for the character). Step 1: generate each reference through the project's image capabilities — one image per pose or expression on the brief's list, at least four, every one honoring the identity spec (silhouette, palette, signature features), saved as characters/<name>/ref-<pose>.png. Step 2: persist the manifest at characters/<name>/sheet.json as a top-level JSON array with EXACTLY one record per reference and exactly these fields: \"pose\" (which pose or expression it is), \"file\" (the workspace-relative path, e.g. characters/pip/ref-sit.png), \"seed\" (the seed that made it), and \"prompt\" (the full prompt used). The seeds and prompts ARE the character's reproducibility — a reference without them cannot be drawn again. Step 3: re-list the folder and check the manifest against it — every file listed exists, every image generated is listed. Call write_task_note with the reference count and the manifest path.",
52
+ "suggestedRole": "image-generator",
53
+ "next": "sheet"
54
+ },
55
+ {
56
+ "id": "sheet",
57
+ "name": "Lay the contact sheet",
58
+ "description": "one page showing the set with palette, silhouette, and usage notes",
59
+ "prompt": "Lay the contact sheet at characters/<name>/sheet.html — the one page a future artist opens before drawing this character. Step 1: show every reference from the manifest with its pose label. Step 2: write the identity spec onto the sheet — the palette as labeled swatches with color values, the silhouette line, the signature features, and the never-looks-like notes. Step 3: add the usage notes — which reference anchors which kind of panel, and where the seeds and prompts live for regenerating. Step 4: keep it one self-contained file with honest styling — this page gets opened for the life of the book. Call write_task_note with the sheet path.",
60
+ "suggestedRole": "designer",
61
+ "next": "evaluate"
62
+ },
63
+ {
64
+ "id": "evaluate",
65
+ "name": "Evaluate",
66
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
67
+ "prompt": "Open the character's folder under characters/ and verify every criterion from {{workPath}}/scope.md: at least four references exist covering the brief's pose and expression list; the manifest lists every reference with its pose, file, seed, and prompt — cross-check the file paths against the actual folder listing in both directions, a manifest that lies is the classic failure; the contact sheet shows the set with the palette, silhouette, and usage notes written down; and the whole kit would let a stranger draw this character the same way next month. Write PASS/FAIL per criterion; on any failure, name the reference or the gap and loop back to generate.\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: \"generate\" })` 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.",
68
+ "suggestedRole": "reviewer",
69
+ "next": "generate"
70
+ },
71
+ {
72
+ "id": "finish",
73
+ "name": "Finish",
74
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
75
+ "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.",
76
+ "suggestedRole": "developer",
77
+ "terminal": true
78
+ }
79
+ ],
80
+ "version": "1.0.2",
81
+ "releasedAt": "2026-08-21T00:00:00Z",
82
+ "paramSchema": {
83
+ "type": "object",
84
+ "properties": {
85
+ "workPath": {
86
+ "type": "string",
87
+ "title": "Working folder",
88
+ "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.",
89
+ "default": "{{task.dir}}"
90
+ }
91
+ }
92
+ },
93
+ "minGezelVersion": "1.26233"
94
+ }