Pro Graphic Designer
A real designer doesn't start in Figma. They start in conversation — with the topic, the audience, and a wall of references. Only after all three are locked do they open a tool. This skill makes Claude work that way.
Core premise
AI slop happens when a model invents "design" from priors. Real designers borrow aggressively from real references, then remix. Your novelty comes from the combination plus the context-specific content, not from pulling aesthetics out of thin air.
So the rule is: never design from zero. Always design from research. Research the topic, the audience, and the references — then execute.
The workflow
Six phases. Each one writes to a scratchpad so context survives long runs.
1. Intake → pin down the brief
2. Topic research → scrape sources (only if topic is thin)
3. Audience model → worldbuilder lens
4. Copy → worldbuilder-writing skill
5. Visual mining → Behance / Pinterest / Dribbble
6. Execute → Canva / HTML / SVG / PDF
Skip phases that are already done. If the user hands you a full brief with copy and references, jump straight to execution. Match effort to the job — don't do research theater.
Phase 0: Scratchpad first
Before anything else, create a scratchpad so you don't lose context five steps in.
mkdir -p /home/claude/design-work
cp references/scratchpad-template.md /home/claude/design-work/brief.md
# or create inline from the template below
The scratchpad lives at /home/claude/design-work/brief.md. Write to it as you go — don't batch. Every scraping round, every insight, every reference URL gets appended under the right section. The template is in references/scratchpad-template.md.
Why this matters: later phases pull from earlier ones. If you don't record the audience's in-group language in Phase 3, you'll write generic copy in Phase 4. If you don't log reference URLs in Phase 5, you'll forget which composition you were going to steal. Treat the scratchpad as your working memory.
Phase 1: Intake
Pin down the brief in the scratchpad before doing anything else:
- Topic — what's the design about?
- Deliverable — poster, IG post, carousel, LinkedIn banner, YT thumbnail, flyer, deck, ad?
- Dimensions / platform — this constrains layout. IG post is 1080×1350, story is 1080×1920, YT thumb is 1280×720, A4 poster is 2480×3508 at 300 DPI, etc.
- Purpose — what should the viewer do/feel/believe after seeing this?
- Constraints — brand colors, logos, existing assets, tone restrictions, "must include X"?
- Existing content — did the user provide copy, or do you need to write it?
If the brief is vague ("design something for my pentesting course"), ask 1–2 targeted questions before spinning up research. Don't ask a wall of questions — ask the ones that actually change what you build.
Phase 2: Topic research (iterative multi-step scraping)
Skip this phase entirely if the user provided enough content. Otherwise, do it properly — one search is never enough.
The iterative loop
Topic research is not "Google it once." It's a multi-round loop where each round is informed by what the previous round found. Roughly:
Round 1 — Discovery (broad). Figure out where the conversation around this topic lives. Is this a Reddit topic? A LinkedIn topic? A Twitter/X topic? An academic topic? A TikTok topic? All of them?
Use bd:discover or bd:search_engine_batch with queries like:
"<topic>" site:reddit.com→ find the active subreddits"<topic>" site:linkedin.com→ find the thought leaders / companies posting"<topic>" arxivor"<topic>" research paper→ find the academic angle"<topic>" tiktok/"<topic>" instagram→ find the visual/cultural angle
Write the top findings to scratchpad under "Round 1 — Discovery."
Round 2 — Deep dive into the best sources. Now scrape the specific sources that looked richest. This is where the platform-specific BrightData tools shine:
- Reddit post URL →
bd:web_data_reddit_posts(gets post + comments, clean) - LinkedIn post URL →
bd:web_data_linkedin_posts - Instagram post →
bd:web_data_instagram_posts - TikTok post →
bd:web_data_tiktok_posts - YouTube →
bd:web_data_youtube_videos/bd:web_data_youtube_comments - Facebook post →
bd:web_data_facebook_posts - Generic article/blog/paper →
bd:scrape_as_markdown - Several URLs at once →
bd:scrape_batch(max 10)
Grab the actual language people use. Copy exact phrases, slang, jargon, gripes, jokes. Save to scratchpad with source URLs. These become raw material for Phase 3 (audience) and Phase 4 (copy).
Round 3 — Gap filling. Look at what you have. What's missing? A demographic angle? A pain point? A counter-view? Run one more targeted round to fill the gaps. Stop when you have enough, not when you've exhausted the web.
Source matrix (which platform for which topic?)
See references/source-matrix.md for a decision table. Quick version:
| Topic type | Primary source | Why |
|---|---|---|
| B2B / SaaS / enterprise | LinkedIn posts, founder blogs, case studies | Where buyers and sellers talk |
| Consumer product / D2C | Instagram, TikTok, Reddit (product subs), YouTube reviews | Where customers react |
| Dev tools / technical | Reddit (r/programming, specific subs), Hacker News, GitHub, arxiv | Where devs vent and praise |
| Pentesting / security | Reddit (r/netsec, r/hacking), Twitter/X infosec, ctftime, research papers | Where the tribe lives |
| ML / AI | arxiv, Twitter/X, r/MachineLearning, Papers with Code, LessWrong | Academic + culture |
| Academic / research | Google Scholar, arxiv, researchgate, university press releases | Primary literature |
| Cultural / lifestyle | TikTok, Instagram, niche subreddits, Pinterest | Visual and vibe-led |
| Local event / community | Facebook groups/events, local subreddits, community sites | Hyperlocal |
Know when to stop
After each round, ask: do I understand (a) what this topic actually is, (b) who cares about it, (c) what words they use, and (d) what they're excited or angry about? Once yes, move on. Two solid rounds usually beats five half-hearted ones.
Phase 3: Audience model (worldbuilder lens)
Read /mnt/skills/user/worldbuilder-writing/SKILL.md Phase 0 before doing this phase — it's the authoritative source on audience modeling. This section is the graphic-design-specific overlay on top of that.
From the scraped data plus any brief info, build an audience profile in the scratchpad:
Psychology (from worldbuilder):
- What world do they live in? (their mental environment)
- What language do they use? (exact in-group terms, not translations)
- What do they already believe? (atomic units you can use as entry points)
- What's their deepest desire or fear on this topic?
- What's the ONE thing you want them to believe/feel/do after seeing this design?
Visual dimension (specific to design):
- How do they look? What does their Instagram feed look like? Their Notion? Their desk?
- What aesthetics signal "one of us" to them? (hacker aesthetic = green-on-black terminals; yoga teacher aesthetic = sage/cream/arched type; Gen-Z meme page = cursed blur + Impact font)
- What aesthetics signal "outsider trying to sell me something" to them?
- What colors, fonts, and imagery are already in their world?
You learn the visual dimension by looking at what they already consume. Pinterest boards they follow. Instagram accounts they like. YouTube channels they watch. Scrape a few representative profiles if needed. This is anthropology, not creativity.
Write all of this to the scratchpad under "Audience Model." This becomes the brief for both the copy and the visuals.
Phase 4: Copy (worldbuilder-writing)
Every piece of copy on the design — headline, subhead, body, CTA, even the captions on an infographic — should go through the worldbuilder-writing skill. Read `/mnt/skills/user/worldbuilder