Generate professional SVG logos from project context: 7 brand variants plus a showcase HTML page. Use for product marks, wordmarks, icons, and favicons. Don't use for raster-only logos, illustrations, or full brand guidelines.
agents/svg-reviewer.md — Validates SVG structure (viewBox, no rasters, all files present, correct names)
Key Insight: 7 SVG files generated inline is the single biggest context cost. Brand research across multiple project files adds to the burden. The reviewer acts as a quality gate to catch SVG structure issues before files are committed.
Repo Sync Before Edits (mandatory)
Before creating/updating/deleting files in an existing repository, sync the current branch with remote. If the working tree is not clean, stash first, sync, then restore:
branch="$(git rev-parse --abbrev-ref HEAD)"
dirty=0
if [ -n "$(git status --porcelain)" ]; then
git stash push -u -m "pre-sync"
dirty=1
fi
git fetch origin
git pull --rebase origin "$branch"
if [ "$dirty" -eq 1 ]; then
git stash pop
fi
If origin is missing, pull is unavailable, or rebase/stash conflicts occur, stop and ask the user before continuing.
Workflow
Phase 1: Project Analysis
Automatically analyze the current project to understand brand context:
Detect product identity - Check these files in order:
Pick a style based on the detected project type (Developer/SaaS/Startup/Enterprise/Consumer), then design a minimalist, geometric mark that reads at every size from 16px favicon to hero banner. Use detected brand colors when present, else apply the Default Style Guide (dark base + neon-green highlights only — never as a fill). Confirm with the user how the product name should be cased in the wordmark before generating any text-bearing SVG.
See references/design-principles.md for the style table, full visual/color/typography rules, and the Default Style Guide palette with system status colors.
Default Quality Bar
All 7 SVGs and brand-showcase.html must be professional, production-ready, elegant, and premium, even unasked. The chosen style sets direction; this bar sets the finish (craft and restraint, not ornament): optical balance, consistent strokes, clean minimal paths legible at 16px, refined wordmark kerning, and a polished showcase with no placeholders. Pass this bar to svg-generator.
Phase 3: Deliverables
Generate the canonical mark first, then derive 6 sibling variants from its exact path data so every file shares the same geometry. The svg-generator agent must receive the literal d="" strings — do not paraphrase shapes.
Output structure:
/assets/logo/
├── logo-mark.svg # Canonical 64×64 mark (source of truth)
├── logo-full.svg # 320×72 mark + wordmark
├── logo-wordmark.svg # 180×40 text only
├── logo-icon.svg # 512×512 app icon (centered, padded)
├── favicon.svg # 16×16 simplified 2-layer mark
├── logo-white.svg # 320×72 white (for dark backgrounds)
├── logo-black.svg # 320×72 black (for light backgrounds)
└── brand-showcase.html # Self-contained brand identity page
After writing all 7 files, read back mark, full, icon, white, and black variants and verify d="" strings are identical (or correctly scaled via transform). Fix divergences before continuing.
See references/svg-deliverables.md for full variant specifications, scale calculations, favicon simplification rules, and SVG requirements.
Phase 4–5: Documentation & Brand Showcase
After SVGs are written, output the design rationale (symbol meaning, color choices, typography reasoning), a hex-code color specification, and a Tailwind config snippet. Then generate /assets/logo/brand-showcase.html — a self-contained presentation page (hero, design concept, variant grid, palette, typography, dev reference, footer) and open it in the browser.
See references/brand-showcase.md for the full HTML page structure, design guidelines, and the documentation template.
Expected Output
For a CLI tool called "fastbuild", the skill produces:
/assets/logo/
├── logo-mark.svg — 64×64 abstract "F" mark (canonical geometry)
├── logo-full.svg — 320×72 mark + "FASTBUILD" wordmark
├── logo-wordmark.svg — 180×40 text-only wordmark
├── logo-icon.svg — 512×512 mark centered in rounded square
├── favicon.svg — 16×16 simplified 2-layer mark
├── logo-white.svg — 320×72 full logo in white (for dark backgrounds)
├── logo-black.svg — 320×72 full logo in black (for light backgrounds)
└── brand-showcase.html — self-contained brand identity presentation page
Design rationale summary presented to the user:
Product: fastbuild
Type: Developer/CLI Tool
Symbol: Abstract "F" from stacked horizontal speed bars
Colors: #0A0A0A base, #00FF41 neon green accent (borders and highlights only)
Typography: Inter Bold for wordmark
Edge Cases
No project context found: Ask the user for product name, product type, and one-sentence purpose before generating anything.
Existing brand colors detected: Use them instead of the default dark/neon-green palette; confirm with the user before proceeding.
User does not specify wordmark casing: Ask explicitly before proceeding (see references/design-principles.md for the casing rule and examples).
SVG geometry diverges across variants: Re-run the Phase 3 verification step (read back and diff d="" strings) and fix before finishing.
No git repository: Skip the branch and sync steps; write directly to the current directory and note this in the summary.
favicon.svg complexity: At 16×16 the full mark is unreadable — always simplify to 2 layers (outer + inner) and drop the middle detail layer; preserve proportional geometry.
User rejects the proposed style: Iterate on Phase 2 (style selection) until the user approves before generating any SVG files.
Final Report
End every run, stops included, with this compact text block. Status is COMPLETE (all 7 SVGs and brand-showcase.html written, geometry verification passed), PARTIAL (files written, a check still fails), or BLOCKED (no files written). A question that awaits the user's answer does not end the run; if the user ends the run without answering, the status is BLOCKED. Fill rules, PARTIAL and BLOCKED examples, and reader checks: references/final-report.md. Example:
Result: COMPLETE. Wrote 7 SVGs and brand-showcase.html to /assets/logo/.
Evidence: Read back mark, full, icon, white and black variants: d="" strings identical. svg-reviewer: all viewBox attributes correct, no embedded rasters. Default Quality Bar passed. sync: skipped (not a git repo)
Uncertainty: Assumed a developer-tool audience from the CLI entry point; the user did not say.
Decision: No approval needed. Export PNG sizes from logo-icon.svg if you need raster assets.
Acceptance Criteria
All 7 SVG files are written to /assets/logo/ with the correct filenames
logo-mark.svg is created first and its d="" path strings are used verbatim in all derived variants
Every SVG has a correct viewBox attribute and contains no embedded rasters
Monochrome variants (logo-white.svg, logo-black.svg) differ from logo-full.svg only in color, not geometry
favicon.svg is a simplified 2-layer version of the mark at 16×16
brand-showcase.html is written and opens correctly in a browser
Design rationale (symbol meaning, color choices, typography) is documented in the response
Color specification includes hex codes for all palette roles
Wordmark casing is confirmed with the user before any SVG containing text is generated
Every SVG and the showcase page meet the Default Quality Bar (professional, production-ready, elegant, premium) without the user asking
The Final Report opens with Result: and its status, and has Evidence:, Uncertainty:, and Decision: lines. Evidence: cites only checks that ran
The Final Report passes the four reader checks in references/final-report.md (result findable, facts and assumptions separated, claims traceable, next decision clear). Without a human reviewer's answer, human understanding is unconfirmed
Step Completion Reports
After each phase, emit a ◆ [Phase] (step N of 4) status block listing per-check pass/fail and a final Result: line (PASS | FAIL | PARTIAL). Keep the agent's context budget tight by reusing the template — do not re-paraphrase it per phase.
See references/step-reports.md for the full report template, per-phase check lists, and a worked Analysis Summary example.
Notes
Always show logo previews on both light (#FAFAFA) and dark (#0A0A0A) backgrounds
Confirm wordmark casing before generating (see Phase 2 and Edge Cases)
If no project context is found, ask the user for: product name, type, and purpose
Prefer simplicity — a logo should be recognizable at 16x16 pixels
Consistency is non-negotiable: every variant must be visually recognizable as the same logo. The mark shape, number of layers, and accent elements must match across all files. The only things that change between variants are: color (monochrome), scale (favicon, icon), and presence of wordmark. If you cannot verify that paths match, the deliverable is incomplete.
Create, update, or audit AGENTS.md (default) or CLAUDE.md agent instructions: set up, prune, add a rule, or merge CLAUDE.md or .cursorrules into one file Claude Code, Codex, and Cursor all read. Don't use for READMEs, skills, or subagents.
Find open AI engineering jobs that fit a candidate, verify location and apply links, and assess each employer's product. Use for one-off shortlists or a job alert's research step. Don't use for résumé writing, job applications, or company news.
Generate App Store screenshots and header/search images for iPhone, iPad and Mac from a codebase or landing page, or re-render a set. Use when preparing a submission. Don't use for ASO keywords, review audits, icons, videos, or Google Play.
Audit iOS/macOS apps against App Store Review Guidelines before submission, with evidence-backed verdicts and fixes. Don't use for Google Play, general code review, or rejection appeals.
Optimize App Store and Google Play listings via a 7-phase, plan-approval-gated ASO workflow (keyword strategy, metadata, localization). Don't use for web SEO, paid UA campaigns, or pre-submission compliance audits.
Generate a commit message, stage all changes, and push to remote after scanning for secrets, large files, and protected-branch risks. Skip for opening PRs, code review, or cutting releases/tags.