Add a new expert to the Remotion experts page
日本語の概要は準備中です。原文の説明を表示しています。
On-brand visual marketing content using Paper MCP and parallel agent teams. Reads the project's brand/ directory to build a design system, then spawns designer agents in parallel — each creating a unique artboard with a different on-brand layout interpretation. Intelligently adapts agent count and approach based on user goals via AskUserQuestion interrogation. Produces Instagram carousels, TikTok slideshows, social posts, story slides, and visual assets. When used with content spec YAMLs from /slideshow-script, each agent gets a unique script AND unique design direction. Make sure to use this skill whenever the user wants visual marketing content designed in Paper — carousels, slideshows, social posts, story slides, or any visual asset. Even if they just say "design something" or "make slides" or "create visual content", this is the skill. Also triggers on "paper marketing", "instagram design", "TikTok design", "slideshow design", "create carousel", or "social graphics".
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Spawn parallel designer agents in Paper, each creating a unique on-brand interpretation of marketing content. Same brand system, different creative executions. Agent count and approach intelligently adapt to the user's actual goal.
| Phase | What Happens | Key Tool |
|---|---|---|
| 1. Load Brand | Read brand/ files, discover Paper file, confirm with user | mcp__paper__get_basic_info() |
| 2. Goal Discovery | Interrogate user: content type, variation count, priority | AskUserQuestion |
| 3. Create Tasks | Build rich task descriptions with full brand system + content | TeamCreate + TaskCreate |
| 4. Spawn Agents | Launch N designer agents in parallel | Agent (background, Sonnet) |
| 5. Review | Screenshot artboards, compare, user selects winner | mcp__paper__get_screenshot() |
| 6. Export | Extract JSX, write handoff YAML, instruct user to export PNG | mcp__paper__get_jsx() |
| 7. Log | Update brand/assets.md, append workflow log | File writes |
For Paper MCP HTML rules, see references/paper-mcp-rules.md. For brand system extraction template, see references/brand-system-template.md. For platform-specific conventions, see references/platform-conventions.md. For agent quality rubric, see references/agent-quality-rubric.md.
Step 1a: Load brand context. Run mktg status --json to confirm brand files exist. Then read in parallel:
brand/voice-profile.md — tone, vocabulary, do's/don'ts, signature phrasesbrand/creative-kit.md — colors (hex + roles), fonts (families + weights + sizes), spacing rhythmbrand/positioning.md — angles, headlines, proof pointsbrand/assets.md — what already exists (avoid duplication)Step 1b: Extract the design system. From brand files, build:
If creative-kit.md is missing, use AskUserQuestion to gather basics (bg color light/dark, accent color, font preference), then write the result to brand/creative-kit.md so it persists.
Step 1c: Discover the Paper workspace. Call mcp__paper__get_basic_info() and record:
Step 1d: Confirm with AskUserQuestion:
"I see Paper file '{fileName}' is open with artboards: {list}. I'll create new artboards here for the marketing designs. Right file?"
Options:
1. "Yes, use this file" — proceed
2. "Different file" — user specifies which file to open
Do NOT proceed until the user confirms.
This is the most important phase. Use AskUserQuestion to understand what the user actually needs before deciding how many agents to spawn.
First, check if content spec YAMLs already exist (written by /slideshow-script or /tiktok-slideshow):
ls marketing/content-specs/*.yaml 2>/dev/null
If content specs exist: Read them. Each spec has content_type, visual_direction, slides[], and scripting_framework. Skip to Phase 2d — the scripts are already written.
If no content specs: Proceed to interrogation (2b).
Use AskUserQuestion to understand the goal. Don't assume 5 agents or any specific format:
"What visual content do you need? Help me understand so I can design the right approach."
Options:
1. "TikTok slideshow (1080×1920, 5-9 slides)" — vertical storytelling
2. "Instagram carousel (1080×1350, 5-9 slides)" — educational/positioning
3. "Instagram single post (1080×1080 or 1080×1350)" — one powerful image
4. "Instagram story / Reel cover (1080×1920)" — single claim
5. "Social graphics batch" — multiple formats for one message
6. "Ad creative" — single high-impact visual for ads
7. "Custom" — user describes what they need
Then follow up based on answer:
"How many variations do you want to explore?"
Options:
1. "Just 1 great one" — single agent, iterate until perfect
2. "2-3 options" — focused exploration
3. "5 full variations" — maximum creative exploration
4. "Match my content specs" — 1 per content spec YAML
Then:
"What's the priority?"
Options:
1. "Speed — get something designed fast" → fewer agents, simpler approach
2. "Quality — make it exceptional" → load /frontend-design, thorough review
3. "Exploration — see many different directions" → max agents, varied styles
Use these answers to determine:
/frontend-design for design qualityBased on interrogation, select the RIGHT number of variations with the RIGHT directions:
Variation types for marketing content:
| Direction | What Changes | Good For |
|---|---|---|
| Typographic | Text-dominant, massive display type, minimal decoration | Quote posts, positioning statements |
| Data-Led | Giant stat numbers as visual anchors, text secondary | Proof points, market data, before/after |
| Editorial | Magazine-layout feel, asymmetric text placement, generous white space | Long-form carousel slides, thought leadership |
| Product-Forward | Mockup/screenshot center stage, text supports the visual | Feature demos, app screenshots |
| Atmospheric | Arabic script as decoration, calligraphic accents, spacious and reverent | Spiritual content, Quranic references |
| Bold Minimal | One idea per slide, maximum white space, zero ornamentation | Hook slides, CTAs, single-message posts |
| Structured | Clear grid feel, numbered steps, consistent slot layout | How-it-works, listicles, tutorials |
| Contrast Play | Dramatic scale differences, weight extremes | Attention-grabbing hooks, comparison content |
| Stacked | Vertical rhythm, everything centered, one element per visual beat | Stories, reels covers |
| Split | Two-column or two-zone layout, tension between halves | Before/after, problem/solution |
Rules for selection:
visual_direction fieldPresent the plan via AskUserQuestion:
"Here's my design plan: {N} variation(s), {content_type}:"
1. **{Direction}** — {one-line description of this approach}
[... more if multiple]
Options:
1. "Looks great, go" — proceed
2. "Change direction(s)" — user adjusts
3. "Add more variations" — increase agent count
4. "Fewer variations" — reduce agent count
If content specs exist from /slideshow-script: Read them. Each agent gets its own spec's content.
If no content specs: Write out the exact content each agent will design with:
brand/voice-profile.mdShow to user via AskUserQuestion:
"Here's the content for the designs. Anything to add or change?"
[slide-by-slide or section-by-section copy]
Options:
1. "Looks complete, go" — proceed
2. "Missing something" — user adds content
3. "Change the copy" — user edits specific text
Write approved content to marketing/content-specs/{name}.yaml so it persists for downstream skills (/video-content). If content specs already exist from /slideshow-script, do NOT overwrite them — they are the source of truth. Only write new specs when running standalone (no prior scripting phase).
Do NOT proceed to Phase 3 until user approves variations AND content.
TeamCreate: name="paper-mktg", description="{N} on-brand marketing designers in Paper"
Create N tasks (all parallel, no dependencies) + 1 review task (blocked by all N).
Each task description MUST include all of this (the agent picking it up has zero prior context):
Spawn all in a single message (parallel). Each agent gets:
subagent_type: "general-purpose"
model: "sonnet"
team_name: "paper-mktg"
run_in_background: true
Agent prompt structure:
You are a senior marketing designer creating on-brand visual content.
Your layout approach: {variation_style}. {one-sentence vibe}
## Design Quality
Read the /frontend-design skill at ~/.claude/skills/frontend-design/SKILL.md for design principles.
Apply Swiss editorial typography: maximize contrast between display (700, 200px+) and label (300, 14px).
Spacing: tighter to group, generous to breathe. Color: one accent moment per slide.
Layout: favor asymmetry. Scale: dramatic differences (hero 3x larger than secondary).
## Your Task
Design {content_type} for {project_name} in Paper design tool. Create ONE artboard ({width}x{height}).
Read your full task description by calling TaskGet with taskId "{id}",
then mark it in_progress with TaskUpdate. When done, mark it completed.
## Paper Workspace
You are working in Paper file "{fileName}".
Existing artboards: {list}.
Loaded fonts: {list from get_basic_info}.
Do NOT modify existing artboards.
## Paper MCP Workflow
1. mcp__paper__get_basic_info() — confirm file state
2. mcp__paper__get_font_family_info({brand fonts}) — VERIFY every font before use
3. mcp__paper__create_artboard() — name: "Marketing: {variation_name}", width/height
4. mcp__paper__write_html() — build slide 1 in detail (2-3 calls for first slide)
5. mcp__paper__duplicate_nodes() — clone slide 1 structure for remaining slides
6. mcp__paper__set_text_content() — swap text per cloned slide
7. mcp__paper__update_styles() — adjust colors, sizes, emphasis per slide
8. mcp__paper__get_screenshot() — every 2-3 modifications, critique against quality rubric
9. mcp__paper__finish_working_on_nodes() — ALWAYS call when done
## Brand System
{full palette, typography, layout tokens from task description}
## Voice Rules
{key do's/don'ts, signature phrases, words to avoid}
## Design Brief
{this variation's layout approach, emphasis, vibe, tradeoffs}
## Content
{verbatim content spec — unique script per agent if from /slideshow-script}
## Quality Rubric
After each screenshot, check: (1) text readability at 50% zoom, (2) brand fidelity,
(3) archetype match, (4) platform safe zones, (5) visual rhythm, (6) hierarchy.
Fix any failures BEFORE moving to next slide.
## Paper HTML Rules
- Inline styles ONLY (style="...")
- display: flex for ALL containers (no grid, no margins, no tables)
- Google Fonts via font-family name (verify with get_font_family_info first)
- NO emojis — use SVG icons or text
- Arabic text: direction: rtl; font-family: "Noto Naskh Arabic"
- Build incrementally. Screenshot every 2-3 writes.
- Set layer-name attribute for semantic names.
SendMessage type: "shutdown_request")mcp__paper__get_screenshot()| Criterion | {Var 1} | {Var 2} | ... |
|-----------|---------|---------|-----|
| Hook strength | 8/10 | 9/10 | ... |
| Text readability | 9/10 | 8/10 | ... |
| Brand fidelity | 9/10 | 9/10 | ... |
| Visual variety | 7/10 | 9/10 | ... |
| Animation potential | 7/10 | 9/10 | ... |
"Here are the variations. What would you like to do?"
Options:
1. "Use #{n}" — pick one as the final
2. "Mix elements" — combine best parts of multiple
3. "Refine #{n}" — iterate on a favorite
4. "Create more slides in #{n}'s style" — extend the chosen direction
5. "Start over with different content" — new round
TeamDeleteAfter user selects a variation:
Extract JSX from selected artboard via mcp__paper__get_jsx():
mcp__paper__get_jsx(nodeId: "{selected_artboard_id}")
Save extracted HTML/CSS for Remotion reference.
Write handoff YAML to marketing/handoffs/{name}-handoff.yaml:
handoff_version: 1
project: {project_name}
content_type: {content_type}
selected_variation: {variation_name}
artboard:
name: "Marketing: {variation_name}"
width: {width}
height: {height}
slide_count: {N}
content_spec: "marketing/content-specs/{name}.yaml"
brand_snapshot:
bg_primary: "{hex}"
bg_deep: "{hex}"
accent: "{hex}"
accent_muted: "{rgba}"
text_primary: "{hex}"
text_muted: "{rgba}"
divider: "{rgba}"
font_display: "{font_family}"
font_display_weights: [300, 400, 700]
font_body: "{font_family}"
font_body_weights: [300, 400]
export_search_pattern: "{variation_name}@2x.png"
extracted_jsx:
slide_1: "{jsx}"
slide_2: "{jsx}"
Instruct user to export from Paper UI:
"Select the '{variation_name}' artboard in Paper and export as PNG @ 2x.
Save to ~/Desktop/ or your preferred location.
Then tell me the file path so /video-content can process it."
If a workflow log exists at marketing/logs/, append steps for:
Update brand/assets.md with the new asset.
display: flex. Using grid, margins, or HTML tables produces broken layouts with no error message — elements just disappear or stack incorrectly.get_font_family_info() first to confirm the font is loaded.get_basic_info() fails, tell the user to open Paper and connect the MCP server. Do not proceed without it.get_font_family_info() returns no match, fall back to a similar Google Font that IS available. Note the substitution in the task description.brand/ files. Reads brand system at runtime, never hardcodes.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Add a new expert to the Remotion experts page
日本語の概要は準備中です。原文の説明を表示しています。
Add a new sound effect to @remotion/sfx
日本語の概要は準備中です。原文の説明を表示しています。
Use when setting up a secure email inbox for any AI agent — configuring inbound email via Resend, webhooks, tunneling for local development, and implementing security measures to prevent prompt injection attacks. Also use when someone mentions 'agent email', 'bot inbox', 'receive emails for agent', 'agent webhook', 'email security for AI', 'prompt injection via email', 'inbound email for bot', or wants their AI agent to receive and respond to emails securely.
日本語の概要は準備中です。原文の説明を表示しています。
Builds, measures, and improves an Answer Engine Optimization program across ChatGPT, Perplexity, Claude, Gemini, Google AI Overviews, and Copilot. Use for AEO, GEO, LLMO, AI search visibility, AI citations, brand mentions, answer-engine monitoring, llms.txt, AI crawler audits, or questions like 'what does AI say about us?' and 'why are competitors cited instead of us?'. Produces a durable evidence report and prioritized gameplan, not a one-shot content checklist.
日本語の概要は準備中です。原文の説明を表示しています。
Generate Apple App Store screenshot pages as a Next.js app with html-to-image export at required resolutions. Screenshots are advertisements, not documentation — every screenshot sells one idea. Use when building App Store screenshots, generating exportable marketing screenshots for iOS apps, or creating programmatic screenshot generators. Triggers on 'app store screenshots', 'App Store', 'screenshot generator', 'iOS screenshots', 'marketing screenshots', 'phone mockup', 'ASO screenshots', 'app store assets', 'app listing', 'app store page', or 'app preview images'. Also use when someone is about to submit an app and needs store assets, or when they say 'make my app store page look good'. Includes iPhone and iPad mockup components with pre-measured dimensions.
日本語の概要は準備中です。原文の説明を表示しています。
Build detailed buyer personas and audience profiles from research. Use this skill whenever the user mentions audience, buyer persona, ideal customer, target market, ICP, watering holes, 'who am I selling to', customer research, or audience profile. Also use when content feels unfocused or generic (that's an audience problem), when conversion is low because messaging doesn't resonate, when starting any new project (audience should be first), or when any downstream skill needs audience.md but it doesn't exist yet. Even if the user doesn't explicitly ask for audience research, trigger this if they're writing copy or building a landing page without a clear audience defined. Three approaches: Quick Profile, Persona Build, Community Mining.
日本語の概要は準備中です。原文の説明を表示しています。