Rush Test Runbook

Test the Punch system end-to-end

A one-page playbook to take a real (rush) client project from your existing inputs through the content-first wireframe and into homepage design. ~2 hours of focused time, plus client review.

Scope of this test. Wireframe + homepage only. Standard-page amplification, CMS migration, and full-site composition are out of scope for this run. Goal: hit the system's hardest steps (project setup, content-first wireframe, homepage design against tokens) on a real project and find what breaks.

What you need before you start

InputFormatWhere it goes
Homepage copyGoogle Doc or pasted textcontent/homepage.md
Creative theme (palette, type, voice direction)Figma file or notesbrand/theme-notes.md + sandbox/tokens.css (via Figma export)
Sitemap (list of pages)List, doc, or whiteboardcontent/sitemap.yaml
Big Idea + voice notesFrom the discovery/briefbrand/copy-brief.md
Reference templates (Webflow or other)URL + screenshotsDecode via punch-webflow-decodedecoded-references/[template].md (shared) → cite from brand/visual-direction.md (per-project)
Don't have all of these? The wireframe will still render — pages without briefs get rendered as placeholder structures (clearly marked TBD). You can iterate as inputs land. Start with what you have.
~5 minutes

1 Scaffold the project

Open Cowork in a fresh folder where this client's repo should live. Run:

Initialize a new Punch project for [client name]. Slug: [kebab-case]. Project type: website.

Cowork will trigger punch-project-init. It'll ask for a couple of clarifications (slug, CMS target), then write the folder structure with stub files. Confirm you see:

~30 minutes (most of which is paste-and-edit)

2 Fill in the stub files from your existing inputs

Open each file and replace the comment placeholders with your real content. Order matters:

2a · brand/copy-brief.md

Paste your Big Idea and "what it evokes" sentence. Fill in audience and voice characteristics. Banned + preferred words can wait if not yet decided — but the Big Idea must be there before the wireframe runs.

2b · brand/theme-notes.md

Capture the visual + verbal direction of your chosen creative theme. Palette, type, illustration approach, motion direction. This doesn't affect the wireframe (intentionally neutral) but it's the brief for the homepage design step.

2c · content/sitemap.yaml

List every page that will exist on the shipped site. Each entry needs url, title, page_type, and tier. Mark the homepage and the 2–4 most important pages as showcase; everything else standard.

2d · content/homepage.md

This is the one with the most paste work. Open your Google Doc with the homepage copy, and copy each section of prose into the corresponding field below. Section keys (hero, intro, feature_split_rows, etc.) map to design system components — keep them lowercase. Delete sections this homepage doesn't have.

Gotcha: if your Google Doc copy doesn't break cleanly into Punch's section schema (hero / intro / feature rows / etc.), this is the moment to make peace with the schema. Force-fit. The wireframe needs structured sections to render. If you're really stuck, paste raw copy into homepage.md as a free-form block and we'll regroup; the wireframe will at least render the homepage as one big article.

2e · brand/visual-direction.md (decode any Webflow references first)

This file is the single most important spec for keeping visual direction consistent across pages — Cowork reads it on every compose call. If you're emulating any Webflow or reference template (Volio, Linear, etc.), do this two-step:

Step 1: Decode the reference template(s) first. For each reference, run punch-webflow-decode in Cowork:

Decode [template name] for the visual direction. URL: [URL]. Screenshots attached.

The skill requires both the URL AND screenshots (4-6, covering hero + key feature sections + stat strips + any distinctive blades). Without screenshots, the decode will be wrong. The output lands in decoded-references/[template-slug].md at the Process folder level (shared across all client projects).

Step 2: Write brand/visual-direction.md citing the decode(s). The template that punch-project-init created has the structure. Fill in:

If you're NOT emulating a reference template, you can skip the decode step and write brand/visual-direction.md from scratch — capture the character and rules directly from your creative theme. The decode step is specifically for translating Webflow / live reference sites into named idioms Cowork can apply.

For your Auria rush test specifically: the corrected Volio decode is already in decoded-references/volio-saas-ui-kit-home-01.md, and Linear is in decoded-references/linear.md. You can cite either or both in Auria's brand/visual-direction.md based on which character fits better.

~10 minutes

3 Export tokens from your Figma fork

If your creative theme is already in a Figma file with a Punch Tokens collection (or equivalent), run in Cowork:

Export the Punch Tokens collection from the [client] Figma file to sandbox/tokens.css.

This triggers punch-token-export. The resulting tokens.css is what the homepage design (Step 5) will read.

If tokens aren't in Figma yet, you can hand-edit sandbox/tokens.css with your palette and type values. Less ideal long-term, but fine for the rush test. Punch's normal flow has Figma as the source of truth.
~5 minutes (run-time); review takes longer

4 Build the wireframe

In Cowork:

Build the content-first wireframe for this project.

This triggers punch-wireframe. The skill reads content/sitemap.yaml and every brief in content/, then writes sandbox/wireframe/ with one HTML page per sitemap entry, plus _wireframe.css and _index.html.

Preview locally:

cd sandbox/wireframe
python3 -m http.server 8000
# open http://localhost:8000/_index.html

Click through every page. Read the homepage end-to-end like a client would. Note:

This is the deliverable to share with the client. Send them the wireframe URL (deployed somewhere or hosted locally with a tunnel). Their job: read and react to copy + structure. Your job: don't apologize for the visual minimality. That's the point. Tell them: "Design comes next — first we want to make sure the writing lands."
Iterate until the client is happy with copy + structure

5 Iterate the wireframe (if needed)

When client feedback comes back:

Don't hand-edit anything in sandbox/wireframe/. It's regenerated every run; your edits will be lost.

~60–90 minutes for a first draft

6 Design the homepage against the wireframe

This is where Cowork composition enters. The wireframe is locked, the tokens are in place, the creative theme is decided. Now you compose the homepage as real designed code in sandbox/index.html, against the design system you'll be building as you go.

In Cowork:

Compose the homepage from content/homepage.md into sandbox/index.html.
Use the design system in sandbox/components.html and tokens.css.
Apply the visual direction in brand/visual-direction.md.
Big Idea is [the Big Idea] — favor [restrained / bold / etc.].

Pointing Cowork at brand/visual-direction.md is what makes the decoded reference idioms actually land in the output. Without that reference, Cowork composes against tokens alone and you'll see the generic SaaS gravitational pull take over.

Iterate using the patterns in Designer Onboarding Module 5 (the fidelity hierarchy: named tokens + components beat screenshots; annotate inspirations specifically; avoid the "Claude improved it" failure mode).

If your design system isn't built yet (because this is the first page): Cowork will build the first version of sandbox/components.html as it composes the homepage. Hero, nav, feature row, CTA, footer — each gets a real reusable definition. That's expected; the design system grows from the homepage outward.
~30 minutes

7 Evaluate and report back

Now the test is complete. Specifically check:

Bring the answers back. Specific failure modes = specific skill improvements. This test is how we tighten the system, not just check a box.

Common stumbles + workarounds

You hit thisFix
punch-wireframe fails because sitemap.yaml is malformed YAML is whitespace-sensitive. Indent with 2 spaces, no tabs. Check that pages: is an array of dicts.
Your homepage copy doesn't fit the brief schema cleanly For the rush test: paste raw copy into a free_form_intro section of homepage.md (or skip sections that don't apply). Tighten the schema later based on what hurt.
The wireframe shows brand colors / styled type That shouldn't happen — _wireframe.css is intentionally neutral. Check whether you accidentally edited the wireframe CSS. Re-run punch-wireframe to regenerate.
Cowork composing the homepage produces master-neutral colors tokens.css probably isn't populated. Re-run punch-token-export from the Figma file, then re-compose.
You want to share the wireframe with the client but it's local-only Deploy sandbox/wireframe/ to a static host (Vercel, Netlify, Cloudflare Pages — any are 5-min setup). Or use a localhost tunnel like ngrok for a one-off review.
The client wants to see a designed version DURING wireframe review Resist. Tell them design comes next. The whole content-first point is to validate writing before design enters. If they insist, do a one-pager homepage design but keep the wireframe live for the rest of the site.

What this test is NOT covering

All of those are Phase 2 and Phase 3 work — separate playbook, separate roles. Don't try to add them to this test or it'll take a week instead of an afternoon.