# Reference Hunt

> Use whenever the deliverable is *found* material rather than *generated* material — real examples, reference images, prior art, competitor work, source collections. Visual references first (GFX, UI, thumbnails, brand, packaging, web layout), then code/implementation examples and written sources. Gives the multi-angle query fan-out, per-source-type phrasing, the reject list, the verification rule, and where findings land. Use it on "find examples of X", "get me references for X", "who does X well", "show me how others do it", "busca referencias de X" — and use it even when the request looks like one quick web search, because firing a single query and reporting whatever ranks first is exactly the failure this prevents. Do not answer these from memory.

- Skill: `presidenteog/reference-hunt` (Agent Skill)
- Install (CLI): `npx skillmds@latest add presidenteog/reference-hunt`
- Raw SKILL.md: https://api.skillmd.com/api/skills/presidenteog/reference-hunt/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: PresidenteOG (https://skillmd.com/u/presidenteog)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/presidenteog/reference-hunt

---


# Reference Hunt

The output is found material with provenance. Every finding carries a live URL, a date
checked, and one line saying why it survived. A claim without a source is not a finding —
it is memory wearing a citation's clothes.

## 0. Pin the frame before the first query

Three lines, written down. They are the accept/reject rule for everything after.

| Pin | Question | Example |
|---|---|---|
| Type | visual / code / written / mixed | visual — Roblox GFX character renders |
| Acceptance | what makes one finding good, testably | "a named in-frame emitter lighting the character, not studio 3-point" |
| Volume + stop | how many, and what ends the hunt | "6 refs; stop when 2 consecutive angles return only already-seen URLs" |

If X is a broad category ("good UI", "nice thumbnails"), narrow it to a testable phrase
first. A broad hunt returns aggregator sludge, and no amount of ranking rescues it.

## 1. Vault first — one cheap pass

Skip only when the topic is plainly external and new.

- `mem-search` — did an earlier session already hunt this?
- `/vault-search "<question>"` — semantic index over the vault.
- Visual: check `ClaudeFX/Knowledge/Design/<domain>/` — a profile and a `refs/` folder may
  already exist for that domain (`gfx`, `thumbnails`, `web-layout`, `logo`, `vfx`, …).

Name what already exists before adding to it. A duplicate reference is worse than no
reference: it inflates a profile's apparent evidence without adding any.

## 2. Fan out — multi-search, never one query

One query is one hypothesis about vocabulary. Run 3–5 angles, in parallel, in a single
tool block.

| Angle | Phrasing |
|---|---|
| Plain | the thing as the requester named it |
| Practitioner | the jargon a professional in that field uses instead |
| Container | the artifact type that holds it — "breakdown", "case study", "portfolio", "showcase", "post-mortem", "gallery" |
| Negative space | the adjacent thing it is often confused with, to map the boundary |
| Named authority | a studio, artist, repo or author known for it, searched by name |

Tool per angle:

- `mcp__exa__web_search_exa` — default. Describe the ideal page, not keywords:
  *"blog post breaking down a Roblox GFX render pipeline in Blender"* beats
  *"roblox gfx blender"*.
- `mcp__exa__web_search_advanced_exa` — when a filter is doing real work:
  `includeDomains` for gallery/authority sites, `category` (`github`, `pdf`,
  `publication`, `personal site`, `news`), `startPublishedDate` for fast-moving domains,
  `excludeDomains` to kill a farm that keeps ranking.
- `WebSearch` — a different index, US-only. Run it alongside Exa on at least one angle so
  an Exa blind spot becomes visible instead of silent.
- `mcp__exa__web_fetch_exa` — batch every confirmed candidate URL into one call, not one
  call per URL.

Stop at saturation, not at a target count. If angle 4 and angle 5 both return only URLs
already seen, the vocabulary is exhausted and more queries buy nothing.

## 3. Visual references take a different path

This is the common case and the one most often done wrong. Search tools return text. They
cannot see an image. Four consequences:

**Search for pages that host image sets, not for images.** Named galleries beat generic
queries — target them with `includeDomains`: `artstation.com`, `behance.net`,
`dribbble.com`, `cara.app` for art and GFX; `mobbin.com`, `land-book.com`,
`godly.website`, `awwwards.com`, `siteinspire.com` for UI and web layout;
`devforum.roblox.com` and `create.roblox.com` for Roblox specifically.

**Look at what you found.** Download candidates to disk, then `Read` the image file —
Claude sees images through Read. A reference that was never viewed is a link, not a
reference. Never describe a style from a page's alt text, its title, or your own prior:
that produces a plausible profile of a picture nobody looked at.

**File them with provenance.** Images go in
`ClaudeFX/Knowledge/Design/<domain>/refs/`, each with its origin URL recorded. Then hand
off to `image-dna` (extract mode) to turn refs into a style profile. That skill writes
the rules; this one only supplies vetted inputs.

**Handing refs to an external image model:** batch into labelled contact sheets — Gemini
web caps at 10 attachments. See `image-handoff`. Roblox avatars come from the public
thumbnail API, not from a search engine.

## 4. Reject before ranking

Kill on sight:

- Listicle content farms ("Top 15 …") that only link elsewhere — chase the outbound link,
  drop the page itself.
- Undated pages in a domain that moves.
- Anything whose claims trace to no primary source and no inspectable artifact.
- AI-generated example galleries when the acceptance criterion was "how professionals
  actually do it". They match the description and miss the craft.

Rank survivors: primary over secondary; an artifact you can open over a description of
one; recent over old *only* where recency changes correctness.

## 5. Verify each survivor

Fetch it. A search snippet is a claim about a page, not the page. Every named claim — a
number, an API, a version, a technique, an attribution — is confirmed in the fetched text
or dropped. A finding that survives on snippet alone ships labelled **unverified**, never
silently. Same discipline as `verifying-agent-reports`.

## 6. Deliver — choose, don't ask

| Situation | Output |
|---|---|
| ≤8 findings, one-off, no reuse | chat only: name, one-line why-it-survived, link |
| Reusable link collection | `ClaudeFX/Sources/<topic>/<name>.md` — entries with per-entry verdict |
| Visual refs meant to shape later work | files in `Knowledge/Design/<domain>/refs/` + origin URLs, then `image-dna` |
| Findings that harden into a rule | `ClaudeFX/Knowledge/<area>/`, tagged derived (traced to a ref) vs general (asserted) |
| >15 findings, or feeds a decision | research note in `Planning/<initiative>/` |

Any written form carries, per finding: what it is, source URL, date checked, why it
survived, verified or unverified. Assets downloaded alongside a note live next to it, and
the note names each file's origin URL.

## 7. Delegation

Bulk fan-out goes to `crew-researcher` (has Exa, WebSearch, WebFetch). Hand it the step-0
frame verbatim — type, acceptance rule, stop condition — or it will return volume instead
of matches. Verify every count and claim it reports before repeating them.

Visual judgment does not delegate cleanly: a subagent can return links, but a report
saying a reference "matches the style" is worth nothing unless something actually opened
the image. Use `crew-vision` when many downloaded images need describing, and look
yourself at the ones the decision rests on.

## Hands off to, doesn't replace

`image-dna` (refs → style profile) · `gfx-prompt` / `image-handoff` / `image-request`
(generating from the refs) · `/graphify` and `/vault-search` (questions answerable inside
the vault — don't go to the web for those) · `customer-research` (evidence about people,
not artifacts) · context7 MCP (library and framework docs — query it instead of
web-searching them).

