creator-stack/skills/newsletter-visuals/SKILL.md
Audit a newsletter draft for visual opportunities and generate on-brand visual assets. Use when enhancing a newsletter draft with visuals, when a draft has [screenshot] placeholders, or when the user says 'add visuals', 'create images for this issue', 'make this more visual', or 'add diagrams to the newsletter'.
npx skillsauth add kenneth-liao/ai-launchpad-marketplace newsletter-visualsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze a newsletter draft, identify the highest-impact opportunities for visual enhancement, and generate on-brand visual assets. Every visual must clarify, persuade, or engage — never decorate.
Core Principle: Visuals earn their place through measurable impact on clarity, engagement, or persuasion. A newsletter with zero visuals is better than one with decorative filler.
Use this skill when:
[screenshot] placeholders that need strategic evaluationA design system must exist before generating any visuals — without one, generated images won't have consistent colors, typography, or style. Check ~/.claude/.context/design-systems/ for available design systems.
creator-stack:design-system to create one. Do not generate visuals without a design system — the results will be inconsistent and off-brand.| Content Type | Reference File | Key Focus |
|---|---|---|
| Substack newsletter | references/substack-constraints.md | Aspect ratios, email rendering, resolution |
Read the relevant reference file before generating any assets — it contains platform-specific constraints (aspect ratios, resolution, email rendering limits) that affect every prompt.
Read the full draft and catalog every section. For each section, evaluate:
[screenshot] placeholder, code block, table, or other visual element? Note what it covers and whether it's sufficient.Existing [screenshot] placeholders: These represent real UI captures the author will provide. Treat them as existing visuals. Only recommend replacing one if the concept would be better served by a diagram or illustration — and explicitly flag this to the user with justification.
For each potential visual opportunity, score on three dimensions (1-5 each):
| Dimension | 1 (Low) | 5 (High) | |-----------|---------|----------| | Clarity lift | Text explains it fine | Text alone is confusing or requires re-reading | | Engagement lift | Section is already engaging | Long text-only stretch, reader likely to skim past | | Uniqueness | Generic/decorative visual | Visual reveals structure or data text can't convey |
Total score = Clarity + Engagement + Uniqueness (max 15)
Hard rules:
Choose the type based on what the visual needs to accomplish:
| Visual Type | Use When | Examples | |-------------|----------|---------| | Conceptual diagram | Explaining a process, architecture, or flow | Flowcharts, swimlane diagrams, network diagrams | | Comparison visual | Showing differences between two or more things | Side-by-side layouts, before/after | | Data visualization | Making numbers or ratios tangible | Bar charts, token cost comparisons | | Custom illustration | Engaging the reader emotionally or setting context | Hero images, conceptual metaphors | | Annotated screenshot | Adding context to an existing UI capture | Callout boxes, arrows, numbered annotations |
Never use illustrations when a diagram would be more informative. Illustrations are for engagement; diagrams are for clarity. When in doubt, choose the one that teaches.
Before generating anything, present the brief to the user for approval:
For each recommended visual:
Also include:
[screenshot] placeholders you recommend replacing (with justification)Do NOT generate prompts or images until the user approves the brief.
After approval, generate each visual using creator-stack:nanobanana.
Design system integration: Load the design system from ~/.claude/.context/design-systems/ and apply it to every prompt — colors, typography, illustration style, brand constraints.
Prompt construction:
[SUBJECT]: What the visual depicts
[COMPOSITION]: Layout, arrangement, spatial relationships
[STYLE]: From the design system — colors, typography, illustration style
[CONSTRAINTS]: What to avoid, what NOT to include
[FORMAT]: Aspect ratio and resolution (from substack-constraints reference)
Prompt rules:
For each generated visual:
Run the quality checklist before presenting final assets.
Invoke creator-stack:voice before finalizing any written output (captions). Voice is applied after the structural draft is complete but before brand compliance.
Invocation point: After writing captions and alt text, before presenting to the user.
When creating assets for The AI Launchpad, invoke creator-stack:brand-guidelines to resolve the correct design system and check anti-patterns.
Invocation point: After voice application, as the final quality gate.
creator-stack:voice invoked for captionscreator-stack:brand-guidelines invoked for brand compliancedevelopment
Manage scheduled Claude Code tasks — add (recurring or one-off), list, pause, resume, remove, view results, and test execution of skills, prompts, and scripts with safety controls and notifications. Use when the user mentions scheduling, cron, automated tasks, recurring tasks, background tasks, running something on a schedule, periodic execution, or wants a skill/prompt/script to run automatically at a set time. Cross-platform (macOS, Linux, Windows).
tools
Upgrade a plugin's skills, hooks, and patterns to align with latest Claude Code capabilities and best practices. Use when a plugin needs modernization, after Claude Code updates, or when the user says "upgrade plugin", "modernize plugin", or "update plugin to latest patterns".
tools
Use when reviewing how skills performed during a session, when the user wants to analyze skill invocations and identify improvements, or when the user says "skill retro", "review skills", "how did skills do", "improve this skill", or "skill retrospective".
tools
Run or generate test suites for any skill. Use when testing a skill before deployment, after making changes, before/after plugin upgrades, when validating skill behavior, or when the user says "test skill", "run skill tests", "generate tests for skill", or "check for regressions".