design-business-card
Generate a printable business card — pixel-exact 1050×600 front canvas + 1050×600 back canvas in a single HTML file. Standard 3.5×2 inch card at 300dpi. Front…
Generate a blog post hero artifact — TWO pixel-exact HTML canvases in a single file: an Open Graph card (1200×630) for social meta tags AND an in-page hero (1440×600) for the article header. Both canvases share the same content + brand tokens; only the proportions differ. Reads
$ npx -y skills add slogsdon/skills-design --skill design-blog-hero --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/design-blog-heroContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate a blog post hero artifact — TWO pixel-exact HTML canvases in a single file: an Open Graph card (1200×630) for social meta tags AND an in-page hero (1440×600) for the article header. Both canvases share the same content + brand tokens; only the proportions differ. Reads
name: design-blog-hero description: | Generate a blog post hero artifact — TWO pixel-exact HTML canvases in a single file: an Open Graph card (1200×630) for social meta tags AND an in-page hero (1440×600) for the article header. Both canvases share the same content + brand tokens; only the proportions differ. Reads ./design/<brand-slug>/DESIGN.md, tokens.css, and components.html. Triggers include "blog hero for X", "OG card for X", "open graph image", "in-page hero", "/blog-hero".
Produces a single self-contained HTML file containing TWO pixel-exact canvases:
1. **OG card** (1200×630) — Open Graph / Twitter card dimensions for social link unfurls 2. **In-page hero** (1440×600) — wide format for the article's header section on the site
The same headline + meta render in both canvases at appropriate proportions. Screenshot each canvas separately for its respective use.
`./design/<brand-slug>/artifacts/blog-hero-YYYY-MM-DD-<slug>.html` — single file, two canvases stacked vertically with a labeled header above each so it's clear which to screenshot for which use.
test -f ./design/<brand-slug>/tokens.css
If missing, stop and tell the user to run `/design-system <brand-slug>` first.
Ask in one message:
1. Hero headline — the post's title, sentence-case ending in period (max ~12 words for legibility at OG thumbnail size) 2. Optional dek — 1 supporting sentence (max ~18 words) 3. Category label — short string (e.g. "field notes", "strategic insights") 4. Dateline — YYYY.MM.DD 5. Optional type-accent word — one word from the headline to set in the brand's accent color
Pick ONE archetype that applies to BOTH canvases (consistency between OG and in-page hero is important for brand recognition):
Then pick from:
**Cross-artifact rule:** if a recent artifact for this brand used the same archetype, pick differently. Read `./design/<brand-slug>/artifacts/*.html` variation comments before deciding.
Template:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title><Brand> — Blog hero — <topic></title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=<families from DESIGN.md>&display=swap">
<style>
/* Embed tokens.css verbatim */
<contents of tokens.css>
html, body { margin: 0; padding: 0; background: #2a2a2a; min-height: 100vh; font-family: var(--type-sans-family); }
body { display: flex; flex-direction: column; align-items: center; gap: 32px; padding: 32px 0; }
/* Section labels (above each canvas — for the screenshotter, NOT part of the artifact) */
.canvas-label {
font-family: var(--type-mono-family);
font-size: 12px;
letter-spacing: 0.14em;
text-transform: uppercase;
color: rgba(255,255,255,0.7);
align-self: center;
}
/* OG canvas — exact 1200×627 (LinkedIn/Twitter/Facebook OG spec) */
.canvas-og {
width: 1200px;
height: 630px;
background: var(--color-surface); /* or --color-ink for inversion */
color: var(--color-ink);
/* ... layout per variation ... */
}
/* In-page hero — wider format for article header */
.canvas-hero {
width: 1440px;
height: 600px;
background: var(--color-surface);
color: var(--color-ink);
/* ... layout per variation ... */
}
@page { size: 1200px 630px; margin: 0; } /* default page size for browser print export */
</style>
</head>
<body>
<!--
Variation choices:
archetype: <picked>
layout: <picked>
color: <picked>
type-press: <picked>
-->
<span class="canvas-label">→ OG card · 1200×630 · screenshot this for og:image meta tag</span>
<article class="canvas canvas-og">
<!-- hero content -->
</article>
<span class="canvas-label">→ In-page hero · 1440×600 · screenshot this for the article header</span>
<article class="canvas canvas-hero">
<!-- same content, different proportions — vary headline scale and meta placement to suit -->
</article>
</body>
</html>Adapt the inner content per archetype. For example:
Brand-agnostic design system and artifact generators for Claude Code, plus a figure-worth audit and PDF and HTML-to-PNG export utilities. 19 skills total. Install via the slogsdon-claude-code-config marketplace.
Repo: slogsdon/skills-design
Generate a printable business card — pixel-exact 1050×600 front canvas + 1050×600 back canvas in a single HTML file. Standard 3.5×2 inch card at 300dpi. Front…
Generate a LinkedIn / Instagram multi-slide carousel — single HTML file with N square 1080×1080 .canvas divs, each representing one slide. Default N=5 (cover +…
Generate an Instagram post artifact — pixel-exact HTML canvas at 1080×1350 (portrait, default — Instagram's max-real-estate format) with opt-in 1080×1080…
Generate a deliverable landing-page HTML file (NOT a screenshot artifact). 1440px design width, mobile-responsive (CSS-only, no JS). Sections: hero…
Generate a minimal single-column standalone HTML page — mobile-first at 375px width — for use as a link-in-bio destination. Contains: name/wordmark, short…
Generate a LinkedIn post artifact — a 1200×627 image canvas (LinkedIn's recommended share image dimension) plus a companion text suggestion (1300-char limit,…