@bendyline/gilde 0.1.37 → 0.1.39

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 (551) hide show
  1. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/craftbook.json +153 -0
  2. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/test.json +118 -0
  3. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/craftbook.json +153 -0
  4. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/test.json +189 -0
  5. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/craftbook.json +122 -0
  6. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/test.json +100 -0
  7. package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/craftbook.json +117 -0
  8. package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/test.json +111 -0
  9. package/data/craftbook-templates/al/album-curate/versions/1.0.2/craftbook.json +127 -0
  10. package/data/craftbook-templates/al/album-curate/versions/1.0.2/test.json +150 -0
  11. package/data/craftbook-templates/al/alert-rules/versions/1.0.2/craftbook.json +113 -0
  12. package/data/craftbook-templates/al/alert-rules/versions/1.0.2/test.json +148 -0
  13. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/craftbook.json +154 -0
  14. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/test.json +100 -0
  15. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/craftbook.json +238 -0
  16. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/test.json +160 -0
  17. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/craftbook.json +158 -0
  18. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/test.json +105 -0
  19. package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/craftbook.json +152 -0
  20. package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/test.json +113 -0
  21. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/craftbook.json +153 -0
  22. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/test.json +123 -0
  23. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/craftbook.json +153 -0
  24. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/test.json +118 -0
  25. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/craftbook.json +170 -0
  26. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/test.json +139 -0
  27. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/craftbook.json +141 -0
  28. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/test.json +106 -0
  29. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/craftbook.json +135 -0
  30. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/test.json +106 -0
  31. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/craftbook.json +222 -0
  32. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/test.json +224 -0
  33. package/data/craftbook-templates/au/auth-flow/versions/1.0.2/craftbook.json +160 -0
  34. package/data/craftbook-templates/au/auth-flow/versions/1.0.2/test.json +143 -0
  35. package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/craftbook.json +176 -0
  36. package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/test.json +299 -0
  37. package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/craftbook.json +160 -0
  38. package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/test.json +111 -0
  39. package/data/craftbook-templates/bl/blog-post/versions/1.0.2/craftbook.json +155 -0
  40. package/data/craftbook-templates/bl/blog-post/versions/1.0.2/test.json +121 -0
  41. package/data/craftbook-templates/bo/board-deck/versions/1.0.2/craftbook.json +153 -0
  42. package/data/craftbook-templates/bo/board-deck/versions/1.0.2/test.json +103 -0
  43. package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/craftbook.json +162 -0
  44. package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/test.json +102 -0
  45. package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/craftbook.json +170 -0
  46. package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/test.json +165 -0
  47. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/craftbook.json +119 -0
  48. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/test.json +106 -0
  49. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/craftbook.json +429 -0
  50. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/test.json +379 -0
  51. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/craftbook.json +176 -0
  52. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/test.json +95 -0
  53. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/craftbook.json +119 -0
  54. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/test.json +105 -0
  55. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/craftbook.json +122 -0
  56. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/test.json +109 -0
  57. package/data/craftbook-templates/ca/case-study/versions/1.0.2/craftbook.json +155 -0
  58. package/data/craftbook-templates/ca/case-study/versions/1.0.2/test.json +115 -0
  59. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/craftbook.json +163 -0
  60. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/test.json +108 -0
  61. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/craftbook.json +125 -0
  62. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/test.json +109 -0
  63. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/craftbook.json +119 -0
  64. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/test.json +132 -0
  65. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/craftbook.json +135 -0
  66. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/test.json +158 -0
  67. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/craftbook.json +86 -0
  68. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/test.json +101 -0
  69. package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/craftbook.json +94 -0
  70. package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/test.json +146 -0
  71. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/craftbook.json +133 -0
  72. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/test.json +181 -0
  73. package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/craftbook.json +160 -0
  74. package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/test.json +107 -0
  75. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/craftbook.json +160 -0
  76. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/test.json +100 -0
  77. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/craftbook.json +144 -0
  78. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/test.json +165 -0
  79. package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/craftbook.json +158 -0
  80. package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/test.json +152 -0
  81. package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/craftbook.json +159 -0
  82. package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/test.json +131 -0
  83. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/craftbook.json +165 -0
  84. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/test.json +119 -0
  85. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/craftbook.json +165 -0
  86. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/test.json +122 -0
  87. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/craftbook.json +153 -0
  88. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/test.json +229 -0
  89. package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/craftbook.json +151 -0
  90. package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/test.json +100 -0
  91. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/craftbook.json +165 -0
  92. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/test.json +112 -0
  93. package/data/craftbook-templates/co/compat-check/versions/1.0.2/craftbook.json +158 -0
  94. package/data/craftbook-templates/co/compat-check/versions/1.0.2/test.json +148 -0
  95. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/craftbook.json +152 -0
  96. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/test.json +119 -0
  97. package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/craftbook.json +117 -0
  98. package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/test.json +123 -0
  99. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/craftbook.json +153 -0
  100. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/test.json +152 -0
  101. package/data/craftbook-templates/co/contract-template/versions/1.0.2/craftbook.json +157 -0
  102. package/data/craftbook-templates/co/contract-template/versions/1.0.2/test.json +105 -0
  103. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/craftbook.json +133 -0
  104. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/test.json +162 -0
  105. package/data/craftbook-templates/co/copy-review/versions/1.0.2/craftbook.json +153 -0
  106. package/data/craftbook-templates/co/copy-review/versions/1.0.2/test.json +105 -0
  107. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/craftbook.json +158 -0
  108. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/test.json +159 -0
  109. package/data/craftbook-templates/co/cover-letter/versions/1.0.2/craftbook.json +119 -0
  110. package/data/craftbook-templates/co/cover-letter/versions/1.0.2/test.json +103 -0
  111. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/craftbook.json +113 -0
  112. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/test.json +210 -0
  113. package/data/craftbook-templates/cr/cron-job/versions/1.0.2/craftbook.json +159 -0
  114. package/data/craftbook-templates/cr/cron-job/versions/1.0.2/test.json +107 -0
  115. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/craftbook.json +176 -0
  116. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/test.json +138 -0
  117. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/craftbook.json +113 -0
  118. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/test.json +105 -0
  119. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/craftbook.json +119 -0
  120. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/test.json +117 -0
  121. package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/craftbook.json +119 -0
  122. package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/test.json +104 -0
  123. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/craftbook.json +160 -0
  124. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/test.json +107 -0
  125. package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/craftbook.json +113 -0
  126. package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/test.json +107 -0
  127. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/craftbook.json +160 -0
  128. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/test.json +165 -0
  129. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/craftbook.json +153 -0
  130. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/test.json +329 -0
  131. package/data/craftbook-templates/da/data-to-report/versions/1.0.2/craftbook.json +152 -0
  132. package/data/craftbook-templates/da/data-to-report/versions/1.0.2/test.json +98 -0
  133. package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/craftbook.json +155 -0
  134. package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/test.json +120 -0
  135. package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/craftbook.json +113 -0
  136. package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/test.json +98 -0
  137. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/craftbook.json +160 -0
  138. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/test.json +107 -0
  139. package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/craftbook.json +223 -0
  140. package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/test.json +160 -0
  141. package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/craftbook.json +153 -0
  142. package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/test.json +111 -0
  143. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/craftbook.json +171 -0
  144. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/test.json +168 -0
  145. package/data/craftbook-templates/de/design-review/versions/1.0.2/craftbook.json +153 -0
  146. package/data/craftbook-templates/de/design-review/versions/1.0.2/test.json +121 -0
  147. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/craftbook.json +443 -0
  148. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/test.json +204 -0
  149. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/craftbook.json +121 -0
  150. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/test.json +100 -0
  151. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/craftbook.json +158 -0
  152. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/test.json +165 -0
  153. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/craftbook.json +160 -0
  154. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/test.json +107 -0
  155. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/craftbook.json +119 -0
  156. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/test.json +113 -0
  157. package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/craftbook.json +160 -0
  158. package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/test.json +95 -0
  159. package/data/craftbook-templates/do/docs-site/versions/1.0.2/craftbook.json +155 -0
  160. package/data/craftbook-templates/do/docs-site/versions/1.0.2/test.json +100 -0
  161. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/craftbook.json +165 -0
  162. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/test.json +135 -0
  163. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/craftbook.json +152 -0
  164. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/test.json +107 -0
  165. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/craftbook.json +158 -0
  166. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/test.json +113 -0
  167. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/craftbook.json +155 -0
  168. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/test.json +100 -0
  169. package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/craftbook.json +188 -0
  170. package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/test.json +149 -0
  171. package/data/craftbook-templates/em/email-sequence/versions/1.0.2/craftbook.json +154 -0
  172. package/data/craftbook-templates/em/email-sequence/versions/1.0.2/test.json +100 -0
  173. package/data/craftbook-templates/em/email-template/versions/1.0.2/craftbook.json +155 -0
  174. package/data/craftbook-templates/em/email-template/versions/1.0.2/test.json +100 -0
  175. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/craftbook.json +415 -0
  176. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/test.json +194 -0
  177. package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/craftbook.json +152 -0
  178. package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/test.json +100 -0
  179. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/craftbook.json +119 -0
  180. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/test.json +113 -0
  181. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/craftbook.json +158 -0
  182. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/test.json +113 -0
  183. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/craftbook.json +445 -0
  184. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/test.json +139 -0
  185. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/craftbook.json +152 -0
  186. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/test.json +107 -0
  187. package/data/craftbook-templates/fa/fact-check/versions/1.0.2/craftbook.json +158 -0
  188. package/data/craftbook-templates/fa/fact-check/versions/1.0.2/test.json +113 -0
  189. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/craftbook.json +86 -0
  190. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/test.json +111 -0
  191. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/craftbook.json +119 -0
  192. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/test.json +113 -0
  193. package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/craftbook.json +158 -0
  194. package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/test.json +106 -0
  195. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/craftbook.json +171 -0
  196. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/test.json +165 -0
  197. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/craftbook.json +160 -0
  198. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/test.json +165 -0
  199. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/craftbook.json +155 -0
  200. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/test.json +100 -0
  201. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/craftbook.json +115 -0
  202. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/test.json +106 -0
  203. package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/craftbook.json +117 -0
  204. package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/test.json +107 -0
  205. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/craftbook.json +160 -0
  206. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/test.json +165 -0
  207. package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/craftbook.json +122 -0
  208. package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/test.json +113 -0
  209. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/craftbook.json +180 -0
  210. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/test.json +102 -0
  211. package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/craftbook.json +152 -0
  212. package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/test.json +113 -0
  213. package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/craftbook.json +158 -0
  214. package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/test.json +95 -0
  215. package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/craftbook.json +159 -0
  216. package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/test.json +95 -0
  217. package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/craftbook.json +157 -0
  218. package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/test.json +113 -0
  219. package/data/craftbook-templates/he/hero-image/versions/1.0.2/craftbook.json +166 -0
  220. package/data/craftbook-templates/he/hero-image/versions/1.0.2/test.json +106 -0
  221. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/craftbook.json +214 -0
  222. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/test.json +131 -0
  223. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/craftbook.json +194 -0
  224. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/test.json +95 -0
  225. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/craftbook.json +162 -0
  226. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/test.json +102 -0
  227. package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/craftbook.json +158 -0
  228. package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/test.json +106 -0
  229. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/craftbook.json +409 -0
  230. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/test.json +144 -0
  231. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/craftbook.json +162 -0
  232. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/test.json +102 -0
  233. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/craftbook.json +153 -0
  234. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/test.json +106 -0
  235. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/craftbook.json +152 -0
  236. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/test.json +106 -0
  237. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/craftbook.json +121 -0
  238. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/test.json +100 -0
  239. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/craftbook.json +117 -0
  240. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/test.json +106 -0
  241. package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/craftbook.json +152 -0
  242. package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/test.json +107 -0
  243. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/craftbook.json +119 -0
  244. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/test.json +113 -0
  245. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/craftbook.json +170 -0
  246. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/test.json +112 -0
  247. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/craftbook.json +165 -0
  248. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/test.json +124 -0
  249. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/craftbook.json +155 -0
  250. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/test.json +102 -0
  251. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/craftbook.json +153 -0
  252. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/test.json +113 -0
  253. package/data/craftbook-templates/in/invitation-design/versions/1.0.2/craftbook.json +140 -0
  254. package/data/craftbook-templates/in/invitation-design/versions/1.0.2/test.json +124 -0
  255. package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/craftbook.json +122 -0
  256. package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/test.json +100 -0
  257. package/data/craftbook-templates/in/invoice-run/versions/1.1.2/craftbook.json +211 -0
  258. package/data/craftbook-templates/in/invoice-run/versions/1.1.2/test.json +143 -0
  259. package/data/craftbook-templates/index.json +1 -1
  260. package/data/craftbook-templates/it/item-intake/versions/1.0.2/craftbook.json +152 -0
  261. package/data/craftbook-templates/it/item-intake/versions/1.0.2/test.json +148 -0
  262. package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/craftbook.json +128 -0
  263. package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/test.json +119 -0
  264. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/craftbook.json +155 -0
  265. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/test.json +113 -0
  266. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/craftbook.json +160 -0
  267. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/test.json +100 -0
  268. package/data/craftbook-templates/la/landing-copy/versions/1.0.2/craftbook.json +155 -0
  269. package/data/craftbook-templates/la/landing-copy/versions/1.0.2/test.json +113 -0
  270. package/data/craftbook-templates/la/landing-page/versions/1.0.2/craftbook.json +196 -0
  271. package/data/craftbook-templates/la/landing-page/versions/1.0.2/test.json +100 -0
  272. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/craftbook.json +152 -0
  273. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/test.json +107 -0
  274. package/data/craftbook-templates/li/library-package/versions/1.0.2/craftbook.json +159 -0
  275. package/data/craftbook-templates/li/library-package/versions/1.0.2/test.json +95 -0
  276. package/data/craftbook-templates/li/literature-review/versions/1.0.2/craftbook.json +158 -0
  277. package/data/craftbook-templates/li/literature-review/versions/1.0.2/test.json +113 -0
  278. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/craftbook.json +153 -0
  279. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/test.json +165 -0
  280. package/data/craftbook-templates/lo/localize-content/versions/1.0.2/craftbook.json +155 -0
  281. package/data/craftbook-templates/lo/localize-content/versions/1.0.2/test.json +113 -0
  282. package/data/craftbook-templates/lo/logo-set/versions/1.0.2/craftbook.json +158 -0
  283. package/data/craftbook-templates/lo/logo-set/versions/1.0.2/test.json +106 -0
  284. package/data/craftbook-templates/ma/market-scan/versions/1.0.2/craftbook.json +158 -0
  285. package/data/craftbook-templates/ma/market-scan/versions/1.0.2/test.json +213 -0
  286. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/craftbook.json +120 -0
  287. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/test.json +113 -0
  288. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/craftbook.json +119 -0
  289. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/test.json +113 -0
  290. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/craftbook.json +119 -0
  291. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/test.json +187 -0
  292. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/craftbook.json +121 -0
  293. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/test.json +106 -0
  294. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/craftbook.json +127 -0
  295. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/test.json +115 -0
  296. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/craftbook.json +159 -0
  297. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/test.json +95 -0
  298. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/craftbook.json +129 -0
  299. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/test.json +102 -0
  300. package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/craftbook.json +151 -0
  301. package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/test.json +113 -0
  302. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/craftbook.json +168 -0
  303. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/test.json +136 -0
  304. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/craftbook.json +170 -0
  305. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/test.json +200 -0
  306. package/data/craftbook-templates/mo/month-close/versions/1.0.2/craftbook.json +152 -0
  307. package/data/craftbook-templates/mo/month-close/versions/1.0.2/test.json +100 -0
  308. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/craftbook.json +152 -0
  309. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/test.json +120 -0
  310. package/data/craftbook-templates/mo/moodboard/versions/1.0.2/craftbook.json +121 -0
  311. package/data/craftbook-templates/mo/moodboard/versions/1.0.2/test.json +106 -0
  312. package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/craftbook.json +119 -0
  313. package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/test.json +228 -0
  314. package/data/craftbook-templates/mo/morning-report/versions/1.0.2/craftbook.json +164 -0
  315. package/data/craftbook-templates/mo/morning-report/versions/1.0.2/test.json +253 -0
  316. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/craftbook.json +113 -0
  317. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/test.json +106 -0
  318. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/craftbook.json +193 -0
  319. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/test.json +89 -0
  320. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/craftbook.json +155 -0
  321. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/test.json +113 -0
  322. package/data/craftbook-templates/no/notification-router/versions/1.0.2/craftbook.json +170 -0
  323. package/data/craftbook-templates/no/notification-router/versions/1.0.2/test.json +165 -0
  324. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/craftbook.json +149 -0
  325. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/test.json +106 -0
  326. package/data/craftbook-templates/of/offer-compare/versions/1.0.2/craftbook.json +118 -0
  327. package/data/craftbook-templates/of/offer-compare/versions/1.0.2/test.json +113 -0
  328. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/craftbook.json +119 -0
  329. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/test.json +113 -0
  330. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/craftbook.json +155 -0
  331. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/test.json +100 -0
  332. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/craftbook.json +119 -0
  333. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/test.json +113 -0
  334. package/data/craftbook-templates/on/one-pager/versions/1.0.2/craftbook.json +155 -0
  335. package/data/craftbook-templates/on/one-pager/versions/1.0.2/test.json +113 -0
  336. package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/craftbook.json +124 -0
  337. package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/test.json +107 -0
  338. package/data/craftbook-templates/pa/page-spread/versions/1.0.2/craftbook.json +94 -0
  339. package/data/craftbook-templates/pa/page-spread/versions/1.0.2/test.json +135 -0
  340. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/craftbook.json +159 -0
  341. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/test.json +95 -0
  342. package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/craftbook.json +153 -0
  343. package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/test.json +165 -0
  344. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/craftbook.json +160 -0
  345. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/test.json +95 -0
  346. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/craftbook.json +152 -0
  347. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/test.json +125 -0
  348. package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/craftbook.json +152 -0
  349. package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/test.json +106 -0
  350. package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/craftbook.json +122 -0
  351. package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/test.json +102 -0
  352. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/craftbook.json +153 -0
  353. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/test.json +100 -0
  354. package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/craftbook.json +152 -0
  355. package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/test.json +114 -0
  356. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/craftbook.json +152 -0
  357. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/test.json +106 -0
  358. package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/craftbook.json +163 -0
  359. package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/test.json +100 -0
  360. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.3/craftbook.json +9 -8
  361. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/craftbook.json +397 -0
  362. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/test.json +242 -0
  363. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/craftbook.json +153 -0
  364. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/test.json +113 -0
  365. package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/craftbook.json +171 -0
  366. package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/test.json +120 -0
  367. package/data/craftbook-templates/pr/practice-session/versions/1.0.2/craftbook.json +127 -0
  368. package/data/craftbook-templates/pr/practice-session/versions/1.0.2/test.json +117 -0
  369. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/craftbook.json +152 -0
  370. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/test.json +100 -0
  371. package/data/craftbook-templates/pr/press-release/versions/1.0.2/craftbook.json +155 -0
  372. package/data/craftbook-templates/pr/press-release/versions/1.0.2/test.json +359 -0
  373. package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/craftbook.json +121 -0
  374. package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/test.json +153 -0
  375. package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/craftbook.json +196 -0
  376. package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/test.json +100 -0
  377. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/craftbook.json +117 -0
  378. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/test.json +113 -0
  379. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/craftbook.json +155 -0
  380. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/test.json +113 -0
  381. package/data/craftbook-templates/pu/pull-request-review/versions/1.7.1/craftbook.json +273 -0
  382. package/data/craftbook-templates/pu/pull-request-review/versions/1.7.1/test.json +141 -0
  383. package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/craftbook.json +279 -0
  384. package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/test.json +144 -0
  385. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/craftbook.json +133 -0
  386. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/test.json +126 -0
  387. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/craftbook.json +167 -0
  388. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/test.json +100 -0
  389. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/craftbook.json +152 -0
  390. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/test.json +116 -0
  391. package/data/craftbook-templates/re/reading-list/versions/1.0.2/craftbook.json +119 -0
  392. package/data/craftbook-templates/re/reading-list/versions/1.0.2/test.json +113 -0
  393. package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/craftbook.json +152 -0
  394. package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/test.json +152 -0
  395. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/craftbook.json +152 -0
  396. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/test.json +107 -0
  397. package/data/craftbook-templates/re/reception-report/versions/1.0.1/craftbook.json +177 -0
  398. package/data/craftbook-templates/re/reception-report/versions/1.0.1/test.json +169 -0
  399. package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/craftbook.json +152 -0
  400. package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/test.json +131 -0
  401. package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/craftbook.json +127 -0
  402. package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/test.json +113 -0
  403. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/craftbook.json +160 -0
  404. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/test.json +107 -0
  405. package/data/craftbook-templates/re/refactor-module/versions/1.0.3/craftbook.json +160 -0
  406. package/data/craftbook-templates/re/refactor-module/versions/1.0.3/test.json +95 -0
  407. package/data/craftbook-templates/re/regex-builder/versions/1.0.2/craftbook.json +159 -0
  408. package/data/craftbook-templates/re/regex-builder/versions/1.0.2/test.json +95 -0
  409. package/data/craftbook-templates/re/release-announcement/versions/1.0.2/craftbook.json +171 -0
  410. package/data/craftbook-templates/re/release-announcement/versions/1.0.2/test.json +205 -0
  411. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/craftbook.json +226 -0
  412. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/test.json +141 -0
  413. package/data/craftbook-templates/re/release-notes/versions/1.0.2/craftbook.json +171 -0
  414. package/data/craftbook-templates/re/release-notes/versions/1.0.2/test.json +114 -0
  415. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/craftbook.json +159 -0
  416. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/test.json +165 -0
  417. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/craftbook.json +153 -0
  418. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/test.json +113 -0
  419. package/data/craftbook-templates/re/reliability-review/versions/1.0.2/craftbook.json +165 -0
  420. package/data/craftbook-templates/re/reliability-review/versions/1.0.2/test.json +115 -0
  421. package/data/craftbook-templates/re/report-pdf/versions/1.1.2/craftbook.json +185 -0
  422. package/data/craftbook-templates/re/report-pdf/versions/1.1.2/test.json +101 -0
  423. package/data/craftbook-templates/re/research-report/versions/1.0.2/craftbook.json +158 -0
  424. package/data/craftbook-templates/re/research-report/versions/1.0.2/test.json +113 -0
  425. package/data/craftbook-templates/re/research-to-document/versions/1.2.2/craftbook.json +228 -0
  426. package/data/craftbook-templates/re/research-to-document/versions/1.2.2/test.json +243 -0
  427. package/data/craftbook-templates/re/rest-api/versions/1.0.3/craftbook.json +159 -0
  428. package/data/craftbook-templates/re/rest-api/versions/1.0.3/test.json +390 -0
  429. package/data/craftbook-templates/re/resume-cv/versions/1.0.2/craftbook.json +155 -0
  430. package/data/craftbook-templates/re/resume-cv/versions/1.0.2/test.json +100 -0
  431. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/craftbook.json +171 -0
  432. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/test.json +165 -0
  433. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/craftbook.json +425 -0
  434. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/test.json +157 -0
  435. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/craftbook.json +179 -0
  436. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/test.json +140 -0
  437. package/data/craftbook-templates/ru/runbook/versions/1.0.2/craftbook.json +157 -0
  438. package/data/craftbook-templates/ru/runbook/versions/1.0.2/test.json +121 -0
  439. package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/craftbook.json +156 -0
  440. package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/test.json +106 -0
  441. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/craftbook.json +152 -0
  442. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/test.json +165 -0
  443. package/data/craftbook-templates/sc/script-automation/versions/1.0.2/craftbook.json +160 -0
  444. package/data/craftbook-templates/sc/script-automation/versions/1.0.2/test.json +165 -0
  445. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/craftbook.json +159 -0
  446. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/test.json +93 -0
  447. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/craftbook.json +152 -0
  448. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/test.json +113 -0
  449. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/craftbook.json +452 -0
  450. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/test.json +157 -0
  451. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/craftbook.json +117 -0
  452. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/test.json +100 -0
  453. package/data/craftbook-templates/so/social-digest/versions/1.0.1/craftbook.json +140 -0
  454. package/data/craftbook-templates/so/social-digest/versions/1.0.1/test.json +169 -0
  455. package/data/craftbook-templates/so/social-thread/versions/1.0.2/craftbook.json +119 -0
  456. package/data/craftbook-templates/so/social-thread/versions/1.0.2/test.json +113 -0
  457. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/craftbook.json +152 -0
  458. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/test.json +161 -0
  459. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/craftbook.json +155 -0
  460. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/test.json +100 -0
  461. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/craftbook.json +448 -0
  462. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/test.json +165 -0
  463. package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/craftbook.json +155 -0
  464. package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/test.json +107 -0
  465. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/craftbook.json +121 -0
  466. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/test.json +163 -0
  467. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/craftbook.json +149 -0
  468. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/test.json +106 -0
  469. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/craftbook.json +121 -0
  470. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/test.json +107 -0
  471. package/data/craftbook-templates/st/standup-summary/versions/1.0.2/craftbook.json +119 -0
  472. package/data/craftbook-templates/st/standup-summary/versions/1.0.2/test.json +113 -0
  473. package/data/craftbook-templates/st/state-machine/versions/1.0.2/craftbook.json +159 -0
  474. package/data/craftbook-templates/st/state-machine/versions/1.0.2/test.json +95 -0
  475. package/data/craftbook-templates/st/status-report/versions/1.0.2/craftbook.json +158 -0
  476. package/data/craftbook-templates/st/status-report/versions/1.0.2/test.json +113 -0
  477. package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/craftbook.json +152 -0
  478. package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/test.json +107 -0
  479. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/craftbook.json +140 -0
  480. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/test.json +106 -0
  481. package/data/craftbook-templates/su/summarize-long/versions/1.0.2/craftbook.json +119 -0
  482. package/data/craftbook-templates/su/summarize-long/versions/1.0.2/test.json +113 -0
  483. package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/craftbook.json +153 -0
  484. package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/test.json +107 -0
  485. package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/craftbook.json +122 -0
  486. package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/test.json +100 -0
  487. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/craftbook.json +126 -0
  488. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/test.json +100 -0
  489. package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/craftbook.json +420 -0
  490. package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/test.json +177 -0
  491. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/craftbook.json +153 -0
  492. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/test.json +116 -0
  493. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/craftbook.json +132 -0
  494. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/test.json +95 -0
  495. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/craftbook.json +155 -0
  496. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/test.json +144 -0
  497. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/craftbook.json +155 -0
  498. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/test.json +145 -0
  499. package/data/craftbook-templates/th/threat-model/versions/1.0.2/craftbook.json +153 -0
  500. package/data/craftbook-templates/th/threat-model/versions/1.0.2/test.json +113 -0
  501. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/craftbook.json +115 -0
  502. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/test.json +106 -0
  503. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/craftbook.json +172 -0
  504. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/test.json +162 -0
  505. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/craftbook.json +119 -0
  506. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/test.json +113 -0
  507. package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/craftbook.json +152 -0
  508. package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/test.json +113 -0
  509. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/craftbook.json +127 -0
  510. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/test.json +101 -0
  511. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/craftbook.json +119 -0
  512. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/test.json +106 -0
  513. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/craftbook.json +183 -0
  514. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/test.json +154 -0
  515. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/craftbook.json +160 -0
  516. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/test.json +95 -0
  517. package/data/craftbook-templates/ve/version-bump/versions/1.0.2/craftbook.json +167 -0
  518. package/data/craftbook-templates/ve/version-bump/versions/1.0.2/test.json +95 -0
  519. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/craftbook.json +121 -0
  520. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/test.json +106 -0
  521. package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/craftbook.json +152 -0
  522. package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/test.json +100 -0
  523. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/craftbook.json +119 -0
  524. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/test.json +106 -0
  525. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/craftbook.json +166 -0
  526. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/test.json +127 -0
  527. package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/craftbook.json +155 -0
  528. package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/test.json +100 -0
  529. package/data/craftbook-templates/we/web-component/versions/1.0.2/craftbook.json +122 -0
  530. package/data/craftbook-templates/we/web-component/versions/1.0.2/test.json +100 -0
  531. package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/craftbook.json +159 -0
  532. package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/test.json +165 -0
  533. package/data/craftbook-templates/we/week-plan/versions/1.0.2/craftbook.json +152 -0
  534. package/data/craftbook-templates/we/week-plan/versions/1.0.2/test.json +258 -0
  535. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/craftbook.json +152 -0
  536. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/test.json +100 -0
  537. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/craftbook.json +118 -0
  538. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/test.json +107 -0
  539. package/data/craftbook-templates/we/weekly-review/versions/1.0.2/craftbook.json +119 -0
  540. package/data/craftbook-templates/we/weekly-review/versions/1.0.2/test.json +113 -0
  541. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/craftbook.json +152 -0
  542. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/test.json +141 -0
  543. package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/craftbook.json +153 -0
  544. package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/test.json +113 -0
  545. package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/craftbook.json +127 -0
  546. package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/test.json +148 -0
  547. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/craftbook.json +146 -0
  548. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/test.json +106 -0
  549. package/package.json +1 -1
  550. package/schemas/craftbook-doc.schema.json +4 -2
  551. package/schemas/craftbook-template-version.schema.json +4 -2
@@ -0,0 +1,127 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Weak-Spot Drill — evidence-ranked, targeted, scheduled",
4
+ "objective": "Measure whether the weak-spot-drill craftbook reads the deck's review record, names the weak spots with numbers, and builds a drill over ONLY that material — plus a follow-up plan that says when each spot counts as closed.",
5
+ "tags": [
6
+ "html-page"
7
+ ],
8
+ "prompt": "i keep bombing the same stuff — can you figure out my weak spots from the results and make me a targetted drill?",
9
+ "setup": {
10
+ "projectName": "Music Theory Flashcards",
11
+ "about": "Study Buddy project for music theory. The deck and its review record live at workspace/deck.json — each card carries its Leitner box and got-it/missed stats. The drill goes to workspace/drill.html and the follow-up plan to workspace/report.md.",
12
+ "missionObjectives": "Targeting is the whole point: the drill covers only what the record marks weak, with the numbers as evidence, and the plan schedules the way back. No live services, no real credentials.",
13
+ "files": [
14
+ {
15
+ "path": "deck.json",
16
+ "content": "{\n \"version\": 1,\n \"subject\": \"Music theory basics\",\n \"cards\": [\n {\n \"id\": \"card-1\",\n \"front\": \"treble clef, second line from bottom\",\n \"back\": \"G\",\n \"box\": 3,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 7,\n \"missed\": 1\n }\n },\n {\n \"id\": \"card-2\",\n \"front\": \"bass clef, middle line\",\n \"back\": \"D\",\n \"box\": 3,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 7,\n \"missed\": 1\n }\n },\n {\n \"id\": \"card-3\",\n \"front\": \"ledger line above treble staff\",\n \"back\": \"A5\",\n \"box\": 3,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 7,\n \"missed\": 1\n }\n },\n {\n \"id\": \"card-4\",\n \"front\": \"treble clef, top space\",\n \"back\": \"E5\",\n \"box\": 3,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 7,\n \"missed\": 1\n }\n },\n {\n \"id\": \"card-5\",\n \"front\": \"bass clef, bottom line\",\n \"back\": \"G2\",\n \"box\": 3,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 7,\n \"missed\": 1\n }\n },\n {\n \"id\": \"card-6\",\n \"front\": \"C up to A\",\n \"back\": \"major sixth\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 1,\n \"missed\": 7\n }\n },\n {\n \"id\": \"card-7\",\n \"front\": \"E up to B flat\",\n \"back\": \"diminished fifth (tritone)\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 1,\n \"missed\": 7\n }\n },\n {\n \"id\": \"card-8\",\n \"front\": \"F up to D flat\",\n \"back\": \"minor sixth\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 1,\n \"missed\": 7\n }\n },\n {\n \"id\": \"card-9\",\n \"front\": \"G up to F\",\n \"back\": \"minor seventh\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 1,\n \"missed\": 7\n }\n },\n {\n \"id\": \"card-10\",\n \"front\": \"B up to F sharp\",\n \"back\": \"perfect fifth\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 1,\n \"missed\": 7\n }\n },\n {\n \"id\": \"card-11\",\n \"front\": \"key with 3 sharps\",\n \"back\": \"A major / F sharp minor\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 2,\n \"missed\": 6\n }\n },\n {\n \"id\": \"card-12\",\n \"front\": \"key with 4 flats\",\n \"back\": \"A flat major / F minor\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 2,\n \"missed\": 6\n }\n },\n {\n \"id\": \"card-13\",\n \"front\": \"key with 5 sharps\",\n \"back\": \"B major / G sharp minor\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 2,\n \"missed\": 6\n }\n },\n {\n \"id\": \"card-14\",\n \"front\": \"key with 2 flats\",\n \"back\": \"B flat major / G minor\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 2,\n \"missed\": 6\n }\n },\n {\n \"id\": \"card-15\",\n \"front\": \"key with 6 flats\",\n \"back\": \"G flat major / E flat minor\",\n \"box\": 1,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 2,\n \"missed\": 6\n }\n },\n {\n \"id\": \"card-16\",\n \"front\": \"dotted quarter note in 4/4\",\n \"back\": \"1.5 beats\",\n \"box\": 2,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 5,\n \"missed\": 1\n }\n },\n {\n \"id\": \"card-17\",\n \"front\": \"how many sixteenths in a half note\",\n \"back\": \"8\",\n \"box\": 2,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 5,\n \"missed\": 1\n }\n },\n {\n \"id\": \"card-18\",\n \"front\": \"6/8 feels in\",\n \"back\": \"two (compound duple)\",\n \"box\": 2,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 5,\n \"missed\": 1\n }\n },\n {\n \"id\": \"card-19\",\n \"front\": \"triplet eighths over one beat\",\n \"back\": \"3 evenly\",\n \"box\": 2,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 5,\n \"missed\": 1\n }\n },\n {\n \"id\": \"card-20\",\n \"front\": \"whole rest lasts\",\n \"back\": \"a full measure\",\n \"box\": 2,\n \"lastReviewedAt\": \"2026-07-15T18:00:00.000Z\",\n \"createdAt\": \"2026-06-20T09:00:00.000Z\",\n \"stats\": {\n \"gotIt\": 5,\n \"missed\": 1\n }\n }\n ],\n \"dueCardIds\": [],\n \"updatedAt\": \"2026-07-18T08:00:00.000Z\"\n}\n"
17
+ }
18
+ ],
19
+ "worker": {
20
+ "name": "Fenna",
21
+ "role": "Study coach"
22
+ },
23
+ "craftbookParams": {
24
+ "workPath": "tasks/eval"
25
+ }
26
+ },
27
+ "mocks": [],
28
+ "success": {
29
+ "summary": "drill.html is a short interactive drill over only the record's weak material (intervals, key signatures); tasks/eval/report.md ranks the weak spots with numbers and schedules the follow-up.",
30
+ "deliverables": [
31
+ {
32
+ "path": "drill.html",
33
+ "kind": "html-page",
34
+ "minBytes": 2000,
35
+ "checks": [
36
+ {
37
+ "kind": "jsParses",
38
+ "file": "drill.html"
39
+ },
40
+ {
41
+ "kind": "cssMinBytes",
42
+ "bytes": 400,
43
+ "file": "drill.html"
44
+ },
45
+ {
46
+ "kind": "contains",
47
+ "file": "drill.html",
48
+ "pattern": "interval|sixth|tritone|fifth|seventh",
49
+ "flags": "i",
50
+ "label": "weak interval material drilled"
51
+ },
52
+ {
53
+ "kind": "contains",
54
+ "file": "drill.html",
55
+ "pattern": "key signature|sharps|flats",
56
+ "flags": "i",
57
+ "label": "weak key-signature material drilled"
58
+ },
59
+ {
60
+ "kind": "judge",
61
+ "file": "drill.html",
62
+ "rubric": "The drill items target only the material the review record marks weak (intervals and key signatures — box 1, missed-heavy); material the record marks strong stays out, and each item comes at the idea from a fresh angle rather than repeating a card verbatim.",
63
+ "sourceFiles": [
64
+ "deck.json"
65
+ ],
66
+ "label": "targeting"
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ "path": "tasks/eval/report.md",
72
+ "kind": "markdown-report",
73
+ "minBytes": 800,
74
+ "checks": [
75
+ {
76
+ "kind": "contains",
77
+ "file": "tasks/eval/report.md",
78
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
79
+ "flags": "i"
80
+ },
81
+ {
82
+ "kind": "contains",
83
+ "file": "tasks/eval/report.md",
84
+ "pattern": "review|schedule|next",
85
+ "flags": "i",
86
+ "label": "follow-up scheduled"
87
+ },
88
+ {
89
+ "kind": "contains",
90
+ "file": "tasks/eval/report.md",
91
+ "pattern": "\\d",
92
+ "label": "the evidence has numbers"
93
+ }
94
+ ]
95
+ }
96
+ ]
97
+ },
98
+ "rubric": {
99
+ "artifact": {
100
+ "path": "drill.html",
101
+ "kind": "html"
102
+ },
103
+ "axes": [
104
+ {
105
+ "name": "targeting",
106
+ "description": "Every drill item traces to a card the record marks weak; strong material stays out — a generic whole-deck quiz misses the point."
107
+ },
108
+ {
109
+ "name": "difficulty calibration",
110
+ "description": "Items come at the weak ideas from fresh angles at a level that stretches without drowning."
111
+ },
112
+ {
113
+ "name": "encouragement",
114
+ "description": "Feedback coaches rather than scolds — right answers explained, misses met warmly."
115
+ },
116
+ {
117
+ "name": "follow-up",
118
+ "description": "The plan restates the evidence, schedules re-runs and re-reviews, and defines when a spot counts as closed."
119
+ }
120
+ ]
121
+ },
122
+ "qualityFocus": [
123
+ "evidence-based targeting",
124
+ "on-the-spot feedback",
125
+ "closure criteria"
126
+ ]
127
+ }
@@ -0,0 +1,155 @@
1
+ {
2
+ "id": "web-app-crud",
3
+ "name": "CRUD Web App",
4
+ "description": "Build a small single-file CRUD web app — a todo list, notes, contacts, or inventory manager — with create, read, update, and delete plus localStorage persistence so data survives a reload. Locks the data model and the four operations first, then a clean list-plus-form UI design, then builds vanilla JS with real state and persistence. CRUD apps fail when delete or edit silently does nothing or data vanishes on reload, so the model phase pins every operation's behavior before coding, the ordering that gets a small model to a genuinely working app.\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. Model scope (planner) — entity fields + the four CRUD operations → gated on artifact `{{workPath}}/model-scope.md` (markdown-notes)\n2. UI design (designer) — list + form layout, item states, empty state → gated on artifact `{{workPath}}/ui-design.md` (markdown-notes)\n3. Build (developer) — implement index.html with full CRUD + persistence → 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": "model-scope",
6
+ "triggers": [
7
+ "crud app",
8
+ "todo app",
9
+ "notes app",
10
+ "build a web app",
11
+ "contacts manager",
12
+ "inventory app"
13
+ ],
14
+ "steps": [
15
+ {
16
+ "id": "model-scope",
17
+ "name": "Model scope",
18
+ "description": "entity fields + the four CRUD operations",
19
+ "prompt": "Pin the data model and operations. (1) Define the entity and its fields (e.g. todo: id, text, done, createdAt) and any validation (required fields). (2) Specify each operation precisely: Create (form -> new record), Read (list/render, any sort/filter), Update (edit in place or via form), Delete (with confirm?). (3) Decide persistence: localStorage key and shape; data must survive reload. (4) Note empty-state behavior. (5) Write an acceptance-criteria checklist of 6-8 items, e.g. 'adding creates a visible item', 'editing updates the item', 'deleting removes it', 'data persists across reload', 'invalid input is rejected', 'an empty-state message shows when there are no items', 'no console errors'. Write to {{workPath}}/model-scope.md and via write_task_note. No design or HTML yet.\n\nThe deliverable `{{workPath}}/model-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": "{{workPath}}/model-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": "{{workPath}}/model-scope.md",
33
+ "bytes": 120,
34
+ "artifact": true
35
+ },
36
+ {
37
+ "kind": "sniff",
38
+ "file": "{{workPath}}/model-scope.md",
39
+ "sniff": "nonempty",
40
+ "artifact": true
41
+ }
42
+ ],
43
+ "onReject": "model-scope",
44
+ "maxAttempts": 3
45
+ },
46
+ "next": "ui-design"
47
+ },
48
+ {
49
+ "id": "ui-design",
50
+ "name": "UI design",
51
+ "description": "list + form layout, item states, empty state",
52
+ "prompt": "Design the app UI. (1) Pick a clean palette (hex) and type. (2) Lay out the input/add form and the item list; specify how each item renders with its edit and delete affordances. (3) Design the editing state (inline field or modal) and the confirm-delete interaction. (4) Design the empty state and any filter/sort controls. (5) Self-contained CSS, responsive, no external assets. Write the visual spec to {{workPath}}/ui-design.md and via write_task_note. No HTML yet.\n\nThe deliverable `{{workPath}}/ui-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.",
53
+ "suggestedRole": "designer",
54
+ "advanceWhen": {
55
+ "file": "{{workPath}}/ui-design.md",
56
+ "minBytes": 1,
57
+ "sniff": "nonempty",
58
+ "artifact": true
59
+ },
60
+ "gate": {
61
+ "at": "completion",
62
+ "checks": [
63
+ {
64
+ "kind": "minBytes",
65
+ "file": "{{workPath}}/ui-design.md",
66
+ "bytes": 120,
67
+ "artifact": true
68
+ },
69
+ {
70
+ "kind": "sniff",
71
+ "file": "{{workPath}}/ui-design.md",
72
+ "sniff": "nonempty",
73
+ "artifact": true
74
+ }
75
+ ],
76
+ "onReject": "ui-design",
77
+ "maxAttempts": 3
78
+ },
79
+ "next": "build"
80
+ },
81
+ {
82
+ "id": "build",
83
+ "name": "Build",
84
+ "description": "implement index.html with full CRUD + persistence",
85
+ "prompt": "Implement index.html with inline CSS/JS to the model and UI spec. (1) Keep an in-memory array of records, hydrated from localStorage on load. (2) Create: validate then push and re-render. (3) Read: render the list (with empty state) and any sort/filter. (4) Update: edit a record in place and re-render. (5) Delete: remove (with confirm if specified) and re-render. (6) Persist to localStorage on every mutation so a reload restores state. Vanilla JS, no CDN. On a loop-back, fix only the named gaps without regressing passing criteria. write_task_note the path and passing criteria.",
86
+ "suggestedRole": "developer",
87
+ "advanceWhen": {
88
+ "file": "index.html",
89
+ "minBytes": 1,
90
+ "sniff": "html-complete"
91
+ },
92
+ "gate": {
93
+ "at": "completion",
94
+ "checks": [
95
+ {
96
+ "kind": "minBytes",
97
+ "file": "index.html",
98
+ "bytes": 800
99
+ },
100
+ {
101
+ "kind": "htmlLint",
102
+ "file": "index.html"
103
+ }
104
+ ],
105
+ "scripts": [
106
+ {
107
+ "name": "checkHtmlComplete",
108
+ "scope": "standard",
109
+ "inputs": {
110
+ "file": "index.html"
111
+ }
112
+ }
113
+ ],
114
+ "onReject": "build",
115
+ "maxAttempts": 4
116
+ },
117
+ "next": "evaluate"
118
+ },
119
+ {
120
+ "id": "evaluate",
121
+ "name": "Evaluate",
122
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
123
+ "prompt": "Exercise every operation. Open index.html if possible, add/edit/delete items, then RELOAD the page. Check EACH criterion from {{workPath}}/model-scope.md and write PASS/FAIL with a reason: does add create a visible item, does edit update it, does delete remove it, does data persist across reload, is invalid input rejected, does the empty state show, zero console errors? The reload-persistence and the delete are the make-or-break checks — if either fails, FAIL and loop 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.",
124
+ "suggestedRole": "reviewer",
125
+ "consumes": [
126
+ {
127
+ "file": "index.html"
128
+ }
129
+ ],
130
+ "next": "build"
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.2",
142
+ "releasedAt": "2026-08-21T00:00:00Z",
143
+ "paramSchema": {
144
+ "type": "object",
145
+ "properties": {
146
+ "workPath": {
147
+ "type": "string",
148
+ "title": "Working folder",
149
+ "description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
150
+ "default": "{{task.dir}}"
151
+ }
152
+ }
153
+ },
154
+ "minGezelVersion": "1.26233"
155
+ }
@@ -0,0 +1,100 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "CRUD Web App smoke eval",
4
+ "objective": "Self-contained smoke eval for the CRUD Web App craftbook using the html-page generic harness.",
5
+ "tags": [
6
+ "html-page"
7
+ ],
8
+ "prompt": "Can you biuld us a little page for this? The content notes are in source/page-content.md. Save it as index.html — one file, nothing fancy needed on our end.",
9
+ "setup": {
10
+ "projectName": "CRUD Web App Eval",
11
+ "about": "Self-contained eval project for web-app-crud. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/index.html.",
12
+ "missionObjectives": "Use the CRUD Web App craftbook/template, read the seeded local fixtures, and write index.html without network calls, real credentials, or live services.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "content": "# CRUD Web App 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: web-app-crud - CRUD Web App.\n"
17
+ },
18
+ {
19
+ "path": "source/page-content.md",
20
+ "content": "# Boreal Desk Support Board\n\nBuild content around a support operations board. Required labels: Open issues, Status silence, Response time, Refund leakage, Next action. Required metric text: 18 hours to 6 hours and 14.2% to 8.9%.\n"
21
+ }
22
+ ],
23
+ "worker": {
24
+ "name": "Jules",
25
+ "role": "Developer"
26
+ },
27
+ "craftbookParams": {
28
+ "workPath": "tasks/eval"
29
+ }
30
+ },
31
+ "mocks": [],
32
+ "success": {
33
+ "summary": "index.html is a source-grounded self-contained HTML page/tool.",
34
+ "deliverables": [
35
+ {
36
+ "path": "index.html",
37
+ "kind": "html-page",
38
+ "minBytes": 3000,
39
+ "checks": [
40
+ {
41
+ "kind": "cssMinBytes",
42
+ "bytes": 650,
43
+ "file": "index.html"
44
+ },
45
+ {
46
+ "kind": "jsParses",
47
+ "file": "index.html"
48
+ },
49
+ {
50
+ "kind": "contains",
51
+ "file": "index.html",
52
+ "pattern": "Boreal|Support Board|returns",
53
+ "flags": "i"
54
+ },
55
+ {
56
+ "kind": "contains",
57
+ "file": "index.html",
58
+ "pattern": "18\\s*hours|6\\s*hours|14\\.2%|8\\.9%",
59
+ "flags": "i"
60
+ },
61
+ {
62
+ "kind": "contains",
63
+ "file": "index.html",
64
+ "pattern": "button|input|filter|tab|card|section|nav",
65
+ "flags": "i"
66
+ }
67
+ ]
68
+ }
69
+ ]
70
+ },
71
+ "rubric": {
72
+ "artifact": {
73
+ "path": "index.html",
74
+ "kind": "html"
75
+ },
76
+ "axes": [
77
+ {
78
+ "name": "structure",
79
+ "description": "Layout and hierarchy fit the content; sections are scannable and coherent."
80
+ },
81
+ {
82
+ "name": "grounding",
83
+ "description": "Seeded source content is used faithfully — no invented facts or dropped requirements."
84
+ },
85
+ {
86
+ "name": "interactivity",
87
+ "description": "Controls and states the page claims to offer actually work."
88
+ },
89
+ {
90
+ "name": "polish",
91
+ "description": "Styling is intentional and responsive rather than unstyled or broken."
92
+ }
93
+ ]
94
+ },
95
+ "qualityFocus": [
96
+ "self-contained UI",
97
+ "source grounding",
98
+ "responsive structure"
99
+ ]
100
+ }
@@ -0,0 +1,122 @@
1
+ {
2
+ "id": "web-component",
3
+ "name": "Reusable Web Component",
4
+ "description": "Build a reusable custom element as a standards-based Web Component — a rating widget, toggle, accordion, modal, or color-picker — using the Custom Elements API and Shadow DOM with encapsulated styles, attributes, properties, and custom events. Designs the component's public API (tag name, observed attributes, properties, events, slots) first, then implements the class with a demo page proving it works. Components fail when the API is inconsistent or styles leak, so the api-design phase locks the contract before any code, the ordering that yields a genuinely reusable element rather than a one-off.\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. API design (developer) — tag, attributes, properties, events, slots → gated on artifact `{{workPath}}/api-design.md` (markdown-notes)\n2. Build (developer) — implement the element + a demo in index.html → 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": "api-design",
6
+ "triggers": [
7
+ "web component",
8
+ "custom element",
9
+ "reusable widget",
10
+ "shadow dom component",
11
+ "build a component",
12
+ "custom html element"
13
+ ],
14
+ "steps": [
15
+ {
16
+ "id": "api-design",
17
+ "name": "API design",
18
+ "description": "tag, attributes, properties, events, slots",
19
+ "prompt": "Design the component's PUBLIC API before any implementation. (1) Choose the custom-element tag name (must contain a hyphen, e.g. <star-rating>). (2) List the observed attributes (reflected to/from properties) and their types/defaults. (3) List the JS properties and methods consumers use. (4) Define the custom events it dispatches (name + detail payload). (5) Decide slots for projected content and the encapsulated style approach (Shadow DOM). (6) Write an acceptance-criteria checklist of 5-8 items, e.g. 'the element upgrades when added to the DOM', 'setting the observed attribute updates the rendering (attributeChangedCallback)', 'interacting dispatches the documented event with the right detail', 'styles are encapsulated in shadow DOM (no leakage)', 'a slot projects content', 'the demo shows it working', 'no console errors'. Write to {{workPath}}/api-design.md and via write_task_note. No implementation yet.\n\nThe deliverable `{{workPath}}/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.",
20
+ "suggestedRole": "developer",
21
+ "advanceWhen": {
22
+ "file": "{{workPath}}/api-design.md",
23
+ "minBytes": 1,
24
+ "sniff": "nonempty",
25
+ "artifact": true
26
+ },
27
+ "gate": {
28
+ "at": "completion",
29
+ "checks": [
30
+ {
31
+ "kind": "minBytes",
32
+ "file": "{{workPath}}/api-design.md",
33
+ "bytes": 120,
34
+ "artifact": true
35
+ },
36
+ {
37
+ "kind": "sniff",
38
+ "file": "{{workPath}}/api-design.md",
39
+ "sniff": "nonempty",
40
+ "artifact": true
41
+ }
42
+ ],
43
+ "onReject": "api-design",
44
+ "maxAttempts": 3
45
+ },
46
+ "next": "build"
47
+ },
48
+ {
49
+ "id": "build",
50
+ "name": "Build",
51
+ "description": "implement the element + a demo in index.html",
52
+ "prompt": "Implement the component and a demo in index.html (inline). (1) Define a class extending HTMLElement; attachShadow({mode:'open'}) and render template + encapsulated <style> in the constructor/connectedCallback. (2) Declare static observedAttributes and implement attributeChangedCallback to re-render on change; reflect attributes<->properties per the API. (3) Wire interaction to dispatch the documented CustomEvent(detail). (4) customElements.define the tag. (5) Add a demo section that uses the element, sets attributes, listens for its event, and shows the result. Vanilla JS, no CDN. On a loop-back, fix only the named gaps without regressing passing criteria. write_task_note the path and passing criteria.",
53
+ "suggestedRole": "developer",
54
+ "advanceWhen": {
55
+ "file": "index.html",
56
+ "minBytes": 1,
57
+ "sniff": "html-complete"
58
+ },
59
+ "gate": {
60
+ "at": "completion",
61
+ "checks": [
62
+ {
63
+ "kind": "minBytes",
64
+ "file": "index.html",
65
+ "bytes": 800
66
+ },
67
+ {
68
+ "kind": "htmlLint",
69
+ "file": "index.html"
70
+ }
71
+ ],
72
+ "scripts": [
73
+ {
74
+ "name": "checkHtmlComplete",
75
+ "scope": "standard",
76
+ "inputs": {
77
+ "file": "index.html"
78
+ }
79
+ }
80
+ ],
81
+ "onReject": "build",
82
+ "maxAttempts": 4
83
+ },
84
+ "next": "evaluate"
85
+ },
86
+ {
87
+ "id": "evaluate",
88
+ "name": "Evaluate",
89
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
90
+ "prompt": "Evaluate the component against its API. Open index.html if possible and interact via the demo; else read the class. Check EACH criterion from {{workPath}}/api-design.md and write PASS/FAIL with a reason: does the element upgrade and render, does changing the observed attribute update it (attributeChangedCallback fires), does interacting dispatch the documented event with the right detail, are styles encapsulated in Shadow DOM (no global leakage), does a slot project content, does the demo work, zero console errors? An attribute that does not re-render, or leaked styles, is a FAIL — loop 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.",
91
+ "suggestedRole": "reviewer",
92
+ "consumes": [
93
+ {
94
+ "file": "index.html"
95
+ }
96
+ ],
97
+ "next": "build"
98
+ },
99
+ {
100
+ "id": "finish",
101
+ "name": "Finish",
102
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
103
+ "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.",
104
+ "suggestedRole": "developer",
105
+ "terminal": true
106
+ }
107
+ ],
108
+ "version": "1.0.2",
109
+ "releasedAt": "2026-08-21T00:00:00Z",
110
+ "paramSchema": {
111
+ "type": "object",
112
+ "properties": {
113
+ "workPath": {
114
+ "type": "string",
115
+ "title": "Working folder",
116
+ "description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
117
+ "default": "{{task.dir}}"
118
+ }
119
+ }
120
+ },
121
+ "minGezelVersion": "1.26233"
122
+ }
@@ -0,0 +1,100 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Reusable Web Component smoke eval",
4
+ "objective": "Self-contained smoke eval for the Reusable Web Component craftbook using the html-page generic harness.",
5
+ "tags": [
6
+ "html-page"
7
+ ],
8
+ "prompt": "Can you biuld us a little page for this? The content notes are in source/page-content.md. Save it as index.html — one file, nothing fancy needed on our end.",
9
+ "setup": {
10
+ "projectName": "Reusable Web Component Eval",
11
+ "about": "Self-contained eval project for web-component. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/index.html.",
12
+ "missionObjectives": "Use the Reusable Web Component craftbook/template, read the seeded local fixtures, and write index.html without network calls, real credentials, or live services.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "content": "# Reusable Web Component 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: web-component - Reusable Web Component.\n"
17
+ },
18
+ {
19
+ "path": "source/page-content.md",
20
+ "content": "# Boreal Desk Support Board\n\nBuild content around a support operations board. Required labels: Open issues, Status silence, Response time, Refund leakage, Next action. Required metric text: 18 hours to 6 hours and 14.2% to 8.9%.\n"
21
+ }
22
+ ],
23
+ "worker": {
24
+ "name": "Jules",
25
+ "role": "Developer"
26
+ },
27
+ "craftbookParams": {
28
+ "workPath": "tasks/eval"
29
+ }
30
+ },
31
+ "mocks": [],
32
+ "success": {
33
+ "summary": "index.html is a source-grounded self-contained HTML page/tool.",
34
+ "deliverables": [
35
+ {
36
+ "path": "index.html",
37
+ "kind": "html-page",
38
+ "minBytes": 3000,
39
+ "checks": [
40
+ {
41
+ "kind": "cssMinBytes",
42
+ "bytes": 650,
43
+ "file": "index.html"
44
+ },
45
+ {
46
+ "kind": "jsParses",
47
+ "file": "index.html"
48
+ },
49
+ {
50
+ "kind": "contains",
51
+ "file": "index.html",
52
+ "pattern": "Boreal|Support Board|returns",
53
+ "flags": "i"
54
+ },
55
+ {
56
+ "kind": "contains",
57
+ "file": "index.html",
58
+ "pattern": "18\\s*hours|6\\s*hours|14\\.2%|8\\.9%",
59
+ "flags": "i"
60
+ },
61
+ {
62
+ "kind": "contains",
63
+ "file": "index.html",
64
+ "pattern": "button|input|filter|tab|card|section|nav",
65
+ "flags": "i"
66
+ }
67
+ ]
68
+ }
69
+ ]
70
+ },
71
+ "rubric": {
72
+ "artifact": {
73
+ "path": "index.html",
74
+ "kind": "html"
75
+ },
76
+ "axes": [
77
+ {
78
+ "name": "structure",
79
+ "description": "Layout and hierarchy fit the content; sections are scannable and coherent."
80
+ },
81
+ {
82
+ "name": "grounding",
83
+ "description": "Seeded source content is used faithfully — no invented facts or dropped requirements."
84
+ },
85
+ {
86
+ "name": "interactivity",
87
+ "description": "Controls and states the page claims to offer actually work."
88
+ },
89
+ {
90
+ "name": "polish",
91
+ "description": "Styling is intentional and responsive rather than unstyled or broken."
92
+ }
93
+ ]
94
+ },
95
+ "qualityFocus": [
96
+ "self-contained UI",
97
+ "source grounding",
98
+ "responsive structure"
99
+ ]
100
+ }