@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,143 @@
1
+ {
2
+ "id": "spec-doc",
3
+ "name": "Technical Design Doc",
4
+ "description": "Write a technical design document (RFC / engineering design doc) that gets a system change reviewed and approved — covering context and problem, goals and non-goals, the proposed design, alternatives considered, trade-offs, risks, and a rollout plan. Scopes the problem, goals, and explicit non-goals FIRST (non-goals prevent reviewer scope-creep), writes the detailed design with diagrams and alternatives, then has a reviewer check it for completeness and unjustified decisions. Use for RFCs, architecture proposals, and pre-implementation design reviews.\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 design (planner) — problem, goals, explicit non-goals, constraints, success metrics → gated on artifact `notes/scope.md` (markdown-notes)\n2. Write the design (developer) — detailed proposed design, alternatives, trade-offs, rollout plan → gated on artifact `spec.md` (markdown-report)\n3. Review the design (reviewer) — check completeness, justified decisions, and risk coverage → gated on artifact `notes/review.md` (markdown-notes)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "scope",
6
+ "triggers": [
7
+ "technical design doc",
8
+ "write an rfc",
9
+ "engineering design document",
10
+ "architecture proposal",
11
+ "system design doc",
12
+ "design spec"
13
+ ],
14
+ "steps": [
15
+ {
16
+ "id": "scope",
17
+ "name": "Scope the design",
18
+ "description": "problem, goals, explicit non-goals, constraints, success metrics",
19
+ "prompt": "Frame the problem before proposing a solution. Step 1: write the context and problem statement — what is broken or needed and why now. Step 2: list the GOALS (what the design must achieve) and, explicitly, the NON-GOALS (what it deliberately will not address) — the non-goals keep the review focused. Step 3: capture the constraints (compatibility, performance, deadline, team, existing systems) the design must respect. Step 4: define success metrics — how you will know the change worked. Step 5: note at least one alternative direction worth documenting so the doc shows the decision was considered. Step 6: write an acceptance-criteria checklist ('problem + context stated', 'goals AND non-goals listed', 'constraints captured', 'success metrics defined', 'at least one alternative to document', 'a rollout/migration consideration noted'). Write the framing + checklist via write_task_note AND to notes/scope.md. No detailed design 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.",
20
+ "suggestedRole": "planner",
21
+ "advanceWhen": {
22
+ "file": "notes/scope.md",
23
+ "minBytes": 1,
24
+ "sniff": "nonempty",
25
+ "artifact": true
26
+ },
27
+ "gate": {
28
+ "at": "completion",
29
+ "checks": [
30
+ {
31
+ "kind": "minBytes",
32
+ "file": "notes/scope.md",
33
+ "bytes": 120,
34
+ "artifact": true
35
+ },
36
+ {
37
+ "kind": "sniff",
38
+ "file": "notes/scope.md",
39
+ "sniff": "nonempty",
40
+ "artifact": true
41
+ }
42
+ ],
43
+ "onReject": "scope",
44
+ "maxAttempts": 3
45
+ },
46
+ "next": "write"
47
+ },
48
+ {
49
+ "id": "write",
50
+ "name": "Write the design",
51
+ "description": "detailed proposed design, alternatives, trade-offs, rollout plan",
52
+ "prompt": "Write the design document as spec.md. Step 1: open with the context/problem, then the goals and non-goals exactly as scoped. Step 2: write the Proposed Design in depth — components and responsibilities, data model/schema changes, APIs/interfaces, and the key flows; include at least one diagram (an ASCII/mermaid block is fine) of the architecture or sequence. Step 3: write an Alternatives Considered section covering each documented alternative with its pros/cons and WHY it was rejected — every significant decision must be justified, not asserted. Step 4: write a Trade-offs and Risks section (what this design gives up, failure modes, mitigations). Step 5: write a Rollout/Migration plan (phasing, flags, backfill, backward compatibility) and a Testing/validation plan tied to the success metrics. Step 6: list open questions. Use numbered headings and keep it concrete with real names. On a loop-back, fix ONLY the named gaps. Write the path + section count via write_task_note.\n\nThe deliverable `spec.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.",
53
+ "suggestedRole": "developer",
54
+ "advanceWhen": {
55
+ "file": "spec.md",
56
+ "minBytes": 1,
57
+ "sniff": "nonempty",
58
+ "artifact": true
59
+ },
60
+ "gate": {
61
+ "at": "completion",
62
+ "checks": [
63
+ {
64
+ "kind": "minBytes",
65
+ "file": "spec.md",
66
+ "bytes": 1500,
67
+ "artifact": true
68
+ },
69
+ {
70
+ "kind": "contains",
71
+ "file": "spec.md",
72
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
73
+ "flags": "i",
74
+ "label": "at least one markdown heading",
75
+ "artifact": true
76
+ }
77
+ ],
78
+ "onReject": "write",
79
+ "maxAttempts": 3
80
+ },
81
+ "next": "review"
82
+ },
83
+ {
84
+ "id": "review",
85
+ "name": "Review the design",
86
+ "description": "check completeness, justified decisions, and risk coverage",
87
+ "prompt": "Review the design as a staff engineer would in an RFC review. Step 1: confirm the proposed design actually satisfies every stated goal and respects every non-goal and constraint. Step 2: check that each significant decision is justified against the documented alternatives — flag any choice asserted without reasoning. Step 3: verify the risks/trade-offs section is honest (not just 'no risks') and the rollout plan addresses backward compatibility and a way to back out. Step 4: confirm a testing/validation plan ties back to the success metrics. Step 5: list concrete gaps with the section and the fix needed, recorded as PASS/FAIL against the scope checklist. Write the findings via write_task_note AND to notes/review.md. Remaining gaps must be fixed in the write phase before this passes.\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.",
88
+ "suggestedRole": "reviewer",
89
+ "advanceWhen": {
90
+ "file": "notes/review.md",
91
+ "minBytes": 1,
92
+ "sniff": "nonempty",
93
+ "artifact": true
94
+ },
95
+ "gate": {
96
+ "at": "completion",
97
+ "checks": [
98
+ {
99
+ "kind": "minBytes",
100
+ "file": "spec.md",
101
+ "bytes": 1500,
102
+ "artifact": true
103
+ },
104
+ {
105
+ "kind": "contains",
106
+ "file": "spec.md",
107
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
108
+ "flags": "i",
109
+ "label": "at least one markdown heading",
110
+ "artifact": true
111
+ }
112
+ ],
113
+ "onReject": "review",
114
+ "maxAttempts": 4
115
+ },
116
+ "next": "evaluate"
117
+ },
118
+ {
119
+ "id": "evaluate",
120
+ "name": "Evaluate",
121
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
122
+ "prompt": "QA the design doc against the locked criteria. Step 1: read spec.md end to end. Step 2: check EACH acceptance criterion: problem + context stated, goals AND non-goals present, constraints captured, the proposed design includes a diagram and concrete interfaces/data model, alternatives are documented with reasons for rejection, risks/trade-offs are honest, a rollout/migration plan with a back-out path exists, and a validation plan ties to the success metrics. Step 3: confirm decisions are justified rather than asserted, folding in notes/review.md findings. Write PASS/FAIL per criterion with the offending section on any FAIL.\n\nThe deliverable lives in the project's artifacts drawer — open `spec.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: \"write\" })` 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.",
123
+ "suggestedRole": "reviewer",
124
+ "consumes": [
125
+ {
126
+ "file": "spec.md",
127
+ "artifact": true
128
+ }
129
+ ],
130
+ "next": "write"
131
+ },
132
+ {
133
+ "id": "finish",
134
+ "name": "Finish",
135
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
136
+ "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.",
137
+ "suggestedRole": "developer",
138
+ "terminal": true
139
+ }
140
+ ],
141
+ "version": "1.0.1",
142
+ "releasedAt": "2026-08-14T00:00:00Z"
143
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Technical Design Doc smoke eval",
4
+ "objective": "Self-contained smoke eval for the Technical Design Doc craftbook using the data generic harness.",
5
+ "tags": [
6
+ "data"
7
+ ],
8
+ "prompt": "I dropped our numbers in source/records.csv. Can you look at the data, analyze it, and put togehter some results in analysis.md?",
9
+ "setup": {
10
+ "projectName": "Technical Design Doc Eval",
11
+ "about": "Self-contained eval project for spec-doc. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/analysis.md.",
12
+ "missionObjectives": "Use the Technical Design Doc craftbook/template, read the seeded local fixtures, and write analysis.md without network calls, real credentials, or live services.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "content": "# Technical Design Doc 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: spec-doc - Technical Design Doc.\n"
17
+ },
18
+ {
19
+ "path": "source/records.csv",
20
+ "content": "customer,region,orders,revenue_usd,churn_risk\nAster,North,12,1440,low\nBoreal,South,8,720,medium\nCedar,West,15,2100,high\nDune,North,5,500,low\n"
21
+ }
22
+ ],
23
+ "worker": {
24
+ "name": "Jules",
25
+ "role": "Data Analyst"
26
+ }
27
+ },
28
+ "mocks": [],
29
+ "success": {
30
+ "summary": "analysis.md is a seeded-data analysis with deterministic computed facts.",
31
+ "deliverables": [
32
+ {
33
+ "path": "analysis.md",
34
+ "kind": "markdown-report",
35
+ "minBytes": 900,
36
+ "checks": [
37
+ {
38
+ "kind": "contains",
39
+ "file": "analysis.md",
40
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
41
+ "flags": "i"
42
+ },
43
+ {
44
+ "kind": "contains",
45
+ "file": "analysis.md",
46
+ "pattern": "40\\b",
47
+ "flags": "i",
48
+ "label": "include total orders of 40"
49
+ },
50
+ {
51
+ "kind": "contains",
52
+ "file": "analysis.md",
53
+ "pattern": "\\$?4,?760\\b",
54
+ "flags": "i",
55
+ "label": "include total revenue of 4760"
56
+ },
57
+ {
58
+ "kind": "contains",
59
+ "file": "analysis.md",
60
+ "pattern": "Cedar",
61
+ "flags": "i",
62
+ "label": "identify Cedar as top revenue and high risk"
63
+ },
64
+ {
65
+ "kind": "contains",
66
+ "file": "analysis.md",
67
+ "pattern": "high",
68
+ "flags": "i",
69
+ "label": "include churn-risk finding"
70
+ }
71
+ ]
72
+ }
73
+ ]
74
+ },
75
+ "rubric": {
76
+ "artifact": {
77
+ "path": "analysis.md",
78
+ "kind": "markdown"
79
+ },
80
+ "axes": [
81
+ {
82
+ "name": "accuracy",
83
+ "description": "Computed figures are correct against the seeded records."
84
+ },
85
+ {
86
+ "name": "grounding",
87
+ "description": "Every claim traces to the seeded data — nothing invented."
88
+ },
89
+ {
90
+ "name": "structure",
91
+ "description": "Tables and sections make the analysis checkable at a glance."
92
+ },
93
+ {
94
+ "name": "actionability",
95
+ "description": "Recommendations follow from the findings and are concretely doable."
96
+ }
97
+ ]
98
+ },
99
+ "qualityFocus": [
100
+ "seeded data reading",
101
+ "computed facts",
102
+ "recommendation grounding"
103
+ ]
104
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "id": "spreadsheet-model",
3
+ "name": "Spreadsheet / Financial Model",
4
+ "description": "Build a working spreadsheet-style model (budget, forecast, unit economics, pricing, or scenario calculator) with clearly separated inputs, calculations, and outputs. Scopes the model's purpose, drivers, and assumptions FIRST so the formulas have a contract, then builds the model with live formulas and labeled assumption cells, then verifies the math by hand-checking key outputs and a sanity scenario. Use this for a financial model, budget calculator, ROI/forecast spreadsheet, unit-economics model, or any input-driven calculator.\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 model (planner) — lock the purpose, drivers, assumptions, and outputs → gated on artifact `notes/scope.md` (markdown-notes)\n2. Build the model (developer) — implement the model with live formulas and labeled cells → 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": "scope",
6
+ "triggers": [
7
+ "build a financial model",
8
+ "make a budget spreadsheet",
9
+ "unit economics model",
10
+ "forecast spreadsheet",
11
+ "roi calculator"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the model",
17
+ "description": "lock the purpose, drivers, assumptions, and outputs",
18
+ "prompt": "Define the model's contract before building. Step 1: state the question the model answers and the single primary output (e.g. 'monthly net profit', '12-month cash runway'). Step 2: list the input drivers (assumptions a user changes) with a default value and unit for each. Step 3: list the calculated rows and the formula logic in words ('revenue = units * price'; 'gross margin = revenue - COGS'). Step 4: define the time axis or scenario columns if any. Step 5: write an acceptance-criteria checklist ('inputs, calcs, and outputs are visually separated', 'every assumption is a labeled editable cell', 'totals reconcile', 'changing an input flows through to the output', 'a documented sanity scenario produces the expected value'). Call write_task_note and write the driver list + formula logic + checklist to 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": "planner",
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": "build"
46
+ },
47
+ {
48
+ "id": "build",
49
+ "name": "Build the model",
50
+ "description": "implement the model with live formulas and labeled cells",
51
+ "prompt": "Build the model as a single interactive index.html that behaves like a spreadsheet. Step 1: lay out three clearly labeled zones — Assumptions (editable inputs), Calculations, and Outputs. Step 2: implement every calculated row with a live formula derived from the inputs (changing an input recomputes downstream values in the page). Step 3: label each cell with its name and unit; format currency/percent appropriately. Step 4: add the time/scenario columns from the scope and ensure totals sum correctly. Step 5: seed the default assumptions and show the primary output prominently. On a loop-back, fix only the named gaps. Call write_task_note with the path and the computed default output.",
52
+ "suggestedRole": "developer",
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": "build",
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": "Open index.html and exercise it as a spreadsheet, verifying the math, not just the layout. Step 1: confirm inputs, calculations, and outputs are visually separated and every assumption is a labeled, editable cell with a unit. Step 2: independently compute the primary output by hand from the default assumptions and confirm the model agrees. Step 3: change one driver to a round number, re-derive the expected output by hand, and confirm the model recomputes to it live (the flow-through works). Step 4: run the documented sanity scenario and check it hits the expected value. Step 5: confirm totals reconcile (subtotals sum to totals) and no calculated value is hardcoded where it should reference an input. Write PASS/FAIL per criterion; any FAIL loops back to build.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"build\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
90
+ "suggestedRole": "reviewer",
91
+ "consumes": [
92
+ {
93
+ "file": "index.html"
94
+ }
95
+ ],
96
+ "next": "build"
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
+ }
@@ -0,0 +1,160 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Spreadsheet / Financial Model smoke eval",
4
+ "objective": "Measure whether the spreadsheet-model craftbook rolls a seeded record set up CORRECTLY (checked against a harness-owned arithmetic oracle rather than digit-substring matching) and turns the roll-up into a decision-useful read-out.",
5
+ "tags": [
6
+ "data"
7
+ ],
8
+ "prompt": "I dropped our numbers in `source/records.csv`. Work them up into a small model and a written read-out.\n\n1. `data/model.json` — the computed roll-ups, using EXACTLY this schema. Money is whole US dollars, shares are percentages rounded to 2 decimal places:\n```json\n{\n \"totals\": { \"orders\": 0, \"revenue_usd\": 0, \"avg_revenue_per_order_usd\": 0 },\n \"by_region\": { \"North\": { \"orders\": 0, \"revenue_usd\": 0 },\n \"South\": { \"orders\": 0, \"revenue_usd\": 0 },\n \"West\": { \"orders\": 0, \"revenue_usd\": 0 } },\n \"top_customer_by_revenue\": \"\",\n \"high_risk_revenue_usd\": 0,\n \"high_risk_revenue_share_pct\": 0.0\n}\n```\n`high_risk_*` covers only rows whose `churn_risk` is `high`.\n\n2. `analysis.md` — a short analysis for operations leads that restates those figures, names the concentration risk, and recommends a next action. Use only the figures in `data/model.json`; do not introduce new numbers.",
9
+ "setup": {
10
+ "projectName": "Spreadsheet / Financial Model Eval",
11
+ "about": "Self-contained eval project for spreadsheet-model. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/analysis.md.",
12
+ "missionObjectives": "Compute data/model.json under the locked schema from source/records.csv, then write analysis.md restating those figures with a concentration-risk finding and a next action.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "content": "# Spreadsheet / Financial Model 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: spreadsheet-model - Spreadsheet / Financial Model.\n"
17
+ },
18
+ {
19
+ "path": "source/records.csv",
20
+ "content": "customer,region,orders,revenue_usd,churn_risk\nAster,North,12,1440,low\nBoreal,South,8,720,medium\nCedar,West,15,2100,high\nDune,North,5,500,low\n"
21
+ }
22
+ ],
23
+ "worker": {
24
+ "name": "Jules",
25
+ "role": "Data Analyst"
26
+ }
27
+ },
28
+ "mocks": [],
29
+ "success": {
30
+ "summary": "data/model.json carries the correct roll-ups under the locked schema and analysis.md restates them with the single-account concentration risk called out.",
31
+ "deliverables": [
32
+ {
33
+ "path": "data/model.json",
34
+ "kind": "json",
35
+ "minBytes": 120,
36
+ "checks": [
37
+ {
38
+ "kind": "jsonPathEquals",
39
+ "file": "data/model.json",
40
+ "path": "totals.orders",
41
+ "value": 40,
42
+ "label": "12 + 8 + 15 + 5 = 40 orders"
43
+ },
44
+ {
45
+ "kind": "jsonPathEquals",
46
+ "file": "data/model.json",
47
+ "path": "totals.revenue_usd",
48
+ "value": 4760,
49
+ "label": "1440 + 720 + 2100 + 500 = 4,760"
50
+ },
51
+ {
52
+ "kind": "jsonPathEquals",
53
+ "file": "data/model.json",
54
+ "path": "totals.avg_revenue_per_order_usd",
55
+ "value": 119,
56
+ "label": "4,760 / 40 = 119 per order"
57
+ },
58
+ {
59
+ "kind": "jsonPathEquals",
60
+ "file": "data/model.json",
61
+ "path": "by_region.North.orders",
62
+ "value": 17,
63
+ "label": "North is Aster (12) + Dune (5)"
64
+ },
65
+ {
66
+ "kind": "jsonPathEquals",
67
+ "file": "data/model.json",
68
+ "path": "by_region.North.revenue_usd",
69
+ "value": 1940,
70
+ "label": "North is 1440 + 500 = 1,940"
71
+ },
72
+ {
73
+ "kind": "jsonPathEquals",
74
+ "file": "data/model.json",
75
+ "path": "by_region.West.revenue_usd",
76
+ "value": 2100,
77
+ "label": "West is Cedar alone"
78
+ },
79
+ {
80
+ "kind": "jsonPathEquals",
81
+ "file": "data/model.json",
82
+ "path": "top_customer_by_revenue",
83
+ "value": "Cedar",
84
+ "label": "Cedar is the largest account by revenue"
85
+ },
86
+ {
87
+ "kind": "jsonPathEquals",
88
+ "file": "data/model.json",
89
+ "path": "high_risk_revenue_usd",
90
+ "value": 2100,
91
+ "label": "only Cedar carries churn_risk=high"
92
+ },
93
+ {
94
+ "kind": "jsonPathEquals",
95
+ "file": "data/model.json",
96
+ "path": "high_risk_revenue_share_pct",
97
+ "value": 44.12,
98
+ "label": "2100 / 4760 = 44.12% of revenue sits in one high-risk account"
99
+ }
100
+ ]
101
+ },
102
+ {
103
+ "path": "analysis.md",
104
+ "kind": "markdown-report",
105
+ "minBytes": 900,
106
+ "checks": [
107
+ {
108
+ "kind": "contains",
109
+ "file": "analysis.md",
110
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
111
+ "flags": "i"
112
+ },
113
+ {
114
+ "kind": "contains",
115
+ "file": "analysis.md",
116
+ "pattern": "\\$?4,?760\\b",
117
+ "flags": "i",
118
+ "label": "restate total revenue of 4,760"
119
+ },
120
+ {
121
+ "kind": "contains",
122
+ "file": "analysis.md",
123
+ "pattern": "Cedar",
124
+ "flags": "i",
125
+ "label": "name Cedar as the top-revenue, high-churn-risk account"
126
+ }
127
+ ]
128
+ }
129
+ ]
130
+ },
131
+ "rubric": {
132
+ "artifact": {
133
+ "path": "analysis.md",
134
+ "kind": "markdown"
135
+ },
136
+ "axes": [
137
+ {
138
+ "name": "accuracy",
139
+ "description": "Computed figures are correct against the seeded records."
140
+ },
141
+ {
142
+ "name": "grounding",
143
+ "description": "Every claim traces to the seeded data — nothing invented."
144
+ },
145
+ {
146
+ "name": "structure",
147
+ "description": "Tables and sections make the analysis checkable at a glance."
148
+ },
149
+ {
150
+ "name": "actionability",
151
+ "description": "Recommendations follow from the findings and are concretely doable."
152
+ }
153
+ ]
154
+ },
155
+ "qualityFocus": [
156
+ "seeded data reading",
157
+ "computed facts",
158
+ "recommendation grounding"
159
+ ]
160
+ }