design-research
Skill10 starsChanged 33 days agoMITView on GitHub
Use when a designer wants screenshots of a website, web app, admin UI, or local app flow captured and placed into a Figma refs section as labelled rows, optionally with review observations next to the screens or a comparison across sources. Triggers include "screenshots into Figma", "visual references", "reference this flow", "capture these competitors", "add your observations next to them", "compare these three", or a Figma refs section link plus a request to add more screens.
10 other projects use a version of this.
Adopted by
Most recently taken up by
- fergo5002/design-directortheir own version, first seen Nov 15, 2026
- ldaume/agentic-engineering-harnesstheir own version, first seen Nov 8, 2026
- matthewdigiuseppe/MStacktheir own version, first seen Nov 1, 2026
- ZachArticulateV/designer-pro-and-seotheir own version, first seen Oct 19, 2026
- int2t05/engineering-skillstheir own version, first seen Oct 15, 2026
- adtn0810/truestacktheir own version, first seen Sep 12, 2026
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- hamelsmu/design-research★ 76same name
- matthewdigiuseppe/MStack★ 17same name
- tykisgod/quick-question★ 12same name
- mevans2120/design-suite-claude-skills★ 11same name
- ZachArticulateV/designer-pro-and-seo★ 10same name
- int2t05/engineering-skills★ 3same name
- ldaume/agentic-engineering-harness★ 3same name
- adtn0810/truestack★ 2same name
- fergo5002/design-director★ 1same name
- wjlgatech/design-anything★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- design-annotationsSkill
- design-first-draftSkill
- design-organizeSkill
- dev-handoffSkill
- research-synthesisSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 1 is distinctive, and 5 are very specific to this project.
0
Common
Most of the 10 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 32
Use TaskCreate for each step.
- Very specific: line 46
Read shared/common-steps.md, "Permissions" and "No Shell Variables in Bash Commands".
- Distinctive: line 70
Comparison: Only with 2+ sources: a comparator agent rates sources across dimensions with a verdict.
- Very specific: line 76
Follow capture.md, "Layout rule".
- Very specific: line 92
Follow review-layer.md. Write a review brief per source, dispatch agents/marketing-reviewer.md (public sites) or agents/ux-reviewer.md …
- Very specific: line 99
Only with 2+ sources and the layer chosen.
“Common” is measured: kept by at least 6 in 10 of the 10 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Design Research
Capture a flow with agent-browser and place the screenshots into a Figma refs section, one labelled row per source, matching whatever row already exists. Optionally layer observations next to the screens (review agents) and a comparison across sources. Ends by handing off to research-synthesis.
Sources can be public websites, logged-in web apps (a WordPress admin is one kind of logged-in app here), or apps running locally. This skill never modifies the target site: no CLI, no plugin or data changes. WordPress-specific setup (WP-CLI, temp users, plugin hygiene) lives in the separate wp-plugin-research skill, which calls back into this one for capture and placement.
REQUIRED SUB-SKILL: load figma:figma-use before any use_figma call.
Supporting files: capture.md (login, capture, Figma placement recipe), review-layer.md (review brief, agents, placing observations, gallery, comparison). shared/common-steps.md holds permissions, shell rules, capture strategy, gallery and troubleshooting.
Quick Reference
| Step | What | Key decision |
| 0 | Permissions and prerequisites | Auto mode; agent-browser; Figma MCP |
| 1 | Gather all input in one question | Sources, flow, refs section, layers |
| 2 | Read the target section | Copy an existing row's layout if present |
| 3 | Login per source (if needed) | Generic form login; hand SSO or 2FA back |
| 4 | Capture and verify | One folder per source, flow order, journey notes |
| 5 | Place rows in Figma | upload_assets, verify IMAGE fills |
| 6 | Review layer (optional) | Agents, then observations on the canvas or gallery |
| 7 | Comparison (optional, 2+ sources) | Comparator agent |
| 8 | Verify, report, hand off | Section screenshot; point to research-synthesis |
BEFORE YOU START: Create Tasks
Use TaskCreate for each step. Mark in_progress when starting and completed when done.
- "Step 0: Permissions and prerequisites"
- "Step 1: Gather input"
- "Step 2: Read target section"
- "Step 3: Login per source"
- "Step 4: Capture and verify"
- "Step 5: Place rows in Figma"
- "Step 6: Review layer (if chosen)"
- "Step 7: Comparison (if chosen)"
- "Step 8: Verify, report, hand off"
Step 0: Permissions and Prerequisites
Read shared/common-steps.md, "Permissions" and "No Shell Variables in Bash Commands". Recommend auto mode before the command-heavy steps.
| Check | How | Fix |
| agent-browser | which agent-browser | npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser |
| Figma MCP (required) | mcp__figma__use_figma and mcp__figma__upload_assets present | shared/common-steps.md, "Figma MCP Setup" |
| figma-use skill | loaded via the Skill tool | load it now |
Figma is the default output, so the Figma MCP is required. If the user only wants PNGs on disk, stop after Step 4 and say so.
Step 1: Gather Input (Single Interaction)
One AskUserQuestion. The user answers everything and walks away.
Sources. URLs, or a discovery query ("booking apps with an admin calendar") resolved with WebSearch into a numbered list the user picks from. For each source: is it public, needs a login (credentials, or the user will log in when asked), or runs locally?
Flow. Which screens, in order. Options: "homepage plus key pages", "this admin flow: <steps>", "let me explore and propose a list" (navigate, build the list, show it, then capture).
Refs section. The Figma URL of the section to place rows in, or the page to create one on. A node-id=A-B in the URL is node A:B.
Layers. Multi-select:
- Refs only. Screens on the canvas, nothing else. Default.
- Observations next to the screens. A review agent reads the screens (marketing lens for public sites, app-UX lens for admin UIs) and the observations are placed on the canvas beside each screen. Ask for the lens (General UX, First-time experience, Marketing effectiveness, Conversion flow, Upsell and monetization, or a sentence of their own) and the depth (Light, or Impact and Opportunity scores).
- HTML gallery. The annotated gallery as well as, or instead of, canvas notes.
- Comparison. Only with 2+ sources: a comparator agent rates sources across dimensions with a verdict.
Print a plan summary (sources, flow, section, layers, estimated screens) and start. No further gates before writing to Figma; this flow is for unattended runs. The final message carries a section screenshot so the user can check and undo.
Step 2: Read the Target Section
Follow capture.md, "Layout rule". If the parent section already holds a row, read it and copy its numbers (tile size, gap, padding, label font, fill). If empty, use the defaults. Name the page and the row matched in the final message.
Step 3: Login per Source
Follow capture.md, "Login". Generic form login only: open the login URL, fill the fields found with snapshot -i, submit, verify the landing page. SSO, 2FA, captcha, or a magic link: hand back to the user with one AskUserQuestion ("Log in in the agent-browser window, then tell me to continue"). Re-login before each source; sessions expire.
Step 4: Capture and Verify
Follow capture.md, "Capture". One folder per source screenshots/<source-slug>/, files NN-description.png in flow order, chunked -p1, -p2 for pages taller than one viewport. Read every PNG after capture. Drop near-duplicates. Keep a journey note per screen (one to three factual sentences) even in refs-only mode; the review layer and research-synthesis both use them.
Step 5: Place Rows in Figma
Follow capture.md, "Place rows in Figma". One sub-section per source inside the parent, tiles as rectangles with IMAGE fills, labels above tiles from the filenames, uploaded with upload_assets in filename order. Grow the parent. Verify the IMAGE fill count equals the tile count before moving to the next source.
Step 6: Review Layer (optional)
Follow review-layer.md. Write a review brief per source, dispatch agents/marketing-reviewer.md (public sites) or agents/ux-reviewer.md (apps and admin UIs) as general-purpose subagents, validate the manifest counts, then place the observations:
- On the canvas (default when chosen): one note per screen beside its tile, using a design-system note component if the user has one or the default note template from
design-annotations. Each observation is one line with its type (positive, observation, critical) and, for Impact and Opportunity depth, its scores. - HTML gallery:
shared/common-steps.md, "Generate HTML Gallery" and "Local Server & Gallery Verification". Ask for approval before importing the gallery to Figma.
Step 7: Comparison (optional)
Only with 2+ sources and the layer chosen. Follow review-layer.md, "Comparison". Place the comparison table as a text frame under the rows, or as the comparison gallery.
Step 8: Verify, Report, Hand Off
get_screenshot of the parent section. Final message: the page and row matched, sources and tile counts, where observations landed, the section screenshot, and:
Next step: when the observations are in place,
research-synthesisturns them into a problem statement, objectives, shared patterns and directions.
Cleanup: kill any local gallery server. Nothing else; the targets were not modified.
Common Mistakes
| Mistake | Fix |
| Building an HTML gallery to import refs | upload_assets places PNGs directly. The gallery is a review-layer output, not an import step. |
| Applying default layout when a row exists | Read the row first. The user's arrangement wins. |
| Running a CLI against the target site | Out of scope here. WordPress setup belongs to wp-plugin-research. |
| Retrying SSO or 2FA by script | Hand back to the user once, wait, continue. |
nodeIds in a different order than the files | Both arrays in filename order or images land on the wrong tiles. |
| Letting upload URLs expire | Request slots only when files are ready; POST within 10 minutes. |
| Trusting HTTP 200 alone | Re-read the tiles; every fill must be IMAGE. |
| Placing notes over screens | Reposition per design-annotations (note at screen.x + screen.width + 50) before placing. |
| Analysing screens yourself | Dispatch the reviewer agent. The main agent captures and places. |
| Labels sized for full screens (70pt) | Tiles are compact; 20pt reads. Match the existing row. |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

