1. Write a product specification
Create outputs/tutorial-product/release-workbench.weavemark.md.
This spec is concrete enough to run, but it still pulls in
reusable product and programming layers.
mkdir -p outputs/tutorial-product
<!-- Save as outputs/tutorial-product/release-workbench.weavemark.md -->
@promplet version: 0.7
@refine module:weavemark.domains.programming.foundations.software_spec mingle: true
@refine module:weavemark.domains.programming.stacks.typescript_nextjs_prisma_sqlite mingle: true
@refine module:weavemark.domains.programming.validation.release_validation_matrix mingle: true
@refine module:weavemark.domains.product.release_readiness_gate mingle: true
@refine module:weavemark.domains.product.product_validation_surface mingle: true
# Release readiness workbench
Design @{product_name}, a local-first command center for
release notes, validation runs, screenshots, risks, waivers,
and go/no-go decisions.
Primary users: @{primary_users}
Critical release risk: @{release_risk}
@match release_stage
"alpha" ==>
Prioritize pilot feedback, bug capture, and rollback.
"public" ==>
Prioritize support readiness, documentation, and observability.
@if include_ai_review
Add an AI-assisted review queue with human approval gates.
@if include_audit_trail
Add immutable release events for approvals, waivers, validation runs,
screenshot evidence, and rollback decisions.
@output enforce: strict
Return these sections:
1. Product promise
2. User roles and permissions
3. Screens and core workflows
4. Data model
5. Local-first persistence rules
6. AI review behavior
7. Release gate logic
8. Acceptance criteria
9. Validation plan
@assert contains: "Acceptance criteria"
@assert contains: "Local-first persistence"
The complete, tested specs for this tutorial are checked in under
promplets/tutorials/:
release-workbench.weavemark.md
and the emission pack
release-workbench-pack.weavemark.md.
2. Compose the buildable product spec
Compile a concrete product specification. The refinements should shape the result into a buildable program plan, not a stack of generic advice.
weavemark outputs/tutorial-product/release-workbench.weavemark.md \
--batch-only \
--var product_name="LaunchDesk" \
--var primary_users="founders, release managers, and support leads" \
--var release_risk="shipping with unresolved validation gaps" \
--var release_stage=public \
--var include_ai_review=true \
--var include_audit_trail=true \
--output outputs/tutorial-product/launchdesk-spec.md
launchdesk-spec.md is a programming-agent prompt. Give
it to GitHub Copilot, Claude Code, Cursor, or another AI-assisted
programming tool and ask it to implement the application.
3. Adapt the same spec to another product
Change only variables to reuse the same product program. This is the practical payoff: one specification, many concrete products.
weavemark outputs/tutorial-product/release-workbench.weavemark.md \
--batch-only \
--var product_name="ClinicOps" \
--var primary_users="clinic administrators and front-desk teams" \
--var release_risk="missed appointment reminders during migration" \
--var release_stage=alpha \
--var include_ai_review=false \
--var include_audit_trail=false \
--output outputs/tutorial-product/clinicops-spec.md
clinicops-spec.md is another programming-agent prompt.
Use it as the implementation brief for a different product, not as a
normal chat question.
4. Emit a product handoff package
A larger product spec often needs more than one artifact. Use
@emit file: to generate a handoff package: a product
brief for stakeholders, an implementation brief for a programming
agent, and an acceptance checklist for review.
<!-- Save as outputs/tutorial-product/release-workbench-pack.weavemark.md -->
@promplet version: 0.7
@compile format: markdown
@emit file: "product-brief.md"
# @{product_name} product brief
Product promise:
Help @{primary_users} make safer release decisions.
The brief must explain:
- the release readiness problem
- the user roles
- the go/no-go decision moment
- the evidence each decision must cite
- the top risk: @{release_risk}
@emit file: "implementation-spec.md"
@refine module:weavemark.domains.programming.foundations.software_spec mingle: true
@refine module:weavemark.domains.programming.stacks.typescript_nextjs_prisma_sqlite mingle: true
# @{product_name} implementation specification
Build a local-first web app with:
- release dashboard
- validation run detail page
- risk and waiver queue
- screenshot evidence gallery
- go/no-go decision record
@match release_stage
"alpha" ==>
Optimize for pilot users, fast correction, and visible defects.
"public" ==>
Optimize for support readiness, auditability, and release confidence.
@if include_ai_review
Add an AI review assistant that proposes issues, never approves release,
and always requires human confirmation.
@if include_audit_trail
Persist immutable audit events for approvals, waivers, validation runs,
comments, attachments, and decision changes.
@emit file: "acceptance-checklist.md"
# Acceptance checklist
The implementation is ready when:
- every release has a visible readiness state
- every failed validation links to evidence
- every waiver records owner, reason, and expiry
- go/no-go decisions cite risks and validation runs
- local data survives restart and can be exported
- no AI-suggested review can bypass human approval
weavemark outputs/tutorial-product/release-workbench-pack.weavemark.md \
--batch-only \
--output-dir outputs/tutorial-product/launchdesk-pack \
--var product_name="LaunchDesk" \
--var primary_users="founders, release managers, and support leads" \
--var release_risk="shipping with unresolved validation gaps" \
--var release_stage=public \
--var include_ai_review=true \
--var include_audit_trail=true
product-brief.md is for humans,
implementation-spec.md is the prompt for your
programming agent, and acceptance-checklist.md is the
review checklist you keep beside the implementation.
Final step: Use the output
The package splits product work into artifacts with different consumers. Use each file for its intended role instead of handing the whole folder to one person or tool without context.
product-brief.md with stakeholders,
give implementation-spec.md to a programming agent such
as GitHub Copilot, Claude Code, Cursor, or
weavemark implement, and keep
acceptance-checklist.md as the human/agent review gate
for the finished application. These Markdown files are handoff
artifacts; they do not execute on their own.
Next
Continue with Game specifications
to see @expand and @iterate applied to
concrete playable systems, or jump ahead to
Advanced macros.