@bendyline/gilde 0.1.38 → 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.
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/test.json +118 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/test.json +189 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/test.json +111 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.2/test.json +150 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/craftbook.json +154 -0
- package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/craftbook.json +238 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/test.json +160 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/test.json +123 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/test.json +118 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/test.json +139 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/craftbook.json +141 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/craftbook.json +135 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/craftbook.json +222 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/test.json +224 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.2/test.json +143 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/craftbook.json +176 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/test.json +299 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/test.json +111 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.2/test.json +121 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.2/test.json +103 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/craftbook.json +162 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/craftbook.json +429 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/test.json +379 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/craftbook.json +176 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/test.json +95 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/test.json +109 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.2/test.json +115 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/craftbook.json +163 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/test.json +108 -0
- package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/craftbook.json +125 -0
- package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/test.json +109 -0
- package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/test.json +132 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/craftbook.json +135 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/test.json +158 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/craftbook.json +86 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/test.json +101 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/craftbook.json +94 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/test.json +146 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/craftbook.json +133 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/test.json +181 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/craftbook.json +144 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/test.json +152 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/craftbook.json +159 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/test.json +131 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/test.json +119 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/test.json +122 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/test.json +229 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/craftbook.json +151 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/test.json +112 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/test.json +119 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/test.json +123 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/test.json +152 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.2/craftbook.json +157 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/craftbook.json +133 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/test.json +162 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/test.json +159 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.2/test.json +103 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/test.json +210 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/craftbook.json +176 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/test.json +138 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/craftbook.json +113 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/test.json +105 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/test.json +117 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/test.json +104 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/craftbook.json +160 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/test.json +165 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/test.json +329 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.2/test.json +98 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/test.json +120 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/craftbook.json +113 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/test.json +98 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/craftbook.json +223 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/test.json +160 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/test.json +111 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/test.json +168 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.2/test.json +121 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/craftbook.json +443 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/test.json +204 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/test.json +135 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/craftbook.json +188 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/test.json +149 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.2/craftbook.json +154 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/craftbook.json +415 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/test.json +194 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/craftbook.json +445 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/test.json +139 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/craftbook.json +86 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/test.json +111 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/craftbook.json +115 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/craftbook.json +180 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/craftbook.json +158 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/test.json +95 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/craftbook.json +157 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.2/craftbook.json +166 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/craftbook.json +214 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/test.json +131 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/craftbook.json +194 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/craftbook.json +162 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/craftbook.json +409 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/test.json +144 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/craftbook.json +162 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/test.json +112 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/test.json +124 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.2/craftbook.json +140 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.2/test.json +124 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.2/craftbook.json +211 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.2/test.json +143 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/it/item-intake/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/craftbook.json +128 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/test.json +119 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.2/craftbook.json +196 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.2/test.json +213 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/craftbook.json +120 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/test.json +187 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/test.json +115 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/craftbook.json +129 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/craftbook.json +151 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/craftbook.json +168 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/test.json +136 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/test.json +200 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/test.json +120 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/test.json +228 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.2/craftbook.json +164 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.2/test.json +253 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/craftbook.json +193 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/test.json +89 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/craftbook.json +149 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.2/craftbook.json +118 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/craftbook.json +124 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.2/craftbook.json +94 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.2/test.json +135 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/test.json +125 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/test.json +114 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/craftbook.json +163 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/craftbook.json +397 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/test.json +242 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/test.json +120 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.2/test.json +117 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.2/test.json +359 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/test.json +153 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/craftbook.json +196 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/craftbook.json +279 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/test.json +144 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/craftbook.json +133 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/test.json +126 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/craftbook.json +167 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/test.json +116 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/test.json +152 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.1/craftbook.json +177 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.1/test.json +169 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/test.json +131 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.3/craftbook.json +160 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.3/test.json +95 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.2/test.json +205 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/craftbook.json +226 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/test.json +141 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.2/test.json +114 -0
- package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.2/test.json +115 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.2/craftbook.json +185 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.2/test.json +101 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.2/craftbook.json +228 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.2/test.json +243 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.3/craftbook.json +159 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.3/test.json +390 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/craftbook.json +425 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/test.json +157 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/craftbook.json +179 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/test.json +140 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.2/craftbook.json +157 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.2/test.json +121 -0
- package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/craftbook.json +156 -0
- package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/craftbook.json +152 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/test.json +165 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/craftbook.json +159 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/test.json +93 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/craftbook.json +452 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/test.json +157 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.1/test.json +169 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/test.json +161 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/craftbook.json +448 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/test.json +165 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/test.json +163 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/craftbook.json +149 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/craftbook.json +140 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/craftbook.json +126 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/craftbook.json +420 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/test.json +177 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/test.json +116 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/craftbook.json +132 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/test.json +144 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/test.json +145 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/craftbook.json +115 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/craftbook.json +172 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/test.json +162 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/test.json +101 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/craftbook.json +183 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/test.json +154 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.0.2/craftbook.json +167 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/craftbook.json +166 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/test.json +127 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.2/test.json +258 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/craftbook.json +118 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/test.json +141 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/craftbook.json +146 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/test.json +106 -0
- package/package.json +1 -1
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "press-release",
|
|
3
|
+
"name": "Press Release",
|
|
4
|
+
"description": "Write a professional, AP-style press release ready to send to journalists: it first locks the news angle, the five W's, the approved quote(s), and the boilerplate, then drafts the release in the standard format — dateline, inverted-pyramid lede, supporting body, quotes, boilerplate, and media contact — then a review pass enforces newsworthiness, factual accuracy, and house style. Covers press release, news announcement, PR writing, media release, product launch announcement, and corporate communications. The scope-first ordering is essential: a small model that pins the angle and quotes before drafting avoids the soft, promotional release that buries the news and no editor will run.\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. News scope (planner) — lock the angle, five W's, approved quotes, and boilerplate → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Draft the release (copywriter) — write the release in standard inverted-pyramid format → gated on `press-release.md` (markdown-doc)\n3. Editorial review (reviewer) — enforce newsworthiness, accuracy, and AP-style format → gated on `press-release.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
|
+
"write a press release",
|
|
8
|
+
"news announcement",
|
|
9
|
+
"media release",
|
|
10
|
+
"product launch pr",
|
|
11
|
+
"press announcement"
|
|
12
|
+
],
|
|
13
|
+
"steps": [
|
|
14
|
+
{
|
|
15
|
+
"id": "scope",
|
|
16
|
+
"name": "News scope",
|
|
17
|
+
"description": "lock the angle, five W's, approved quotes, and boilerplate",
|
|
18
|
+
"prompt": "1) State the NEWS in one sentence — the actual announcement (launch, funding, partnership, milestone) and why it is newsworthy NOW. 2) Capture the five W's: who, what, when, where, why-it-matters. 3) Draft or confirm 1-2 attributable quotes (speaker name + title) that add insight, not fluff. 4) Write the company boilerplate (2-3 sentences) and the media contact line (name, email). 5) Decide the headline (active, specific, <=12 words) and subhead. Write an acceptance-criteria checklist (e.g. 'lede answers who/what/when/where in the first 1-2 sentences'; 'inverted pyramid — most important first'; 'at least one attributed quote'; 'includes dateline, boilerplate, contact, and the ### end mark'; 'factual, non-promotional tone'). Use write_task_note for the news brief + checklist, and write the same to the produces path. No release prose yet.\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": "draft"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "draft",
|
|
49
|
+
"name": "Draft the release",
|
|
50
|
+
"description": "write the release in standard inverted-pyramid format",
|
|
51
|
+
"prompt": "Write the press release in standard format. 1) Headline (active, specific) and an optional subhead. 2) Dateline: CITY, State, Month Day, Year — then the lede sentence answering who/what/when/where. 3) Body in inverted pyramid: most newsworthy facts first, supporting detail after, in short paragraphs. 4) Integrate the approved quote(s) with proper attribution. 5) Boilerplate paragraph ('About [Company]'). 6) Media contact block. 7) End with a centered '###'. Keep the tone factual and journalistic — report the news, do not sell it. Output as markdown. Save to the produces path and note which checklist items pass.",
|
|
52
|
+
"suggestedRole": "copywriter",
|
|
53
|
+
"advanceWhen": {
|
|
54
|
+
"file": "press-release.md",
|
|
55
|
+
"minBytes": 1,
|
|
56
|
+
"sniff": "nonempty"
|
|
57
|
+
},
|
|
58
|
+
"gate": {
|
|
59
|
+
"at": "completion",
|
|
60
|
+
"checks": [
|
|
61
|
+
{
|
|
62
|
+
"kind": "minBytes",
|
|
63
|
+
"file": "press-release.md",
|
|
64
|
+
"bytes": 500
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"scripts": [
|
|
68
|
+
{
|
|
69
|
+
"name": "checkContains",
|
|
70
|
+
"scope": "standard",
|
|
71
|
+
"inputs": {
|
|
72
|
+
"file": "press-release.md",
|
|
73
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
74
|
+
"flags": "i"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"onReject": "draft",
|
|
79
|
+
"maxAttempts": 3
|
|
80
|
+
},
|
|
81
|
+
"next": "review"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "review",
|
|
85
|
+
"name": "Editorial review",
|
|
86
|
+
"description": "enforce newsworthiness, accuracy, and AP-style format",
|
|
87
|
+
"prompt": "Review and edit the release in place against the checklist. 1) Read the lede alone: does it convey the news and answer who/what/when/where? If it buries the news, rewrite it. 2) Confirm inverted-pyramid structure — could an editor cut from the bottom and still have a coherent story? 3) Strip promotional adjectives and marketing hype; keep it factual. 4) Verify every fact, name, title, and date; flag anything unverifiable. 5) Confirm all structural elements are present: headline, dateline, quote, boilerplate, contact, ###. Rewrite weak passages directly. Save the polished release to the produces path and note any criteria still unmet.",
|
|
88
|
+
"suggestedRole": "reviewer",
|
|
89
|
+
"advanceWhen": {
|
|
90
|
+
"file": "press-release.md",
|
|
91
|
+
"minBytes": 1,
|
|
92
|
+
"sniff": "nonempty"
|
|
93
|
+
},
|
|
94
|
+
"gate": {
|
|
95
|
+
"at": "completion",
|
|
96
|
+
"checks": [
|
|
97
|
+
{
|
|
98
|
+
"kind": "minBytes",
|
|
99
|
+
"file": "press-release.md",
|
|
100
|
+
"bytes": 500
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"scripts": [
|
|
104
|
+
{
|
|
105
|
+
"name": "checkContains",
|
|
106
|
+
"scope": "standard",
|
|
107
|
+
"inputs": {
|
|
108
|
+
"file": "press-release.md",
|
|
109
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
110
|
+
"flags": "i"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"onReject": "review",
|
|
115
|
+
"maxAttempts": 4
|
|
116
|
+
},
|
|
117
|
+
"next": "evaluate"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "evaluate",
|
|
121
|
+
"name": "Evaluate",
|
|
122
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
123
|
+
"prompt": "Read press-release.md and grade against the checklist. Check EACH and write PASS/FAIL: (a) the lede answers who/what/when/where in the first 1-2 sentences; (b) inverted-pyramid structure (most important first); (c) at least one properly attributed quote; (d) dateline, boilerplate, media contact, and a closing ### are all present; (e) factual, non-promotional tone with no unverified claims; (f) headline is active and specific. A release that reads like an ad or buries the news FAILS — loop back to draft.\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: \"draft\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
|
|
124
|
+
"suggestedRole": "reviewer",
|
|
125
|
+
"consumes": [
|
|
126
|
+
{
|
|
127
|
+
"file": "press-release.md"
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"next": "draft"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"id": "finish",
|
|
134
|
+
"name": "Finish",
|
|
135
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
136
|
+
"prompt": "Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.",
|
|
137
|
+
"suggestedRole": "developer",
|
|
138
|
+
"terminal": true
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"version": "1.0.2",
|
|
142
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
143
|
+
"paramSchema": {
|
|
144
|
+
"type": "object",
|
|
145
|
+
"properties": {
|
|
146
|
+
"workPath": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"title": "Working folder",
|
|
149
|
+
"description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
|
|
150
|
+
"default": "{{task.dir}}"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"minGezelVersion": "1.26233"
|
|
155
|
+
}
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "AP-style press release from news brief",
|
|
4
|
+
"objective": "Measure whether the press-release craftbook scopes the five Ws and writes a factual, standard-format release with quote, boilerplate, contact, and end mark.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"corpus"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "In the `Press Release Eval` project, read `source/news-brief.md` and write `press-release.md`. Use a standard headline, subhead, dateline, inverted-pyramid lede, attributed quote, boilerplate, media contact, and closing ###. Keep it factual and avoid promotional hype. Use the source boilerplate sentence exactly, without expanding Boreal Desk beyond the brief.",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Press Release Eval",
|
|
11
|
+
"about": "Self-contained eval project for press-release. The approved news facts are in workspace/source/news-brief.md.",
|
|
12
|
+
"missionObjectives": "Write a factual AP-style press release from seeded facts with all standard structural elements.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "source/news-brief.md",
|
|
16
|
+
"content": "# News brief\n\nCompany: Boreal Desk, maker of workflow software for independent design studios.\nNews: Boreal Desk is launching HarborCRM guided returns intake for Pro accounts.\nTiming: June 28, 2026.\nLocation/dateline: BOSTON, Mass.\nWhy now: a March pilot across 18 home-office accessory SKUs cut median first response from 18 hours to 6 hours and reduced preventable refund leakage from 14.2% to 8.9%.\nQuote: \"Guided intake gives support teams the context they need before the first reply,\" said Maya Chen, VP of Product at Boreal Desk.\nBoilerplate: Boreal Desk builds practical operations tools for independent design studios.\nMedia contact: press@borealdesk.example, Lena Moore.\n"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"worker": {
|
|
20
|
+
"name": "Roos",
|
|
21
|
+
"role": "PR Writer"
|
|
22
|
+
},
|
|
23
|
+
"craftbookParams": {
|
|
24
|
+
"workPath": "tasks/eval"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"mocks": [],
|
|
28
|
+
"success": {
|
|
29
|
+
"summary": "workspace/press-release.md follows standard release structure with dateline, lede, quote, metrics, boilerplate, contact, ###, and no hype.",
|
|
30
|
+
"deliverables": [
|
|
31
|
+
{
|
|
32
|
+
"path": "press-release.md",
|
|
33
|
+
"kind": "markdown-doc",
|
|
34
|
+
"minBytes": 1100,
|
|
35
|
+
"checks": [
|
|
36
|
+
{
|
|
37
|
+
"kind": "contains",
|
|
38
|
+
"file": "press-release.md",
|
|
39
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
40
|
+
"flags": "i"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"kind": "contains",
|
|
44
|
+
"file": "press-release.md",
|
|
45
|
+
"pattern": "BOSTON, Mass\\.?\\s*(?:,|[-\\u2013\\u2014])\\s*June 28, 2026",
|
|
46
|
+
"flags": "i",
|
|
47
|
+
"label": "include a dated dateline such as \"BOSTON, Mass., June 28, 2026\""
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"kind": "contains",
|
|
51
|
+
"file": "press-release.md",
|
|
52
|
+
"pattern": "Maya Chen",
|
|
53
|
+
"flags": "i",
|
|
54
|
+
"label": "include the approved quote speaker Maya Chen"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"kind": "contains",
|
|
58
|
+
"file": "press-release.md",
|
|
59
|
+
"pattern": "VP of Product",
|
|
60
|
+
"flags": "i",
|
|
61
|
+
"label": "include Maya Chen title: VP of Product"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"kind": "contains",
|
|
65
|
+
"file": "press-release.md",
|
|
66
|
+
"pattern": "18\\s*hours",
|
|
67
|
+
"flags": "i",
|
|
68
|
+
"label": "include the source metric: 18 hours"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"kind": "contains",
|
|
72
|
+
"file": "press-release.md",
|
|
73
|
+
"pattern": "(?:6|six)\\s*hours",
|
|
74
|
+
"flags": "i",
|
|
75
|
+
"label": "include the source metric: 6 hours"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"kind": "contains",
|
|
79
|
+
"file": "press-release.md",
|
|
80
|
+
"pattern": "14\\.2%",
|
|
81
|
+
"flags": "i",
|
|
82
|
+
"label": "include the source metric: 14.2%"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"kind": "contains",
|
|
86
|
+
"file": "press-release.md",
|
|
87
|
+
"pattern": "8\\.9%",
|
|
88
|
+
"flags": "i",
|
|
89
|
+
"label": "include the source metric: 8.9%"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"kind": "contains",
|
|
93
|
+
"file": "press-release.md",
|
|
94
|
+
"pattern": "About Boreal Desk",
|
|
95
|
+
"flags": "i",
|
|
96
|
+
"label": "include an \"About Boreal Desk\" boilerplate heading"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"kind": "contains",
|
|
100
|
+
"file": "press-release.md",
|
|
101
|
+
"pattern": "Boreal Desk builds practical operations tools for independent design studios\\.",
|
|
102
|
+
"flags": "i",
|
|
103
|
+
"label": "include the approved boilerplate sentence exactly"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"kind": "notContains",
|
|
107
|
+
"file": "press-release.md",
|
|
108
|
+
"pattern": "Boreal Desk builds practical operations tools for independent design studios\\s*,",
|
|
109
|
+
"flags": "i",
|
|
110
|
+
"label": "do not expand the approved boilerplate sentence"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"kind": "contains",
|
|
114
|
+
"file": "press-release.md",
|
|
115
|
+
"pattern": "Media Contact|Media contact",
|
|
116
|
+
"flags": "i",
|
|
117
|
+
"label": "include a Media Contact block"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"kind": "contains",
|
|
121
|
+
"file": "press-release.md",
|
|
122
|
+
"pattern": "press@borealdesk\\.example",
|
|
123
|
+
"flags": "i",
|
|
124
|
+
"label": "include the approved media contact email"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"kind": "contains",
|
|
128
|
+
"file": "press-release.md",
|
|
129
|
+
"pattern": "(?:^|\\n)###\\s*$",
|
|
130
|
+
"flags": "i",
|
|
131
|
+
"label": "end the release with a standalone ### line"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"kind": "notContains",
|
|
135
|
+
"file": "press-release.md",
|
|
136
|
+
"pattern": "revolutioniz|game-changing|world-class|guaranteed|transformative|transforming|dramatic|innovative|moderniz|significant(?:ly)?|thorough|rigorous(?:ly)?|major (?:update|step)|massive (?:step|update)|slash(?:es|ed|ing)?|75%|proactive instead of reactive|custom-printed|specialized equipment|large enterprise(?:s)?|creative agencies|enterprise-level|price tag|555",
|
|
137
|
+
"flags": "i",
|
|
138
|
+
"label": "remove promotional hype and invented details not present in the brief"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"kind": "unsupportedClaims",
|
|
142
|
+
"file": "press-release.md",
|
|
143
|
+
"sourceFiles": [
|
|
144
|
+
"source/news-brief.md"
|
|
145
|
+
],
|
|
146
|
+
"patterns": [
|
|
147
|
+
{
|
|
148
|
+
"pattern": "fundamentally(?: changes?| changing| changed)?",
|
|
149
|
+
"label": "avoid sweeping overclaims"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"pattern": "customer experience",
|
|
153
|
+
"label": "avoid invented benefit claims"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"pattern": "professional,?\\s+high-volume clients?",
|
|
157
|
+
"label": "avoid invented audience claims"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"pattern": "high-volume clients?",
|
|
161
|
+
"label": "avoid invented audience claims"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"pattern": "enhanc(?:e[sd]?|ing|ement|ements)?",
|
|
165
|
+
"label": "avoid vague benefit claims"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"pattern": "intuitive",
|
|
169
|
+
"label": "avoid invented ease-of-use claims"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"pattern": "efficien(?:cy|tly|t)",
|
|
173
|
+
"label": "avoid unsupported efficiency claims"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"pattern": "streamlin(?:e[sd]?|ing)|streamlined efficiency",
|
|
177
|
+
"label": "avoid unsupported efficiency claims"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"pattern": "moderniz(?:e[sd]?|ing|ation|ations)?",
|
|
181
|
+
"label": "avoid vague market claims"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"pattern": "successful(?:ly)?",
|
|
185
|
+
"label": "avoid unsupported outcome claims"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"pattern": "demonstrable|demonstrat(?:e[sd]?|ing)",
|
|
189
|
+
"label": "avoid unsupported proof claims"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"pattern": "effectively validate[sd]?|validat(?:e[sd]?|ing|ion)",
|
|
193
|
+
"label": "avoid unsupported validation claims"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"pattern": "major\\s+(?:step|update|milestone|move)",
|
|
197
|
+
"label": "avoid inflated importance claims"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"pattern": "powerful",
|
|
201
|
+
"label": "avoid vague promotional adjectives"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"pattern": "empower(?:s|ed|ing|ment)?",
|
|
205
|
+
"label": "avoid promotional benefit framing"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"pattern": "resolution times?",
|
|
209
|
+
"label": "avoid unsupported resolution claims"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"pattern": "enterprise complexity|enterprise-level|large enterprises?",
|
|
213
|
+
"label": "avoid invented market segment claims"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"pattern": "customer satisfaction",
|
|
217
|
+
"label": "avoid invented outcome claims"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"pattern": "customer refunds?",
|
|
221
|
+
"label": "avoid invented domain claims"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"pattern": "issue resolution|service quality|client service",
|
|
225
|
+
"label": "avoid invented service outcome claims"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"pattern": "back-and-forth communication",
|
|
229
|
+
"label": "avoid invented communication outcome claims"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"pattern": "critical context",
|
|
233
|
+
"label": "avoid invented urgency claims"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"pattern": "lost revenue",
|
|
237
|
+
"label": "avoid unsupported financial framing"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"pattern": "small businesses",
|
|
241
|
+
"label": "avoid invented audience claims"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"pattern": "growing independent businesses",
|
|
245
|
+
"label": "avoid invented audience claims"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"pattern": "financial management",
|
|
249
|
+
"label": "avoid invented domain claims"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"pattern": "e-?commerce operations?",
|
|
253
|
+
"label": "avoid invented domain claims"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"pattern": "complex projects?",
|
|
257
|
+
"label": "avoid invented domain claims"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"pattern": "complex business tasks?",
|
|
261
|
+
"label": "avoid invented domain claims"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"pattern": "client relations",
|
|
265
|
+
"label": "avoid invented domain claims"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"pattern": "project management",
|
|
269
|
+
"label": "avoid invented product-scope claims"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"pattern": "client communication",
|
|
273
|
+
"label": "avoid invented product-scope claims"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"pattern": "back-office infrastructure",
|
|
277
|
+
"label": "avoid invented product-scope claims"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"pattern": "integrated software solutions?",
|
|
281
|
+
"label": "avoid invented product-scope claims"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"pattern": "operational demands?",
|
|
285
|
+
"label": "avoid invented domain claims"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"pattern": "business processes?",
|
|
289
|
+
"label": "avoid invented domain claims"
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"pattern": "unique workflow demands?",
|
|
293
|
+
"label": "avoid invented audience claims"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"pattern": "operate leanly",
|
|
297
|
+
"label": "avoid unsupported operating claims"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"pattern": "creative professionals",
|
|
301
|
+
"label": "avoid invented audience claims"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"pattern": "customiz(?:e[sd]?|able|ing|ation)",
|
|
305
|
+
"label": "avoid invented feature claims"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"pattern": "market-leading|best-in-class",
|
|
309
|
+
"label": "avoid unsupported ranking claims"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"pattern": "robust",
|
|
313
|
+
"label": "avoid vague promotional adjectives"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"pattern": "seamless",
|
|
317
|
+
"label": "avoid vague promotional adjectives"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"pattern": "scalable",
|
|
321
|
+
"label": "avoid unsupported capability claims"
|
|
322
|
+
}
|
|
323
|
+
],
|
|
324
|
+
"flags": "i"
|
|
325
|
+
}
|
|
326
|
+
]
|
|
327
|
+
}
|
|
328
|
+
]
|
|
329
|
+
},
|
|
330
|
+
"rubric": {
|
|
331
|
+
"artifact": {
|
|
332
|
+
"path": "press-release.md",
|
|
333
|
+
"kind": "markdown"
|
|
334
|
+
},
|
|
335
|
+
"axes": [
|
|
336
|
+
{
|
|
337
|
+
"name": "grounding",
|
|
338
|
+
"description": "Seeded facts appear faithfully and the source is cited."
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"name": "structure",
|
|
342
|
+
"description": "Sections progress logically for the artifact class."
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"name": "completeness",
|
|
346
|
+
"description": "Required elements (risks, next actions, scope) are all present."
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"name": "tone",
|
|
350
|
+
"description": "The register fits the audience and artifact class."
|
|
351
|
+
}
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
"qualityFocus": [
|
|
355
|
+
"standard format",
|
|
356
|
+
"five Ws",
|
|
357
|
+
"factual tone"
|
|
358
|
+
]
|
|
359
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "price-tracker",
|
|
3
|
+
"name": "Track Prices Over Time",
|
|
4
|
+
"description": "Build a price tracker that records the price of one or more products/SKUs each time it runs, appending a timestamped history so you can see trends, drops, and the lowest price seen. Scopes the SKUs, the price-extraction rule, and the history-file schema FIRST, then builds the fetch-and-append routine that is idempotent per day and computes drop-from-previous and all-time-low. Schema-before-build keeps the history a clean append-only time series instead of a pile of inconsistent snapshots — the foundation any later chart or alert reads from.\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 tracker (planner) — SKUs, price-extraction rule, and history schema → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Build the tracker (developer) — fetch each SKU, append a row, compute drop + low → gated on `price_tracker.py` (code-module)\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
|
+
"track a price",
|
|
8
|
+
"price history tracker",
|
|
9
|
+
"watch product prices",
|
|
10
|
+
"log prices over time",
|
|
11
|
+
"price drop history"
|
|
12
|
+
],
|
|
13
|
+
"steps": [
|
|
14
|
+
{
|
|
15
|
+
"id": "scope",
|
|
16
|
+
"name": "Scope the tracker",
|
|
17
|
+
"description": "SKUs, price-extraction rule, and history schema",
|
|
18
|
+
"prompt": "Define the tracker before fetching. Step 1: list each product to track — a stable id/SKU, a label, and its URL or API. Step 2: define the price-extraction rule per source (which element/field holds the price) and the currency, and decide how to normalize (numeric, two decimals). Step 3: define the append-only history schema (e.g. CSV columns: timestamp, sku, label, price, currency, source_url) and the file path. Step 4: decide the run cadence and the idempotency rule (at most one row per sku per day — a re-run the same day updates rather than duplicates). Step 5: write an acceptance-criteria checklist ('every tracked SKU gets a row per run', 'prices are numeric and normalized', 'history is append-only and de-duplicated per day', 'drop-from-previous and all-time-low are computed', 'a failed fetch is logged, not silently dropped'). Call write_task_note with the SKU list + schema + checklist and write it to {{workPath}}/scope.md. No code yet.\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": "build"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "build",
|
|
49
|
+
"name": "Build the tracker",
|
|
50
|
+
"description": "fetch each SKU, append a row, compute drop + low",
|
|
51
|
+
"prompt": "Implement the tracker to the locked schema. Step 1: load the existing history file (or create it with the header). Step 2: for each SKU, fetch the source and extract the price with the scoped rule, normalizing to a number; on a fetch error, log it and continue (do not write a fake price). Step 3: enforce idempotency — if a row already exists for this SKU today, update it; otherwise append a new timestamped row. Step 4: for each SKU compute drop-from-previous (this price vs the prior recorded price) and the all-time-low across history, and surface those in a small summary. Step 5: write the runnable script (cron-friendly) and ensure the history file stays valid and append-only. Call write_task_note with the script path, the history path, and the per-SKU current/low summary.",
|
|
52
|
+
"suggestedRole": "developer",
|
|
53
|
+
"advanceWhen": {
|
|
54
|
+
"file": "price_tracker.py",
|
|
55
|
+
"minBytes": 1,
|
|
56
|
+
"sniff": "nonempty"
|
|
57
|
+
},
|
|
58
|
+
"gate": {
|
|
59
|
+
"at": "completion",
|
|
60
|
+
"checks": [
|
|
61
|
+
{
|
|
62
|
+
"kind": "minBytes",
|
|
63
|
+
"file": "price_tracker.py",
|
|
64
|
+
"bytes": 200
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"kind": "sniff",
|
|
68
|
+
"file": "price_tracker.py",
|
|
69
|
+
"sniff": "nonempty"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"kind": "esmImports",
|
|
73
|
+
"file": "price_tracker.py"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"kind": "sourceParses",
|
|
77
|
+
"file": "price_tracker.py"
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"onReject": "build",
|
|
81
|
+
"maxAttempts": 4
|
|
82
|
+
},
|
|
83
|
+
"next": "evaluate"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "evaluate",
|
|
87
|
+
"name": "Evaluate",
|
|
88
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
89
|
+
"prompt": "Run price_tracker.py (or trace it) and verify every criterion from {{workPath}}/scope.md against the produced history file. Confirm: each tracked SKU has a row this run, prices are numeric and normalized, the history is append-only with at most one row per SKU per day (a same-day re-run does not duplicate), drop-from-previous and all-time-low are computed correctly, and a simulated fetch failure is logged rather than written as a bogus price. Write PASS/FAIL per criterion; on any failure, name it and loop back to build.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"build\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
|
|
90
|
+
"suggestedRole": "reviewer",
|
|
91
|
+
"consumes": [
|
|
92
|
+
{
|
|
93
|
+
"file": "price_tracker.py"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"next": "build"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "finish",
|
|
100
|
+
"name": "Finish",
|
|
101
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
102
|
+
"prompt": "Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.",
|
|
103
|
+
"suggestedRole": "developer",
|
|
104
|
+
"terminal": true
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"version": "1.0.2",
|
|
108
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
109
|
+
"paramSchema": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"workPath": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"title": "Working folder",
|
|
115
|
+
"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.",
|
|
116
|
+
"default": "{{task.dir}}"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"minGezelVersion": "1.26233"
|
|
121
|
+
}
|