Refactoring UI
s0xDk/refactoring-ui-skill
Design and improve user interfaces using the concrete rules from Refactoring UI (Wathan & Schoger) — constrained spacing/type/color/shadow scales, visual hierarchy through weight and color rather…
Suede AI full-stack surface builder that runs design, copy, and visual QA as one pass: landing pages, brand surfaces, product UI, dashboards, campaigns, launch pages, and reference-to-target…
$ npx skills add JasonColapietro/suede-creator-skills --skill johnny-suede-design -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JasonColapietro/suede-creator-skills johnny-suede-design --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/johnny-suede-design .claude/skills/johnny-suede-design && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "johnny-suede-design" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/johnny-suede-design into .claude/skills/johnny-suede-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "johnny-suede-design", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/johnny-suede-designType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add JasonColapietro/suede-creator-skills --skill johnny-suede-design -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JasonColapietro/suede-creator-skills johnny-suede-design --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/johnny-suede-design .agents/skills/johnny-suede-design && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "johnny-suede-design" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/johnny-suede-design into .agents/skills/johnny-suede-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "johnny-suede-design", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JasonColapietro/suede-creator-skills --skill johnny-suede-design -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JasonColapietro/suede-creator-skills johnny-suede-design --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/johnny-suede-design .cursor/skills/johnny-suede-design && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "johnny-suede-design" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/johnny-suede-design into .cursor/skills/johnny-suede-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "johnny-suede-design", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/JasonColapietro/suede-creator-skills.git --path skills/johnny-suede-design--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add JasonColapietro/suede-creator-skills --skill johnny-suede-design -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JasonColapietro/suede-creator-skills johnny-suede-design --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/johnny-suede-design .gemini/skills/johnny-suede-design && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "johnny-suede-design" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/johnny-suede-design into .gemini/skills/johnny-suede-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "johnny-suede-design", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install JasonColapietro/suede-creator-skills johnny-suede-designInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add JasonColapietro/suede-creator-skills --skill johnny-suede-design -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/johnny-suede-design .github/skills/johnny-suede-design && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "johnny-suede-design" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/johnny-suede-design into .github/skills/johnny-suede-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "johnny-suede-design", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JasonColapietro/suede-creator-skills --skill johnny-suede-design -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JasonColapietro/suede-creator-skills johnny-suede-design --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/johnny-suede-design .opencode/skills/johnny-suede-design && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "johnny-suede-design" agent skill from https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/johnny-suede-design into .opencode/skills/johnny-suede-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "johnny-suede-design", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
johnny-suede-designSuede AI full-stack surface builder that runs design, copy, and visual QA as one pass: landing pages, brand surfaces, product UI, dashboards, campaigns, launch pages, and reference-to-target…
Johnny Suede Design is an agent skill from JasonColapietro/suede-creator-skills. Suede AI full-stack surface builder that runs design, copy, and visual QA as one pass: landing pages, brand surfaces, product UI, dashboards, campaigns, launch pages, and reference-to-target restyles (suedify). Use when a build needs layout and words together, when a redesign or launch surface has to ship end to end, when the request is 'make this site look like that one', or when design, copy, asset, and QA lanes have to move at once. NOT FOR: a design-token, dark-mode, or single-component decision (use…
Its SKILL.md is about 11k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `CARD.md`, `agents/openai.yaml` and `references/copy-formulas.md`).
It sits in Frontend & Design, covering Multi-agent orchestration, Landing pages and Design tokens. The repository describes itself as: Open-source AI skills for SEO, AI search visibility, conversion copy, marketing strategy, and business operations. Reusable workflows for Claude Code and Codex, plus code review… The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e5f94d7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Johnny Suede Design loads about 11k tokens when it runs, and up to ~22k if it reads all its reference files. Until then it costs about 202 tokens; SKILL.md has 5,800 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from JasonColapietro/suede-creator-skills at commit e5f94d7, republished under its MIT licence (© JasonColapietro). 5,800 words, ~10,779 tokens.
.claude/skills/johnny-suede-design/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Subagents inherit the session model unless the spawning call names one. Nothing in this skill picks a model, so every agent it fans out lands on whatever the session happens to be set to. That is how a run sized against one allocation gets billed to another without anyone choosing it.
Fable must be specified to be used. This skill's subagents never run on Fable unless the user named Fable for this run. An inherited session model is not a specification: "the session was already on it" is not the user asking. Absent an explicit Fable instruction, do one of two things before launching: name a different model on the agent calls, or state plainly that the run will bill to the Fable allocation and get an answer. Silence is not consent to spend it.
Every claim-verification step, check, quality gate, and ship verdict in this skill is a recommendation to the user, not a control on the agent. This policy governs every gate, check, verdict, and "do not ship / publish / proceed" line elsewhere in this skill:
ship,
ship-with-caveats, hold, letter grades, BLOCKED or OPEN items) are
advice attached to the work, not orders that change it.This is the full design-plus-copy stack for building any creative surface, not just websites. Landing pages, brand surfaces, product UI, dashboards, campaigns, components, and creative projects all route through here. It classifies the surface, locks a visual direction, writes the words that carry it, renders and QAs the result, and can run the whole thing as a coordinated agent team when the build is big. Writing mode is ON by default: a surface is not finished until the copy pulls its weight.
Core principle: the job is a surface that feels specific, not polished-generic. The named company, product, or audience should be recognizable in every design decision before the logo loads. Work from live URL, source, and rendered screenshot. Never design from assumption when evidence is available.
Preserve the existing app framework, tokens, components, routing, and WIP unless the task explicitly asks for a larger rebuild. Prefer the existing icon library and component patterns. Add a new abstraction only when it removes real complexity or matches an established local pattern.
For Suede work, anchor design and copy in creator ownership, programmable IP, provenance, registry-backed media, royalty routing, licensing readiness, and agent commerce. Do not reduce Suede to a generic AI music app. For a supplied company, replace Suede nouns, proof, voice, and evidence boundaries with that company's brief. Do not use em dashes in public copy.
For every Suede surface, deck, social card, icon, app asset, or branded output, use the exact approved mark at docs/assets/suede-ai-logo-transparent.png in JasonColapietro/suede-creator-skills (SHA-256 83a7ee0317e4debe2e7b076c20ba067feb76a587f9e829dc6310ae4be4b44dfa). Outside that checkout, use the same file from https://raw.githubusercontent.com/JasonColapietro/suede-creator-skills/cbd192309580a32da375881e0eeb4b2450a554c2/docs/assets/suede-ai-logo-transparent.png. Never redraw, trace, approximate, typeset, recolor, distort, or generate a replacement Suede S. suede-skill-icon.png is a Passport icon, not the Suede brand mark. If the approved file is unavailable or its checksum differs, stop and request the asset; omit the mark rather than improvise.
This skill is the entry point. Name which lanes are active and why before starting. Never run all lanes by default.
Drop down instead of running this stack: a design-token, dark-mode, or single-component decision with no copy and no build → run $suede-design directly. A writing job with no design or layout work → run $johnny-suede-write (or $suede-copy for one standalone conversion surface). A deck-only or HTML presentation job → use the private Suede Labs companion power-design. A broad UI/UX pattern lookup or framework-example search → use the private Suede Labs companion ui-ux-pro-max. Running the full enchilada on a one-lane job wastes the user's tokens and time.
On-demand website companions (do NOT inline, run only when asked): CRO/funnel work → $suede-site-alchemy; deep standalone SEO/AEO/AI EO audit → $suede-seo-audit; findability + first-screen + CTA + proof + AI-citation grade → $suede-visibility-grader; deep diff review of changes touching shared components, auth, payments, routing, analytics, or published-statement accuracy → $suede-code-review ($suede-code-grader for a blunt A–F grade). These are separate skills for website analysis. Reference them; do not paste their content here.
Because this enchilada can run a multi-agent team (Lane D), by DEFAULT it asks the user up front before spawning a fleet. Never silently spawn agents or max tokens.
Hard cap: 4 subagents. This skill never spawns a fifth. Work that needs a bigger fleet hands off to suede-agent-teams, which owns and reports its own fleet size: quote that skill's bound rather than inventing one here. Either way the run bills to the session model, so apply the Model selection rule above in the same breath as this ask: 4 is also the ceiling that rule allows without an explicit Fable instruction.
Run this as a multi-agent team (more thorough: scout, parallel builders, adversarial + consensus review, release lock, evidence handoff) or single-agent (faster, one pass)? Multi-agent mode spawns at most 4 subagents and costs roughly 3–5× a single-agent run on the same task. It bills to [name the model this session will use]. Anything larger than 4 goes to suede-agent-teams at its fleet size, not mine.
Default to single-agent for clear, contained work. Escalate to multi-agent when the user asks, or when the work is broad, risky, release-bound, or needs continuous quality gates. State the choice, the subagent count, and the billing model in the output before starting.
Classify the surface before any design work starts. Misidentifying the register produces wrong tone, wrong density, and wrong motion posture.
| Register | Signal | Defaults |
|---|---|---|
| Brand | Homepage, about, campaign, press, portfolio, editorial | Highest typographic ambition, lowest density, motion earns premium feel, copy is declarative |
| Product | App UI, dashboard, settings, onboarding, tool, form, admin, workflow | Density serves task completion, motion clarifies state, copy is instructional |
| Docs | Reference, API, guides, changelog | Monospace hierarchy, zero decoration, copy is precise and scannable |
| Campaign | Launch, landing, offer, event | Conversion architecture first, proof stack above the fold, CTA is singular |
| Product listing / mobile | Screenshots, paywall, onboarding | Mobile clarity conventions, system-safe typography, no custom fonts in screenshots |
When the request spans registers (e.g., a dashboard with a marketing hero), name both and apply each register to its section.
When the surface is public, structure it for SEO, AEO, AI EO, Google, Gemini, and AI search with clear CTAs. When the surface is mobile, include screenshots, onboarding, paywall, responsive layout, and app-shell needs in the design pass.
Stop and ask only if none of these can be read from context:
| Required | Source |
|---|---|
| Target URL or file path | Supplied or inferable from repo |
| Primary action the surface must drive | Supplied or read from existing CTA |
| Register (brand / product / docs / campaign / mobile) | Inferable from surface type |
| Company or brand (for non-Suede work) | Supplied in brief or inferable from domain |
Everything else (tone, color direction, layout choices, copy angle) is a design decision. Make it, show the reasoning in the output, and let the user override. Do not ask about optional parameters before starting. If no brief and no explicit Suede context, ask for the company.
Supply in natural language or as fields: Company / Product or offer / Audience / Category / Voice / Terms to use / Terms to avoid / Proof / Allowed claims / Forbidden claims / Primary CTA / Reference URLs / Assets or brand rules.
When a brief is active, replace all Suede positioning, domain language, and evidence boundaries with it. Keep the full workflow. Rename "Cue Suede" to "Cue [Company]" in the output.
Before any design, copy, or QA claim, read the surface context:
PRODUCT.md: users, brand, tone, anti-references, strategic principles.DESIGN.md: color tokens, type scale, component inventory, spacing.AGENTS.md, CLAUDE.md, AI_HANDOFF.md, README.md, or task docs: agent guidance and surface context.If PRODUCT.md or DESIGN.md is missing on a major surface, note it and proceed with available context. Offer to create them after completing the task.
Identify the surface: repo/folder, route, live URL, deployment target, branch, dirty files. Name the physical scene: who uses this, where, under what light, with what pressure, and what they need to do next. Inspect the current rendered UI at desktop and mobile breakpoints before making claims about quality.
Render the result for visual work: screenshots beat code inspection. Minimum: desktop at 1280px width and mobile at 390px or 375px width. For product screenshot sets, verify the required platform dimensions before generating assets. Verify live URLs or APIs before claiming public behavior.
To actually capture the render: npx playwright screenshot <url> --viewport-size=1280,900 desktop.png and npx playwright screenshot <url> --viewport-size=390,844 mobile.png (installs on first run with npx playwright install chromium), or your environment's built-in preview/screenshot tool if one is available.
For major design work, reusable systems, reference visual matching, product screenshot assets, or public launch surfaces, keep work open only after these are known: PRODUCT.md / product context status; DESIGN.md / design-system status; shape-brief status for net-new or large redesigns; source visual-target status when a mock, screenshot, Figma frame, or reference URL exists; rendered implementation status; ship-blocker status.
For major public or launch work, apply all five before ship: Copy Gate, Visual QA Gate, SEO/AEO/AI EO Gate, Design System Gate, Launch Gate. Run each using the criteria defined in the relevant lane below.
Make any interface feel intentional, premium, legible, and alive without drifting into generic AI output. Covers product UI, brand surfaces, landing pages, dashboards, component systems, responsive polish, and visual QA.
Choose the smallest path that fits the request.
visual-qa-report.md in the project root.Do not call work done because the code changed. Call it done only when the done signal has been checked or the remaining gap is named. Use Lane D (agent teams) when several lanes must move at once (copy + layout + asset + implementation + QA). Run $suede-code-review before the ship gate when design work changes shared components, routing, auth, payments, analytics, release config, or published-statement accuracy. Skip both for a small visual or copy fix that can be inspected, patched, rendered, and verified directly.
Before a new surface, significant redesign, reusable component family, or design-system pass, lock the design contract before implementation:
If the work is purely backend or a narrow one-element fix, document only the relevant contract items instead of forcing a full spec.
Read references/design-laws.md before implementing: it holds the full dark-mode token values, typography anti-patterns, fluid type scale CSS, layout and control rules, component laws (forms, modals, empty states, data tables, navigation) with BEFORE/AFTER pairs, motion timing specs, asset rules, the aesthetic-direction menu, the scoped-bans gallery with replacements, and the design-system artifact list. The heads below are the non-negotiables.
clamp()-based fluid type, no fixed px for display roles.transform and opacity only; ease-out-expo 220–280ms; always ship a prefers-reduced-motion variant.[NEEDS REAL DATA] placeholder, or a structural element that needs no number. Other banned patterns (gradient text, glass panels, side-stripe borders, hero-metric template, modal-first interactions) allow scoped exceptions for source fidelity, platform convention, accessibility, or a confirmed brand system: name why the exception is earned. Full gallery with replacements in the reference.Component sourcing: when the build needs a base primitive, an animated set-piece, or an AI-chat surface the local system lacks, pull from the vetted registries in references/ui-component-sources.md and run its adoption checklist (local first, retokenize, motion law, license tier, render proof) before the import lands.
For any new surface or significant redesign, commit to one named aesthetic direction before writing code: refined minimal, editorial, brutalist, retro-technical, organic, maximalist, luxury refined, or product-utilitarian (menu with execution notes in references/design-laws.md). Bold maximalism and refined minimalism both work; a design with no committed direction reads as generic.
AI slop check: run two reflex tests before committing: (1) could someone guess the theme and palette from the product category alone? Reject that first-order reflex. (2) Could someone guess the aesthetic family from category-plus-anti-references? That is the second-order trap. Go further.
Theme sentence: name the physical scene concretely enough that it forces the design answer ("a studio engineer reviewing a rights dispute at 2am on a secondary monitor"). If the sentence does not force the answer, add detail until it does. Dark vs. light is never a default.
For any major surface, reusable app shell, launch system, or important component family, produce the six artifacts listed in references/design-laws.md at the smallest useful fidelity: token map, state matrix, copy vocabulary, screenshot contract, accessibility pass, and migration notes. Extract a design-system issue when a pattern repeats three times or controls a high-visibility surface; classify the drift root cause.
For broad design-system audits, score:
Color consistency: /10
Typography hierarchy: /10
Spacing rhythm: /10
Component consistency: /10
Responsive behavior: /10
Dark/light behavior: /10
Motion restraint: /10
Accessibility: /10
Information density: /10
Polish: /10
Total: /100Below 70/100 the system is failing: fix the two lowest dimensions before styling new features on that surface. Any dimension at 4/10 or lower is a P1 finding.
When comparing a source visual target against an implementation, save visual-qa-report.md with:
final result: passed or final result: blockedCompare source and implementation in the same visual pass, not from memory. Render the implementation with npx playwright screenshot <url> --viewport-size=1280,900 impl.png (matching viewport to the source target), or your environment's built-in preview/screenshot tool if one is available. Check typography, spacing/layout, colors/tokens, image and asset fidelity, logos/icons, copy/content, loading/empty/error/hover/focus/active states, responsiveness, accessibility, and motion where relevant. Use final result: blocked when the source or rendered artifact is missing for a required comparison, or when actionable P0/P1/P2 issues remain. Use passed only when no actionable P0/P1/P2 findings remain.
Use this lane when the user wants reference_url -> target_url (example: "Use apple.example and make suede.example look like it"). The output makes the target site inherit the reference's design logic, rhythm, hierarchy, and interaction feel while remaining legally and brand safe. This lane recreates design grammar with the target's own brand, content, product, and assets. It does NOT copy proprietary code, logos, exact copy, private assets, or trademarked identity, and it does not transfer the reference's claims, proof, pricing, or guarantees to the target.
Read references/suedify-playbook.md when this lane is active: it holds the full move set (Style Fingerprint, Token Distiller, Hero Lift, Section Rhythm, Voice Fingerprint, Copy Reframe, Asset Swap, Motion Match, Responsive Fit, Proof Stack, Screenshot Diff, Ship Polish), the DevTools capture procedure, and the DESIGN.md output template.
reference_url (the site to study) and target_url (the site to transform). If either is missing, ask for it.suedify-implementation-plan.md instead of pretending edits can be applied.Run to completion in one pass. Do not stop to ask clarifying questions once a reference URL and target are known. If depth or fidelity is not specified, default to homepage + hero + primary CTA section, close-visual-match fidelity. State what you chose in the Ship Gate.
DESIGN.md in the target repo root. Capture command: npx playwright screenshot <reference_url> --viewport-size=1280,900 reference-desktop.png (repeat per breakpoint), or your environment's built-in preview/screenshot tool if one is available.:root {} CSS block.Unmatched reference signals in the Ship Gate, give the user 2–4 options (accept as ship-with-caveats, drop fidelity, narrow scope, or hold for a manual pass), and let them pick. Same capture command as step 2, run against target_url at matching viewport sizes, or your environment's built-in preview/screenshot tool if one is available.git diff --check when files changed. Verify live URLs before claiming a public restyle. End with ship, ship-with-caveats, or hold.The target MAY closely match: layout proportions, typographic scale and rhythm, color role structure, section pacing, navigation density, interaction feel, image crop strategy, product proof structure, and mobile composition.
The target MUST NOT copy: reference logos or trademarked marks, exact marketing copy, proprietary source code, private media or downloadable assets, fake partner/customer proof, or pricing/guarantees/metrics/claims that do not belong to the target.
If the user asks for an exact clone of a protected site, produce a close, target-branded interpretation instead and state the constraint briefly.
Every suedify run produces DESIGN.md in the target repo root with all token fields filled from the reference extraction (template in the playbook). For multi-section work also produce suedify-visual-qa.md. For planning-only runs (no target repo), produce suedify-implementation-plan.md. Never produce empty or partially-filled token files: if a value cannot be extracted, record UNKNOWN with the reason.
Reference URL:
Target URL:
Target source:
Fidelity level:
Depth:
Screenshots:
Changed:
Verification:
Unmatched reference signals:
Legal/brand caveats:
Status: ship | ship-with-caveats | holdUse hold when the target cannot be edited, a live route cannot be verified, a primary layout breaks, copy claims are false, reference assets were copied unsafely, placeholder assets or CSS/div art replace real imagery without approval, nav/forms/CTAs do not work, mobile composition breaks, or the target no longer reads as its own brand.
Write the words for what this skill designs: conversion copy, page copy, GitHub docs, email, and social posts that are specific, proof-backed, and free of AI boilerplate. Default voice: Suede. A company brief overrides everything. Writing mode is on by default: a surface is not finished until the copy carries it.
For a copy-only job with no design work attached, drop down to $johnny-suede-write (full writing stack) or $suede-copy (one standalone conversion surface) instead of running this lane inside the enchilada.
Read available context first: PRODUCT.md, README.md, AGENTS.md, AI_HANDOFF.md, DESIGN.md, product/brand notes, task docs. If context is missing after reading, ask only for what blocks accurate copy: page or doc type; primary reader; one action the reader should take; product or skill being offered; proof safe to claim; claims/pricing/partners/metrics not approved; traffic source or publication surface.
Name the outcome, not the feature.
Write buttons as actions with a result.
Replace vague claims with artifacts.
No invented proof: do not write stats, testimonials, partner names, pricing, or legal clearance that has not been confirmed. If proof is unavailable, write around the gap or flag it for the human to supply. No em dashes. No exclamation points. No rhetorical questions that answer themselves.
Match framework to surface and reader temperature. State the chosen framework and reader temperature before drafting. If multiple could apply, pick one and note why.
Read references/copy-formulas.md before drafting headlines, CTAs, email, or social copy inside a build: the 12 headline formulas with examples, buyer persona modes, the 8-part page/docs spine, A/B variant rules (3 headline variants, 2 CTA variants, 3 subject variants), CTA formulas A–D with anti-patterns, email subject/preview/body mechanics, per-platform social structures, the SEO/GitHub copy checklist with Suede durable keywords, the word substitution list, and pull-quote rewrites.
Two gates survive the summary: swap your product name for a competitor's: if the headline still works, it is not specific enough; and describe what happens after clicking in 3 words: if you cannot, the CTA is too vague.
Confident, not breathless; technical enough for builders; clear enough for creators; polished, not corporate; specific, not cute; operator-grade, not brochure-grade. Good Suede copy names what the reader controls: register a work, verify rights, route royalties, publish a claim, package a release folder, prepare licensing evidence, make a work readable to agents, compare provenance, ship a public skill page. (For non-Suede work, supply the equivalent domain vocabulary in the company brief.)
Run this as a line-edit gate before delivery, not a vibe check.
references/copy-formulas.md (29 entries). Non-negotiable, on every draft.Directness: /10
Rhythm: /10
Trust: /10
Specificity: /10
Authenticity: /10
Density: /10
Search/AI readability: /10
Total: /70Revise below 58/70. For public launch, homepage, GitHub, product listing, investor-adjacent, or public explainer copy, aim for 62/70 or higher.
Page Copy: Title / Meta description / Hero / Subhead / Primary CTA / Sections / FAQ / Final CTA / Safety note. GitHub Skill Copy: Skill / One-line description / Reader / Primary action / Repo/Docs copy / Install CTA / SEO title / Meta description / Keywords / Safety boundary. Copy Review: Findings / Rewrites / Claims to verify / Score / Ready: yes | with caveats | no.
Recommend against shipping copy (and say why, leaving the call to the user) when: the primary action is unclear; the page promises a feature the product does not implement; proof is fake or unverified; the copy hides a legal, payment, privacy, or release caveat; the score is below threshold; or the copy fails the competitor-swap test. End copy-only requests with the exact copy, not a long explanation of the copy.
For multi-agent orchestration, large cross-lane builds, WIP protection, RFC workflows, and rollback coordination: invoke suede-agent-teams with the full creative brief and context. It is the canonical source for multi-agent builds: do not duplicate its protocols here.
$suede-visibility-grader when asked, or score findability, CTA pull, proof, AI readability, SEO strength, and design signal.Before major design work, name:
Objective:
Surface:
Audience:
Primary action:
Register: brand | product | docs | campaign | app workflow
Reference URL or visual target:
Done signal:
Constraints:
Lanes:For small polish work, compress to target, route, primary action, and done signal. For major design work, add: Source truth / Design brief confirmed / Render evidence / Reference/mock status / Design-system status / mobile product state coverage / Ship blockers.
Twenty named lenses (/vibe-scan, /first-frame, /hero-voltage, /offer-spine, /cta-magnet, /trust-lacquer, /console-moment, /aeo-shine, /mobile-seduction, /link-sweep, /ship-polish, and the rest) live in references/surface-modifier-moves.md. Read it when shaping or critiquing a surface and name the lenses you apply.
Accept feedback at any point, not only after final handoff. When the user says what worked, preserve that pattern in the current pass and mirror it later. When the user says what missed, adjust immediately instead of defending the previous direction.
If the user says cue suede, asks for feedback choices, or seems to be calibrating mid-stream, pause at the next safe checkpoint and emit the three-option Cue Suede block exactly as printed in ## Output Shapes below. Do not block completion waiting for a Cue Suede answer. If the interface supports choice chips, use Change something, Preserve this, and Keep as-is. (Rename to "Cue [Company]" when a company brief is active.)
This skill organizes and prepares creative work. It does NOT clear rights, confirm ownership, approve payouts, write to a registry, guarantee placements, or guarantee outcomes. It produces drafts, designs, tokens, plans, and QA evidence for a human to verify and ship.
For a design plan: Objective / Surface / Design direction / Copy direction / SEO-AEO-AI EO notes / Primary CTA / Proof stack / Implementation lanes / Verification.
For a finished pass (lead with findings; never name internal process steps like preflight, task router, or mutation in user-visible output):
Simple explanation (plain, for a 10-year-old):
One plain paragraph a 10-year-old can follow: what we built or changed, and why it matters. No jargon.
Usual breakdown:
Changed:
Design QA:
Desktop/mobile screenshots or render notes:
Visual QA surfaces checked:
Visibility grades:
Design-system drift notes:
P0/P1/P2 blockers:
Copy/SEO QA:
Copy score (if copy shipped):
Verification:
Caveats:
Status: ship | ship-with-caveats | hold
Cue Suede:
1. Change something - tell me what to revise and I will adjust it.
2. Preserve this - tell me what worked so I can mimic it later.
3. Keep as-is - say nothing and I will treat it as accepted.If any of these thoughts appear, stop and run the check you were about to skip:
[NEEDS REAL DATA] flag.hold when: a core user path is broken; rendered output contradicts the implementation; text overflows or truncates on any breakpoint; mobile layout is unintentionally stacked; any accessibility issue blocks the primary action; copy makes unsupported claims; the live surface cannot be verified; screenshots do not match implementation; or the live route cannot be verified.
ship-with-caveats is only valid when all P0 issues are resolved and remaining issues have a documented owner and timeline, and the caveat is explicit, non-critical, and acceptable for the launch stage. For public surfaces, recommend hold when the design gate passes while visual or accessibility blockers are open, and name those blockers so the user can decide. Findings lead, rationale follows. Name the file and line. For builds, state what changed and show the render evidence.
© JasonColapietro, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references) in skills/johnny-suede-design of JasonColapietro/suede-creator-skills.
Open the folder on GitHubat commit e5f94d7
Johnny Suede Design next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Johnny Suede Design this skillJasonColapietro/suede-creator-skills | 127 | — | ~11k | Automated safety check: Pass | MIT | |
| Refactoring UIs0xDk/refactoring-ui-skill | 595 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Frontend Design Deslopsamber/cc-skills | 227 | — | ~4.9k | Automated safety check: Pass | MIT | |
| Impeccablebestofjs/bestofjs | 3.1k | 26 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Figma Design System Builderwarpdotdev/warp | 65k | 2 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| MCP Developmentcoollabsio/coolify | 63k | 1 repos | ~949 | Automated safety check: Pass | MIT |
s0xDk/refactoring-ui-skill
Design and improve user interfaces using the concrete rules from Refactoring UI (Wathan & Schoger) — constrained spacing/type/color/shadow scales, visual hierarchy through weight and color rather…
samber/cc-skills
Designs distinctive, non-generic UI — typography, OKLCH color, design tokens (DESIGN.md), layout, components, motion, dark mode, accessibility — for landing pages, SaaS apps, dashboards, ecommerce…
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
warpdotdev/warp
Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.
coollabsio/coolify
A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.
saoudi-h/solar-icons
UI/UX design intelligence for web and mobile. An agent skill from saoudi-h/solar-icons.
JasonColapietro/suede-creator-skills
Lints a local music or media release folder and scores its readiness, flagging missing files, weak metadata, artwork and stem problems, split gaps and rights blockers.
JasonColapietro/suede-creator-skills
Turns messy creator materials into an offline rights-and-provenance transfer package: hashed asset inventory, intake manifest, credits, license notes and a missing-information report.
JasonColapietro/suede-creator-skills
Turns a video clip, interview moment or transcript into a package that bridges viewers to a long-form guide, with rights, claim and approval gates along the way.
JasonColapietro/suede-creator-skills
Checks a Suede AI MCP server release against a live process: the full JSON-RPC lifecycle, schemas, annotations, malformed input, catalog agreement and install docs.
JasonColapietro/suede-creator-skills
Takes a native Android app from product idea to Google Play release, covering Compose architecture, policy checks, privacy, billing, testing, signing and rollout.
JasonColapietro/suede-creator-skills
Suede-owned paid-media creative system for hooks, headlines, primary text, static and motion concepts, platform specs, review pages, and test-ready variant batches.
Categories
Suede AI full-stack surface builder that runs design, copy, and visual QA as one pass: landing pages, brand surfaces, product UI, dashboards, campaigns, launch pages, and reference-to-target…. Johnny Suede Design is an agent skill from JasonColapietro/suede-creator-skills. Suede AI full-stack surface builder that runs design, copy, and visual QA as one pass: landing pages, brand surfaces, product UI, dashboards, campaigns, launch pages, and reference-to-target restyles (suedify).
Johnny Suede Design fits situations like: A build needs layout and words together; launch surface has to ship end to end; the request is make this site look like that one; QA lanes have to move at once.
Run `npx skills add JasonColapietro/suede-creator-skills --skill johnny-suede-design -a claude-code`. Or copy the skill folder (skills/johnny-suede-design in JasonColapietro/suede-creator-skills) into .claude/skills/johnny-suede-design in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JasonColapietro/suede-creator-skills --skill johnny-suede-design -a codex`. Or copy the skill folder (skills/johnny-suede-design in JasonColapietro/suede-creator-skills) into .agents/skills/johnny-suede-design in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JasonColapietro/suede-creator-skills --skill johnny-suede-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/johnny-suede-design, .gemini/skills/johnny-suede-design, .github/skills/johnny-suede-design and .opencode/skills/johnny-suede-design in your project.
Going by SKILL.md and its folder, Johnny Suede Design needs the command-line tools its instructions call (npx and git).
SKILL.md contains no URLs. Its commands use npx and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Johnny Suede Design is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 11k tokens (SKILL.md is roughly 43k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Johnny Suede Design: Refactoring UI (s0xDk/refactoring-ui-skill, 595 stars), Frontend Design Deslop (samber/cc-skills, 227 stars), Impeccable (bestofjs/bestofjs, 3.1k stars) and Figma Design System Builder (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JasonColapietro (a GitHub user) maintains it in JasonColapietro/suede-creator-skills, which has 127 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on October 10, 2026.
Source: JasonColapietro/suede-creator-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.