@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,147 @@
1
+ {
2
+ "id": "library-package",
3
+ "name": "Reusable Library Package",
4
+ "description": "Build a reusable library/SDK with a clean public API surface, sensible defaults, and published documentation. Designs the public API FIRST — exported functions/classes, signatures, types, error contract, and what stays internal — because a library's API is a long-lived promise, then implements it, then writes user-facing docs with installation, quickstart, and a worked example per public function. Covers public-vs-private surface, function signatures, JSDoc/typedoc, README, semantic versioning posture, and usage examples.\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. Public API design (planner) — lock exports, signatures, types, error contract → gated on artifact `notes/api-design.md` (markdown-notes)\n2. Build the library (developer) — implement the public API + internals → gated on `src/index.js` (code-module)\n3. Write the docs (copywriter) — README with install, quickstart, per-function examples → gated on `README.md` (markdown-doc)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "api-design",
6
+ "triggers": [
7
+ "build a library",
8
+ "create an sdk",
9
+ "make a reusable package",
10
+ "publish a module",
11
+ "library with a public api"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "api-design",
16
+ "name": "Public API design",
17
+ "description": "lock exports, signatures, types, error contract",
18
+ "prompt": "Design the public API surface before implementation — it is a long-lived promise to callers. Step 1: List exactly what the library exports (functions, classes, constants) and what stays internal. Step 2: For each export, write its full signature: parameter names, types, defaults, and return type. Step 3: Define the error contract — what each function throws or returns on bad input/failure, and any shared error type. Step 4: Decide naming, module layout, and the minimal surface (resist over-exporting). Step 5: Write a numbered acceptance-criteria checklist of 5-9 items (e.g. 'every documented export exists with the documented signature', 'invalid input is rejected per the error contract', 'no internal helper leaks into the public surface'). `write_task_note` the API spec + checklist and write the same to the produces path. No implementation yet.\n\nThe deliverable `notes/api-design.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/api-design.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/api-design.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "notes/api-design.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "api-design",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "build"
46
+ },
47
+ {
48
+ "id": "build",
49
+ "name": "Build the library",
50
+ "description": "implement the public API + internals",
51
+ "prompt": "Implement the library in a source module exporting exactly the designed surface. Step 1: Implement every public export with the locked signature and behavior; keep helpers unexported. Step 2: Validate inputs and honor the error contract precisely. Step 3: Add inline doc comments (JSDoc/TSDoc) on each public export describing params, return, and throws. Step 4: Include a few assertions or a small example to self-verify the happy paths. On a loop-back, fix only the named gaps without changing the public signatures unless the design changed. `write_task_note` the file path and which criteria now pass.",
52
+ "suggestedRole": "developer",
53
+ "advanceWhen": {
54
+ "file": "src/index.js",
55
+ "minBytes": 1,
56
+ "sniff": "nonempty"
57
+ },
58
+ "gate": {
59
+ "at": "completion",
60
+ "checks": [
61
+ {
62
+ "kind": "minBytes",
63
+ "file": "src/index.js",
64
+ "bytes": 200
65
+ },
66
+ {
67
+ "kind": "sniff",
68
+ "file": "src/index.js",
69
+ "sniff": "nonempty"
70
+ },
71
+ {
72
+ "kind": "esmImports",
73
+ "file": "src/index.js"
74
+ },
75
+ {
76
+ "kind": "sourceParses",
77
+ "file": "src/index.js"
78
+ }
79
+ ],
80
+ "onReject": "build",
81
+ "maxAttempts": 3
82
+ },
83
+ "next": "docs"
84
+ },
85
+ {
86
+ "id": "docs",
87
+ "name": "Write the docs",
88
+ "description": "README with install, quickstart, per-function examples",
89
+ "prompt": "Write the user-facing documentation as a README. Step 1: Open with a one-paragraph what-and-why and an install line. Step 2: Add a quickstart: the smallest runnable example that produces a result. Step 3: Document EVERY public export with its signature, a one-line description, and a short worked code example. Step 4: Add an errors/edge-cases section matching the error contract, and a versioning note. Examples must match the real signatures exactly — copy them from the API spec, do not invent parameters. `write_task_note` the README path.",
90
+ "suggestedRole": "copywriter",
91
+ "advanceWhen": {
92
+ "file": "README.md",
93
+ "minBytes": 1,
94
+ "sniff": "nonempty"
95
+ },
96
+ "gate": {
97
+ "at": "completion",
98
+ "checks": [
99
+ {
100
+ "kind": "minBytes",
101
+ "file": "src/index.js",
102
+ "bytes": 200
103
+ },
104
+ {
105
+ "kind": "sniff",
106
+ "file": "src/index.js",
107
+ "sniff": "nonempty"
108
+ },
109
+ {
110
+ "kind": "esmImports",
111
+ "file": "src/index.js"
112
+ },
113
+ {
114
+ "kind": "sourceParses",
115
+ "file": "src/index.js"
116
+ }
117
+ ],
118
+ "onReject": "docs",
119
+ "maxAttempts": 4
120
+ },
121
+ "next": "evaluate"
122
+ },
123
+ {
124
+ "id": "evaluate",
125
+ "name": "Evaluate",
126
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
127
+ "prompt": "Check the library against the API spec and the docs against the library. For EACH acceptance criterion: confirm every documented export exists with the exact signature, confirm inputs are validated per the error contract, confirm no internal helper leaked, and confirm every README example matches a real signature and would run. Write PASS/FAIL per criterion. If the docs reference a function/parameter the code does not have, that is a FAIL.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"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.",
128
+ "suggestedRole": "reviewer",
129
+ "consumes": [
130
+ {
131
+ "file": "src/index.js"
132
+ }
133
+ ],
134
+ "next": "build"
135
+ },
136
+ {
137
+ "id": "finish",
138
+ "name": "Finish",
139
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
140
+ "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.",
141
+ "suggestedRole": "developer",
142
+ "terminal": true
143
+ }
144
+ ],
145
+ "version": "1.0.1",
146
+ "releasedAt": "2026-08-14T00:00:00Z"
147
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Reusable Library Package smoke eval",
4
+ "objective": "Self-contained smoke eval for the Reusable Library Package craftbook using the code generic harness.",
5
+ "tags": [
6
+ "code"
7
+ ],
8
+ "prompt": "We need a small Node helper for this — the requirments are in source/requirements.md. Put it in src/solution.mjs.",
9
+ "setup": {
10
+ "projectName": "Reusable Library Package Eval",
11
+ "about": "Self-contained eval project for library-package. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/src/solution.mjs.",
12
+ "missionObjectives": "Use the Reusable Library Package craftbook/template, read the seeded local fixtures, and write src/solution.mjs without network calls, real credentials, or live services.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "content": "# Reusable Library Package 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: library-package - Reusable Library Package.\n"
17
+ },
18
+ {
19
+ "path": "source/requirements.md",
20
+ "content": "# Runner Requirements\n\nBuild a dependency-free Node ESM helper for Boreal Desk support operations. Export at least one function. Include a tiny self-test section using node:assert or an equivalent assertion helper. Use fixture values for 18 -> 6 hour response time and 14.2 -> 8.9 refund leakage.\n"
21
+ }
22
+ ],
23
+ "worker": {
24
+ "name": "Jules",
25
+ "role": "Developer"
26
+ }
27
+ },
28
+ "mocks": [],
29
+ "success": {
30
+ "summary": "src/solution.mjs is a local ESM module with basic self-test scaffolding.",
31
+ "deliverables": [
32
+ {
33
+ "path": "src/solution.mjs",
34
+ "kind": "code-with-tests",
35
+ "minBytes": 1500,
36
+ "checks": [
37
+ {
38
+ "kind": "esmImports",
39
+ "file": "src/solution.mjs"
40
+ },
41
+ {
42
+ "kind": "contains",
43
+ "file": "src/solution.mjs",
44
+ "pattern": "export\\s+(function|const|class)|export\\s*\\{",
45
+ "flags": "i"
46
+ },
47
+ {
48
+ "kind": "contains",
49
+ "file": "src/solution.mjs",
50
+ "pattern": "assert|test|describe|it|expect",
51
+ "flags": "i"
52
+ },
53
+ {
54
+ "kind": "contains",
55
+ "file": "src/solution.mjs",
56
+ "pattern": "18|6|14\\.2|8\\.9|Boreal",
57
+ "flags": "i"
58
+ }
59
+ ]
60
+ }
61
+ ]
62
+ },
63
+ "rubric": {
64
+ "artifact": {
65
+ "path": "src/solution.mjs",
66
+ "kind": "typescript"
67
+ },
68
+ "axes": [
69
+ {
70
+ "name": "correctness",
71
+ "description": "The module does what the requirements ask, with sensible edge handling."
72
+ },
73
+ {
74
+ "name": "verification",
75
+ "description": "Self-tests exercise real behavior, not trivial truths."
76
+ },
77
+ {
78
+ "name": "clarity",
79
+ "description": "Exports, naming, and structure make the module usable without reading every line."
80
+ },
81
+ {
82
+ "name": "robustness",
83
+ "description": "Invalid input and boundary cases fail loudly rather than silently."
84
+ }
85
+ ]
86
+ },
87
+ "qualityFocus": [
88
+ "runnable ESM",
89
+ "test scaffolding",
90
+ "local fixtures"
91
+ ]
92
+ }
@@ -0,0 +1,146 @@
1
+ {
2
+ "id": "literature-review",
3
+ "name": "Literature Review",
4
+ "description": "Survey the existing literature on a topic and synthesize it into a structured review: a planner sets the scope, inclusion criteria, and the themes to organize around, then a researcher gathers and characterizes each source (method, finding, quality), then a copywriter synthesizes them thematically rather than source-by-source, surfacing consensus, disagreement, and gaps. The ordering matters because a review written without inclusion criteria becomes an arbitrary pile, and one written source-by-source reads like a list of summaries instead of a synthesis; locking themes and a source matrix first forces the comparative analysis that makes a real lit review. Use this for academic-style literature surveys, state-of-the-art reviews, 'what does the research say' questions, and synthesizing a body of papers or articles.\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 (planner) — topic boundaries, inclusion criteria, organizing themes → gated on artifact `notes/scope.md` (markdown-notes)\n2. Gather & characterize sources (researcher) — build the source matrix: method, finding, quality per source → gated on artifact `notes/sources.md` (markdown-notes)\n3. Synthesize the review (copywriter) — write a thematic synthesis with consensus, conflict, gaps → gated on artifact `review.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
+ "literature review",
8
+ "what does the research say",
9
+ "survey the literature",
10
+ "state of the art review",
11
+ "summarize the papers on"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the review",
17
+ "description": "topic boundaries, inclusion criteria, organizing themes",
18
+ "prompt": "1. State the review topic and its boundaries in one sentence (what is in and out of scope). 2. Define inclusion criteria: source types accepted (peer-reviewed, official reports, etc.), recency window, and a minimum source count (aim 6+). 3. Decide 3-5 organizing themes or dimensions the review will be structured around (NOT source-by-source) plus a source-characterization matrix schema (columns like source, year, method, key finding, quality/limitation). 4. Write an acceptance-criteria checklist (e.g. 'review is organized by theme not by source', 'each source appears in the matrix with all columns filled', 'consensus vs disagreement is explicitly called out', 'a gaps/future-work section exists', 'minimum source count met'). 5. Record decisions. Call write_task_note with the themes, matrix schema, and checklist, and write the same 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": "gather"
46
+ },
47
+ {
48
+ "id": "gather",
49
+ "name": "Gather & characterize sources",
50
+ "description": "build the source matrix: method, finding, quality per source",
51
+ "prompt": "1. Find sources meeting the inclusion criteria, prioritizing seminal and recent work. 2. For each source, add a row to the matrix in notes/sources.md with every scoped column filled: citation key [n], title/author/year, method or evidence type, key finding (with the figure or claim), and a one-line quality note or limitation. 3. As you go, tag which organizing theme(s) each source speaks to so the writer can group them. 4. Note where sources agree and where they conflict on the same question. 5. Flag anything you could not verify as UNVERIFIED. Good looks like a matrix where the comparative structure of the field is already visible. Do not write the prose review yet.\n\nThe deliverable `notes/sources.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": "researcher",
53
+ "advanceWhen": {
54
+ "file": "notes/sources.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/sources.md",
65
+ "bytes": 120,
66
+ "artifact": true
67
+ },
68
+ {
69
+ "kind": "sniff",
70
+ "file": "notes/sources.md",
71
+ "sniff": "nonempty",
72
+ "artifact": true
73
+ }
74
+ ],
75
+ "onReject": "gather",
76
+ "maxAttempts": 3
77
+ },
78
+ "next": "synthesize"
79
+ },
80
+ {
81
+ "id": "synthesize",
82
+ "name": "Synthesize the review",
83
+ "description": "write a thematic synthesis with consensus, conflict, gaps",
84
+ "prompt": "1. Write review.md organized by the locked themes (one section per theme), NOT one section per source. 2. In each theme, synthesize across sources: state what is established, cite the supporting sources [n], then explicitly note where sources disagree and why. 3. Open with an introduction framing the topic and scope, and close with a 'Gaps & future directions' section. 4. Add a numbered References list built from notes/sources.md so every [n] resolves. 5. Keep it comparative and analytical, not a chain of one-paragraph summaries. 6. On a loop-back, fix only the named gaps. 7. Call write_task_note with the review path and which criteria now pass.\n\nBefore working, open the artifact input `notes/sources.md` with `read_artifact`; do not look for it in the workspace.\n\nThe deliverable `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.",
85
+ "suggestedRole": "copywriter",
86
+ "consumes": [
87
+ {
88
+ "file": "notes/sources.md",
89
+ "artifact": true
90
+ }
91
+ ],
92
+ "advanceWhen": {
93
+ "file": "review.md",
94
+ "minBytes": 1,
95
+ "sniff": "nonempty",
96
+ "artifact": true
97
+ },
98
+ "gate": {
99
+ "at": "completion",
100
+ "checks": [
101
+ {
102
+ "kind": "minBytes",
103
+ "file": "review.md",
104
+ "bytes": 1500,
105
+ "artifact": true
106
+ },
107
+ {
108
+ "kind": "contains",
109
+ "file": "review.md",
110
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
111
+ "flags": "i",
112
+ "label": "at least one markdown heading",
113
+ "artifact": true
114
+ }
115
+ ],
116
+ "onReject": "synthesize",
117
+ "maxAttempts": 4
118
+ },
119
+ "next": "evaluate"
120
+ },
121
+ {
122
+ "id": "evaluate",
123
+ "name": "Evaluate",
124
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
125
+ "prompt": "Open review.md and check EACH criterion PASS/FAIL: (1) the review is organized by theme, not source-by-source; (2) every source in notes/sources.md is cited and every matrix column was actually used to inform the prose; (3) consensus AND disagreement are explicitly surfaced for at least the main themes; (4) a gaps/future-work section exists; (5) the minimum source count is met and inclusion criteria respected; (6) every inline [n] resolves to the References list. A pile of per-source summaries with no synthesis FAILS even if every source is present.\n\nThe deliverable lives in the project's artifacts drawer — open `review.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: \"synthesize\" })` 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.",
126
+ "suggestedRole": "reviewer",
127
+ "consumes": [
128
+ {
129
+ "file": "review.md",
130
+ "artifact": true
131
+ }
132
+ ],
133
+ "next": "synthesize"
134
+ },
135
+ {
136
+ "id": "finish",
137
+ "name": "Finish",
138
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
139
+ "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.",
140
+ "suggestedRole": "developer",
141
+ "terminal": true
142
+ }
143
+ ],
144
+ "version": "1.0.1",
145
+ "releasedAt": "2026-08-14T00:00:00Z"
146
+ }
@@ -0,0 +1,110 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Literature Review smoke eval",
4
+ "objective": "Self-contained smoke eval for the Literature Review craftbook using the corpus generic harness.",
5
+ "tags": [
6
+ "corpus"
7
+ ],
8
+ "prompt": "We need a literature review for the returns-desk work. The backgound info is in source/brief.md — have a look and write it up in report.md.",
9
+ "setup": {
10
+ "projectName": "Literature Review Eval",
11
+ "about": "Self-contained eval project for literature-review. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/report.md.",
12
+ "missionObjectives": "Use the Literature Review craftbook/template, read the seeded local fixtures, and write report.md without network calls, real credentials, or live services.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "content": "# Literature Review 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: literature-review - Literature Review.\n"
17
+ }
18
+ ],
19
+ "worker": {
20
+ "name": "Jules",
21
+ "role": "Writer"
22
+ }
23
+ },
24
+ "mocks": [],
25
+ "success": {
26
+ "summary": "report.md is a source-grounded markdown artifact with required facts and actions.",
27
+ "deliverables": [
28
+ {
29
+ "path": "report.md",
30
+ "kind": "markdown-report",
31
+ "minBytes": 1000,
32
+ "checks": [
33
+ {
34
+ "kind": "contains",
35
+ "file": "report.md",
36
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
37
+ "flags": "i"
38
+ },
39
+ {
40
+ "kind": "contains",
41
+ "file": "report.md",
42
+ "pattern": "source/brief\\.md|Brief",
43
+ "flags": "i",
44
+ "label": "cite or name the seeded source"
45
+ },
46
+ {
47
+ "kind": "contains",
48
+ "file": "report.md",
49
+ "pattern": "18\\b[\\s\\S]{0,30}\\bSKUs",
50
+ "flags": "i",
51
+ "label": "include the 18-SKU pilot scope"
52
+ },
53
+ {
54
+ "kind": "contains",
55
+ "file": "report.md",
56
+ "pattern": "18\\s*hours|6\\s*hours",
57
+ "flags": "i"
58
+ },
59
+ {
60
+ "kind": "contains",
61
+ "file": "report.md",
62
+ "pattern": "14\\.2%|8\\.9%",
63
+ "flags": "i"
64
+ },
65
+ {
66
+ "kind": "contains",
67
+ "file": "report.md",
68
+ "pattern": "status silence|photo submission",
69
+ "flags": "i"
70
+ },
71
+ {
72
+ "kind": "contains",
73
+ "file": "report.md",
74
+ "pattern": "automated status emails|barcode|Finance",
75
+ "flags": "i"
76
+ }
77
+ ]
78
+ }
79
+ ]
80
+ },
81
+ "rubric": {
82
+ "artifact": {
83
+ "path": "report.md",
84
+ "kind": "markdown"
85
+ },
86
+ "axes": [
87
+ {
88
+ "name": "grounding",
89
+ "description": "Seeded facts appear faithfully and the source is cited."
90
+ },
91
+ {
92
+ "name": "structure",
93
+ "description": "Sections progress logically for the artifact class."
94
+ },
95
+ {
96
+ "name": "completeness",
97
+ "description": "Required elements (risks, next actions, scope) are all present."
98
+ },
99
+ {
100
+ "name": "tone",
101
+ "description": "The register fits the audience and artifact class."
102
+ }
103
+ ]
104
+ },
105
+ "qualityFocus": [
106
+ "source-grounded prose",
107
+ "section structure",
108
+ "next-action clarity"
109
+ ]
110
+ }
@@ -0,0 +1,141 @@
1
+ {
2
+ "id": "live-browser-qa",
3
+ "name": "Live Browser QA Pass",
4
+ "description": "Run a hands-on quality-assurance pass on a running web app or page by actually exercising it in a browser, then emit a defect report with reproduction steps and severity. First derives a test plan and acceptance criteria from the app's intended behavior (happy paths, edge cases, error states, responsive/console health), then drives the UI step-by-step clicking and typing through each flow while watching the console and network for errors, then writes a bug report where every defect has numbered repro steps, expected vs actual, and severity. Use this for QA, manual testing, smoke testing, exploratory testing, click-testing a build, or verifying a feature works in the real browser before shipping — it finds broken flows, console errors, and visual breakage that unit tests miss.\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. Plan the QA pass (reviewer) — enumerate flows + acceptance criteria to exercise → gated on artifact `notes/plan.md` (markdown-notes)\n2. Exercise the app (reviewer) — drive each flow in a browser, capture defects → gated on artifact `notes/exercise.md` (markdown-notes)\n3. Write the QA report (reviewer) — emit a defect report with repro + severity → gated on artifact `qa-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": "plan",
6
+ "triggers": [
7
+ "qa this",
8
+ "run a qa pass",
9
+ "test this in the browser",
10
+ "smoke test the app",
11
+ "click through the app",
12
+ "manual test the feature"
13
+ ],
14
+ "steps": [
15
+ {
16
+ "id": "plan",
17
+ "name": "Plan the QA pass",
18
+ "description": "enumerate flows + acceptance criteria to exercise",
19
+ "prompt": "Step 1: Identify what the app/page is supposed to do and how to reach it (URL, dev server, or open the file). Step 2: Enumerate the user flows to exercise: each happy path (e.g. 'submit the form with valid data'), the key edge cases (empty input, very long input, invalid data), and the error states (network failure, 404). Step 3: List the cross-cutting checks: no console errors on load or interaction, no broken images/links, responsive at mobile and desktop widths, keyboard operability of primary controls. Step 4: Write an acceptance-criteria checklist of 6-10 concrete, checkable behaviors, e.g. 'submitting valid data shows a success state', 'submitting empty data shows an inline validation error, not a crash', 'no red console errors during any flow'. Step 5: Note test data to use and any setup needed. Write the flow list + checklist to `write_task_note` AND `notes/plan.md`. No testing yet.\n\nThe deliverable `notes/plan.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": "reviewer",
21
+ "advanceWhen": {
22
+ "file": "notes/plan.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/plan.md",
33
+ "bytes": 120,
34
+ "artifact": true
35
+ },
36
+ {
37
+ "kind": "sniff",
38
+ "file": "notes/plan.md",
39
+ "sniff": "nonempty",
40
+ "artifact": true
41
+ }
42
+ ],
43
+ "onReject": "plan",
44
+ "maxAttempts": 3
45
+ },
46
+ "next": "exercise"
47
+ },
48
+ {
49
+ "id": "exercise",
50
+ "name": "Exercise the app",
51
+ "description": "drive each flow in a browser, capture defects",
52
+ "prompt": "Step 1: Open the app (use the browser/automation capability if available — navigate, click, type, screenshot; otherwise trace the rendered DOM and JS by reading the source and reason about each interaction). Step 2: Run each planned flow step-by-step, recording the exact actions taken. Step 3: After every action, check the result against the acceptance criterion AND watch the console/network for errors or failed requests. Step 4: For every defect, capture: the flow, numbered reproduction steps, the EXPECTED result, the ACTUAL result, the severity (critical = blocks the flow / major = wrong but workaroundable / minor = cosmetic), and a screenshot or console excerpt if available. Step 5: Also record what PASSED so the report shows coverage, not just failures. Good looks like: a defect a developer can reproduce on the first try from your steps. Stage findings to `write_task_note` as you go. Do not write the final report yet.\n\nThe deliverable `notes/exercise.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": "reviewer",
54
+ "advanceWhen": {
55
+ "file": "notes/exercise.md",
56
+ "minBytes": 1,
57
+ "sniff": "nonempty",
58
+ "artifact": true
59
+ },
60
+ "gate": {
61
+ "at": "completion",
62
+ "checks": [
63
+ {
64
+ "kind": "minBytes",
65
+ "file": "notes/exercise.md",
66
+ "bytes": 120,
67
+ "artifact": true
68
+ },
69
+ {
70
+ "kind": "sniff",
71
+ "file": "notes/exercise.md",
72
+ "sniff": "nonempty",
73
+ "artifact": true
74
+ }
75
+ ],
76
+ "onReject": "exercise",
77
+ "maxAttempts": 3
78
+ },
79
+ "next": "report"
80
+ },
81
+ {
82
+ "id": "report",
83
+ "name": "Write the QA report",
84
+ "description": "emit a defect report with repro + severity",
85
+ "prompt": "Step 1: Open `qa-report.md` and write a top-line verdict: Pass / Pass-with-issues / Fail, plus the count of defects by severity. Step 2: Add a '## Defects' section; for each defect write `### [SEVERITY] short title` followed by numbered repro steps, an Expected line, an Actual line, and any console/screenshot evidence. Order by severity. Step 3: Add a '## Passed' section listing the flows that worked, so coverage is visible. Step 4: Add a '## Not tested' section for anything you could not reach and why. Every defect must have reproducible steps and an expected-vs-actual — no vague 'it seems broken'. On a loop-back, fix only the named gaps without dropping verified defects. `write_task_note` the report path and the defect counts by severity.\n\nThe deliverable `qa-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.",
86
+ "suggestedRole": "reviewer",
87
+ "advanceWhen": {
88
+ "file": "qa-report.md",
89
+ "minBytes": 1,
90
+ "sniff": "nonempty",
91
+ "artifact": true
92
+ },
93
+ "gate": {
94
+ "at": "completion",
95
+ "checks": [
96
+ {
97
+ "kind": "minBytes",
98
+ "file": "qa-report.md",
99
+ "bytes": 1500,
100
+ "artifact": true
101
+ },
102
+ {
103
+ "kind": "contains",
104
+ "file": "qa-report.md",
105
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
106
+ "flags": "i",
107
+ "label": "at least one markdown heading",
108
+ "artifact": true
109
+ }
110
+ ],
111
+ "onReject": "report",
112
+ "maxAttempts": 4
113
+ },
114
+ "next": "evaluate"
115
+ },
116
+ {
117
+ "id": "evaluate",
118
+ "name": "Evaluate",
119
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
120
+ "prompt": "Open `qa-report.md` and grade it against the plan checklist. Check EACH criterion and write PASS/FAIL with a one-line reason: (1) every planned flow is marked tested with a result; (2) each defect has numbered, reproducible steps; (3) each defect states Expected vs Actual; (4) each defect has a severity; (5) console/network health was actually checked, not assumed; (6) a Passed section shows coverage and a Not-tested section is honest; (7) the verdict matches the findings (no 'Pass' with an open critical). If any criterion fails, name the exact gap.\n\nThe deliverable lives in the project's artifacts drawer — open `qa-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.",
121
+ "suggestedRole": "reviewer",
122
+ "consumes": [
123
+ {
124
+ "file": "qa-report.md",
125
+ "artifact": true
126
+ }
127
+ ],
128
+ "next": "report"
129
+ },
130
+ {
131
+ "id": "finish",
132
+ "name": "Finish",
133
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
134
+ "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.",
135
+ "suggestedRole": "developer",
136
+ "terminal": true
137
+ }
138
+ ],
139
+ "version": "1.0.1",
140
+ "releasedAt": "2026-08-14T00:00:00Z"
141
+ }