Redesign an existing website to make it better. Built on top of impeccable.
71
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
The procedure stardust:prototype Phase 5 runs when the user
approves a non-A variant. Reads the approved file's structural
moves, diffs against the active direction, and proposes folding
the moves into the direction so subsequent prototype runs consume
the new state.
Triggered automatically as a step in Phase 5 (per
SKILL.md § Phase 5 — Approval). User-facing.
ia-fidelity | Approved variant | Fold-back fires |
|---|---|---|
reimagined | A | No (variant A is the floor; no structural moves to fold) |
reimagined | B / C / C+ | Yes |
verbatim | A1 / A2 / A3 | No (surface forks; structural moves are forbidden by Discipline 10's mode-aware contract) |
The no-op cases short-circuit before any diff is computed. Surface in the approval report:
Fold-back: no-op (variant A; nothing structural to fold). Fold-back: no-op (ia-fidelity: verbatim; A1/A2/A3 are surface forks).
When fold-back fires:
Read the approved file's structural moves. From
<slug>-<variant>-proposed.html _provenance block:
compositionDelta_vs_A[] — pair-wise deltas vs variant AcompositionDelta_vs_B[] — when approving C+ vs sibling BcapturedTraitAmplified — the trait the variant amplifieddominantDimension — the variant's distinct dimensionsurpriseTier and surpriseMoves[] — the moves appliedDiff against the active direction. Read
stardust/direction.md § Active and
DESIGN.json.extensions.iaPriorities[]. Compute:
iaPriorities[]?Build the proposal. If the diff is empty (the variant's structural moves are already in the direction), surface as a no-op and skip. Otherwise compose a one-screen proposal:
Fold-back proposal: /beers variant C approved
Structural moves NOT yet in active direction:
· substrate-keyed-zine document-shape (6 per-SKU substrates)
· filter-chip-row dropped (substrate sequence carries navigation)
· catalog-entry-as-environment (each block = its own visual surface)
Captured trait amplified:
label-color-as-design (Lambrate per-SKU wallpaper photography)
Dominant dimension:
ground-family/label-substrate-zine
Three options:
(a) fold site-wide [default] — apply to direction.md + iaPriorities;
stale-flag conflicting pages (the-brewery, taprooms)
(b) fold page-local — annotate /beers only; direction stays
unchanged; no stale flags elsewhere
(c) don't fold — approval stands; document rationale in provenance
Pick (a / b / c):Apply the user's choice.
The default. The moves promote to the direction:
Append a ## Active addendum — <ts> (Phase 5 approval fold-back; site-wide) section under the current # Active direction block in direction.md (per
direct/reference/direction-format.md § Re-direct procedure
— addenda use the same shape as refinements).
Body of the addendum includes:
<slug> variant <variant>.iaPriorities[] entries
added / removed / re-ordered.Update DESIGN.json.extensions.iaPriorities[] when the
variant moved a priority. New entries gain
mutability: "movable" (consistent with ia-fidelity: reimagined).
Stale-flag conflicting pages. Read every page in
prototyped / approved / migrated status and compute the
delta per the content-aware stale rule
(stardust/reference/state-machine.md § Stale flagging).
Pages whose deployment consumes a changed item gain
stale: true with
staleReason: "direction folded at <ts> from <slug> approval; affected: <comma-separated list>".
The approved page itself does NOT go stale — the fold-back captures its own moves.
Annotate the approved file's _provenance.foldBackDecision.
Record { choice: "site-wide", at: <ts>, scope: "direction + iaPriorities", staleFlagged: [<page slugs>] }.
The page-local choice when the moves are captured-source-cited per-page and don't generalize site-wide. Common cases:
Procedure:
Append a ## Active addendum — <ts> (Phase 5 approval fold-back; page-local) section under the current # Active direction block in direction.md.
Body includes:
<slug> only.<slug> variant <variant>.<slug>.Do NOT update DESIGN.json.extensions.iaPriorities[].
Site-wide direction is unchanged.
Do NOT stale-flag other pages. Their deployments are unaffected by a page-local fold.
Annotate the approved file's _provenance.foldBackDecision.
Record { choice: "page-local", at: <ts>, scope: "<slug>", rationale: <reason captured from user>, rejectedOptions: ["site-wide", "don't-fold"] }.
Approval stands. The variant's structural moves stay in the
approved file's _provenance block but are not promoted anywhere.
Useful when:
Procedure:
_provenance.foldBackDecision.
Record { choice: "none", at: <ts>, rationale: <reason captured from user> }.--auto-fold — skip the user gate; apply option (a) site-wide
fold automatically. For fully-scripted runs (e.g., a batch
approval cascade where the user pre-decided to fold everything).--no-fold — opt out entirely; skip the proposal AND skip
recording foldBackDecision. Approval stands; the file's
structural moves stay only in the file's own provenance. The
spec equivalent of "approve without proposing."The two flags are mutually exclusive; passing both refuses with:
"--auto-fold and --no-fold are mutually exclusive."
The page-local fold-back captured by the wasatch dry-run on
2026-05-13. The user approved variant C of /beers after the
Discipline 9 gate cycle cleared. The fold-back surfaced the three
options; the user selected page-local because the
substrate-keyed-zine pattern generalizes only to catalog pages
with ≥ 3 per-content-type distinct color values — /beers is the
only such page in the 4-page IA.
Direction addendum written to stardust/direction.md:
## Active addendum — 2026-05-13T19:45:00Z (Phase 5 approval fold-back; page-local)
**Scope:** page-local — `/beers` only.
**Kind:** approval-fold-back (Part III of the merged prototype spec).
**Source:** user approval of `/beers` variant C after Discipline 9 gate
cycle cleared (P0=0; P1 contrast findings fixed in-session: substrate
darkened from `#1c8a7a` to `#177566`, pour-link recolored from yellow
to white).
### What changed
`/beers` is now `approved` with **substrate-keyed zine document-shape**
as its captured-trait amplification:
- 6 per-section substrates, each cited to the per-SKU label color
- Photo-as-full-bleed-label-art-foreground (replaces variant A's 35%
photo column)
- Filter-chip-row dropped (substrate sequence carries navigation)
- Each catalog entry is its own visual environment
- `surpriseTier: high`; `dominantDimension: ground-family/label-substrate-zine`
### Why page-local, not site-wide
The substrate-keyed-zine pattern is captured-source-cited per-SKU.
It generalizes only to catalog pages with ≥ 3 per-content-type
distinct color values; `/beers` is the only such page in the
current 4-page IA. Forcing the pattern site-wide would:
- Override `/the-brewery`'s people-led inversion amplification
- Override `/taprooms`'s document-card-tabular amplification
- Stale-flag two pages whose existing C variants are direction-
authorized for their own captured traits
Friction #2 (substrate-keyed document-shape exception to
Discipline 4's ≤2-transition cap) documents this as the exception,
not the rule. The exception travels with the captured trait, not
as a site-wide IA priority.
### What does NOT change
- `direction.md` Mode A pin: still active site-wide.
- `iaPriorities[]`: unchanged.
- `DESIGN.md` / `DESIGN.json`: unchanged.
- `/the-brewery` and `/taprooms` prototypes: NOT stale-flagged.And the approved file's _provenance.foldBackDecision:
_provenance.foldBackDecision:
choice: page-local
at: 2026-05-13T19:45:00Z
scope: /beers
rationale: "substrate-keyed-zine pattern is per-SKU-cited; generalizes
only to catalog pages with ≥3 per-content-type distinct color values"
rejectedOptions:
- site-wide: "would stale-flag /the-brewery + /taprooms whose own
C variants amplify different captured traits"
- "don't-fold": "page-local annotation preferred so subsequent
re-prototype reads the explicit scope, not silently discovers it"This worked example IS the canonical page-local fold output — new fold-back invocations should mirror its addendum shape.
Site-wide folds trigger the same content-aware stale-flagging rule
direct --re-direct uses, documented in
stardust/reference/state-machine.md § Stale flagging:
prototyped / approved / migrated, read
its <slug>-shape.md to see which tokens / components / voice
rules / iaPriorities the deployment consumes.The approved page that triggered the fold does NOT go stale (its moves ARE the fold). Page-local folds skip stale-flagging entirely (no other page is affected by construction).
Re-running fold-back on an already-folded approval is a no-op:
direction.md; the
diff against the active direction is empty; surface "fold-back
already applied at ; no-op" and skip._provenance.foldBackDecision is
already populated; surface the same no-op.Manual edits to direction.md after a fold are honored. If the
user removes the fold addendum and re-approves the page, the fold
proposal fires again; the user can re-decide.
.tessl-plugin
skills
audit
reference
deploy
diff
direct
extract
migrate
prepare-migration
prototype
replica
reskin
rollout
stardust
uplift
reference