Wireframe
Skill mkreindel/seo-toolkit-template/.claude/skills/wireframe
Claude Code workspace template for running consistent SEO across a portfolio of managed websites.
npx -y skills add mkreindel/seo-toolkit-template --skill wireframeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Produce a wireframe doc for a new page (blog post, service page, or catalog leaf) BEFORE content generation. Mandatory step per `CLAUDE.md` — `/blog` and `/service` invoke this in their flow. Output is a markdown wireframe in `_drafts/[slug]/wireframe.md` covering layout zones, heading hierarchy, internal-linking pattern slots, conversion elements (service pages), and image plan. Optionally produces a draw.io / AI-generated visual mockup for client presentation. Use when the user types `/wireframe` directly, or when a page-generating skill calls it.
SKILL.md
9.5 KB, as published. Nobody here has run it
/wireframe — Page wireframe generator (mandatory pre-content step)
Per CLAUDE.md "Wireframe before content" rule, every new page goes through this skill before content is written. Wireframe-first means structure is decided once; content fills the structure; /audit has predictable patterns to verify.
Inputs
Required:
- Site — must match
sites/[name]/. - Slug — the page's URL slug (or full hierarchical path for catalog footprint).
- Page type — one of:
home,category,subcategory,product/service-leaf,blog-post,blog-index,about,contact. - Primary keyword — the keyword the page targets.
Optional:
- Cluster — secondary + tertiary keywords (passed in by
/blogStep 3 or/serviceStep 3 if invoked from those flows). - Mockup mode —
none(default, doc only),drawio(output a draw.io importable XML stub),ai-mockup(pause for user to drop a hand-sketch + AI-generated mockup into_drafts/[slug]/).
Workflow
Step 0 — Cron-mode detection (inherited from caller)
This skill is not directly cron-scheduled; it's invoked by /blog or /service in their respective workflows. When the caller is in --cron mode, this skill MUST also operate in cron mode:
- Idempotency check: if
_drafts/{slug}/wireframe.mdalready exists, do not overwrite — return the existing wireframe to the caller and let the caller decide whether to proceed with content generation. - Escalation contract: if the wireframe cannot be produced (e.g., missing site-info.md fields, unable to map page type to layout), escalate to
sites/{site}/_inbox/viascripts/lib/cron-mode.mjswriteInboxItem(...)and exit withexit: "escalated". - Audit log: write one line to the audit log on every exit.
Step 1 — Read context (Rule 1)
Load:
CLAUDE.mdSEO_GUIDE.mdSection 5.1 (internal linking pattern catalog)on-page-seo.mdSection 3.1 (heading hierarchy by page type)sites/[site]/site-info.md(footprint, brand, conversion elements per Section 4.4)sites/[site]/architecture.mdif catalog footprint (the wireframe must reflect the architecture's parent + sibling links)sites/[site]/references/voice.[lang].mdfor voice tone reference (placeholder copy on the wireframe should hint at voice)
Step 2 — Resolve patterns + zones for this page type
Map the page type to:
Required zones (top-to-bottom):
| Page type | Zones |
|---|---|
home | Hero (H1 + value prop) → trust strip → 3 commercial pillars (each H2) → social proof → featured categories (pattern 2) → blog teaser → footer |
category (catalog) | Breadcrumb → H1 + intro → filter / sub-axes (if distribution page) → product grid (each card = H3) → category-level FAQ → related categories (pattern 6) → footer |
subcategory (catalog) | Breadcrumb → H1 + intro → product grid → FAQ → siblings link block (pattern 6) → footer |
product / service-leaf | Breadcrumb → H1 → hero with product image + price + CTA → spec/feature table → trust signals → FAQ → related products (pattern 6) → footer |
service-page | Breadcrumb → H1 + value prop → trust signals → problem/pain → solution sections (each H2) → social proof → FAQ → CTA + form → NAP per footprint → footer |
blog-post | Breadcrumb → H1 → intro (the answer) → TOC if 1500+ words → body sections (H2) with H3 subsections → FAQ → author bio → blog → transactional bridge (pattern 7) → related posts → footer |
blog-index | Header → H1 + intro → category filters if any → post grid → footer |
Required internal-linking patterns per page type (Section 5.1 of SEO_GUIDE.md):
| Page type | Patterns expected |
|---|---|
| Home | 1 (header dropdown), 2 (featured), 3 (footer) |
| Category landing | 1, 3, 4 (breadcrumb), 5 (category → sub) |
| Subcategory | 1, 3, 4, 5, 6 (related-products) |
| Product / service leaf | 1, 3, 4, 6 |
| Blog post | 1, 3, 4, 7 (blog → transactional bridge) |
The wireframe makes each pattern slot explicit — calls out which other URL the link points to and the anchor text.
Step 3 — Draft the wireframe doc
Write sites/[site]/_drafts/[slug]/wireframe.md with this structure:
# Wireframe — [page title]
**URL:** [full path including hierarchy if catalog]
**Page type:** [type]
**Primary keyword:** [keyword]
**Cluster:** [secondary, tertiary]
**Footprint:** [from site-info.md]
**Languages:** [if multilingual]
## Heading map
- H1: [exact H1 text using primary keyword]
- H2: [section name using secondary keyword]
- H3: [subsection or item]
- H3: ...
- H2: [next section using secondary keyword]
- H3: ...
- H2: Frequently asked questions
- H3: [FAQ Q1]
- H3: [FAQ Q2]
- ...
## Layout zones (top to bottom)
1. [Zone name] — [purpose; key elements]
2. ...
## Internal linking slots
| Pattern | Anchor text | Destination URL |
|---|---|---|
| 1 (header dropdown) | (template-level — categories from architecture) | (multiple) |
| 3 (footer) | (template-level) | (multiple) |
| 4 (breadcrumb) | Home > [category] > [this page] | (hierarchical) |
| [page-type specific] | ... | ... |
## External link plan (2–3 authoritative)
- [topic] → [authoritative source URL]
- ...
## Image plan
- Hero: [description, source: pexels/unsplash/site-library/client/AI]
- Inline N: [description]
- ...
## Conversion elements (service pages only — per `on-page-seo.md` Category 14)
- [ ] Above-fold CTA: [text] → [destination]
- [ ] Sticky mobile CTA
- [ ] Click-to-call phone in header
- [ ] Trust signals strip above fold
- [ ] Multiple CTA placements: [list locations]
- [ ] Specific testimonials placement
- [ ] Pricing transparency: [where]
- [ ] Embedded map (per footprint)
## NAP block (service pages only — per Section 4.3)
[NAP rules per the site's footprint]
## Catalog parent + siblings (catalog footprint only)
- Parent: [URL]
- Siblings (related products / services): [list]
- Children (if this is a category): [list]
## Mockup
[ ] Optional. If user opted in, link to draw.io export OR AI-generated PNG.
Step 4 — Show wireframe to user for approval
Print the wireframe doc to the user. Wait for explicit approval ("approved", "yes", "ship it") before returning control. If the user wants edits, revise and re-show.
If /wireframe was invoked from /blog or /service, return control to that skill once approval lands. The calling skill resumes at its next step.
If /wireframe was invoked directly, the user may then invoke /blog or /service separately — the wireframe is now archived in _drafts/[slug]/wireframe.md and the calling skill picks it up.
Step 5 — Optional: AI mockup workflow
If mockup mode = ai-mockup:
- Pause and ask the user to drop a hand-sketch (photo) into
_drafts/[slug]/sketch.{jpg,png}. - Wait for the file.
- Recommend the user run the sketch through their preferred AI design tool (Midjourney, DALL·E, Galileo, Lovable, or similar) with a prompt like: "Convert this hand-drawn wireframe into a high-fidelity webpage mockup matching [brand colors / typography from
site-info.md]." - The user drops the AI-generated mockup into
_drafts/[slug]/mockup.{png,jpg}. - The wireframe doc is updated to reference both files.
Toolkit doesn't generate the visual mockup itself — it sequences the workflow.
If mockup mode = drawio:
Output a stub draw.io XML file at _drafts/[slug]/wireframe.drawio with placeholder zones the user can open in the draw.io app or draw.io's web app and refine.
Output
A markdown wireframe doc at sites/[site]/_drafts/[slug]/wireframe.md. The page-generating skill (/blog or /service) reads this file as input.
Refusal conditions
- Site folder doesn't exist or
site-info.mdmissing. - Page type isn't recognized.
- Catalog footprint without
architecture.md(must run/architecturefirst or hand-create the file — refer user toSEO_GUIDE.mdSection 2.6).
Routine versioning + idempotency contract
This skill inherits cron mode from its caller (/blog or /service) — it's not directly cron-scheduled. When the caller is in --cron mode, this skill MUST:
-
Stamp
routine_versionin the wireframe doc frontmatter and the audit log line written viascripts/lib/audit-log.mjs. Currentroutine_version: 1.0. -
Idempotency: this skill MUST be safe to run twice in a row on the same slug. Implementation: check whether
_drafts/{slug}/wireframe.mdalready exists; if so, do not overwrite — return the existing wireframe and let the calling skill decide whether to proceed.
Reference: docs/specs/2026-05-16-agents-cruise-control-design.md § Operational hardening O3.
Why mandatory
CLAUDE.md rule: writing content first and re-engineering the page around it produces inconsistent internal linking, weak heading hierarchy, and forgotten conversion elements. The wireframe step removes ~80% of structural issues before they happen.