@bendyline/gilde 0.1.26 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/authoring/chat-models/README.md +5 -0
  2. package/authoring/chat-models/deepseek-v4-flash-284b-mxfp4.json +4 -0
  3. package/authoring/chat-models/deepseek-v4-flash-284b-q2.json +4 -0
  4. package/authoring/chat-models/deepseek-v4-flash-284b-q2q4.json +4 -0
  5. package/authoring/chat-models/glm-5.2-754b-q2.json +4 -0
  6. package/authoring/gstack/evals/investigate.json +1 -0
  7. package/authoring/gstack/evals/plan-ceo-review.json +1 -0
  8. package/authoring/gstack/wave.json +2 -2
  9. package/data/chat-models/de/deepseek-v4-flash-284b-mxfp4/manifest.json +4 -0
  10. package/data/chat-models/de/deepseek-v4-flash-284b-q2/manifest.json +4 -0
  11. package/data/chat-models/de/deepseek-v4-flash-284b-q2q4/manifest.json +4 -0
  12. package/data/chat-models/gl/glm-5.2-754b-q2/manifest.json +4 -0
  13. package/data/chat-models/index.json +1 -1
  14. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.1/craftbook.json +141 -0
  15. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.1/test.json +115 -0
  16. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.1/craftbook.json +141 -0
  17. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.1/test.json +186 -0
  18. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.1/craftbook.json +110 -0
  19. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.1/test.json +97 -0
  20. package/data/craftbook-templates/ad/ad-variations/versions/1.0.1/craftbook.json +105 -0
  21. package/data/craftbook-templates/ad/ad-variations/versions/1.0.1/test.json +108 -0
  22. package/data/craftbook-templates/al/album-curate/versions/1.0.1/craftbook.json +115 -0
  23. package/data/craftbook-templates/al/album-curate/versions/1.0.1/test.json +147 -0
  24. package/data/craftbook-templates/al/alert-rules/versions/1.0.1/craftbook.json +101 -0
  25. package/data/craftbook-templates/al/alert-rules/versions/1.0.1/test.json +145 -0
  26. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.1/craftbook.json +142 -0
  27. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.1/test.json +97 -0
  28. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.3/craftbook.json +226 -0
  29. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.3/test.json +157 -0
  30. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.1/craftbook.json +146 -0
  31. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.1/test.json +102 -0
  32. package/data/craftbook-templates/an/annual-document-review/versions/1.0.1/craftbook.json +140 -0
  33. package/data/craftbook-templates/an/annual-document-review/versions/1.0.1/test.json +110 -0
  34. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.1/craftbook.json +141 -0
  35. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.1/test.json +120 -0
  36. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.1/craftbook.json +141 -0
  37. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.1/test.json +115 -0
  38. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.1/craftbook.json +158 -0
  39. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.1/test.json +136 -0
  40. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.1/craftbook.json +129 -0
  41. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.1/test.json +103 -0
  42. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.1/craftbook.json +123 -0
  43. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.1/test.json +103 -0
  44. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.3/craftbook.json +210 -0
  45. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.3/test.json +221 -0
  46. package/data/craftbook-templates/au/auth-flow/versions/1.0.1/craftbook.json +148 -0
  47. package/data/craftbook-templates/au/auth-flow/versions/1.0.1/test.json +140 -0
  48. package/data/craftbook-templates/au/automation-recipe/versions/1.0.1/craftbook.json +164 -0
  49. package/data/craftbook-templates/au/automation-recipe/versions/1.0.1/test.json +296 -0
  50. package/data/craftbook-templates/ba/backup-routine/versions/1.0.1/craftbook.json +148 -0
  51. package/data/craftbook-templates/ba/backup-routine/versions/1.0.1/test.json +108 -0
  52. package/data/craftbook-templates/bl/blog-post/versions/1.0.1/craftbook.json +143 -0
  53. package/data/craftbook-templates/bl/blog-post/versions/1.0.1/test.json +118 -0
  54. package/data/craftbook-templates/bo/board-deck/versions/1.0.1/craftbook.json +141 -0
  55. package/data/craftbook-templates/bo/board-deck/versions/1.0.1/test.json +100 -0
  56. package/data/craftbook-templates/bo/board-game-web/versions/1.0.1/craftbook.json +150 -0
  57. package/data/craftbook-templates/bo/board-game-web/versions/1.0.1/test.json +99 -0
  58. package/data/craftbook-templates/bo/booking-automation/versions/1.0.1/craftbook.json +158 -0
  59. package/data/craftbook-templates/bo/booking-automation/versions/1.0.1/test.json +162 -0
  60. package/data/craftbook-templates/br/branding-website/versions/1.1.1/craftbook.json +211 -0
  61. package/data/craftbook-templates/br/branding-website/versions/1.1.1/test.json +164 -0
  62. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.1/craftbook.json +107 -0
  63. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.1/test.json +103 -0
  64. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.3/craftbook.json +417 -0
  65. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.3/test.json +376 -0
  66. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.2/craftbook.json +164 -0
  67. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.2/test.json +92 -0
  68. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.1/craftbook.json +107 -0
  69. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.1/test.json +102 -0
  70. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.1/craftbook.json +110 -0
  71. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.1/test.json +106 -0
  72. package/data/craftbook-templates/ca/case-study/versions/1.0.1/craftbook.json +143 -0
  73. package/data/craftbook-templates/ca/case-study/versions/1.0.1/test.json +112 -0
  74. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.1/craftbook.json +151 -0
  75. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.1/test.json +105 -0
  76. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.1/craftbook.json +113 -0
  77. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.1/test.json +106 -0
  78. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.1/craftbook.json +107 -0
  79. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.1/test.json +129 -0
  80. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.2/craftbook.json +123 -0
  81. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.2/test.json +155 -0
  82. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.1/craftbook.json +74 -0
  83. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.1/test.json +98 -0
  84. package/data/craftbook-templates/ch/character-sheet/versions/1.0.1/craftbook.json +82 -0
  85. package/data/craftbook-templates/ch/character-sheet/versions/1.0.1/test.json +143 -0
  86. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.1/craftbook.json +121 -0
  87. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.1/test.json +178 -0
  88. package/data/craftbook-templates/ch/chart-pack/versions/1.0.1/craftbook.json +148 -0
  89. package/data/craftbook-templates/ch/chart-pack/versions/1.0.1/test.json +104 -0
  90. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.1/craftbook.json +148 -0
  91. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.1/test.json +97 -0
  92. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.1/craftbook.json +132 -0
  93. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.1/test.json +162 -0
  94. package/data/craftbook-templates/ci/citation-audit/versions/1.0.1/craftbook.json +146 -0
  95. package/data/craftbook-templates/ci/citation-audit/versions/1.0.1/test.json +149 -0
  96. package/data/craftbook-templates/cl/cli-tool/versions/1.1.1/craftbook.json +147 -0
  97. package/data/craftbook-templates/cl/cli-tool/versions/1.1.1/test.json +128 -0
  98. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.1/craftbook.json +153 -0
  99. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.1/test.json +116 -0
  100. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.1/craftbook.json +153 -0
  101. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.1/test.json +119 -0
  102. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.1/craftbook.json +141 -0
  103. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.1/test.json +226 -0
  104. package/data/craftbook-templates/co/company-research-brief/versions/1.0.1/craftbook.json +139 -0
  105. package/data/craftbook-templates/co/company-research-brief/versions/1.0.1/test.json +97 -0
  106. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.1/craftbook.json +153 -0
  107. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.1/test.json +109 -0
  108. package/data/craftbook-templates/co/compat-check/versions/1.0.1/craftbook.json +146 -0
  109. package/data/craftbook-templates/co/compat-check/versions/1.0.1/test.json +145 -0
  110. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.1/craftbook.json +140 -0
  111. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.1/test.json +116 -0
  112. package/data/craftbook-templates/co/config-scaffold/versions/1.0.1/craftbook.json +105 -0
  113. package/data/craftbook-templates/co/config-scaffold/versions/1.0.1/test.json +120 -0
  114. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.1/craftbook.json +141 -0
  115. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.1/test.json +149 -0
  116. package/data/craftbook-templates/co/content-deck/versions/1.2.1/craftbook.json +206 -0
  117. package/data/craftbook-templates/co/content-deck/versions/1.2.1/test.json +169 -0
  118. package/data/craftbook-templates/co/contract-template/versions/1.0.1/craftbook.json +145 -0
  119. package/data/craftbook-templates/co/contract-template/versions/1.0.1/test.json +102 -0
  120. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.1/craftbook.json +121 -0
  121. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.1/test.json +159 -0
  122. package/data/craftbook-templates/co/copy-review/versions/1.0.1/craftbook.json +141 -0
  123. package/data/craftbook-templates/co/copy-review/versions/1.0.1/test.json +102 -0
  124. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.1/craftbook.json +210 -0
  125. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.1/test.json +187 -0
  126. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.1/craftbook.json +146 -0
  127. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.1/test.json +156 -0
  128. package/data/craftbook-templates/co/cover-letter/versions/1.0.1/craftbook.json +107 -0
  129. package/data/craftbook-templates/co/cover-letter/versions/1.0.1/test.json +100 -0
  130. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.1/craftbook.json +101 -0
  131. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.1/test.json +207 -0
  132. package/data/craftbook-templates/cr/cron-job/versions/1.0.1/craftbook.json +147 -0
  133. package/data/craftbook-templates/cr/cron-job/versions/1.0.1/test.json +104 -0
  134. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.1/craftbook.json +164 -0
  135. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.1/test.json +135 -0
  136. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.2/craftbook.json +101 -0
  137. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.2/test.json +102 -0
  138. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.1/craftbook.json +107 -0
  139. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.1/test.json +114 -0
  140. package/data/craftbook-templates/da/data-dictionary/versions/1.0.1/craftbook.json +107 -0
  141. package/data/craftbook-templates/da/data-dictionary/versions/1.0.1/test.json +101 -0
  142. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.1/craftbook.json +148 -0
  143. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.1/test.json +104 -0
  144. package/data/craftbook-templates/da/data-join-merge/versions/1.0.1/craftbook.json +101 -0
  145. package/data/craftbook-templates/da/data-join-merge/versions/1.0.1/test.json +104 -0
  146. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.2/craftbook.json +148 -0
  147. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.2/test.json +162 -0
  148. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.1/craftbook.json +141 -0
  149. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.1/test.json +326 -0
  150. package/data/craftbook-templates/da/data-to-report/versions/1.0.1/craftbook.json +140 -0
  151. package/data/craftbook-templates/da/data-to-report/versions/1.0.1/test.json +95 -0
  152. package/data/craftbook-templates/da/data-viz-page/versions/1.0.1/craftbook.json +143 -0
  153. package/data/craftbook-templates/da/data-viz-page/versions/1.0.1/test.json +117 -0
  154. package/data/craftbook-templates/da/dataset-clean/versions/1.2.2/craftbook.json +101 -0
  155. package/data/craftbook-templates/da/dataset-clean/versions/1.2.2/test.json +95 -0
  156. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.1/craftbook.json +148 -0
  157. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.1/test.json +104 -0
  158. package/data/craftbook-templates/de/deep-security-review/versions/1.1.1/craftbook.json +211 -0
  159. package/data/craftbook-templates/de/deep-security-review/versions/1.1.1/test.json +157 -0
  160. package/data/craftbook-templates/de/dependency-audit/versions/1.1.1/craftbook.json +141 -0
  161. package/data/craftbook-templates/de/dependency-audit/versions/1.1.1/test.json +108 -0
  162. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.1/craftbook.json +159 -0
  163. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.1/test.json +165 -0
  164. package/data/craftbook-templates/de/design-review/versions/1.0.1/craftbook.json +141 -0
  165. package/data/craftbook-templates/de/design-review/versions/1.0.1/test.json +118 -0
  166. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.3/craftbook.json +431 -0
  167. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.3/test.json +201 -0
  168. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.1/craftbook.json +109 -0
  169. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.1/test.json +97 -0
  170. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.1/craftbook.json +146 -0
  171. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.1/test.json +162 -0
  172. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.1/craftbook.json +148 -0
  173. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.1/test.json +104 -0
  174. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.1/craftbook.json +107 -0
  175. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.1/test.json +110 -0
  176. package/data/craftbook-templates/do/dockerize-app/versions/1.0.1/craftbook.json +148 -0
  177. package/data/craftbook-templates/do/dockerize-app/versions/1.0.1/test.json +92 -0
  178. package/data/craftbook-templates/do/docs-site/versions/1.0.1/craftbook.json +143 -0
  179. package/data/craftbook-templates/do/docs-site/versions/1.0.1/test.json +97 -0
  180. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.1/craftbook.json +153 -0
  181. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.1/test.json +132 -0
  182. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.1/craftbook.json +140 -0
  183. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.1/test.json +104 -0
  184. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.1/craftbook.json +146 -0
  185. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.1/test.json +110 -0
  186. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.1/craftbook.json +143 -0
  187. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.1/test.json +97 -0
  188. package/data/craftbook-templates/ed/edit-notes/versions/1.0.1/craftbook.json +176 -0
  189. package/data/craftbook-templates/ed/edit-notes/versions/1.0.1/test.json +146 -0
  190. package/data/craftbook-templates/em/email-sequence/versions/1.0.1/craftbook.json +142 -0
  191. package/data/craftbook-templates/em/email-sequence/versions/1.0.1/test.json +97 -0
  192. package/data/craftbook-templates/em/email-template/versions/1.0.1/craftbook.json +143 -0
  193. package/data/craftbook-templates/em/email-template/versions/1.0.1/test.json +97 -0
  194. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.3/craftbook.json +403 -0
  195. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.3/test.json +191 -0
  196. package/data/craftbook-templates/ep/episode-plan/versions/1.0.1/craftbook.json +140 -0
  197. package/data/craftbook-templates/ep/episode-plan/versions/1.0.1/test.json +97 -0
  198. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.1/craftbook.json +107 -0
  199. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.1/test.json +110 -0
  200. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.1/craftbook.json +146 -0
  201. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.1/test.json +110 -0
  202. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.3/craftbook.json +433 -0
  203. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.3/test.json +136 -0
  204. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.1/craftbook.json +140 -0
  205. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.1/test.json +104 -0
  206. package/data/craftbook-templates/fa/fact-check/versions/1.0.1/craftbook.json +146 -0
  207. package/data/craftbook-templates/fa/fact-check/versions/1.0.1/test.json +110 -0
  208. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.1/craftbook.json +74 -0
  209. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.1/test.json +108 -0
  210. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.1/craftbook.json +107 -0
  211. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.1/test.json +110 -0
  212. package/data/craftbook-templates/fa/favicon-set/versions/1.0.1/craftbook.json +146 -0
  213. package/data/craftbook-templates/fa/favicon-set/versions/1.0.1/test.json +103 -0
  214. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.1/craftbook.json +159 -0
  215. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.1/test.json +162 -0
  216. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.1/craftbook.json +148 -0
  217. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.1/test.json +162 -0
  218. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.1/craftbook.json +143 -0
  219. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.1/test.json +97 -0
  220. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.1/craftbook.json +103 -0
  221. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.1/test.json +103 -0
  222. package/data/craftbook-templates/fo/forecast-model/versions/1.0.1/craftbook.json +105 -0
  223. package/data/craftbook-templates/fo/forecast-model/versions/1.0.1/test.json +104 -0
  224. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.1/craftbook.json +148 -0
  225. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.1/test.json +162 -0
  226. package/data/craftbook-templates/fo/form-wizard/versions/1.0.1/craftbook.json +110 -0
  227. package/data/craftbook-templates/fo/form-wizard/versions/1.0.1/test.json +110 -0
  228. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.1/craftbook.json +168 -0
  229. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.1/test.json +99 -0
  230. package/data/craftbook-templates/gl/glossary-build/versions/1.0.1/craftbook.json +140 -0
  231. package/data/craftbook-templates/gl/glossary-build/versions/1.0.1/test.json +110 -0
  232. package/data/craftbook-templates/gr/graphql-api/versions/1.0.2/craftbook.json +146 -0
  233. package/data/craftbook-templates/gr/graphql-api/versions/1.0.2/test.json +92 -0
  234. package/data/craftbook-templates/gr/grpc-service/versions/1.0.1/craftbook.json +147 -0
  235. package/data/craftbook-templates/gr/grpc-service/versions/1.0.1/test.json +92 -0
  236. package/data/craftbook-templates/ha/handbook-section/versions/1.0.1/craftbook.json +145 -0
  237. package/data/craftbook-templates/ha/handbook-section/versions/1.0.1/test.json +110 -0
  238. package/data/craftbook-templates/he/hero-image/versions/1.0.1/craftbook.json +154 -0
  239. package/data/craftbook-templates/he/hero-image/versions/1.0.1/test.json +103 -0
  240. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.1/craftbook.json +202 -0
  241. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.1/test.json +128 -0
  242. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.1/craftbook.json +182 -0
  243. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.1/test.json +92 -0
  244. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.1/craftbook.json +218 -0
  245. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.1/test.json +176 -0
  246. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.1/craftbook.json +150 -0
  247. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.1/test.json +99 -0
  248. package/data/craftbook-templates/ic/icon-pack/versions/1.0.1/craftbook.json +146 -0
  249. package/data/craftbook-templates/ic/icon-pack/versions/1.0.1/test.json +103 -0
  250. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.3/craftbook.json +397 -0
  251. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.3/test.json +141 -0
  252. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.1/craftbook.json +150 -0
  253. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.1/test.json +99 -0
  254. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.1/craftbook.json +141 -0
  255. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.1/test.json +103 -0
  256. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.1/craftbook.json +140 -0
  257. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.1/test.json +103 -0
  258. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.1/craftbook.json +109 -0
  259. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.1/test.json +97 -0
  260. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.1/craftbook.json +105 -0
  261. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.1/test.json +103 -0
  262. package/data/craftbook-templates/im/image-set-index/versions/1.2.1/craftbook.json +179 -0
  263. package/data/craftbook-templates/im/image-set-index/versions/1.2.1/test.json +180 -0
  264. package/data/craftbook-templates/in/inbox-triage/versions/1.0.1/craftbook.json +140 -0
  265. package/data/craftbook-templates/in/inbox-triage/versions/1.0.1/test.json +104 -0
  266. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.1/craftbook.json +107 -0
  267. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.1/test.json +110 -0
  268. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.1/craftbook.json +158 -0
  269. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.1/test.json +109 -0
  270. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.1/craftbook.json +153 -0
  271. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.1/test.json +121 -0
  272. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.1/craftbook.json +143 -0
  273. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.1/test.json +99 -0
  274. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.1/craftbook.json +141 -0
  275. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.1/test.json +110 -0
  276. package/data/craftbook-templates/in/invitation-design/versions/1.0.1/craftbook.json +128 -0
  277. package/data/craftbook-templates/in/invitation-design/versions/1.0.1/test.json +121 -0
  278. package/data/craftbook-templates/in/invoice-generator/versions/1.0.1/craftbook.json +110 -0
  279. package/data/craftbook-templates/in/invoice-generator/versions/1.0.1/test.json +97 -0
  280. package/data/craftbook-templates/in/invoice-run/versions/1.1.1/craftbook.json +199 -0
  281. package/data/craftbook-templates/in/invoice-run/versions/1.1.1/test.json +140 -0
  282. package/data/craftbook-templates/index.json +1 -1
  283. package/data/craftbook-templates/it/item-intake/versions/1.0.1/craftbook.json +140 -0
  284. package/data/craftbook-templates/it/item-intake/versions/1.0.1/test.json +145 -0
  285. package/data/craftbook-templates/ju/juice-pass/versions/1.0.1/craftbook.json +116 -0
  286. package/data/craftbook-templates/ju/juice-pass/versions/1.0.1/test.json +116 -0
  287. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.1/craftbook.json +143 -0
  288. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.1/test.json +110 -0
  289. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.1/craftbook.json +148 -0
  290. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.1/test.json +97 -0
  291. package/data/craftbook-templates/la/landing-copy/versions/1.0.1/craftbook.json +143 -0
  292. package/data/craftbook-templates/la/landing-copy/versions/1.0.1/test.json +110 -0
  293. package/data/craftbook-templates/la/landing-page/versions/1.0.1/craftbook.json +184 -0
  294. package/data/craftbook-templates/la/landing-page/versions/1.0.1/test.json +97 -0
  295. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.1/craftbook.json +140 -0
  296. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.1/test.json +104 -0
  297. package/data/craftbook-templates/li/library-package/versions/1.0.1/craftbook.json +147 -0
  298. package/data/craftbook-templates/li/library-package/versions/1.0.1/test.json +92 -0
  299. package/data/craftbook-templates/li/literature-review/versions/1.0.1/craftbook.json +146 -0
  300. package/data/craftbook-templates/li/literature-review/versions/1.0.1/test.json +110 -0
  301. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.1/craftbook.json +141 -0
  302. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.1/test.json +162 -0
  303. package/data/craftbook-templates/lo/localize-content/versions/1.0.1/craftbook.json +143 -0
  304. package/data/craftbook-templates/lo/localize-content/versions/1.0.1/test.json +110 -0
  305. package/data/craftbook-templates/lo/logo-set/versions/1.0.1/craftbook.json +146 -0
  306. package/data/craftbook-templates/lo/logo-set/versions/1.0.1/test.json +103 -0
  307. package/data/craftbook-templates/ma/market-scan/versions/1.0.1/craftbook.json +146 -0
  308. package/data/craftbook-templates/ma/market-scan/versions/1.0.1/test.json +210 -0
  309. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.1/craftbook.json +108 -0
  310. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.1/test.json +110 -0
  311. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.1/craftbook.json +107 -0
  312. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.1/test.json +110 -0
  313. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.1/craftbook.json +107 -0
  314. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.1/test.json +184 -0
  315. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.1/craftbook.json +109 -0
  316. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.1/test.json +103 -0
  317. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.1/craftbook.json +115 -0
  318. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.1/test.json +112 -0
  319. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.1/craftbook.json +147 -0
  320. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.1/test.json +92 -0
  321. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.1/craftbook.json +117 -0
  322. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.1/test.json +99 -0
  323. package/data/craftbook-templates/mo/mock-interview/versions/1.0.1/craftbook.json +139 -0
  324. package/data/craftbook-templates/mo/mock-interview/versions/1.0.1/test.json +110 -0
  325. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.1/craftbook.json +156 -0
  326. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.1/test.json +133 -0
  327. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.1/craftbook.json +158 -0
  328. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.1/test.json +197 -0
  329. package/data/craftbook-templates/mo/month-close/versions/1.0.1/craftbook.json +140 -0
  330. package/data/craftbook-templates/mo/month-close/versions/1.0.1/test.json +97 -0
  331. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.1/craftbook.json +140 -0
  332. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.1/test.json +117 -0
  333. package/data/craftbook-templates/mo/moodboard/versions/1.0.1/craftbook.json +109 -0
  334. package/data/craftbook-templates/mo/moodboard/versions/1.0.1/test.json +103 -0
  335. package/data/craftbook-templates/mo/morning-brief/versions/1.0.1/craftbook.json +107 -0
  336. package/data/craftbook-templates/mo/morning-brief/versions/1.0.1/test.json +225 -0
  337. package/data/craftbook-templates/mo/morning-report/versions/1.0.1/craftbook.json +152 -0
  338. package/data/craftbook-templates/mo/morning-report/versions/1.0.1/test.json +250 -0
  339. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.1/craftbook.json +101 -0
  340. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.1/test.json +103 -0
  341. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.1/craftbook.json +181 -0
  342. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.1/test.json +86 -0
  343. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.1/craftbook.json +143 -0
  344. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.1/test.json +110 -0
  345. package/data/craftbook-templates/no/notification-router/versions/1.0.1/craftbook.json +158 -0
  346. package/data/craftbook-templates/no/notification-router/versions/1.0.1/test.json +162 -0
  347. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.1/craftbook.json +137 -0
  348. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.1/test.json +103 -0
  349. package/data/craftbook-templates/of/offer-compare/versions/1.0.1/craftbook.json +106 -0
  350. package/data/craftbook-templates/of/offer-compare/versions/1.0.1/test.json +110 -0
  351. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.1/craftbook.json +107 -0
  352. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.1/test.json +110 -0
  353. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.1/craftbook.json +143 -0
  354. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.1/test.json +97 -0
  355. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.1/craftbook.json +107 -0
  356. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.1/test.json +110 -0
  357. package/data/craftbook-templates/on/one-pager/versions/1.0.1/craftbook.json +143 -0
  358. package/data/craftbook-templates/on/one-pager/versions/1.0.1/test.json +110 -0
  359. package/data/craftbook-templates/op/ops-runbook/versions/1.0.1/craftbook.json +112 -0
  360. package/data/craftbook-templates/op/ops-runbook/versions/1.0.1/test.json +104 -0
  361. package/data/craftbook-templates/pa/page-spread/versions/1.0.1/craftbook.json +82 -0
  362. package/data/craftbook-templates/pa/page-spread/versions/1.0.1/test.json +132 -0
  363. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.1/craftbook.json +147 -0
  364. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.1/test.json +92 -0
  365. package/data/craftbook-templates/pe/perf-audit/versions/1.0.1/craftbook.json +141 -0
  366. package/data/craftbook-templates/pe/perf-audit/versions/1.0.1/test.json +162 -0
  367. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.1/craftbook.json +148 -0
  368. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.1/test.json +92 -0
  369. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.1/craftbook.json +140 -0
  370. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.1/test.json +122 -0
  371. package/data/craftbook-templates/ph/photo-cull/versions/1.0.1/craftbook.json +140 -0
  372. package/data/craftbook-templates/ph/photo-cull/versions/1.0.1/test.json +103 -0
  373. package/data/craftbook-templates/ph/physics-toy/versions/1.0.1/craftbook.json +110 -0
  374. package/data/craftbook-templates/ph/physics-toy/versions/1.0.1/test.json +99 -0
  375. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.1/craftbook.json +141 -0
  376. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.1/test.json +97 -0
  377. package/data/craftbook-templates/pl/playtest-report/versions/1.0.1/craftbook.json +140 -0
  378. package/data/craftbook-templates/pl/playtest-report/versions/1.0.1/test.json +111 -0
  379. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.1/craftbook.json +140 -0
  380. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.1/test.json +103 -0
  381. package/data/craftbook-templates/po/portfolio-site/versions/1.0.1/craftbook.json +151 -0
  382. package/data/craftbook-templates/po/portfolio-site/versions/1.0.1/test.json +97 -0
  383. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.0/craftbook.json +257 -0
  384. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.0/test.json +228 -0
  385. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.1/craftbook.json +347 -0
  386. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.1/test.json +228 -0
  387. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.1/craftbook.json +141 -0
  388. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.1/test.json +110 -0
  389. package/data/craftbook-templates/pr/practice-exam/versions/1.0.1/craftbook.json +159 -0
  390. package/data/craftbook-templates/pr/practice-exam/versions/1.0.1/test.json +117 -0
  391. package/data/craftbook-templates/pr/practice-session/versions/1.0.1/craftbook.json +115 -0
  392. package/data/craftbook-templates/pr/practice-session/versions/1.0.1/test.json +114 -0
  393. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.1/craftbook.json +140 -0
  394. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.1/test.json +97 -0
  395. package/data/craftbook-templates/pr/press-release/versions/1.0.1/craftbook.json +143 -0
  396. package/data/craftbook-templates/pr/press-release/versions/1.0.1/test.json +356 -0
  397. package/data/craftbook-templates/pr/price-tracker/versions/1.0.1/craftbook.json +109 -0
  398. package/data/craftbook-templates/pr/price-tracker/versions/1.0.1/test.json +150 -0
  399. package/data/craftbook-templates/pr/pricing-page/versions/1.0.1/craftbook.json +184 -0
  400. package/data/craftbook-templates/pr/pricing-page/versions/1.0.1/test.json +97 -0
  401. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.1/craftbook.json +105 -0
  402. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.1/test.json +110 -0
  403. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.1/craftbook.json +143 -0
  404. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.1/test.json +110 -0
  405. package/data/craftbook-templates/pu/pull-request-review/manifest.json +3 -1
  406. package/data/craftbook-templates/pu/pull-request-review/versions/1.4.1/craftbook.json +180 -0
  407. package/data/craftbook-templates/pu/pull-request-review/versions/1.4.1/test.json +123 -0
  408. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.1/craftbook.json +121 -0
  409. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.1/test.json +123 -0
  410. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.1/craftbook.json +155 -0
  411. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.1/test.json +97 -0
  412. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.1/craftbook.json +140 -0
  413. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.1/test.json +113 -0
  414. package/data/craftbook-templates/re/reading-list/versions/1.0.1/craftbook.json +107 -0
  415. package/data/craftbook-templates/re/reading-list/versions/1.0.1/test.json +110 -0
  416. package/data/craftbook-templates/re/receipt-intake/versions/1.0.1/craftbook.json +140 -0
  417. package/data/craftbook-templates/re/receipt-intake/versions/1.0.1/test.json +149 -0
  418. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.1/craftbook.json +140 -0
  419. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.1/test.json +104 -0
  420. package/data/craftbook-templates/re/recipe-capture/versions/1.0.1/craftbook.json +140 -0
  421. package/data/craftbook-templates/re/recipe-capture/versions/1.0.1/test.json +128 -0
  422. package/data/craftbook-templates/re/record-a-relative/versions/1.0.1/craftbook.json +115 -0
  423. package/data/craftbook-templates/re/record-a-relative/versions/1.0.1/test.json +110 -0
  424. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.1/craftbook.json +148 -0
  425. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.1/test.json +104 -0
  426. package/data/craftbook-templates/re/refactor-module/versions/1.0.2/craftbook.json +148 -0
  427. package/data/craftbook-templates/re/refactor-module/versions/1.0.2/test.json +92 -0
  428. package/data/craftbook-templates/re/regex-builder/versions/1.0.1/craftbook.json +147 -0
  429. package/data/craftbook-templates/re/regex-builder/versions/1.0.1/test.json +92 -0
  430. package/data/craftbook-templates/re/release-announcement/versions/1.0.1/craftbook.json +159 -0
  431. package/data/craftbook-templates/re/release-announcement/versions/1.0.1/test.json +202 -0
  432. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.1/craftbook.json +214 -0
  433. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.1/test.json +138 -0
  434. package/data/craftbook-templates/re/release-notes/versions/1.0.1/craftbook.json +159 -0
  435. package/data/craftbook-templates/re/release-notes/versions/1.0.1/test.json +111 -0
  436. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.1/craftbook.json +147 -0
  437. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.1/test.json +162 -0
  438. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.1/craftbook.json +141 -0
  439. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.1/test.json +110 -0
  440. package/data/craftbook-templates/re/reliability-review/versions/1.0.1/craftbook.json +153 -0
  441. package/data/craftbook-templates/re/reliability-review/versions/1.0.1/test.json +112 -0
  442. package/data/craftbook-templates/re/report-pdf/versions/1.1.1/craftbook.json +173 -0
  443. package/data/craftbook-templates/re/report-pdf/versions/1.1.1/test.json +98 -0
  444. package/data/craftbook-templates/re/research-report/versions/1.0.1/craftbook.json +146 -0
  445. package/data/craftbook-templates/re/research-report/versions/1.0.1/test.json +110 -0
  446. package/data/craftbook-templates/re/research-to-document/versions/1.2.1/craftbook.json +216 -0
  447. package/data/craftbook-templates/re/research-to-document/versions/1.2.1/test.json +240 -0
  448. package/data/craftbook-templates/re/rest-api/versions/1.0.2/craftbook.json +147 -0
  449. package/data/craftbook-templates/re/rest-api/versions/1.0.2/test.json +387 -0
  450. package/data/craftbook-templates/re/resume-cv/versions/1.0.1/craftbook.json +143 -0
  451. package/data/craftbook-templates/re/resume-cv/versions/1.0.1/test.json +97 -0
  452. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.1/craftbook.json +159 -0
  453. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.1/test.json +162 -0
  454. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.3/craftbook.json +413 -0
  455. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.3/test.json +154 -0
  456. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.2/craftbook.json +167 -0
  457. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.2/test.json +137 -0
  458. package/data/craftbook-templates/ru/runbook/versions/1.0.1/craftbook.json +145 -0
  459. package/data/craftbook-templates/ru/runbook/versions/1.0.1/test.json +118 -0
  460. package/data/craftbook-templates/sc/schema-migration/versions/1.0.1/craftbook.json +144 -0
  461. package/data/craftbook-templates/sc/schema-migration/versions/1.0.1/test.json +103 -0
  462. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.2/craftbook.json +140 -0
  463. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.2/test.json +162 -0
  464. package/data/craftbook-templates/sc/script-automation/versions/1.0.1/craftbook.json +148 -0
  465. package/data/craftbook-templates/sc/script-automation/versions/1.0.1/test.json +162 -0
  466. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.2/craftbook.json +147 -0
  467. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.2/test.json +90 -0
  468. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.1/craftbook.json +140 -0
  469. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.1/test.json +110 -0
  470. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.3/craftbook.json +440 -0
  471. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.3/test.json +154 -0
  472. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.1/craftbook.json +105 -0
  473. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.1/test.json +97 -0
  474. package/data/craftbook-templates/so/social-thread/versions/1.0.1/craftbook.json +107 -0
  475. package/data/craftbook-templates/so/social-thread/versions/1.0.1/test.json +110 -0
  476. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.1/craftbook.json +140 -0
  477. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.1/test.json +158 -0
  478. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.1/craftbook.json +143 -0
  479. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.1/test.json +97 -0
  480. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.3/craftbook.json +436 -0
  481. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.3/test.json +162 -0
  482. package/data/craftbook-templates/sp/spec-doc/versions/1.0.1/craftbook.json +143 -0
  483. package/data/craftbook-templates/sp/spec-doc/versions/1.0.1/test.json +104 -0
  484. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.1/craftbook.json +109 -0
  485. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.1/test.json +160 -0
  486. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.1/craftbook.json +137 -0
  487. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.1/test.json +103 -0
  488. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.1/craftbook.json +109 -0
  489. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.1/test.json +104 -0
  490. package/data/craftbook-templates/st/standup-summary/versions/1.0.1/craftbook.json +107 -0
  491. package/data/craftbook-templates/st/standup-summary/versions/1.0.1/test.json +110 -0
  492. package/data/craftbook-templates/st/state-machine/versions/1.0.1/craftbook.json +147 -0
  493. package/data/craftbook-templates/st/state-machine/versions/1.0.1/test.json +92 -0
  494. package/data/craftbook-templates/st/status-report/versions/1.0.1/craftbook.json +146 -0
  495. package/data/craftbook-templates/st/status-report/versions/1.0.1/test.json +110 -0
  496. package/data/craftbook-templates/su/subscription-audit/versions/1.0.1/craftbook.json +140 -0
  497. package/data/craftbook-templates/su/subscription-audit/versions/1.0.1/test.json +104 -0
  498. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.1/craftbook.json +128 -0
  499. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.1/test.json +103 -0
  500. package/data/craftbook-templates/su/summarize-long/versions/1.0.1/craftbook.json +107 -0
  501. package/data/craftbook-templates/su/summarize-long/versions/1.0.1/test.json +110 -0
  502. package/data/craftbook-templates/su/survey-analysis/versions/1.0.1/craftbook.json +141 -0
  503. package/data/craftbook-templates/su/survey-analysis/versions/1.0.1/test.json +104 -0
  504. package/data/craftbook-templates/sv/svg-animation/versions/1.0.1/craftbook.json +110 -0
  505. package/data/craftbook-templates/sv/svg-animation/versions/1.0.1/test.json +97 -0
  506. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.1/craftbook.json +114 -0
  507. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.1/test.json +97 -0
  508. package/data/craftbook-templates/te/technical-documentation/versions/2.0.3/craftbook.json +408 -0
  509. package/data/craftbook-templates/te/technical-documentation/versions/2.0.3/test.json +174 -0
  510. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.1/craftbook.json +141 -0
  511. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.1/test.json +113 -0
  512. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.1/craftbook.json +120 -0
  513. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.1/test.json +92 -0
  514. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.1/craftbook.json +143 -0
  515. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.1/test.json +141 -0
  516. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.1/craftbook.json +143 -0
  517. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.1/test.json +142 -0
  518. package/data/craftbook-templates/th/threat-model/versions/1.0.1/craftbook.json +141 -0
  519. package/data/craftbook-templates/th/threat-model/versions/1.0.1/test.json +110 -0
  520. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.1/craftbook.json +103 -0
  521. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.1/test.json +103 -0
  522. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.1/craftbook.json +160 -0
  523. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.1/test.json +159 -0
  524. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.1/craftbook.json +107 -0
  525. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.1/test.json +110 -0
  526. package/data/craftbook-templates/to/topic-explainer/versions/1.0.1/craftbook.json +140 -0
  527. package/data/craftbook-templates/to/topic-explainer/versions/1.0.1/test.json +110 -0
  528. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.1/craftbook.json +115 -0
  529. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.1/test.json +98 -0
  530. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.1/craftbook.json +107 -0
  531. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.1/test.json +103 -0
  532. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.1/craftbook.json +171 -0
  533. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.1/test.json +151 -0
  534. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.1/craftbook.json +148 -0
  535. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.1/test.json +92 -0
  536. package/data/craftbook-templates/ve/version-bump/versions/1.0.1/craftbook.json +155 -0
  537. package/data/craftbook-templates/ve/version-bump/versions/1.0.1/test.json +92 -0
  538. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.1/craftbook.json +109 -0
  539. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.1/test.json +103 -0
  540. package/data/craftbook-templates/vi/visit-prep/versions/1.0.1/craftbook.json +140 -0
  541. package/data/craftbook-templates/vi/visit-prep/versions/1.0.1/test.json +97 -0
  542. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.1/craftbook.json +107 -0
  543. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.1/test.json +103 -0
  544. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.1/craftbook.json +154 -0
  545. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.1/test.json +124 -0
  546. package/data/craftbook-templates/we/web-app-crud/versions/1.0.1/craftbook.json +143 -0
  547. package/data/craftbook-templates/we/web-app-crud/versions/1.0.1/test.json +97 -0
  548. package/data/craftbook-templates/we/web-component/versions/1.0.1/craftbook.json +110 -0
  549. package/data/craftbook-templates/we/web-component/versions/1.0.1/test.json +97 -0
  550. package/data/craftbook-templates/we/webhook-handler/versions/1.0.1/craftbook.json +147 -0
  551. package/data/craftbook-templates/we/webhook-handler/versions/1.0.1/test.json +162 -0
  552. package/data/craftbook-templates/we/week-plan/versions/1.0.1/craftbook.json +140 -0
  553. package/data/craftbook-templates/we/week-plan/versions/1.0.1/test.json +255 -0
  554. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.1/craftbook.json +140 -0
  555. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.1/test.json +97 -0
  556. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.1/craftbook.json +106 -0
  557. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.1/test.json +104 -0
  558. package/data/craftbook-templates/we/weekly-review/versions/1.0.1/craftbook.json +107 -0
  559. package/data/craftbook-templates/we/weekly-review/versions/1.0.1/test.json +110 -0
  560. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.1/craftbook.json +140 -0
  561. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.1/test.json +138 -0
  562. package/data/craftbook-templates/wh/whitepaper/versions/1.0.1/craftbook.json +141 -0
  563. package/data/craftbook-templates/wh/whitepaper/versions/1.0.1/test.json +110 -0
  564. package/data/craftbook-templates/ye/year-in-review/versions/1.0.1/craftbook.json +115 -0
  565. package/data/craftbook-templates/ye/year-in-review/versions/1.0.1/test.json +145 -0
  566. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.1/craftbook.json +134 -0
  567. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.1/test.json +103 -0
  568. package/package.json +1 -1
  569. package/schemas/chat-model-identity.schema.json +16 -0
  570. package/schemas/craftbook-doc.schema.json +8 -2
  571. package/schemas/craftbook-template-version.schema.json +8 -2
@@ -0,0 +1,107 @@
1
+ {
2
+ "id": "incident-comms-templates",
3
+ "name": "Incident Communication Templates",
4
+ "description": "Author a reusable set of incident communication templates: status-page posts and stakeholder update messages for each phase of an incident (Investigating, Identified, Monitoring, Resolved) across severities, with fill-in variables and a cadence guide. Scopes the audiences, phases, and tone rules FIRST (who reads each channel, the phase ladder, what may and may not be said, the variable set), then a copywriter writes the on-brand templates with bracketed placeholders, then a reviewer checks coverage, tone, and that no template over-promises or leaks blame. Scoping audiences and phases before drafting is what produces calm, honest, copy-paste-ready updates instead of ad-hoc panic posts. Use for incident comms, status page templates, customer incident updates, outage communication, and stakeholder messaging during an incident.\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 comms (planner) — lock audiences, phases, variables, and tone rules → gated on artifact `notes/scope.md` (markdown-notes)\n2. Write the templates (copywriter) — draft on-brand templates with bracketed variables → gated on `templates.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
+ "incident communication templates",
8
+ "status page templates",
9
+ "outage update messages",
10
+ "customer incident comms",
11
+ "stakeholder update templates"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the comms",
17
+ "description": "lock audiences, phases, variables, and tone rules",
18
+ "prompt": "Define the comms framework before drafting. (1) Lock the audiences/channels (public status page, affected-customer email, internal stakeholders) and what level of detail each receives. (2) Lock the incident phase ladder — Investigating → Identified → Monitoring → Resolved — and which severities trigger external comms. (3) Define the tone rules: calm, factual, no speculation, no premature root-cause, no blame, acknowledge impact and give a next-update time — and a do-not-say list. (4) Define the variable set every template uses ([service], [impact], [start_time], [next_update_eta], [workaround]). (5) Set the update cadence per severity. Write an acceptance-criteria checklist ('a template exists for every (audience × phase) that applies', 'each template uses the locked variables with brackets', 'every external template states impact + a next-update time', 'tone follows the rules and the do-not-say list', 'no template asserts root cause before Identified') plus the matrix + variables + tone rules to notes/scope.md via write_task_note AND the produces path. No templates yet.\n\nThe deliverable `notes/scope.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
19
+ "suggestedRole": "planner",
20
+ "advanceWhen": {
21
+ "file": "notes/scope.md",
22
+ "minBytes": 1,
23
+ "sniff": "nonempty",
24
+ "artifact": true
25
+ },
26
+ "gate": {
27
+ "at": "completion",
28
+ "checks": [
29
+ {
30
+ "kind": "minBytes",
31
+ "file": "notes/scope.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "notes/scope.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "scope",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "write"
46
+ },
47
+ {
48
+ "id": "write",
49
+ "name": "Write the templates",
50
+ "description": "draft on-brand templates with bracketed variables",
51
+ "prompt": "Write templates.md covering the locked (audience × phase) matrix — a template for every applicable cell. For each cell write a ready-to-send template: a clear subject/headline, a body in the locked tone using the bracketed variables, an explicit impact statement, and a next-update time (where the phase isn't Resolved). (1) Investigating templates acknowledge the issue and impact WITHOUT asserting cause. (2) Identified templates state what's wrong in plain language and the fix direction. (3) Monitoring templates say a fix is applied and they're watching. (4) Resolved templates confirm resolution, give a brief plain-language summary, and (for stakeholders) point to a forthcoming postmortem. Group by audience, then phase; add a short cadence guide at the top. Keep every template copy-paste-ready — only the [variables] need filling. Obey the do-not-say list and never over-promise a fix time as a guarantee. On a loop-back fix only the flagged templates. Write the path and a coverage count to notes via write_task_note.",
52
+ "suggestedRole": "copywriter",
53
+ "advanceWhen": {
54
+ "file": "templates.md",
55
+ "minBytes": 1,
56
+ "sniff": "nonempty"
57
+ },
58
+ "gate": {
59
+ "at": "completion",
60
+ "checks": [
61
+ {
62
+ "kind": "minBytes",
63
+ "file": "templates.md",
64
+ "bytes": 500
65
+ }
66
+ ],
67
+ "scripts": [
68
+ {
69
+ "name": "checkContains",
70
+ "scope": "standard",
71
+ "inputs": {
72
+ "file": "templates.md",
73
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
74
+ "flags": "i"
75
+ }
76
+ }
77
+ ],
78
+ "onReject": "write",
79
+ "maxAttempts": 4
80
+ },
81
+ "next": "evaluate"
82
+ },
83
+ {
84
+ "id": "evaluate",
85
+ "name": "Evaluate",
86
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
87
+ "prompt": "Validate templates.md against every locked criterion. (1) Build the (audience × phase) matrix from notes/scope.md and confirm a template exists for every applicable cell — any missing cell is FAIL. (2) Confirm each template uses the locked bracketed variables and that external templates state impact and a next-update time. (3) Read 3 templates for tone — calm, factual, no blame, no speculation — and confirm the do-not-say list isn't violated. (4) Confirm no Investigating template asserts a root cause and no template over-promises a fix time as a guarantee. (5) Confirm Resolved templates include a plain-language summary and (for stakeholders) a postmortem pointer, and that a cadence guide is present. Write PASS/FAIL per criterion with the specific templates at fault.\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.",
88
+ "suggestedRole": "reviewer",
89
+ "consumes": [
90
+ {
91
+ "file": "templates.md"
92
+ }
93
+ ],
94
+ "next": "write"
95
+ },
96
+ {
97
+ "id": "finish",
98
+ "name": "Finish",
99
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
100
+ "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.",
101
+ "suggestedRole": "developer",
102
+ "terminal": true
103
+ }
104
+ ],
105
+ "version": "1.0.1",
106
+ "releasedAt": "2026-08-14T00:00:00Z"
107
+ }
@@ -0,0 +1,110 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Incident Communication Templates smoke eval",
4
+ "objective": "Self-contained smoke eval for the Incident Communication Templates craftbook using the corpus generic harness.",
5
+ "tags": [
6
+ "corpus"
7
+ ],
8
+ "prompt": "We need a incident communication templates 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": "Incident Communication Templates Eval",
11
+ "about": "Self-contained eval project for incident-comms-templates. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/report.md.",
12
+ "missionObjectives": "Use the Incident Communication Templates 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": "# Incident Communication Templates 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: incident-comms-templates - Incident Communication Templates.\n"
17
+ }
18
+ ],
19
+ "worker": {
20
+ "name": "Jules",
21
+ "role": "Writer"
22
+ }
23
+ },
24
+ "mocks": [],
25
+ "success": {
26
+ "summary": "report.md is a source-grounded markdown artifact with required facts and actions.",
27
+ "deliverables": [
28
+ {
29
+ "path": "report.md",
30
+ "kind": "markdown-report",
31
+ "minBytes": 1000,
32
+ "checks": [
33
+ {
34
+ "kind": "contains",
35
+ "file": "report.md",
36
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
37
+ "flags": "i"
38
+ },
39
+ {
40
+ "kind": "contains",
41
+ "file": "report.md",
42
+ "pattern": "source/brief\\.md|Brief",
43
+ "flags": "i",
44
+ "label": "cite or name the seeded source"
45
+ },
46
+ {
47
+ "kind": "contains",
48
+ "file": "report.md",
49
+ "pattern": "18\\b[\\s\\S]{0,30}\\bSKUs",
50
+ "flags": "i",
51
+ "label": "include the 18-SKU pilot scope"
52
+ },
53
+ {
54
+ "kind": "contains",
55
+ "file": "report.md",
56
+ "pattern": "18\\s*hours|6\\s*hours",
57
+ "flags": "i"
58
+ },
59
+ {
60
+ "kind": "contains",
61
+ "file": "report.md",
62
+ "pattern": "14\\.2%|8\\.9%",
63
+ "flags": "i"
64
+ },
65
+ {
66
+ "kind": "contains",
67
+ "file": "report.md",
68
+ "pattern": "status silence|photo submission",
69
+ "flags": "i"
70
+ },
71
+ {
72
+ "kind": "contains",
73
+ "file": "report.md",
74
+ "pattern": "automated status emails|barcode|Finance",
75
+ "flags": "i"
76
+ }
77
+ ]
78
+ }
79
+ ]
80
+ },
81
+ "rubric": {
82
+ "artifact": {
83
+ "path": "report.md",
84
+ "kind": "markdown"
85
+ },
86
+ "axes": [
87
+ {
88
+ "name": "grounding",
89
+ "description": "Seeded facts appear faithfully and the source is cited."
90
+ },
91
+ {
92
+ "name": "structure",
93
+ "description": "Sections progress logically for the artifact class."
94
+ },
95
+ {
96
+ "name": "completeness",
97
+ "description": "Required elements (risks, next actions, scope) are all present."
98
+ },
99
+ {
100
+ "name": "tone",
101
+ "description": "The register fits the audience and artifact class."
102
+ }
103
+ ]
104
+ },
105
+ "qualityFocus": [
106
+ "source-grounded prose",
107
+ "section structure",
108
+ "next-action clarity"
109
+ ]
110
+ }
@@ -0,0 +1,158 @@
1
+ {
2
+ "id": "incident-postmortem",
3
+ "name": "Incident Postmortem",
4
+ "description": "Write a blameless incident postmortem after a production outage or degradation — a structured, factual document covering the impact, a precise timeline (detection → diagnosis → mitigation → resolution), the root cause and contributing factors via a five-whys analysis, what went well and what went poorly, and concrete, owned, dated action items that prevent recurrence. A researcher assembles the verified timeline and evidence from logs/alerts/chat, a copywriter writes the blameless narrative and root-cause analysis, and a reviewer checks the timeline is accurate, the analysis reaches a true root cause, and every action item is specific and owned. Use this for outage retrospectives, severity-incident reviews, and any 'what happened and how do we prevent it' writeup.\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. Assemble the timeline (researcher) — build a verified, timestamped factual timeline → gated on artifact `notes/timeline.md` (markdown-notes)\n2. Write the postmortem (copywriter) — blameless narrative, root-cause, and owned action items → gated on artifact `postmortem.md` (markdown-report)\n3. Review for accuracy and blamelessness (reviewer) — check root cause, timeline fidelity, and action quality → gated on artifact `notes/review.md` (markdown-notes)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "timeline",
6
+ "triggers": [
7
+ "write a postmortem",
8
+ "incident retrospective",
9
+ "outage writeup",
10
+ "root cause analysis",
11
+ "post-incident review"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "timeline",
16
+ "name": "Assemble the timeline",
17
+ "description": "build a verified, timestamped factual timeline",
18
+ "prompt": "1. Gather the raw record of the incident from every available source: alerts, monitoring graphs, deploy log, incident chat, error logs, and any commands run. 2. Reconstruct a precise, timestamped timeline of key moments: first impact, detection/alert, acknowledgement, diagnosis milestones, the mitigation action, full resolution, and the all-clear. 3. Quantify the impact factually: duration, who/what was affected, magnitude (error rate, users, revenue if known). 4. Note the detection method (alert vs customer report) and time-to-detect / time-to-mitigate. 5. Keep this BLAMELESS and factual — what happened and when, not who is at fault. 6. Good looks like: a chronological, timestamped timeline whose every entry is backed by evidence, plus a quantified impact statement. Write an acceptance-criteria checklist ('timeline is timestamped and chronological', 'impact is quantified with duration and scope', 'detection and mitigation times are stated', 'analysis must reach a true root cause via five-whys', 'every action item must be specific, owned, and dated', 'tone stays blameless') plus the timeline and impact to the notes file via write_task_note AND to notes/timeline.md.\n\nThe deliverable `notes/timeline.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": "researcher",
20
+ "advanceWhen": {
21
+ "file": "notes/timeline.md",
22
+ "minBytes": 1,
23
+ "sniff": "nonempty",
24
+ "artifact": true
25
+ },
26
+ "gate": {
27
+ "at": "completion",
28
+ "checks": [
29
+ {
30
+ "kind": "minBytes",
31
+ "file": "notes/timeline.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "notes/timeline.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "timeline",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "write"
46
+ },
47
+ {
48
+ "id": "write",
49
+ "name": "Write the postmortem",
50
+ "description": "blameless narrative, root-cause, and owned action items",
51
+ "prompt": "1. Open notes/timeline.md and write the postmortem with standard sections: Summary, Impact, Timeline, Root Cause, Contributing Factors, What Went Well, What Went Poorly, and Action Items. 2. In Root Cause, run a five-whys (or equivalent) from the symptom down to the systemic cause — not 'human made a mistake' but the system that allowed the mistake to cause an outage. 3. Keep the entire document BLAMELESS: describe systems and decisions, never blame individuals. 4. Make each Action Item concrete, with an explicit owner and a due date, and tied to a contributing factor — preventing recurrence, not vague 'be more careful'. 5. Lead with a tight executive Summary (what happened, impact, status) readable in 30 seconds. 6. Good looks like: a factual, blameless document where the root cause is systemic, the timeline matches notes/timeline.md, and every action item is specific/owned/dated. Write the postmortem to postmortem.md.\n\nBefore working, open the artifact input `notes/timeline.md` with `read_artifact`; do not look for it in the workspace.\n\nThe deliverable `postmortem.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": "copywriter",
53
+ "consumes": [
54
+ {
55
+ "file": "notes/timeline.md",
56
+ "artifact": true
57
+ }
58
+ ],
59
+ "advanceWhen": {
60
+ "file": "postmortem.md",
61
+ "minBytes": 1,
62
+ "sniff": "nonempty",
63
+ "artifact": true
64
+ },
65
+ "gate": {
66
+ "at": "completion",
67
+ "checks": [
68
+ {
69
+ "kind": "minBytes",
70
+ "file": "postmortem.md",
71
+ "bytes": 1500,
72
+ "artifact": true
73
+ },
74
+ {
75
+ "kind": "contains",
76
+ "file": "postmortem.md",
77
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
78
+ "flags": "i",
79
+ "label": "at least one markdown heading",
80
+ "artifact": true
81
+ }
82
+ ],
83
+ "onReject": "write",
84
+ "maxAttempts": 3
85
+ },
86
+ "next": "review"
87
+ },
88
+ {
89
+ "id": "review",
90
+ "name": "Review for accuracy and blamelessness",
91
+ "description": "check root cause, timeline fidelity, and action quality",
92
+ "prompt": "1. Open postmortem.md and cross-check its Timeline against notes/timeline.md — every entry must be accurate and evidence-backed, nothing invented or reordered. 2. Pressure-test the Root Cause: does the five-whys actually reach a SYSTEMIC cause, or does it stop at 'someone erred'? If it stops short, it fails. 3. Verify the document is genuinely blameless — flag any individual-blaming language. 4. Audit each Action Item: is it specific, does it have an owner and a due date, and would it actually reduce recurrence of THIS class of incident? 5. Confirm Impact is quantified and the Summary is tight and accurate. 6. Write a PASS/FAIL per acceptance criterion with specifics; any failure routes back to the write phase. Write findings to notes/review.md.\n\nBefore working, open the artifact inputs `notes/timeline.md`, `postmortem.md` with `read_artifact`; do not look for them in the workspace.\n\nThe deliverable `notes/review.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
93
+ "suggestedRole": "reviewer",
94
+ "consumes": [
95
+ {
96
+ "file": "notes/timeline.md",
97
+ "artifact": true
98
+ },
99
+ {
100
+ "file": "postmortem.md",
101
+ "artifact": true
102
+ }
103
+ ],
104
+ "advanceWhen": {
105
+ "file": "notes/review.md",
106
+ "minBytes": 1,
107
+ "sniff": "nonempty",
108
+ "artifact": true
109
+ },
110
+ "gate": {
111
+ "at": "completion",
112
+ "checks": [
113
+ {
114
+ "kind": "minBytes",
115
+ "file": "postmortem.md",
116
+ "bytes": 1500,
117
+ "artifact": true
118
+ },
119
+ {
120
+ "kind": "contains",
121
+ "file": "postmortem.md",
122
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
123
+ "flags": "i",
124
+ "label": "at least one markdown heading",
125
+ "artifact": true
126
+ }
127
+ ],
128
+ "onReject": "review",
129
+ "maxAttempts": 4
130
+ },
131
+ "next": "evaluate"
132
+ },
133
+ {
134
+ "id": "evaluate",
135
+ "name": "Evaluate",
136
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
137
+ "prompt": "Open postmortem.md and verify it against the criteria in notes/timeline.md, PASS/FAIL each. Confirm: (a) it has Summary, Impact, Timeline, Root Cause, Contributing Factors, What Went Well/Poorly, and Action Items sections; (b) the timeline is chronological, timestamped, and matches the assembled evidence; (c) impact is quantified (duration + scope); (d) the root-cause analysis reaches a systemic cause via five-whys, not individual blame; (e) the document is blameless throughout; (f) every action item is specific, owned, and dated, and addresses a contributing factor. Any FAIL routes back to the write phase.\n\nThe deliverable lives in the project's artifacts drawer — open `postmortem.md` with `read_artifact`, not `read_file`.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"write\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
138
+ "suggestedRole": "reviewer",
139
+ "consumes": [
140
+ {
141
+ "file": "postmortem.md",
142
+ "artifact": true
143
+ }
144
+ ],
145
+ "next": "write"
146
+ },
147
+ {
148
+ "id": "finish",
149
+ "name": "Finish",
150
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
151
+ "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.",
152
+ "suggestedRole": "developer",
153
+ "terminal": true
154
+ }
155
+ ],
156
+ "version": "1.0.1",
157
+ "releasedAt": "2026-08-14T00:00:00Z"
158
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Evidence-grounded incident postmortem",
4
+ "objective": "Measure whether a postmortem craftbook keeps a local model grounded in a dense evidence pack and produces ordered SRE sections.",
5
+ "tags": [
6
+ "corpus"
7
+ ],
8
+ "prompt": "Theres a fake service set up for this so nothing real gets touched — details are in fixtures/fake-service.md. Can you work out the automation and write up how it woudl run in automation.md?",
9
+ "setup": {
10
+ "projectName": "Incident Postmortem Eval",
11
+ "files": [
12
+ {
13
+ "path": "source/brief.md",
14
+ "content": "# Incident Postmortem 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: incident-postmortem - Incident Postmortem.\n"
15
+ },
16
+ {
17
+ "path": "fixtures/fake-service.md",
18
+ "content": "# Fake Service Fixture\n\nThis eval must stay in dry-run mode.\n\nAvailable fake endpoints and commands:\n- GET /api/bookings/open returns BKG-1001, BKG-1002, BKG-1003.\n- POST /api/bookings/dry-run records a simulated submission and returns DRY_RUN_OK.\n- fake-ci status returns pending twice and success on the third poll.\n- fake-github pr create returns https://example.invalid/pull/42.\n\nThe deliverable must reference these fixture names instead of real services or credentials.\n"
19
+ }
20
+ ],
21
+ "worker": {
22
+ "name": "Jules",
23
+ "role": "Developer"
24
+ }
25
+ },
26
+ "mocks": [],
27
+ "success": {
28
+ "summary": "The hand-authored incident-postmortem grader seeds five evidence files and checks ordered sections, evidence citations, timestamp citations, size, and blame-free language.",
29
+ "deliverables": [
30
+ {
31
+ "path": "automation.md",
32
+ "kind": "markdown-report",
33
+ "minBytes": 900,
34
+ "checks": [
35
+ {
36
+ "kind": "contains",
37
+ "file": "automation.md",
38
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
39
+ "flags": "i"
40
+ },
41
+ {
42
+ "kind": "contains",
43
+ "file": "automation.md",
44
+ "pattern": "DRY_RUN_OK|dry-run|dry run",
45
+ "flags": "i"
46
+ },
47
+ {
48
+ "kind": "contains",
49
+ "file": "automation.md",
50
+ "pattern": "fake-ci|fake-github|/api/bookings",
51
+ "flags": "i"
52
+ },
53
+ {
54
+ "kind": "contains",
55
+ "file": "automation.md",
56
+ "pattern": "no real|credentials|safety|guard",
57
+ "flags": "i"
58
+ },
59
+ {
60
+ "kind": "contains",
61
+ "file": "automation.md",
62
+ "pattern": "success|failure|retry|abort",
63
+ "flags": "i"
64
+ }
65
+ ]
66
+ }
67
+ ]
68
+ },
69
+ "rubric": {
70
+ "artifact": {
71
+ "path": "automation.md",
72
+ "kind": "markdown"
73
+ },
74
+ "axes": [
75
+ {
76
+ "name": "safety",
77
+ "description": "Dry-run posture is explicit: no real credentials, clear stop-before-side-effect boundary."
78
+ },
79
+ {
80
+ "name": "mapping",
81
+ "description": "Fake endpoints/commands are mapped completely to the workflow steps."
82
+ },
83
+ {
84
+ "name": "signals",
85
+ "description": "Success, failure, retry, and abort conditions are all defined."
86
+ },
87
+ {
88
+ "name": "containment",
89
+ "description": "The plan cannot accidentally reach a real service from a mock context."
90
+ }
91
+ ]
92
+ },
93
+ "qualityFocus": [
94
+ "dense reading",
95
+ "evidence grounding",
96
+ "ordered report structure",
97
+ "repair nudges"
98
+ ],
99
+ "extensions": {
100
+ "legacySimulators": [
101
+ {
102
+ "id": "incident-postmortem-fake-service-fixture",
103
+ "kind": "data-source",
104
+ "status": "implemented",
105
+ "description": "Seeded local fake service contract replacing live CLIs, HTTP APIs, credentials, and side effects."
106
+ }
107
+ ]
108
+ }
109
+ }
@@ -0,0 +1,153 @@
1
+ {
2
+ "id": "insurance-inventory",
3
+ "name": "Insurance Inventory",
4
+ "description": "Compile the inventory nobody has until the day they desperately need it: every cataloged item with its value, photo reference, and acquisition info in one document, the gaps (no photo, no value) named instead of papered over, and the total stated with its basis. Locks the completeness criteria FIRST, then compiles the full table, then writes the cover note — the quiet payoff of keeping the catalog honest. Use for insurance inventories, 'our agent wants a full inventory', documenting the collection for coverage, and preparing a collection record for a claim.\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 inventory (curator) — item and gap counts, completeness criteria locked → gated on artifact `notes/scope.md` (markdown-notes)\n2. Compile the inventory (data-analyst) — full item table, gaps section, stated total → gated on `insurance-inventory.md` (markdown-doc)\n3. Write the cover note (copywriter) — one-page cover note: total, gaps, review date → gated on artifact `report.md` (markdown-report)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "scope",
6
+ "triggers": [
7
+ "insurance inventory",
8
+ "full inventory with values",
9
+ "document the collection for insurance",
10
+ "collection inventory for our agent",
11
+ "compile the insurance list"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the inventory",
17
+ "description": "item and gap counts, completeness criteria locked",
18
+ "prompt": "Define the inventory before compiling it. Step 1: read the catalog store (collection.json) — the item count, which items carry values, which carry photo references and acquisition info. Step 2: lock the completeness criteria — every cataloged item appears in the inventory; every value in the inventory traces to the catalog, never invented on the spot; items without a value or photo are listed with the gap named, not quietly dropped or estimated; the total covers only the values actually on record and says so. Step 3: fix the document's shape — one table with Item, Value, and Photo columns (plus acquisition info where recorded), then a gaps section, then the stated total. Step 4: write an acceptance-criteria checklist ('every item present', 'every value traceable to the catalog', 'every gap named with a next step', 'total stated with its basis', 'readable by an insurance agent cold'). Call write_task_note with the item and gap counts + checklist and write notes/scope.md.\n\nThe deliverable `notes/scope.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
19
+ "suggestedRole": "curator",
20
+ "advanceWhen": {
21
+ "file": "notes/scope.md",
22
+ "minBytes": 1,
23
+ "sniff": "nonempty",
24
+ "artifact": true
25
+ },
26
+ "gate": {
27
+ "at": "completion",
28
+ "checks": [
29
+ {
30
+ "kind": "minBytes",
31
+ "file": "notes/scope.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "notes/scope.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "scope",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "compile"
46
+ },
47
+ {
48
+ "id": "compile",
49
+ "name": "Compile the inventory",
50
+ "description": "full item table, gaps section, stated total",
51
+ "prompt": "Compile the inventory document from the catalog. Step 1: build the full item table — one row per cataloged item with Item, Value, and Photo columns and acquisition info where the record has it; values copied exactly from the catalog, and gaps marked plainly in the cell rather than guessed. Step 2: after the table, list the gaps by kind — items with no value on record, items with no photo — each with the concrete step that would close it. Step 3: state the total of the recorded values and what it does not include. Write insurance-inventory.md and call write_task_note with the row count and the total.",
52
+ "suggestedRole": "data-analyst",
53
+ "advanceWhen": {
54
+ "file": "insurance-inventory.md",
55
+ "minBytes": 1,
56
+ "sniff": "nonempty"
57
+ },
58
+ "gate": {
59
+ "at": "completion",
60
+ "checks": [
61
+ {
62
+ "kind": "minBytes",
63
+ "file": "insurance-inventory.md",
64
+ "bytes": 1200
65
+ },
66
+ {
67
+ "kind": "tableShape",
68
+ "file": "insurance-inventory.md",
69
+ "requiredColumns": [
70
+ "Item",
71
+ "Value",
72
+ "Photo"
73
+ ],
74
+ "minRows": 3
75
+ }
76
+ ],
77
+ "scripts": [
78
+ {
79
+ "name": "checkContains",
80
+ "scope": "standard",
81
+ "inputs": {
82
+ "file": "insurance-inventory.md",
83
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
84
+ "flags": "i"
85
+ }
86
+ }
87
+ ],
88
+ "onReject": "compile",
89
+ "maxAttempts": 3
90
+ },
91
+ "next": "report"
92
+ },
93
+ {
94
+ "id": "report",
95
+ "name": "Write the cover note",
96
+ "description": "one-page cover note: total, gaps, review date",
97
+ "prompt": "Write the cover note for the inventory. Step 1: one paragraph an insurance agent can read cold — what the collection is, how many items, the total of recorded values and what that total excludes. Step 2: the gap list in brief — how many items lack values or photos and the plan to close those gaps. Step 3: a review date a year out, so the inventory stays alive instead of rotting in a drawer. Keep it calm and professional. Write report.md and call write_task_note with the report path and the total.\n\nThe deliverable `report.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
98
+ "suggestedRole": "copywriter",
99
+ "advanceWhen": {
100
+ "file": "report.md",
101
+ "minBytes": 1,
102
+ "sniff": "nonempty",
103
+ "artifact": true
104
+ },
105
+ "gate": {
106
+ "at": "completion",
107
+ "checks": [
108
+ {
109
+ "kind": "minBytes",
110
+ "file": "report.md",
111
+ "bytes": 800,
112
+ "artifact": true
113
+ },
114
+ {
115
+ "kind": "contains",
116
+ "file": "report.md",
117
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
118
+ "flags": "i",
119
+ "label": "at least one markdown heading",
120
+ "artifact": true
121
+ }
122
+ ],
123
+ "onReject": "report",
124
+ "maxAttempts": 4
125
+ },
126
+ "next": "evaluate"
127
+ },
128
+ {
129
+ "id": "evaluate",
130
+ "name": "Evaluate",
131
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
132
+ "prompt": "Open insurance-inventory.md, report.md, and the catalog store and verify every criterion from notes/scope.md: every cataloged item has a row in the inventory (count them against the store), every value in the table matches the catalog exactly (spot-check five), every item missing a value or photo appears in the gaps section with a next step, the total re-adds correctly from the recorded values, and the cover note stands alone. Write PASS/FAIL per criterion; on any failure, name the gap and loop back to compile.\n\nThe deliverable lives in the project's artifacts drawer — open `report.md` with `read_artifact`, not `read_file`.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"compile\" })` 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.",
133
+ "suggestedRole": "reviewer",
134
+ "consumes": [
135
+ {
136
+ "file": "report.md",
137
+ "artifact": true
138
+ }
139
+ ],
140
+ "next": "compile"
141
+ },
142
+ {
143
+ "id": "finish",
144
+ "name": "Finish",
145
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
146
+ "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.",
147
+ "suggestedRole": "developer",
148
+ "terminal": true
149
+ }
150
+ ],
151
+ "version": "1.0.1",
152
+ "releasedAt": "2026-08-14T00:00:00Z"
153
+ }