@bendyline/gilde 0.1.27 → 0.1.28

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 (558) hide show
  1. package/authoring/gstack/evals/investigate.json +1 -0
  2. package/authoring/gstack/evals/plan-ceo-review.json +1 -0
  3. package/authoring/gstack/wave.json +2 -2
  4. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.1/craftbook.json +141 -0
  5. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.1/test.json +115 -0
  6. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.1/craftbook.json +141 -0
  7. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.1/test.json +186 -0
  8. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.1/craftbook.json +110 -0
  9. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.1/test.json +97 -0
  10. package/data/craftbook-templates/ad/ad-variations/versions/1.0.1/craftbook.json +105 -0
  11. package/data/craftbook-templates/ad/ad-variations/versions/1.0.1/test.json +108 -0
  12. package/data/craftbook-templates/al/album-curate/versions/1.0.1/craftbook.json +115 -0
  13. package/data/craftbook-templates/al/album-curate/versions/1.0.1/test.json +147 -0
  14. package/data/craftbook-templates/al/alert-rules/versions/1.0.1/craftbook.json +101 -0
  15. package/data/craftbook-templates/al/alert-rules/versions/1.0.1/test.json +145 -0
  16. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.1/craftbook.json +142 -0
  17. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.1/test.json +97 -0
  18. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.3/craftbook.json +226 -0
  19. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.3/test.json +157 -0
  20. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.1/craftbook.json +146 -0
  21. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.1/test.json +102 -0
  22. package/data/craftbook-templates/an/annual-document-review/versions/1.0.1/craftbook.json +140 -0
  23. package/data/craftbook-templates/an/annual-document-review/versions/1.0.1/test.json +110 -0
  24. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.1/craftbook.json +141 -0
  25. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.1/test.json +120 -0
  26. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.1/craftbook.json +141 -0
  27. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.1/test.json +115 -0
  28. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.1/craftbook.json +158 -0
  29. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.1/test.json +136 -0
  30. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.1/craftbook.json +129 -0
  31. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.1/test.json +103 -0
  32. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.1/craftbook.json +123 -0
  33. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.1/test.json +103 -0
  34. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.3/craftbook.json +210 -0
  35. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.3/test.json +221 -0
  36. package/data/craftbook-templates/au/auth-flow/versions/1.0.1/craftbook.json +148 -0
  37. package/data/craftbook-templates/au/auth-flow/versions/1.0.1/test.json +140 -0
  38. package/data/craftbook-templates/au/automation-recipe/versions/1.0.1/craftbook.json +164 -0
  39. package/data/craftbook-templates/au/automation-recipe/versions/1.0.1/test.json +296 -0
  40. package/data/craftbook-templates/ba/backup-routine/versions/1.0.1/craftbook.json +148 -0
  41. package/data/craftbook-templates/ba/backup-routine/versions/1.0.1/test.json +108 -0
  42. package/data/craftbook-templates/bl/blog-post/versions/1.0.1/craftbook.json +143 -0
  43. package/data/craftbook-templates/bl/blog-post/versions/1.0.1/test.json +118 -0
  44. package/data/craftbook-templates/bo/board-deck/versions/1.0.1/craftbook.json +141 -0
  45. package/data/craftbook-templates/bo/board-deck/versions/1.0.1/test.json +100 -0
  46. package/data/craftbook-templates/bo/board-game-web/versions/1.0.1/craftbook.json +150 -0
  47. package/data/craftbook-templates/bo/board-game-web/versions/1.0.1/test.json +99 -0
  48. package/data/craftbook-templates/bo/booking-automation/versions/1.0.1/craftbook.json +158 -0
  49. package/data/craftbook-templates/bo/booking-automation/versions/1.0.1/test.json +162 -0
  50. package/data/craftbook-templates/br/branding-website/versions/1.1.1/craftbook.json +211 -0
  51. package/data/craftbook-templates/br/branding-website/versions/1.1.1/test.json +164 -0
  52. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.1/craftbook.json +107 -0
  53. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.1/test.json +103 -0
  54. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.3/craftbook.json +417 -0
  55. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.3/test.json +376 -0
  56. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.2/craftbook.json +164 -0
  57. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.2/test.json +92 -0
  58. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.1/craftbook.json +107 -0
  59. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.1/test.json +102 -0
  60. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.1/craftbook.json +110 -0
  61. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.1/test.json +106 -0
  62. package/data/craftbook-templates/ca/case-study/versions/1.0.1/craftbook.json +143 -0
  63. package/data/craftbook-templates/ca/case-study/versions/1.0.1/test.json +112 -0
  64. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.1/craftbook.json +151 -0
  65. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.1/test.json +105 -0
  66. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.1/craftbook.json +113 -0
  67. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.1/test.json +106 -0
  68. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.1/craftbook.json +107 -0
  69. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.1/test.json +129 -0
  70. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.2/craftbook.json +123 -0
  71. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.2/test.json +155 -0
  72. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.1/craftbook.json +74 -0
  73. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.1/test.json +98 -0
  74. package/data/craftbook-templates/ch/character-sheet/versions/1.0.1/craftbook.json +82 -0
  75. package/data/craftbook-templates/ch/character-sheet/versions/1.0.1/test.json +143 -0
  76. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.1/craftbook.json +121 -0
  77. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.1/test.json +178 -0
  78. package/data/craftbook-templates/ch/chart-pack/versions/1.0.1/craftbook.json +148 -0
  79. package/data/craftbook-templates/ch/chart-pack/versions/1.0.1/test.json +104 -0
  80. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.1/craftbook.json +148 -0
  81. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.1/test.json +97 -0
  82. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.1/craftbook.json +132 -0
  83. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.1/test.json +162 -0
  84. package/data/craftbook-templates/ci/citation-audit/versions/1.0.1/craftbook.json +146 -0
  85. package/data/craftbook-templates/ci/citation-audit/versions/1.0.1/test.json +149 -0
  86. package/data/craftbook-templates/cl/cli-tool/versions/1.1.1/craftbook.json +147 -0
  87. package/data/craftbook-templates/cl/cli-tool/versions/1.1.1/test.json +128 -0
  88. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.1/craftbook.json +153 -0
  89. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.1/test.json +116 -0
  90. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.1/craftbook.json +153 -0
  91. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.1/test.json +119 -0
  92. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.1/craftbook.json +141 -0
  93. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.1/test.json +226 -0
  94. package/data/craftbook-templates/co/company-research-brief/versions/1.0.1/craftbook.json +139 -0
  95. package/data/craftbook-templates/co/company-research-brief/versions/1.0.1/test.json +97 -0
  96. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.1/craftbook.json +153 -0
  97. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.1/test.json +109 -0
  98. package/data/craftbook-templates/co/compat-check/versions/1.0.1/craftbook.json +146 -0
  99. package/data/craftbook-templates/co/compat-check/versions/1.0.1/test.json +145 -0
  100. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.1/craftbook.json +140 -0
  101. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.1/test.json +116 -0
  102. package/data/craftbook-templates/co/config-scaffold/versions/1.0.1/craftbook.json +105 -0
  103. package/data/craftbook-templates/co/config-scaffold/versions/1.0.1/test.json +120 -0
  104. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.1/craftbook.json +141 -0
  105. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.1/test.json +149 -0
  106. package/data/craftbook-templates/co/content-deck/versions/1.2.1/craftbook.json +206 -0
  107. package/data/craftbook-templates/co/content-deck/versions/1.2.1/test.json +169 -0
  108. package/data/craftbook-templates/co/contract-template/versions/1.0.1/craftbook.json +145 -0
  109. package/data/craftbook-templates/co/contract-template/versions/1.0.1/test.json +102 -0
  110. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.1/craftbook.json +121 -0
  111. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.1/test.json +159 -0
  112. package/data/craftbook-templates/co/copy-review/versions/1.0.1/craftbook.json +141 -0
  113. package/data/craftbook-templates/co/copy-review/versions/1.0.1/test.json +102 -0
  114. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.1/craftbook.json +210 -0
  115. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.1/test.json +187 -0
  116. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.1/craftbook.json +146 -0
  117. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.1/test.json +156 -0
  118. package/data/craftbook-templates/co/cover-letter/versions/1.0.1/craftbook.json +107 -0
  119. package/data/craftbook-templates/co/cover-letter/versions/1.0.1/test.json +100 -0
  120. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.1/craftbook.json +101 -0
  121. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.1/test.json +207 -0
  122. package/data/craftbook-templates/cr/cron-job/versions/1.0.1/craftbook.json +147 -0
  123. package/data/craftbook-templates/cr/cron-job/versions/1.0.1/test.json +104 -0
  124. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.1/craftbook.json +164 -0
  125. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.1/test.json +135 -0
  126. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.2/craftbook.json +101 -0
  127. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.2/test.json +102 -0
  128. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.1/craftbook.json +107 -0
  129. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.1/test.json +114 -0
  130. package/data/craftbook-templates/da/data-dictionary/versions/1.0.1/craftbook.json +107 -0
  131. package/data/craftbook-templates/da/data-dictionary/versions/1.0.1/test.json +101 -0
  132. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.1/craftbook.json +148 -0
  133. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.1/test.json +104 -0
  134. package/data/craftbook-templates/da/data-join-merge/versions/1.0.1/craftbook.json +101 -0
  135. package/data/craftbook-templates/da/data-join-merge/versions/1.0.1/test.json +104 -0
  136. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.2/craftbook.json +148 -0
  137. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.2/test.json +162 -0
  138. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.1/craftbook.json +141 -0
  139. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.1/test.json +326 -0
  140. package/data/craftbook-templates/da/data-to-report/versions/1.0.1/craftbook.json +140 -0
  141. package/data/craftbook-templates/da/data-to-report/versions/1.0.1/test.json +95 -0
  142. package/data/craftbook-templates/da/data-viz-page/versions/1.0.1/craftbook.json +143 -0
  143. package/data/craftbook-templates/da/data-viz-page/versions/1.0.1/test.json +117 -0
  144. package/data/craftbook-templates/da/dataset-clean/versions/1.2.2/craftbook.json +101 -0
  145. package/data/craftbook-templates/da/dataset-clean/versions/1.2.2/test.json +95 -0
  146. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.1/craftbook.json +148 -0
  147. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.1/test.json +104 -0
  148. package/data/craftbook-templates/de/deep-security-review/versions/1.1.1/craftbook.json +211 -0
  149. package/data/craftbook-templates/de/deep-security-review/versions/1.1.1/test.json +157 -0
  150. package/data/craftbook-templates/de/dependency-audit/versions/1.1.1/craftbook.json +141 -0
  151. package/data/craftbook-templates/de/dependency-audit/versions/1.1.1/test.json +108 -0
  152. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.1/craftbook.json +159 -0
  153. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.1/test.json +165 -0
  154. package/data/craftbook-templates/de/design-review/versions/1.0.1/craftbook.json +141 -0
  155. package/data/craftbook-templates/de/design-review/versions/1.0.1/test.json +118 -0
  156. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.3/craftbook.json +431 -0
  157. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.3/test.json +201 -0
  158. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.1/craftbook.json +109 -0
  159. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.1/test.json +97 -0
  160. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.1/craftbook.json +146 -0
  161. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.1/test.json +162 -0
  162. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.1/craftbook.json +148 -0
  163. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.1/test.json +104 -0
  164. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.1/craftbook.json +107 -0
  165. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.1/test.json +110 -0
  166. package/data/craftbook-templates/do/dockerize-app/versions/1.0.1/craftbook.json +148 -0
  167. package/data/craftbook-templates/do/dockerize-app/versions/1.0.1/test.json +92 -0
  168. package/data/craftbook-templates/do/docs-site/versions/1.0.1/craftbook.json +143 -0
  169. package/data/craftbook-templates/do/docs-site/versions/1.0.1/test.json +97 -0
  170. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.1/craftbook.json +153 -0
  171. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.1/test.json +132 -0
  172. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.1/craftbook.json +140 -0
  173. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.1/test.json +104 -0
  174. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.1/craftbook.json +146 -0
  175. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.1/test.json +110 -0
  176. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.1/craftbook.json +143 -0
  177. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.1/test.json +97 -0
  178. package/data/craftbook-templates/ed/edit-notes/versions/1.0.1/craftbook.json +176 -0
  179. package/data/craftbook-templates/ed/edit-notes/versions/1.0.1/test.json +146 -0
  180. package/data/craftbook-templates/em/email-sequence/versions/1.0.1/craftbook.json +142 -0
  181. package/data/craftbook-templates/em/email-sequence/versions/1.0.1/test.json +97 -0
  182. package/data/craftbook-templates/em/email-template/versions/1.0.1/craftbook.json +143 -0
  183. package/data/craftbook-templates/em/email-template/versions/1.0.1/test.json +97 -0
  184. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.3/craftbook.json +403 -0
  185. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.3/test.json +191 -0
  186. package/data/craftbook-templates/ep/episode-plan/versions/1.0.1/craftbook.json +140 -0
  187. package/data/craftbook-templates/ep/episode-plan/versions/1.0.1/test.json +97 -0
  188. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.1/craftbook.json +107 -0
  189. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.1/test.json +110 -0
  190. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.1/craftbook.json +146 -0
  191. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.1/test.json +110 -0
  192. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.3/craftbook.json +433 -0
  193. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.3/test.json +136 -0
  194. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.1/craftbook.json +140 -0
  195. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.1/test.json +104 -0
  196. package/data/craftbook-templates/fa/fact-check/versions/1.0.1/craftbook.json +146 -0
  197. package/data/craftbook-templates/fa/fact-check/versions/1.0.1/test.json +110 -0
  198. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.1/craftbook.json +74 -0
  199. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.1/test.json +108 -0
  200. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.1/craftbook.json +107 -0
  201. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.1/test.json +110 -0
  202. package/data/craftbook-templates/fa/favicon-set/versions/1.0.1/craftbook.json +146 -0
  203. package/data/craftbook-templates/fa/favicon-set/versions/1.0.1/test.json +103 -0
  204. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.1/craftbook.json +159 -0
  205. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.1/test.json +162 -0
  206. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.1/craftbook.json +148 -0
  207. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.1/test.json +162 -0
  208. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.1/craftbook.json +143 -0
  209. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.1/test.json +97 -0
  210. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.1/craftbook.json +103 -0
  211. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.1/test.json +103 -0
  212. package/data/craftbook-templates/fo/forecast-model/versions/1.0.1/craftbook.json +105 -0
  213. package/data/craftbook-templates/fo/forecast-model/versions/1.0.1/test.json +104 -0
  214. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.1/craftbook.json +148 -0
  215. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.1/test.json +162 -0
  216. package/data/craftbook-templates/fo/form-wizard/versions/1.0.1/craftbook.json +110 -0
  217. package/data/craftbook-templates/fo/form-wizard/versions/1.0.1/test.json +110 -0
  218. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.1/craftbook.json +168 -0
  219. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.1/test.json +99 -0
  220. package/data/craftbook-templates/gl/glossary-build/versions/1.0.1/craftbook.json +140 -0
  221. package/data/craftbook-templates/gl/glossary-build/versions/1.0.1/test.json +110 -0
  222. package/data/craftbook-templates/gr/graphql-api/versions/1.0.2/craftbook.json +146 -0
  223. package/data/craftbook-templates/gr/graphql-api/versions/1.0.2/test.json +92 -0
  224. package/data/craftbook-templates/gr/grpc-service/versions/1.0.1/craftbook.json +147 -0
  225. package/data/craftbook-templates/gr/grpc-service/versions/1.0.1/test.json +92 -0
  226. package/data/craftbook-templates/ha/handbook-section/versions/1.0.1/craftbook.json +145 -0
  227. package/data/craftbook-templates/ha/handbook-section/versions/1.0.1/test.json +110 -0
  228. package/data/craftbook-templates/he/hero-image/versions/1.0.1/craftbook.json +154 -0
  229. package/data/craftbook-templates/he/hero-image/versions/1.0.1/test.json +103 -0
  230. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.1/craftbook.json +202 -0
  231. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.1/test.json +128 -0
  232. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.1/craftbook.json +182 -0
  233. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.1/test.json +92 -0
  234. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.1/craftbook.json +218 -0
  235. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.1/test.json +176 -0
  236. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.1/craftbook.json +150 -0
  237. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.1/test.json +99 -0
  238. package/data/craftbook-templates/ic/icon-pack/versions/1.0.1/craftbook.json +146 -0
  239. package/data/craftbook-templates/ic/icon-pack/versions/1.0.1/test.json +103 -0
  240. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.3/craftbook.json +397 -0
  241. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.3/test.json +141 -0
  242. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.1/craftbook.json +150 -0
  243. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.1/test.json +99 -0
  244. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.1/craftbook.json +141 -0
  245. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.1/test.json +103 -0
  246. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.1/craftbook.json +140 -0
  247. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.1/test.json +103 -0
  248. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.1/craftbook.json +109 -0
  249. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.1/test.json +97 -0
  250. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.1/craftbook.json +105 -0
  251. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.1/test.json +103 -0
  252. package/data/craftbook-templates/im/image-set-index/versions/1.2.1/craftbook.json +179 -0
  253. package/data/craftbook-templates/im/image-set-index/versions/1.2.1/test.json +180 -0
  254. package/data/craftbook-templates/in/inbox-triage/versions/1.0.1/craftbook.json +140 -0
  255. package/data/craftbook-templates/in/inbox-triage/versions/1.0.1/test.json +104 -0
  256. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.1/craftbook.json +107 -0
  257. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.1/test.json +110 -0
  258. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.1/craftbook.json +158 -0
  259. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.1/test.json +109 -0
  260. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.1/craftbook.json +153 -0
  261. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.1/test.json +121 -0
  262. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.1/craftbook.json +143 -0
  263. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.1/test.json +99 -0
  264. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.1/craftbook.json +141 -0
  265. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.1/test.json +110 -0
  266. package/data/craftbook-templates/in/invitation-design/versions/1.0.1/craftbook.json +128 -0
  267. package/data/craftbook-templates/in/invitation-design/versions/1.0.1/test.json +121 -0
  268. package/data/craftbook-templates/in/invoice-generator/versions/1.0.1/craftbook.json +110 -0
  269. package/data/craftbook-templates/in/invoice-generator/versions/1.0.1/test.json +97 -0
  270. package/data/craftbook-templates/in/invoice-run/versions/1.1.1/craftbook.json +199 -0
  271. package/data/craftbook-templates/in/invoice-run/versions/1.1.1/test.json +140 -0
  272. package/data/craftbook-templates/index.json +1 -1
  273. package/data/craftbook-templates/it/item-intake/versions/1.0.1/craftbook.json +140 -0
  274. package/data/craftbook-templates/it/item-intake/versions/1.0.1/test.json +145 -0
  275. package/data/craftbook-templates/ju/juice-pass/versions/1.0.1/craftbook.json +116 -0
  276. package/data/craftbook-templates/ju/juice-pass/versions/1.0.1/test.json +116 -0
  277. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.1/craftbook.json +143 -0
  278. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.1/test.json +110 -0
  279. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.1/craftbook.json +148 -0
  280. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.1/test.json +97 -0
  281. package/data/craftbook-templates/la/landing-copy/versions/1.0.1/craftbook.json +143 -0
  282. package/data/craftbook-templates/la/landing-copy/versions/1.0.1/test.json +110 -0
  283. package/data/craftbook-templates/la/landing-page/versions/1.0.1/craftbook.json +184 -0
  284. package/data/craftbook-templates/la/landing-page/versions/1.0.1/test.json +97 -0
  285. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.1/craftbook.json +140 -0
  286. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.1/test.json +104 -0
  287. package/data/craftbook-templates/li/library-package/versions/1.0.1/craftbook.json +147 -0
  288. package/data/craftbook-templates/li/library-package/versions/1.0.1/test.json +92 -0
  289. package/data/craftbook-templates/li/literature-review/versions/1.0.1/craftbook.json +146 -0
  290. package/data/craftbook-templates/li/literature-review/versions/1.0.1/test.json +110 -0
  291. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.1/craftbook.json +141 -0
  292. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.1/test.json +162 -0
  293. package/data/craftbook-templates/lo/localize-content/versions/1.0.1/craftbook.json +143 -0
  294. package/data/craftbook-templates/lo/localize-content/versions/1.0.1/test.json +110 -0
  295. package/data/craftbook-templates/lo/logo-set/versions/1.0.1/craftbook.json +146 -0
  296. package/data/craftbook-templates/lo/logo-set/versions/1.0.1/test.json +103 -0
  297. package/data/craftbook-templates/ma/market-scan/versions/1.0.1/craftbook.json +146 -0
  298. package/data/craftbook-templates/ma/market-scan/versions/1.0.1/test.json +210 -0
  299. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.1/craftbook.json +108 -0
  300. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.1/test.json +110 -0
  301. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.1/craftbook.json +107 -0
  302. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.1/test.json +110 -0
  303. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.1/craftbook.json +107 -0
  304. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.1/test.json +184 -0
  305. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.1/craftbook.json +109 -0
  306. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.1/test.json +103 -0
  307. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.1/craftbook.json +115 -0
  308. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.1/test.json +112 -0
  309. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.1/craftbook.json +147 -0
  310. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.1/test.json +92 -0
  311. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.1/craftbook.json +117 -0
  312. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.1/test.json +99 -0
  313. package/data/craftbook-templates/mo/mock-interview/versions/1.0.1/craftbook.json +139 -0
  314. package/data/craftbook-templates/mo/mock-interview/versions/1.0.1/test.json +110 -0
  315. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.1/craftbook.json +156 -0
  316. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.1/test.json +133 -0
  317. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.1/craftbook.json +158 -0
  318. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.1/test.json +197 -0
  319. package/data/craftbook-templates/mo/month-close/versions/1.0.1/craftbook.json +140 -0
  320. package/data/craftbook-templates/mo/month-close/versions/1.0.1/test.json +97 -0
  321. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.1/craftbook.json +140 -0
  322. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.1/test.json +117 -0
  323. package/data/craftbook-templates/mo/moodboard/versions/1.0.1/craftbook.json +109 -0
  324. package/data/craftbook-templates/mo/moodboard/versions/1.0.1/test.json +103 -0
  325. package/data/craftbook-templates/mo/morning-brief/versions/1.0.1/craftbook.json +107 -0
  326. package/data/craftbook-templates/mo/morning-brief/versions/1.0.1/test.json +225 -0
  327. package/data/craftbook-templates/mo/morning-report/versions/1.0.1/craftbook.json +152 -0
  328. package/data/craftbook-templates/mo/morning-report/versions/1.0.1/test.json +250 -0
  329. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.1/craftbook.json +101 -0
  330. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.1/test.json +103 -0
  331. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.1/craftbook.json +181 -0
  332. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.1/test.json +86 -0
  333. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.1/craftbook.json +143 -0
  334. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.1/test.json +110 -0
  335. package/data/craftbook-templates/no/notification-router/versions/1.0.1/craftbook.json +158 -0
  336. package/data/craftbook-templates/no/notification-router/versions/1.0.1/test.json +162 -0
  337. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.1/craftbook.json +137 -0
  338. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.1/test.json +103 -0
  339. package/data/craftbook-templates/of/offer-compare/versions/1.0.1/craftbook.json +106 -0
  340. package/data/craftbook-templates/of/offer-compare/versions/1.0.1/test.json +110 -0
  341. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.1/craftbook.json +107 -0
  342. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.1/test.json +110 -0
  343. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.1/craftbook.json +143 -0
  344. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.1/test.json +97 -0
  345. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.1/craftbook.json +107 -0
  346. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.1/test.json +110 -0
  347. package/data/craftbook-templates/on/one-pager/versions/1.0.1/craftbook.json +143 -0
  348. package/data/craftbook-templates/on/one-pager/versions/1.0.1/test.json +110 -0
  349. package/data/craftbook-templates/op/ops-runbook/versions/1.0.1/craftbook.json +112 -0
  350. package/data/craftbook-templates/op/ops-runbook/versions/1.0.1/test.json +104 -0
  351. package/data/craftbook-templates/pa/page-spread/versions/1.0.1/craftbook.json +82 -0
  352. package/data/craftbook-templates/pa/page-spread/versions/1.0.1/test.json +132 -0
  353. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.1/craftbook.json +147 -0
  354. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.1/test.json +92 -0
  355. package/data/craftbook-templates/pe/perf-audit/versions/1.0.1/craftbook.json +141 -0
  356. package/data/craftbook-templates/pe/perf-audit/versions/1.0.1/test.json +162 -0
  357. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.1/craftbook.json +148 -0
  358. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.1/test.json +92 -0
  359. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.1/craftbook.json +140 -0
  360. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.1/test.json +122 -0
  361. package/data/craftbook-templates/ph/photo-cull/versions/1.0.1/craftbook.json +140 -0
  362. package/data/craftbook-templates/ph/photo-cull/versions/1.0.1/test.json +103 -0
  363. package/data/craftbook-templates/ph/physics-toy/versions/1.0.1/craftbook.json +110 -0
  364. package/data/craftbook-templates/ph/physics-toy/versions/1.0.1/test.json +99 -0
  365. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.1/craftbook.json +141 -0
  366. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.1/test.json +97 -0
  367. package/data/craftbook-templates/pl/playtest-report/versions/1.0.1/craftbook.json +140 -0
  368. package/data/craftbook-templates/pl/playtest-report/versions/1.0.1/test.json +111 -0
  369. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.1/craftbook.json +140 -0
  370. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.1/test.json +103 -0
  371. package/data/craftbook-templates/po/portfolio-site/versions/1.0.1/craftbook.json +151 -0
  372. package/data/craftbook-templates/po/portfolio-site/versions/1.0.1/test.json +97 -0
  373. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.0/craftbook.json +257 -0
  374. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.0/test.json +228 -0
  375. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.1/craftbook.json +347 -0
  376. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.1/test.json +228 -0
  377. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.1/craftbook.json +141 -0
  378. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.1/test.json +110 -0
  379. package/data/craftbook-templates/pr/practice-exam/versions/1.0.1/craftbook.json +159 -0
  380. package/data/craftbook-templates/pr/practice-exam/versions/1.0.1/test.json +117 -0
  381. package/data/craftbook-templates/pr/practice-session/versions/1.0.1/craftbook.json +115 -0
  382. package/data/craftbook-templates/pr/practice-session/versions/1.0.1/test.json +114 -0
  383. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.1/craftbook.json +140 -0
  384. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.1/test.json +97 -0
  385. package/data/craftbook-templates/pr/press-release/versions/1.0.1/craftbook.json +143 -0
  386. package/data/craftbook-templates/pr/press-release/versions/1.0.1/test.json +356 -0
  387. package/data/craftbook-templates/pr/price-tracker/versions/1.0.1/craftbook.json +109 -0
  388. package/data/craftbook-templates/pr/price-tracker/versions/1.0.1/test.json +150 -0
  389. package/data/craftbook-templates/pr/pricing-page/versions/1.0.1/craftbook.json +184 -0
  390. package/data/craftbook-templates/pr/pricing-page/versions/1.0.1/test.json +97 -0
  391. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.1/craftbook.json +105 -0
  392. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.1/test.json +110 -0
  393. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.1/craftbook.json +143 -0
  394. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.1/test.json +110 -0
  395. package/data/craftbook-templates/pu/pull-request-review/manifest.json +3 -1
  396. package/data/craftbook-templates/pu/pull-request-review/versions/1.4.1/craftbook.json +180 -0
  397. package/data/craftbook-templates/pu/pull-request-review/versions/1.4.1/test.json +123 -0
  398. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.1/craftbook.json +121 -0
  399. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.1/test.json +123 -0
  400. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.1/craftbook.json +155 -0
  401. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.1/test.json +97 -0
  402. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.1/craftbook.json +140 -0
  403. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.1/test.json +113 -0
  404. package/data/craftbook-templates/re/reading-list/versions/1.0.1/craftbook.json +107 -0
  405. package/data/craftbook-templates/re/reading-list/versions/1.0.1/test.json +110 -0
  406. package/data/craftbook-templates/re/receipt-intake/versions/1.0.1/craftbook.json +140 -0
  407. package/data/craftbook-templates/re/receipt-intake/versions/1.0.1/test.json +149 -0
  408. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.1/craftbook.json +140 -0
  409. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.1/test.json +104 -0
  410. package/data/craftbook-templates/re/recipe-capture/versions/1.0.1/craftbook.json +140 -0
  411. package/data/craftbook-templates/re/recipe-capture/versions/1.0.1/test.json +128 -0
  412. package/data/craftbook-templates/re/record-a-relative/versions/1.0.1/craftbook.json +115 -0
  413. package/data/craftbook-templates/re/record-a-relative/versions/1.0.1/test.json +110 -0
  414. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.1/craftbook.json +148 -0
  415. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.1/test.json +104 -0
  416. package/data/craftbook-templates/re/refactor-module/versions/1.0.2/craftbook.json +148 -0
  417. package/data/craftbook-templates/re/refactor-module/versions/1.0.2/test.json +92 -0
  418. package/data/craftbook-templates/re/regex-builder/versions/1.0.1/craftbook.json +147 -0
  419. package/data/craftbook-templates/re/regex-builder/versions/1.0.1/test.json +92 -0
  420. package/data/craftbook-templates/re/release-announcement/versions/1.0.1/craftbook.json +159 -0
  421. package/data/craftbook-templates/re/release-announcement/versions/1.0.1/test.json +202 -0
  422. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.1/craftbook.json +214 -0
  423. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.1/test.json +138 -0
  424. package/data/craftbook-templates/re/release-notes/versions/1.0.1/craftbook.json +159 -0
  425. package/data/craftbook-templates/re/release-notes/versions/1.0.1/test.json +111 -0
  426. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.1/craftbook.json +147 -0
  427. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.1/test.json +162 -0
  428. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.1/craftbook.json +141 -0
  429. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.1/test.json +110 -0
  430. package/data/craftbook-templates/re/reliability-review/versions/1.0.1/craftbook.json +153 -0
  431. package/data/craftbook-templates/re/reliability-review/versions/1.0.1/test.json +112 -0
  432. package/data/craftbook-templates/re/report-pdf/versions/1.1.1/craftbook.json +173 -0
  433. package/data/craftbook-templates/re/report-pdf/versions/1.1.1/test.json +98 -0
  434. package/data/craftbook-templates/re/research-report/versions/1.0.1/craftbook.json +146 -0
  435. package/data/craftbook-templates/re/research-report/versions/1.0.1/test.json +110 -0
  436. package/data/craftbook-templates/re/research-to-document/versions/1.2.1/craftbook.json +216 -0
  437. package/data/craftbook-templates/re/research-to-document/versions/1.2.1/test.json +240 -0
  438. package/data/craftbook-templates/re/rest-api/versions/1.0.2/craftbook.json +147 -0
  439. package/data/craftbook-templates/re/rest-api/versions/1.0.2/test.json +387 -0
  440. package/data/craftbook-templates/re/resume-cv/versions/1.0.1/craftbook.json +143 -0
  441. package/data/craftbook-templates/re/resume-cv/versions/1.0.1/test.json +97 -0
  442. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.1/craftbook.json +159 -0
  443. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.1/test.json +162 -0
  444. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.3/craftbook.json +413 -0
  445. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.3/test.json +154 -0
  446. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.2/craftbook.json +167 -0
  447. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.2/test.json +137 -0
  448. package/data/craftbook-templates/ru/runbook/versions/1.0.1/craftbook.json +145 -0
  449. package/data/craftbook-templates/ru/runbook/versions/1.0.1/test.json +118 -0
  450. package/data/craftbook-templates/sc/schema-migration/versions/1.0.1/craftbook.json +144 -0
  451. package/data/craftbook-templates/sc/schema-migration/versions/1.0.1/test.json +103 -0
  452. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.2/craftbook.json +140 -0
  453. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.2/test.json +162 -0
  454. package/data/craftbook-templates/sc/script-automation/versions/1.0.1/craftbook.json +148 -0
  455. package/data/craftbook-templates/sc/script-automation/versions/1.0.1/test.json +162 -0
  456. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.2/craftbook.json +147 -0
  457. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.2/test.json +90 -0
  458. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.1/craftbook.json +140 -0
  459. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.1/test.json +110 -0
  460. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.3/craftbook.json +440 -0
  461. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.3/test.json +154 -0
  462. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.1/craftbook.json +105 -0
  463. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.1/test.json +97 -0
  464. package/data/craftbook-templates/so/social-thread/versions/1.0.1/craftbook.json +107 -0
  465. package/data/craftbook-templates/so/social-thread/versions/1.0.1/test.json +110 -0
  466. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.1/craftbook.json +140 -0
  467. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.1/test.json +158 -0
  468. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.1/craftbook.json +143 -0
  469. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.1/test.json +97 -0
  470. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.3/craftbook.json +436 -0
  471. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.3/test.json +162 -0
  472. package/data/craftbook-templates/sp/spec-doc/versions/1.0.1/craftbook.json +143 -0
  473. package/data/craftbook-templates/sp/spec-doc/versions/1.0.1/test.json +104 -0
  474. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.1/craftbook.json +109 -0
  475. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.1/test.json +160 -0
  476. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.1/craftbook.json +137 -0
  477. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.1/test.json +103 -0
  478. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.1/craftbook.json +109 -0
  479. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.1/test.json +104 -0
  480. package/data/craftbook-templates/st/standup-summary/versions/1.0.1/craftbook.json +107 -0
  481. package/data/craftbook-templates/st/standup-summary/versions/1.0.1/test.json +110 -0
  482. package/data/craftbook-templates/st/state-machine/versions/1.0.1/craftbook.json +147 -0
  483. package/data/craftbook-templates/st/state-machine/versions/1.0.1/test.json +92 -0
  484. package/data/craftbook-templates/st/status-report/versions/1.0.1/craftbook.json +146 -0
  485. package/data/craftbook-templates/st/status-report/versions/1.0.1/test.json +110 -0
  486. package/data/craftbook-templates/su/subscription-audit/versions/1.0.1/craftbook.json +140 -0
  487. package/data/craftbook-templates/su/subscription-audit/versions/1.0.1/test.json +104 -0
  488. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.1/craftbook.json +128 -0
  489. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.1/test.json +103 -0
  490. package/data/craftbook-templates/su/summarize-long/versions/1.0.1/craftbook.json +107 -0
  491. package/data/craftbook-templates/su/summarize-long/versions/1.0.1/test.json +110 -0
  492. package/data/craftbook-templates/su/survey-analysis/versions/1.0.1/craftbook.json +141 -0
  493. package/data/craftbook-templates/su/survey-analysis/versions/1.0.1/test.json +104 -0
  494. package/data/craftbook-templates/sv/svg-animation/versions/1.0.1/craftbook.json +110 -0
  495. package/data/craftbook-templates/sv/svg-animation/versions/1.0.1/test.json +97 -0
  496. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.1/craftbook.json +114 -0
  497. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.1/test.json +97 -0
  498. package/data/craftbook-templates/te/technical-documentation/versions/2.0.3/craftbook.json +408 -0
  499. package/data/craftbook-templates/te/technical-documentation/versions/2.0.3/test.json +174 -0
  500. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.1/craftbook.json +141 -0
  501. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.1/test.json +113 -0
  502. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.1/craftbook.json +120 -0
  503. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.1/test.json +92 -0
  504. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.1/craftbook.json +143 -0
  505. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.1/test.json +141 -0
  506. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.1/craftbook.json +143 -0
  507. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.1/test.json +142 -0
  508. package/data/craftbook-templates/th/threat-model/versions/1.0.1/craftbook.json +141 -0
  509. package/data/craftbook-templates/th/threat-model/versions/1.0.1/test.json +110 -0
  510. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.1/craftbook.json +103 -0
  511. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.1/test.json +103 -0
  512. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.1/craftbook.json +160 -0
  513. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.1/test.json +159 -0
  514. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.1/craftbook.json +107 -0
  515. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.1/test.json +110 -0
  516. package/data/craftbook-templates/to/topic-explainer/versions/1.0.1/craftbook.json +140 -0
  517. package/data/craftbook-templates/to/topic-explainer/versions/1.0.1/test.json +110 -0
  518. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.1/craftbook.json +115 -0
  519. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.1/test.json +98 -0
  520. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.1/craftbook.json +107 -0
  521. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.1/test.json +103 -0
  522. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.1/craftbook.json +171 -0
  523. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.1/test.json +151 -0
  524. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.1/craftbook.json +148 -0
  525. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.1/test.json +92 -0
  526. package/data/craftbook-templates/ve/version-bump/versions/1.0.1/craftbook.json +155 -0
  527. package/data/craftbook-templates/ve/version-bump/versions/1.0.1/test.json +92 -0
  528. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.1/craftbook.json +109 -0
  529. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.1/test.json +103 -0
  530. package/data/craftbook-templates/vi/visit-prep/versions/1.0.1/craftbook.json +140 -0
  531. package/data/craftbook-templates/vi/visit-prep/versions/1.0.1/test.json +97 -0
  532. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.1/craftbook.json +107 -0
  533. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.1/test.json +103 -0
  534. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.1/craftbook.json +154 -0
  535. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.1/test.json +124 -0
  536. package/data/craftbook-templates/we/web-app-crud/versions/1.0.1/craftbook.json +143 -0
  537. package/data/craftbook-templates/we/web-app-crud/versions/1.0.1/test.json +97 -0
  538. package/data/craftbook-templates/we/web-component/versions/1.0.1/craftbook.json +110 -0
  539. package/data/craftbook-templates/we/web-component/versions/1.0.1/test.json +97 -0
  540. package/data/craftbook-templates/we/webhook-handler/versions/1.0.1/craftbook.json +147 -0
  541. package/data/craftbook-templates/we/webhook-handler/versions/1.0.1/test.json +162 -0
  542. package/data/craftbook-templates/we/week-plan/versions/1.0.1/craftbook.json +140 -0
  543. package/data/craftbook-templates/we/week-plan/versions/1.0.1/test.json +255 -0
  544. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.1/craftbook.json +140 -0
  545. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.1/test.json +97 -0
  546. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.1/craftbook.json +106 -0
  547. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.1/test.json +104 -0
  548. package/data/craftbook-templates/we/weekly-review/versions/1.0.1/craftbook.json +107 -0
  549. package/data/craftbook-templates/we/weekly-review/versions/1.0.1/test.json +110 -0
  550. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.1/craftbook.json +140 -0
  551. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.1/test.json +138 -0
  552. package/data/craftbook-templates/wh/whitepaper/versions/1.0.1/craftbook.json +141 -0
  553. package/data/craftbook-templates/wh/whitepaper/versions/1.0.1/test.json +110 -0
  554. package/data/craftbook-templates/ye/year-in-review/versions/1.0.1/craftbook.json +115 -0
  555. package/data/craftbook-templates/ye/year-in-review/versions/1.0.1/test.json +145 -0
  556. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.1/craftbook.json +134 -0
  557. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.1/test.json +103 -0
  558. package/package.json +1 -1
@@ -0,0 +1,140 @@
1
+ {
2
+ "id": "month-close",
3
+ "name": "Close the Month",
4
+ "description": "Close out a month of household spending against the project's ledger: sweep the month's entries for category strays and surprises, compute the in/out/net totals and category breakdown, compare against the prior month, and write a short honest month summary with one concrete action for next month. Locks the target month and the reconciliation checks FIRST, then reconciles the entries, then writes the summary — so the close is a repeatable ritual with the same shape every month, not an ad-hoc glance at the numbers. Use for monthly budget close, month-end money review, 'how did we do this month', and household spending retrospectives.\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 close (data-analyst) — target month, reconciliation checks, comparison baseline → gated on artifact `notes/scope.md` (markdown-notes)\n2. Reconcile the month (data-analyst) — sweep entries, fix strays, compute totals and deltas → gated on artifact `notes/reconcile.md` (markdown-notes)\n3. Write the month summary (copywriter) — honest month summary with one next-month action → gated on artifact `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
+ "close the month",
8
+ "monthly budget review",
9
+ "how did we do this month",
10
+ "month end close",
11
+ "budget month summary"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the close",
17
+ "description": "target month, reconciliation checks, comparison baseline",
18
+ "prompt": "Define the close before touching the numbers. Step 1: read ledger.json from the workspace and identify the target month (default: the most recently ended calendar month) and the prior month as the comparison baseline. Step 2: define the reconciliation checks — entries with a missing or clearly wrong category, amounts that look like typos (an order of magnitude off that category's normal range), and any income expected but not recorded. Step 3: define what the summary must report — in/out/net for the month, the top 3 spending categories, the largest single expense, and the delta versus the prior month per major category. Step 4: write an acceptance-criteria checklist ('every entry in the month has a sensible category', 'totals computed from the ledger, not estimated', 'prior-month comparison per major category', 'one concrete next-month action named', 'no number in the summary that is not in the ledger'). Call write_task_note with the target month + checks + checklist and write notes/scope.md. No reconciling yet.\n\nThe deliverable `notes/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": "data-analyst",
20
+ "advanceWhen": {
21
+ "file": "notes/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": "notes/scope.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "notes/scope.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "scope",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "reconcile"
46
+ },
47
+ {
48
+ "id": "reconcile",
49
+ "name": "Reconcile the month",
50
+ "description": "sweep entries, fix strays, compute totals and deltas",
51
+ "prompt": "Reconcile the target month against the locked checks. Step 1: list every ledger entry in the month and apply the checks — note each category stray or suspect amount, and where the owner's intent is clear, record the correction; where it is not, list the question for the owner instead of guessing. Step 2: compute the month's totals — in, out, net, and the per-category breakdown — directly from the entries. Step 3: compute the prior-month comparison per major category and flag any category that moved by more than a third. Step 4: identify the largest single expense and any new recurring-looking charges worth a look. Step 5: write the structured findings to notes/reconcile.md so the summary phase has clean inputs, and call write_task_note with the net figure, the biggest mover, and the number of strays found.\n\nThe deliverable `notes/reconcile.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.",
52
+ "suggestedRole": "data-analyst",
53
+ "advanceWhen": {
54
+ "file": "notes/reconcile.md",
55
+ "minBytes": 1,
56
+ "sniff": "nonempty",
57
+ "artifact": true
58
+ },
59
+ "gate": {
60
+ "at": "completion",
61
+ "checks": [
62
+ {
63
+ "kind": "minBytes",
64
+ "file": "notes/reconcile.md",
65
+ "bytes": 120,
66
+ "artifact": true
67
+ },
68
+ {
69
+ "kind": "sniff",
70
+ "file": "notes/reconcile.md",
71
+ "sniff": "nonempty",
72
+ "artifact": true
73
+ }
74
+ ],
75
+ "onReject": "reconcile",
76
+ "maxAttempts": 3
77
+ },
78
+ "next": "report"
79
+ },
80
+ {
81
+ "id": "report",
82
+ "name": "Write the month summary",
83
+ "description": "honest month summary with one next-month action",
84
+ "prompt": "Write the month summary from the reconciliation. Step 1: open with the headline — in, out, net for the month, in one plain sentence. Step 2: give the category picture — the top 3 spending categories with amounts, and the notable movers versus last month with the direction and size of the change. Step 3: name the largest single expense and anything new or surprising, without judgment. Step 4: close with ONE concrete, small action for next month, grounded in the data (a category to watch, a charge to question, a habit that worked). Step 5: keep it under a page, warm and factual — this is a household ritual, not an audit finding. Write report.md and call write_task_note with the report path and the headline net.\n\nThe deliverable `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.",
85
+ "suggestedRole": "copywriter",
86
+ "advanceWhen": {
87
+ "file": "report.md",
88
+ "minBytes": 1,
89
+ "sniff": "nonempty",
90
+ "artifact": true
91
+ },
92
+ "gate": {
93
+ "at": "completion",
94
+ "checks": [
95
+ {
96
+ "kind": "minBytes",
97
+ "file": "report.md",
98
+ "bytes": 1500,
99
+ "artifact": true
100
+ },
101
+ {
102
+ "kind": "contains",
103
+ "file": "report.md",
104
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
105
+ "flags": "i",
106
+ "label": "at least one markdown heading",
107
+ "artifact": true
108
+ }
109
+ ],
110
+ "onReject": "report",
111
+ "maxAttempts": 4
112
+ },
113
+ "next": "evaluate"
114
+ },
115
+ {
116
+ "id": "evaluate",
117
+ "name": "Evaluate",
118
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
119
+ "prompt": "Open report.md and notes/reconcile.md and verify every criterion from notes/scope.md: every entry in the month carries a sensible category (or is listed as an owner question), the in/out/net and category totals trace to the ledger entries (re-add one category to check), the prior-month comparison covers the major categories, exactly one concrete next-month action is named, and no number in the summary lacks a ledger source. Write PASS/FAIL per criterion; on any failure, name the gap and loop back to report.\n\nThe deliverable lives in the project's artifacts drawer — open `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.",
120
+ "suggestedRole": "reviewer",
121
+ "consumes": [
122
+ {
123
+ "file": "report.md",
124
+ "artifact": true
125
+ }
126
+ ],
127
+ "next": "report"
128
+ },
129
+ {
130
+ "id": "finish",
131
+ "name": "Finish",
132
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
133
+ "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.",
134
+ "suggestedRole": "developer",
135
+ "terminal": true
136
+ }
137
+ ],
138
+ "version": "1.0.1",
139
+ "releasedAt": "2026-08-14T00:00:00Z"
140
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Close the Month smoke eval",
4
+ "objective": "Self-contained smoke eval for the Close the Month craftbook using the html-page generic harness.",
5
+ "tags": [
6
+ "html-page"
7
+ ],
8
+ "prompt": "Can you biuld us a little page for this? The content notes are in source/page-content.md. Save it as index.html — one file, nothing fancy needed on our end.",
9
+ "setup": {
10
+ "projectName": "Close the Month Eval",
11
+ "about": "Self-contained eval project for month-close. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/index.html.",
12
+ "missionObjectives": "Use the Close the Month craftbook/template, read the seeded local fixtures, and write index.html without network calls, real credentials, or live services.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "content": "# Close the Month Eval Brief\n\nClient: Boreal Desk, a home-office accessories company.\nAudience: operations leads who need an artifact they can use this week.\n\nFixed source facts for grounding:\n- The returns desk pilot covered 18 SKUs.\n- Median first response improved from 18 hours to 6 hours.\n- Preventable refund leakage fell from 14.2% to 8.9%.\n- The top unresolved complaint is status silence after photo submission.\n- Required next actions are automated status emails, barcode-exception training, and a weekly Finance exception export.\n\nUse these facts when the task asks for prose, analysis, copy, UI content, or test data. Do not use live web services, real credentials, or current outside data.\n\nCraftbook under test: month-close - Close the Month.\n"
17
+ },
18
+ {
19
+ "path": "source/page-content.md",
20
+ "content": "# Boreal Desk Support Board\n\nBuild content around a support operations board. Required labels: Open issues, Status silence, Response time, Refund leakage, Next action. Required metric text: 18 hours to 6 hours and 14.2% to 8.9%.\n"
21
+ }
22
+ ],
23
+ "worker": {
24
+ "name": "Jules",
25
+ "role": "Developer"
26
+ }
27
+ },
28
+ "mocks": [],
29
+ "success": {
30
+ "summary": "index.html is a source-grounded self-contained HTML page/tool.",
31
+ "deliverables": [
32
+ {
33
+ "path": "index.html",
34
+ "kind": "html-page",
35
+ "minBytes": 3000,
36
+ "checks": [
37
+ {
38
+ "kind": "cssMinBytes",
39
+ "bytes": 650,
40
+ "file": "index.html"
41
+ },
42
+ {
43
+ "kind": "jsParses",
44
+ "file": "index.html"
45
+ },
46
+ {
47
+ "kind": "contains",
48
+ "file": "index.html",
49
+ "pattern": "Boreal|Support Board|returns",
50
+ "flags": "i"
51
+ },
52
+ {
53
+ "kind": "contains",
54
+ "file": "index.html",
55
+ "pattern": "18\\s*hours|6\\s*hours|14\\.2%|8\\.9%",
56
+ "flags": "i"
57
+ },
58
+ {
59
+ "kind": "contains",
60
+ "file": "index.html",
61
+ "pattern": "button|input|filter|tab|card|section|nav",
62
+ "flags": "i"
63
+ }
64
+ ]
65
+ }
66
+ ]
67
+ },
68
+ "rubric": {
69
+ "artifact": {
70
+ "path": "index.html",
71
+ "kind": "html"
72
+ },
73
+ "axes": [
74
+ {
75
+ "name": "structure",
76
+ "description": "Layout and hierarchy fit the content; sections are scannable and coherent."
77
+ },
78
+ {
79
+ "name": "grounding",
80
+ "description": "Seeded source content is used faithfully — no invented facts or dropped requirements."
81
+ },
82
+ {
83
+ "name": "interactivity",
84
+ "description": "Controls and states the page claims to offer actually work."
85
+ },
86
+ {
87
+ "name": "polish",
88
+ "description": "Styling is intentional and responsive rather than unstyled or broken."
89
+ }
90
+ ]
91
+ },
92
+ "qualityFocus": [
93
+ "self-contained UI",
94
+ "source grounding",
95
+ "responsive structure"
96
+ ]
97
+ }
@@ -0,0 +1,140 @@
1
+ {
2
+ "id": "monthly-recording-review",
3
+ "name": "Monthly Recording Review",
4
+ "description": "Sit with the month's recordings the way a teacher would: compare each against last month's marks, hear the progress your own ears stopped noticing, and pick next month's one focus — proof over impression, once a month. Locks the review criteria FIRST (every recording assessed, deltas versus last month, exactly one focus), then assesses each recording with evidence, then writes the month's review. Use for monthly practice reviews, listening back to recordings, progress checks, and 'how did this month go'.\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 review (coach) — recording inventory, comparison baseline, review rules → gated on artifact `notes/scope.md` (markdown-notes)\n2. Assess each recording (reviewer) — per-recording assessment with concrete observations → gated on artifact `notes/review.md` (markdown-notes)\n3. Write the month's review (copywriter) — deltas per piece, verdict on last month's focus, one next focus → gated on artifact `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
+ "monthly recording review",
8
+ "review this month's recordings",
9
+ "how did this month of practice go",
10
+ "listen back to the month",
11
+ "pick next month's focus"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the review",
17
+ "description": "recording inventory, comparison baseline, review rules",
18
+ "prompt": "Frame the review before listening back. Step 1: read recordings/index.json from the workspace — the month's recordings with their dates and pieces — and the previous month's review from the reviews folder if one exists. Step 2: confirm the comparison baseline with the owner: last month's marks per piece, and what last month's single focus was. Step 3: lock the review rules — every recording in the index gets assessed; every assessment names concrete observations (tempo held, voicing, rushing at a named spot — things a teacher would point at); each piece gets a delta versus last month; and the review ends with exactly ONE next-month focus. Step 4: write the acceptance-criteria checklist from those rules, call write_task_note with the recording count + baseline, and write notes/scope.md.\n\nThe deliverable `notes/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": "coach",
20
+ "advanceWhen": {
21
+ "file": "notes/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": "notes/scope.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "notes/scope.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "scope",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "review"
46
+ },
47
+ {
48
+ "id": "review",
49
+ "name": "Assess each recording",
50
+ "description": "per-recording assessment with concrete observations",
51
+ "prompt": "Assess each recording the way a teacher would. Step 1: for every recording in the index, work through its notes and the piece's history — what is concretely better, steadier, or cleaner than last month, and what regressed or plateaued. Step 2: name the evidence per observation — the passage, the tempo, the habit — never a bare 'sounds better'. Step 3: check last month's focus: did the month's work actually move it? Say so plainly. Step 4: write the per-recording assessments to notes/review.md and call write_task_note with the biggest improvement and the biggest concern.\n\nThe deliverable `notes/review.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.",
52
+ "suggestedRole": "reviewer",
53
+ "advanceWhen": {
54
+ "file": "notes/review.md",
55
+ "minBytes": 1,
56
+ "sniff": "nonempty",
57
+ "artifact": true
58
+ },
59
+ "gate": {
60
+ "at": "completion",
61
+ "checks": [
62
+ {
63
+ "kind": "minBytes",
64
+ "file": "notes/review.md",
65
+ "bytes": 120,
66
+ "artifact": true
67
+ },
68
+ {
69
+ "kind": "sniff",
70
+ "file": "notes/review.md",
71
+ "sniff": "nonempty",
72
+ "artifact": true
73
+ }
74
+ ],
75
+ "onReject": "review",
76
+ "maxAttempts": 3
77
+ },
78
+ "next": "report"
79
+ },
80
+ {
81
+ "id": "report",
82
+ "name": "Write the month's review",
83
+ "description": "deltas per piece, verdict on last month's focus, one next focus",
84
+ "prompt": "Write the month's review from the assessments. Step 1: open with what the month proved — the progress the owner's own ears stopped noticing, with the recording that shows it. Step 2: per piece, the delta versus last month in a line or two, honest in both directions. Step 3: the verdict on last month's focus — moved, stalled, or abandoned. Step 4: close with exactly one next-month focus, chosen from the evidence, with why this one and not the runner-up. Step 5: warm, specific, and honest — proof over impression. Write report.md and call write_task_note with the focus chosen.\n\nThe deliverable `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.",
85
+ "suggestedRole": "copywriter",
86
+ "advanceWhen": {
87
+ "file": "report.md",
88
+ "minBytes": 1,
89
+ "sniff": "nonempty",
90
+ "artifact": true
91
+ },
92
+ "gate": {
93
+ "at": "completion",
94
+ "checks": [
95
+ {
96
+ "kind": "minBytes",
97
+ "file": "report.md",
98
+ "bytes": 1500,
99
+ "artifact": true
100
+ },
101
+ {
102
+ "kind": "contains",
103
+ "file": "report.md",
104
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
105
+ "flags": "i",
106
+ "label": "at least one markdown heading",
107
+ "artifact": true
108
+ }
109
+ ],
110
+ "onReject": "report",
111
+ "maxAttempts": 4
112
+ },
113
+ "next": "evaluate"
114
+ },
115
+ {
116
+ "id": "evaluate",
117
+ "name": "Evaluate",
118
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
119
+ "prompt": "Open report.md and notes/review.md and verify every criterion from notes/scope.md: every recording in recordings/index.json is assessed (count them), every assessment carries concrete observations with evidence, every piece has a last-month delta, last month's focus gets an explicit verdict, and exactly one next-month focus is named — not two, not zero. Write PASS/FAIL per criterion; on any failure, name the gap and loop back to report.\n\nThe deliverable lives in the project's artifacts drawer — open `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.",
120
+ "suggestedRole": "reviewer",
121
+ "consumes": [
122
+ {
123
+ "file": "report.md",
124
+ "artifact": true
125
+ }
126
+ ],
127
+ "next": "report"
128
+ },
129
+ {
130
+ "id": "finish",
131
+ "name": "Finish",
132
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
133
+ "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.",
134
+ "suggestedRole": "developer",
135
+ "terminal": true
136
+ }
137
+ ],
138
+ "version": "1.0.1",
139
+ "releasedAt": "2026-08-14T00:00:00Z"
140
+ }
@@ -0,0 +1,117 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Monthly Recording Review — July",
4
+ "objective": "Measure whether the monthly-recording-review craftbook assesses every recording in the index against last month's marks and lands on exactly one next-month focus.",
5
+ "tags": [
6
+ "corpus"
7
+ ],
8
+ "prompt": "end of the month — can you go thru the recordings index and my notes and write the review? report.md please",
9
+ "setup": {
10
+ "projectName": "Piano Practice",
11
+ "about": "Music practice project. Monthly practice recordings are indexed in workspace/recordings/index.json with a listening-notes file per recording; past monthly reviews live under workspace/reviews.",
12
+ "missionObjectives": "Once a month, review the recordings against last month's marks — proof over impression — and pick one focus for next month. Grounded in the seeded index and notes; no live services, no real credentials.",
13
+ "files": [
14
+ {
15
+ "path": "recordings/index.json",
16
+ "content": "[\n {\n \"file\": \"2026-07-05-nocturne.mp3\",\n \"date\": \"2026-07-05\",\n \"piece\": \"Chopin Nocturne Op. 9 No. 2\",\n \"notes\": \"recordings/2026-07-05-nocturne.notes.md\"\n },\n {\n \"file\": \"2026-07-12-nocturne.mp3\",\n \"date\": \"2026-07-12\",\n \"piece\": \"Chopin Nocturne Op. 9 No. 2\",\n \"notes\": \"recordings/2026-07-12-nocturne.notes.md\"\n },\n {\n \"file\": \"2026-07-19-bach-invention.mp3\",\n \"date\": \"2026-07-19\",\n \"piece\": \"Bach Invention No. 8\",\n \"notes\": \"recordings/2026-07-19-bach-invention.notes.md\"\n },\n {\n \"file\": \"2026-07-26-nocturne-full.mp3\",\n \"date\": \"2026-07-26\",\n \"piece\": \"Chopin Nocturne Op. 9 No. 2 (full run-through)\",\n \"notes\": \"recordings/2026-07-26-nocturne-full.notes.md\"\n }\n]\n"
17
+ },
18
+ {
19
+ "path": "recordings/2026-07-05-nocturne.notes.md",
20
+ "content": "# Listening notes — 2026-07-05 nocturne\n\nTempo 88 bpm. Left hand steadier than June — the arpeggios no longer bulge on beat three. Bar 12 ornaments still uneven, rushed on the second turn. Pedal is cleaner in the opening eight bars. Bar 32 run attempted at tempo: fell apart, restarted.\n"
21
+ },
22
+ {
23
+ "path": "recordings/2026-07-12-nocturne.notes.md",
24
+ "content": "# Listening notes — 2026-07-12 nocturne\n\nTempo 92 bpm. Bar 32 run holds at 85 in isolation but breaks in context. Dynamics are starting to appear — the first real crescendo shaping in bars 17-24. Ending chord voicing much better than the June recordings.\n"
25
+ },
26
+ {
27
+ "path": "recordings/2026-07-19-bach-invention.notes.md",
28
+ "content": "# Listening notes — 2026-07-19 bach invention\n\nFirst hands-together recording. 66 bpm, down from the 72 achieved hands-separate — expected. Evenness between the hands is good for a first attempt. Ornaments omitted for now. No memory slips.\n"
29
+ },
30
+ {
31
+ "path": "recordings/2026-07-26-nocturne-full.notes.md",
32
+ "content": "# Listening notes — 2026-07-26 nocturne full run-through\n\nFirst complete run-through ever recorded. 90 bpm working tempo. One stumble at bar 32 (recovered without stopping — new). Rubato in the middle section sounds intentional for the first time. The June recordings had no complete take at all.\n"
33
+ },
34
+ {
35
+ "path": "reviews/2026-06.md",
36
+ "content": "# Monthly review — June 2026\n\n## Marks\n\n- Chopin Nocturne Op. 9 No. 2 — 84 bpm working tempo, no complete take; left hand bulges on beat three; bar 32 run avoided entirely.\n- Bach Invention No. 8 — hands separate only, 72 bpm.\n\n## Focus for July\n\nOne focus: left-hand evenness in the nocturne. Everything else is secondary.\n"
37
+ }
38
+ ],
39
+ "worker": {
40
+ "name": "Iris",
41
+ "role": "Coach"
42
+ }
43
+ },
44
+ "mocks": [],
45
+ "success": {
46
+ "summary": "report.md assesses every indexed recording with concrete evidence, states deltas against the June review, gives a verdict on June's focus, and names exactly one focus for August.",
47
+ "deliverables": [
48
+ {
49
+ "path": "report.md",
50
+ "kind": "markdown-report",
51
+ "minBytes": 1000,
52
+ "checks": [
53
+ {
54
+ "kind": "contains",
55
+ "file": "report.md",
56
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
57
+ "flags": "i"
58
+ },
59
+ {
60
+ "kind": "valuesSubsetOf",
61
+ "file": "report.md",
62
+ "sourceFiles": [
63
+ "recordings/index.json"
64
+ ],
65
+ "pattern": "(\\d{4}-\\d{2}-\\d{2}-[a-z-]+\\.mp3)",
66
+ "flags": "i",
67
+ "minMatches": 2,
68
+ "label": "recordings referenced by their real filenames"
69
+ },
70
+ {
71
+ "kind": "contains",
72
+ "file": "report.md",
73
+ "pattern": "focus",
74
+ "flags": "i",
75
+ "label": "next-month focus named"
76
+ },
77
+ {
78
+ "kind": "contains",
79
+ "file": "report.md",
80
+ "pattern": "better|steadier|cleaner|slower|improved|regressed",
81
+ "flags": "i",
82
+ "label": "delta language versus last month"
83
+ }
84
+ ]
85
+ }
86
+ ]
87
+ },
88
+ "rubric": {
89
+ "artifact": {
90
+ "path": "report.md",
91
+ "kind": "markdown"
92
+ },
93
+ "axes": [
94
+ {
95
+ "name": "honesty",
96
+ "description": "Progress and regressions are both stated plainly — no flattery, no doom."
97
+ },
98
+ {
99
+ "name": "specificity",
100
+ "description": "Observations name passages, tempos, and habits a teacher would point at — never a bare 'sounds better'."
101
+ },
102
+ {
103
+ "name": "comparison rigor",
104
+ "description": "Every piece gets a delta against the June marks, and June's focus (left-hand evenness) gets an explicit verdict."
105
+ },
106
+ {
107
+ "name": "encouragement",
108
+ "description": "The review makes the player want to practice tomorrow, and lands on exactly one focus for next month."
109
+ }
110
+ ]
111
+ },
112
+ "qualityFocus": [
113
+ "evidence over impression",
114
+ "month-over-month deltas",
115
+ "single focus"
116
+ ]
117
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "id": "moodboard",
3
+ "name": "Visual Moodboard",
4
+ "description": "Compose a visual moodboard that captures a direction — palette, textures, type vibe, imagery, and reference tiles — from a written brief, so a team can align on a look before any production work begins. Lock the brief and the explicit dimensions of the mood (e.g. 'warm/editorial/handmade' vs 'cool/technical/precise') FIRST, then assemble a coherent grid of generated or sourced tiles plus a swatch strip and keyword callouts. Covers moodboards, style boards, visual direction, design inspiration, brand mood, and look-and-feel exploration.\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. Moodboard brief (visual-designer) — lock the mood dimensions, palette, and tile plan → gated on artifact `notes/brief.md` (markdown-notes)\n2. Assemble the board (image-generator) — compose the coherent tile grid into one deliverable → gated on `index.html` (html-page)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "brief",
6
+ "triggers": [
7
+ "make a moodboard",
8
+ "create a style board",
9
+ "visual direction board",
10
+ "design inspiration board",
11
+ "look and feel board"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "brief",
16
+ "name": "Moodboard brief",
17
+ "description": "lock the mood dimensions, palette, and tile plan",
18
+ "prompt": "1) Distill the direction into 3-5 mood keywords (e.g. warm, editorial, handmade, calm). 2) Lock a palette with hex swatches and the type vibe (serif/sans, weight, feeling). 3) Plan the tile grid: enumerate the tiles you'll include — e.g. 2-3 imagery tiles, a texture tile, a typography specimen tile, a palette strip — and what each should evoke. 4) Note explicit anti-references (what this is NOT) so the board has a point of view. 5) Write an acceptance-criteria checklist: 'board expresses the 3-5 keywords', 'palette swatches show exact hex', 'a typography specimen is present', 'tiles are cohesive (one direction, not a scrapbook)', 'at least 6 tiles'. 6) Record brief + checklist via write_task_note AND to notes/brief.md. No assembly yet.\n\nThe deliverable `notes/brief.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": "visual-designer",
20
+ "advanceWhen": {
21
+ "file": "notes/brief.md",
22
+ "minBytes": 1,
23
+ "sniff": "nonempty",
24
+ "artifact": true
25
+ },
26
+ "gate": {
27
+ "at": "completion",
28
+ "checks": [
29
+ {
30
+ "kind": "minBytes",
31
+ "file": "notes/brief.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "notes/brief.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "brief",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "assemble"
46
+ },
47
+ {
48
+ "id": "assemble",
49
+ "name": "Assemble the board",
50
+ "description": "compose the coherent tile grid into one deliverable",
51
+ "prompt": "1) Read brief.md. 2) Generate or compose each planned tile to express the locked keywords and palette — imagery tiles via the image-generation capability (or curated solid/gradient/texture blocks if no image model is available), a swatch strip rendering the exact hex values, and a type specimen tile showing the chosen pairing with sample words. 3) Assemble everything into ONE deliverable: a single index.html grid (preferred — easy to render and tweak) laying out at least 6 cohesive tiles with the keyword list as a caption. 4) Keep the direction tight: every tile should feel like the same world. 5) Reference any generated files from assets/ if produced. 6) write_task_note the board path and tile count. Good looks like: someone could brief a designer from this board alone.",
52
+ "suggestedRole": "image-generator",
53
+ "advanceWhen": {
54
+ "file": "index.html",
55
+ "minBytes": 1,
56
+ "sniff": "html-complete"
57
+ },
58
+ "gate": {
59
+ "at": "completion",
60
+ "checks": [
61
+ {
62
+ "kind": "minBytes",
63
+ "file": "index.html",
64
+ "bytes": 800
65
+ },
66
+ {
67
+ "kind": "htmlLint",
68
+ "file": "index.html"
69
+ }
70
+ ],
71
+ "scripts": [
72
+ {
73
+ "name": "checkHtmlComplete",
74
+ "scope": "standard",
75
+ "inputs": {
76
+ "file": "index.html"
77
+ }
78
+ }
79
+ ],
80
+ "onReject": "assemble",
81
+ "maxAttempts": 4
82
+ },
83
+ "next": "evaluate"
84
+ },
85
+ {
86
+ "id": "evaluate",
87
+ "name": "Evaluate",
88
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
89
+ "prompt": "1) Open index.html and confirm it renders a grid of at least 6 tiles (PASS/FAIL). 2) Check it expresses the 3-5 mood keywords from brief.md — is the direction legible and cohesive, not a random scrapbook (PASS/FAIL)? 3) Confirm a palette swatch strip shows the exact hex values and a typography specimen is present. 4) Verify any referenced image files actually load. 5) Write PASS/FAIL per criterion. Incoherent/off-brief → loop back to assemble.\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: \"assemble\" })` 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.",
90
+ "suggestedRole": "reviewer",
91
+ "consumes": [
92
+ {
93
+ "file": "index.html"
94
+ }
95
+ ],
96
+ "next": "assemble"
97
+ },
98
+ {
99
+ "id": "finish",
100
+ "name": "Finish",
101
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
102
+ "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.",
103
+ "suggestedRole": "developer",
104
+ "terminal": true
105
+ }
106
+ ],
107
+ "version": "1.0.1",
108
+ "releasedAt": "2026-08-14T00:00:00Z"
109
+ }