Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/danpeg/visual-research/visual-researchnpx skills add danpeg/visual-research --skill visual-researchgit clone --depth 1 https://github.com/danpeg/visual-researchWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00116 | $0.08677 |
| Opus 5 | $0.00058 | $0.04339 |
| Sonnet 5 | $0.00023 | $0.01735 |
| Haiku 4.5 | $0.00012 | $0.00868 |
Grade A, and why
visual-research scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- `curl` — Instagram API calls, direct image downloads. Pre-installed on macOS/Linux. How it starts
The opening of the file, as written. The whole thing — 643 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Visual Research
Full-pipeline skill for researching a brand's visual identity, capturing imagery from every available source, and packaging it into a branded HTML report with a 13-section competitive analysis.
Setup
Before starting, check available tools and build a capabilities report.
Required:
curl— Instagram API calls, direct image downloads. Pre-installed on macOS/Linux.
Recommended (API keys):
| Key | What it powers | Phase | Fallback |
|---|---|---|---|
GEMINI_API_KEY |
Gemini Vision — color extraction, composition analysis from captured images | Analyze | Claude's built-in vision via Read tool. Good quality, Gemini preferred for batch processing |
Check: echo $GEMINI_API_KEY
Optional (CLI tools):
| Tool | What it powers | Phase | Install | Fallback |
|---|---|---|---|---|
| Playwright | Full-page screenshots of websites, social grids, app stores | Capture | npx playwright install chromium |
web_fetch for text content. Loses visual capture |
| yt-dlp | YouTube/TikTok video thumbnails | Extract | pip3 install yt-dlp |
web_search for campaign stills from press |
| Scrapling | Anti-bot scraping for protected sites | Capture/Extract | pip3 install scrapling |
web_fetch — works for most sites |
Check each: which playwright, which yt-dlp, python3 -c "import scrapling" 2>/dev/null && echo ok
Setup behavior:
-
Check each prerequisite and report what's available
-
For missing items, explain what the user loses and how to install
-
If anything is missing, STOP and wait for the user to confirm before proceeding. Present a clear summary like:
Ready: Playwright, yt-dlp, curl Missing: GEMINI_API_KEY (vision analysis will use Claude instead) Scrapling (will use web_fetch fallback) Install now, or proceed with what's available?Do NOT continue to Phase 1 until the user explicitly says to proceed.
If everything is available, report the green status and proceed directly to Phase 1 — no confirmation needed.
-
Record the capabilities in the output document's Setup section
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 643 lines · 116 tokens per session scan A 09223dba67c9
visual-research is a skill published in the GitHub repository danpeg/visual-research (3 stars, last pushed 5mo ago), licensed MIT. It adds 116 tokens to every session and 8,677 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
logo-design
Design or evaluate a logo against the SAD bar — Simple, Appropriate, Distinct — always judged in context. Use when designing a new mark, refining one, or assessing whether an existing logo is any good. Triggers on 'logo,' 'wordmark,' 'brandmark,' 'mark,' 'monogram,' 'favicon/app icon,' 'is our logo good,' 'redesign…
build-startup-brand
Turn a startup idea, product, URL, pitch, or existing visual identity into a distinctive startup brand system and a polished standalone HTML report. Use when Codex needs to create or refine startup positioning, a salient brand idea, brand promise, tagline, messaging, voice, creative territories, logo or symbol…
linkedin-carousel
Creates the slides of a LinkedIn carousel, both kinds. Use when the user wants a "LinkedIn carousel", a "LinkedIn document post", a "LinkedIn PDF carousel", a "LinkedIn carousel ad" or "several slides that swipe" for a LinkedIn project. Two paths, and the choice is asked rather than assumed. Either an organic document…
facebook-carousel
Creates the cards of a Facebook carousel ad at Meta's dimensions, as a series of coherent visuals. Use when the user wants a "Facebook carousel", a "carousel ad" or "several cards that swipe" for a project. Produces N .tsx templates (one card = one PNG) in a dedicated subfolder, sharing a common theme, aligned with…
facebook-page
Creates the visuals for a Facebook Page (profile photo = the brand, and cover photo) at Facebook's official dimensions. Use when the user wants a "Facebook profile photo", a "Facebook cover", a "Facebook page banner" or "the FB page logo" for a project. Produces one or two .tsx templates at the sizes Facebook imposes…
new-template
Scaffolds a new visual (.tsx) in an existing BrandArtisan project, aligned with its brand.md guidelines. Use when the user wants to create a new image/cover/banner/OG in a project ("new visual", "add a cover for X", "create the OG for Y"). Always reads brands/ /brand.md and refuses if it is missing.