@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,152 @@
1
+ {
2
+ "id": "glossary-build",
3
+ "name": "Domain Glossary",
4
+ "description": "Build a consistent, accurate glossary for a domain: a planner sets the domain scope, the term-selection criteria, and the entry template, a researcher gathers the canonical definition and usage for each term with sources, and a copywriter writes the alphabetized glossary with cross-references and consistent entries. The ordering matters because terms picked ad hoc leave gaps and inconsistent entries confuse readers; locking the scope, what makes a term in-scope, and a fixed entry template first guarantees coverage and a uniform, cross-linked glossary. Use this for building a domain or product glossary, a terms/definitions reference, an acronym list, onboarding vocabulary, and 'define all the key terms in X' requests.\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 glossary (planner) — domain, term-selection criteria, and entry template → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Gather definitions (researcher) — canonical definition + usage per term, with sources → gated on artifact `{{workPath}}/terms.md` (markdown-notes)\n3. Write the glossary (copywriter) — alphabetized, cross-referenced glossary to the template → gated on `glossary.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": "scope",
6
+ "triggers": [
7
+ "build a glossary",
8
+ "define the key terms",
9
+ "domain terminology reference",
10
+ "acronym list",
11
+ "terms and definitions for"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the glossary",
17
+ "description": "domain, term-selection criteria, and entry template",
18
+ "prompt": "1. Define the domain and audience in one sentence (who reads this and at what level). 2. Set term-selection criteria (what makes a term in-scope) and produce the candidate term list (aim for the genuinely core terms, not every word). 3. Lock the entry template every term will follow: term, short definition (1-2 sentences), expanded explanation if needed, example/usage, related terms (cross-references), and source. 4. Decide ordering (alphabetical) and any grouping. 5. Write an acceptance-criteria checklist (e.g. 'every candidate term has an entry following the template', 'definitions are accurate and audience-appropriate', 'cross-referenced related terms exist as their own entries', 'entries are alphabetized', 'acronyms are expanded on first definition'). 6. Record decisions. Call write_task_note with the term list, entry template, and checklist; write the same to {{workPath}}/scope.md.\n\nThe deliverable `{{workPath}}/scope.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
19
+ "suggestedRole": "planner",
20
+ "advanceWhen": {
21
+ "file": "{{workPath}}/scope.md",
22
+ "minBytes": 1,
23
+ "sniff": "nonempty",
24
+ "artifact": true
25
+ },
26
+ "gate": {
27
+ "at": "completion",
28
+ "checks": [
29
+ {
30
+ "kind": "minBytes",
31
+ "file": "{{workPath}}/scope.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "{{workPath}}/scope.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "scope",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "gather"
46
+ },
47
+ {
48
+ "id": "gather",
49
+ "name": "Gather definitions",
50
+ "description": "canonical definition + usage per term, with sources",
51
+ "prompt": "1. For each candidate term, gather the canonical definition into {{workPath}}/terms.md following the entry template: term, accurate short definition, expanded note if the term is subtle, a real usage example, candidate related terms, and a source [n]. 2. Use authoritative sources (standards, official docs, reputable references) and reconcile conflicting definitions by noting the dominant usage in this domain. 3. Ensure every term named as a 'related term' is itself in the term list — add it if it is missing so cross-references resolve. 4. Expand every acronym and note common synonyms. 5. Flag any term whose meaning is contested or uncertain. Good looks like a complete, sourced entry per term with resolvable cross-references. Do not write the final glossary yet.\n\nThe deliverable `{{workPath}}/terms.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": "{{workPath}}/terms.md",
55
+ "minBytes": 1,
56
+ "sniff": "nonempty",
57
+ "artifact": true
58
+ },
59
+ "gate": {
60
+ "at": "completion",
61
+ "checks": [
62
+ {
63
+ "kind": "minBytes",
64
+ "file": "{{workPath}}/terms.md",
65
+ "bytes": 120,
66
+ "artifact": true
67
+ },
68
+ {
69
+ "kind": "sniff",
70
+ "file": "{{workPath}}/terms.md",
71
+ "sniff": "nonempty",
72
+ "artifact": true
73
+ }
74
+ ],
75
+ "onReject": "gather",
76
+ "maxAttempts": 3
77
+ },
78
+ "next": "write"
79
+ },
80
+ {
81
+ "id": "write",
82
+ "name": "Write the glossary",
83
+ "description": "alphabetized, cross-referenced glossary to the template",
84
+ "prompt": "1. Write glossary.md as an alphabetized list of entries, each following the locked template exactly (term as a heading, definition, optional expansion, example, related terms, source). 2. Make cross-references real: every 'related term' links to or names an entry that exists in the glossary. 3. Keep voice and depth uniform across entries — same level of detail and the same audience pitch throughout. 4. Expand acronyms on their defining entry. 5. Carry source references so definitions are traceable. 6. On a loop-back, fix only the named gaps. 7. Call write_task_note with the glossary path and term count.",
85
+ "suggestedRole": "copywriter",
86
+ "advanceWhen": {
87
+ "file": "glossary.md",
88
+ "minBytes": 1,
89
+ "sniff": "nonempty"
90
+ },
91
+ "gate": {
92
+ "at": "completion",
93
+ "checks": [
94
+ {
95
+ "kind": "minBytes",
96
+ "file": "glossary.md",
97
+ "bytes": 500
98
+ }
99
+ ],
100
+ "scripts": [
101
+ {
102
+ "name": "checkContains",
103
+ "scope": "standard",
104
+ "inputs": {
105
+ "file": "glossary.md",
106
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
107
+ "flags": "i"
108
+ }
109
+ }
110
+ ],
111
+ "onReject": "write",
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 glossary.md and check EACH criterion PASS/FAIL: (1) every candidate term from {{workPath}}/scope.md has an entry following the template; (2) entries are alphabetized; (3) every related-term cross-reference resolves to an actual entry (check 3 at random); (4) definitions are accurate and at the right audience level (spot-check 3 against {{workPath}}/terms.md); (5) acronyms are expanded on first definition; (6) entry depth and voice are uniform. A glossary with missing terms, dangling cross-references, or inconsistent entry depth FAILS.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"write\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
121
+ "suggestedRole": "reviewer",
122
+ "consumes": [
123
+ {
124
+ "file": "glossary.md"
125
+ }
126
+ ],
127
+ "next": "write"
128
+ },
129
+ {
130
+ "id": "finish",
131
+ "name": "Finish",
132
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
133
+ "prompt": "Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.",
134
+ "suggestedRole": "developer",
135
+ "terminal": true
136
+ }
137
+ ],
138
+ "version": "1.0.2",
139
+ "releasedAt": "2026-08-21T00:00:00Z",
140
+ "paramSchema": {
141
+ "type": "object",
142
+ "properties": {
143
+ "workPath": {
144
+ "type": "string",
145
+ "title": "Working folder",
146
+ "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.",
147
+ "default": "{{task.dir}}"
148
+ }
149
+ }
150
+ },
151
+ "minGezelVersion": "1.26233"
152
+ }
@@ -0,0 +1,113 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Domain Glossary smoke eval",
4
+ "objective": "Self-contained smoke eval for the Domain Glossary craftbook using the corpus generic harness.",
5
+ "tags": [
6
+ "corpus"
7
+ ],
8
+ "prompt": "We need a domain glossary 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": "Domain Glossary Eval",
11
+ "about": "Self-contained eval project for glossary-build. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/report.md.",
12
+ "missionObjectives": "Use the Domain Glossary 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": "# Domain Glossary 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: glossary-build - Domain Glossary.\n"
17
+ }
18
+ ],
19
+ "worker": {
20
+ "name": "Jules",
21
+ "role": "Writer"
22
+ },
23
+ "craftbookParams": {
24
+ "workPath": "tasks/eval"
25
+ }
26
+ },
27
+ "mocks": [],
28
+ "success": {
29
+ "summary": "report.md is a source-grounded markdown artifact with required facts and actions.",
30
+ "deliverables": [
31
+ {
32
+ "path": "report.md",
33
+ "kind": "markdown-report",
34
+ "minBytes": 1000,
35
+ "checks": [
36
+ {
37
+ "kind": "contains",
38
+ "file": "report.md",
39
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
40
+ "flags": "i"
41
+ },
42
+ {
43
+ "kind": "contains",
44
+ "file": "report.md",
45
+ "pattern": "source/brief\\.md|Brief",
46
+ "flags": "i",
47
+ "label": "cite or name the seeded source"
48
+ },
49
+ {
50
+ "kind": "contains",
51
+ "file": "report.md",
52
+ "pattern": "18\\b[\\s\\S]{0,30}\\bSKUs",
53
+ "flags": "i",
54
+ "label": "include the 18-SKU pilot scope"
55
+ },
56
+ {
57
+ "kind": "contains",
58
+ "file": "report.md",
59
+ "pattern": "18\\s*hours|6\\s*hours",
60
+ "flags": "i"
61
+ },
62
+ {
63
+ "kind": "contains",
64
+ "file": "report.md",
65
+ "pattern": "14\\.2%|8\\.9%",
66
+ "flags": "i"
67
+ },
68
+ {
69
+ "kind": "contains",
70
+ "file": "report.md",
71
+ "pattern": "status silence|photo submission",
72
+ "flags": "i"
73
+ },
74
+ {
75
+ "kind": "contains",
76
+ "file": "report.md",
77
+ "pattern": "automated status emails|barcode|Finance",
78
+ "flags": "i"
79
+ }
80
+ ]
81
+ }
82
+ ]
83
+ },
84
+ "rubric": {
85
+ "artifact": {
86
+ "path": "report.md",
87
+ "kind": "markdown"
88
+ },
89
+ "axes": [
90
+ {
91
+ "name": "grounding",
92
+ "description": "Seeded facts appear faithfully and the source is cited."
93
+ },
94
+ {
95
+ "name": "structure",
96
+ "description": "Sections progress logically for the artifact class."
97
+ },
98
+ {
99
+ "name": "completeness",
100
+ "description": "Required elements (risks, next actions, scope) are all present."
101
+ },
102
+ {
103
+ "name": "tone",
104
+ "description": "The register fits the audience and artifact class."
105
+ }
106
+ ]
107
+ },
108
+ "qualityFocus": [
109
+ "source-grounded prose",
110
+ "section structure",
111
+ "next-action clarity"
112
+ ]
113
+ }
@@ -0,0 +1,158 @@
1
+ {
2
+ "id": "graphql-api",
3
+ "name": "GraphQL API",
4
+ "description": "Build a GraphQL API with a typed schema (SDL), resolvers, queries, mutations, and input validation. Designs the schema FIRST — types, fields, nullability, query/mutation operations, and the resolver-to-data mapping — because in GraphQL the schema IS the contract, then implements resolvers, then writes operation tests covering each query, mutation, and error. Covers GraphQL schema definition language, resolvers, nullable vs non-null fields, mutations, query arguments, N+1 awareness, and error handling.\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. Schema design (planner) — lock the SDL types, queries, mutations, nullability → gated on artifact `{{workPath}}/schema-design.md` (markdown-notes)\n2. Build resolvers (developer) — implement the schema + resolvers → gated on `src/schema.js` (code-module)\n3. Write operation tests (developer) — test each query, mutation, and error → gated on `src/schema.test.js` (code-with-tests)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "schema-design",
6
+ "triggers": [
7
+ "build a graphql api",
8
+ "graphql schema and resolvers",
9
+ "create a graphql server",
10
+ "graphql endpoint"
11
+ ],
12
+ "steps": [
13
+ {
14
+ "id": "schema-design",
15
+ "name": "Schema design",
16
+ "description": "lock the SDL types, queries, mutations, nullability",
17
+ "prompt": "Design the GraphQL schema before any resolver code — in GraphQL the schema is the contract. Step 1: Define the object types and their fields in SDL, deciding nullability (`String` vs `String!`) deliberately for each field. Step 2: Define the root `Query` operations (what can be read) and `Mutation` operations (what can be changed), with their argument types and input types. Step 3: For each operation, note which data source/store backs it and what a resolver must return. Step 4: Decide error handling: which conditions return null vs throw a typed GraphQL error, and the shape of user-facing errors. Step 5: Write a numbered acceptance-criteria checklist of 5-9 items (e.g. 'querying user(id) returns the user or null', 'createUser mutation validates input and returns the created node', 'a non-null field never resolves to null', 'invalid input yields a GraphQL error, not a crash'). `write_task_note` the SDL + checklist and write the same to the produces path. No resolvers yet.\n\nThe deliverable `{{workPath}}/schema-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.",
18
+ "suggestedRole": "planner",
19
+ "advanceWhen": {
20
+ "file": "{{workPath}}/schema-design.md",
21
+ "minBytes": 1,
22
+ "sniff": "nonempty",
23
+ "artifact": true
24
+ },
25
+ "gate": {
26
+ "at": "completion",
27
+ "checks": [
28
+ {
29
+ "kind": "minBytes",
30
+ "file": "{{workPath}}/schema-design.md",
31
+ "bytes": 120,
32
+ "artifact": true
33
+ },
34
+ {
35
+ "kind": "sniff",
36
+ "file": "{{workPath}}/schema-design.md",
37
+ "sniff": "nonempty",
38
+ "artifact": true
39
+ }
40
+ ],
41
+ "onReject": "schema-design",
42
+ "maxAttempts": 3
43
+ },
44
+ "next": "build"
45
+ },
46
+ {
47
+ "id": "build",
48
+ "name": "Build resolvers",
49
+ "description": "implement the schema + resolvers",
50
+ "prompt": "Implement the GraphQL server in a single runnable source file. Step 1: Declare the schema exactly as designed (SDL string or schema-builder calls) — same types, fields, nullability, operations. Step 2: Write a resolver for every Query and Mutation field; resolvers must honor the declared return types and nullability. Step 3: Validate mutation inputs before mutating; on invalid input throw a typed GraphQL error with a clear message. Step 4: Use an in-memory store if no DB was specified, and make sure non-null fields are always populated. On a loop-back, fix only the named gaps without regressing working resolvers. `write_task_note` the file path and which criteria now pass.",
51
+ "suggestedRole": "developer",
52
+ "advanceWhen": {
53
+ "file": "src/schema.js",
54
+ "minBytes": 1,
55
+ "sniff": "nonempty"
56
+ },
57
+ "gate": {
58
+ "at": "completion",
59
+ "checks": [
60
+ {
61
+ "kind": "minBytes",
62
+ "file": "src/schema.js",
63
+ "bytes": 200
64
+ },
65
+ {
66
+ "kind": "sniff",
67
+ "file": "src/schema.js",
68
+ "sniff": "nonempty"
69
+ },
70
+ {
71
+ "kind": "esmImports",
72
+ "file": "src/schema.js"
73
+ },
74
+ {
75
+ "kind": "sourceParses",
76
+ "file": "src/schema.js"
77
+ }
78
+ ],
79
+ "onReject": "build",
80
+ "maxAttempts": 3
81
+ },
82
+ "next": "test"
83
+ },
84
+ {
85
+ "id": "test",
86
+ "name": "Write operation tests",
87
+ "description": "test each query, mutation, and error",
88
+ "prompt": "Write tests that execute real GraphQL operations against the schema. Step 1: For each Query, assert the returned shape matches the SDL (including nulls where allowed). Step 2: For each Mutation, assert the happy path returns the created/updated node, then assert invalid input produces a GraphQL error rather than a crash. Step 3: Add a test proving a non-null field never resolves to null. Step 4: Add a create-then-query round-trip to prove state wiring. Make tests runnable and self-contained. `write_task_note` the test file path and pass/fail count.",
89
+ "suggestedRole": "developer",
90
+ "advanceWhen": {
91
+ "file": "src/schema.test.js",
92
+ "minBytes": 1,
93
+ "sniff": "nonempty"
94
+ },
95
+ "gate": {
96
+ "at": "completion",
97
+ "checks": [
98
+ {
99
+ "kind": "minBytes",
100
+ "file": "src/schema.js",
101
+ "bytes": 200
102
+ },
103
+ {
104
+ "kind": "sniff",
105
+ "file": "src/schema.js",
106
+ "sniff": "nonempty"
107
+ },
108
+ {
109
+ "kind": "esmImports",
110
+ "file": "src/schema.js"
111
+ },
112
+ {
113
+ "kind": "sourceParses",
114
+ "file": "src/schema.js"
115
+ }
116
+ ],
117
+ "onReject": "test",
118
+ "maxAttempts": 4
119
+ },
120
+ "next": "evaluate"
121
+ },
122
+ {
123
+ "id": "evaluate",
124
+ "name": "Evaluate",
125
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
126
+ "prompt": "Run the tests and execute sample operations. For EACH acceptance criterion: confirm queries return the SDL-correct shape and nullability, confirm mutations validate input and return the right node, confirm invalid input yields a typed GraphQL error (not a crash), and confirm non-null fields are never null. Write PASS/FAIL per criterion.\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.",
127
+ "suggestedRole": "reviewer",
128
+ "consumes": [
129
+ {
130
+ "file": "src/schema.js"
131
+ }
132
+ ],
133
+ "next": "build"
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.3",
145
+ "releasedAt": "2026-08-21T00:00:00Z",
146
+ "paramSchema": {
147
+ "type": "object",
148
+ "properties": {
149
+ "workPath": {
150
+ "type": "string",
151
+ "title": "Working folder",
152
+ "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.",
153
+ "default": "{{task.dir}}"
154
+ }
155
+ }
156
+ },
157
+ "minGezelVersion": "1.26233"
158
+ }
@@ -0,0 +1,95 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "GraphQL API smoke eval",
4
+ "objective": "Self-contained smoke eval for the GraphQL API 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": "GraphQL API Eval",
11
+ "about": "Self-contained eval project for graphql-api. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/src/solution.mjs.",
12
+ "missionObjectives": "Use the GraphQL API 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": "# GraphQL API 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: graphql-api - GraphQL API.\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
+ "craftbookParams": {
28
+ "workPath": "tasks/eval"
29
+ }
30
+ },
31
+ "mocks": [],
32
+ "success": {
33
+ "summary": "src/solution.mjs is a local ESM module with basic self-test scaffolding.",
34
+ "deliverables": [
35
+ {
36
+ "path": "src/solution.mjs",
37
+ "kind": "code-with-tests",
38
+ "minBytes": 1500,
39
+ "checks": [
40
+ {
41
+ "kind": "esmImports",
42
+ "file": "src/solution.mjs"
43
+ },
44
+ {
45
+ "kind": "contains",
46
+ "file": "src/solution.mjs",
47
+ "pattern": "export\\s+(function|const|class)|export\\s*\\{",
48
+ "flags": "i"
49
+ },
50
+ {
51
+ "kind": "contains",
52
+ "file": "src/solution.mjs",
53
+ "pattern": "assert|test|describe|it|expect",
54
+ "flags": "i"
55
+ },
56
+ {
57
+ "kind": "contains",
58
+ "file": "src/solution.mjs",
59
+ "pattern": "18|6|14\\.2|8\\.9|Boreal",
60
+ "flags": "i"
61
+ }
62
+ ]
63
+ }
64
+ ]
65
+ },
66
+ "rubric": {
67
+ "artifact": {
68
+ "path": "src/solution.mjs",
69
+ "kind": "typescript"
70
+ },
71
+ "axes": [
72
+ {
73
+ "name": "correctness",
74
+ "description": "The module does what the requirements ask, with sensible edge handling."
75
+ },
76
+ {
77
+ "name": "verification",
78
+ "description": "Self-tests exercise real behavior, not trivial truths."
79
+ },
80
+ {
81
+ "name": "clarity",
82
+ "description": "Exports, naming, and structure make the module usable without reading every line."
83
+ },
84
+ {
85
+ "name": "robustness",
86
+ "description": "Invalid input and boundary cases fail loudly rather than silently."
87
+ }
88
+ ]
89
+ },
90
+ "qualityFocus": [
91
+ "runnable ESM",
92
+ "test scaffolding",
93
+ "local fixtures"
94
+ ]
95
+ }