Freezes the design constitution. Walks through the 9 sections of DESIGN-LOCK.md, previews each choice, locks it. After LOCK, /build works only with these values. Also appends approved elements from §7 imagery and §8 section vocabulary to references/approved-manifest.md.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add dkadts/landing-kit-building --skill design-lock --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Design Lock?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dkadts-design-lock)More formats (shields.io, HTML) on the badges page.
---
name: design-lock
description: Freezes the design constitution. Walks through the 9 sections of DESIGN-LOCK.md, previews each choice, locks it. After LOCK, /build works only with these values. Also appends approved elements from §7 imagery and §8 section vocabulary to references/approved-manifest.md.
---
# /design-lock
**Pivotal moment of the workflow.** Before this: research and decisions. After this: build only.
Fills `DESIGN-LOCK.md` — the design constitution that gets frozen and does not change without explicit override.
## When to use
- After `/refs` (there is a proposal with reasons).
- OR after `/brief` + `/copy-analyze` if there are no references.
- Before `/tokens` and `/build` (they refuse to work without LOCK).
## Requirements
Verify readiness:
- `brief/00-priority.md` — LOCKED (desktop-first / mobile-first).
- `brief/01-business.md` — filled (niche, competitors).
- `brief/05-design.md` — filled (mood, associations).
- `brief/copy-analysis.md` — exists (affects length, tone, section structure).
- `references/proposal.md` — exists (if `/refs` already ran).
- `references/approved-manifest.md` — exists (created by `/refs`; empty is fine).
If anything is missing — offer to run what's missing first.
## Process
Walk the 9 `DESIGN-LOCK.md` sections **strictly in order**. Each is a separate dialog.
**For every section:**
1. Show the current proposed values (from `references/proposal.md` if present, else from `brief/05-design.md`).
2. Explain briefly **why** these values (one sentence).
3. **Show a preview** — generate a mini-HTML example right in the message:
- For type — a block with H1, H2, body using the actual fonts.
- For color — palette tiles with HEX values.
- For radius — 3 squares with different radii for comparison.
- For spacing — a visual scale.
- For motion — describe (ease + duration) + offer a URL of a site with the example.
4. Ask: **accept / change / show alternatives**.
5. If "change" — offer 3 variants, let user pick.
6. Write the final value to `DESIGN-LOCK.md`, mark `STATUS: LOCKED`.
**Section order (by dependency):**
1. **Spacing** — base of everything.
2. **Type scale** — depends on spacing.
3. **Color** — independent.
4. **Radius** — independent (but should match density).
5. **Motion** — independent, but should match mood.
6. **Density** — affects spacing multipliers.
7. **Photography** — independent.
8. **Section vocabulary** — depends on structure from `/copy-analyze`.
9. **Anti-patterns** — all on by default; only disable with a reason.
**Final step:**
- Show the full `DESIGN-LOCK.md` to the user.
- Explicit confirmation: "freeze? After this, changes require override with an entry in the decision log."
- If yes — every section gets `STATUS: LOCKED`.
- Record the first entry in `DESIGN.md` → Decisions log about the LOCK.
## Appending to the approved manifest
After the freeze, walk two more passes to update `references/approved-manifest.md`:
**Pass 1. §7 Photography / Imagery items.**
Any concrete visual element the user committed to becomes a manifest entry:
```
[ ] imagery: full-bleed hero photograph, aspect 16:9 ← DESIGN-LOCK §7
[ ] imagery: documentary style, high contrast ← DESIGN-LOCK §7
```
**Pass 2. §8 Section vocabulary items.**
Every approved section type becomes a "must appear on the landing" contract:
```
[ ] section: hero (large visual + headline) ← DESIGN-LOCK §8
[ ] section: proof (numbers or logos) ← DESIGN-LOCK §8
[ ] section: offer (product + benefits) ← DESIGN-LOCK §8
[ ] section: cta-form (request form) ← DESIGN-LOCK §8
```
If a section type is defined in §8 but never actually needed on this landing (e.g. `proof` was locked in the vocabulary but the client has no numbers yet) — user must explicitly remove it from the manifest here, with a note in `DESIGN.md` decision log. Never silently drop.
**Append, do not overwrite.** `/refs` populated the file first; subsequent skills (`/animation`, `/icons`) will append more.
## Enforcement rules
After LOCK, any edit to `DESIGN-LOCK.md`:
- Requires explicit `override` from the user.
- Is recorded in `DESIGN.md` → Decisions log with a reason.
- Triggers reevaluation of dependent sections (e.g. changing base spacing → recompute the whole rhythm).
## Rules of behavior
- **One section — one screen.** Do not dump the whole thing.
- **Always show a preview.** Abstract numbers are meaningless without a visual.
- **Offer 3 alternatives when the user asks** — not 10, not 2.
- **Do not push fashion.** Serif is trendy right now — but if the brand is tech SaaS, sans is better.
- **Do not accept "just do whatever".** If unsure, show real-site examples.
- **Never skip the manifest append.** Silent drops of approved elements is the failure mode.
## What NOT to do
- Do not fill sections on autopilot without per-section confirmation.
- Do not allow LOCK if any field is still TBD.
- Do not change already-LOCKED sections in the same session ("oh let's try again") — explicit override only.
- Do not skip previews — they save "looked fine on paper, bad in the eye".
- Do not overwrite `references/approved-manifest.md` — always append.
## Next
After LOCK:
- `/blocks` — if `brief/blocks/` interactive block configs aren't filled yet.
- `/animation` — dedicated motion brief; appends animation items to the manifest.
- `/tokens` — generates `site/css/tokens.css` from DESIGN-LOCK.
- `/media` and `/icons` — assets.
- `/build` — section assembly.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!