Workflow
When this skill triggers, follow these steps in order.
Step 1 — Identify the research target
Ask the user for the company or person name and (optionally) their website URL.
- If a URL is provided, use it with the
--liveflag for a live fetch. - If only a name is provided, use web search to locate the canonical URL before fetching.
- If neither is available, offer to run the built-in example against the committed cached fixture for Y Combinator.
Step 2 — Fetch and extract
Run the research engine against the target:
Offline / cached mode (default — no network required):
node scripts/research.mjs
Reads resources/ycombinator-cached.html and extracts facts from the committed fixture.
Live mode (requires network access):
node scripts/research.mjs --live <url>
Fetches the URL using Node's built-in fetch, then runs the same extraction pipeline.
The engine:
- Strips HTML tags and normalizes whitespace to plain text.
- Extracts the page title, meta description, and notable bullet lines.
- Identifies the company name, what they do, and notable statistics or signals.
Step 3 — Synthesize the brief
The engine writes a structured Markdown brief with five sections:
| Section | Content |
|---|---|
| Company | Name extracted from the page title |
| What They Do | Meta description or first meaningful paragraph |
| Signals / Notables | Bullet lines from the page (stats, dates, funding, news) |
| Likely Pain Points | Inferred from keyword analysis of the extracted text |
| Suggested Hook | A tailored opening line for an outbound message |
Step 4 — Deliver and iterate
Present the brief to the user. Offer to:
- Refine the hook for a specific product or angle.
- Add competitive context if the user provides a competitor name.
- Re-run with a different URL or a fresh live fetch.
Example
The committed example researches Y Combinator using the cached fixture:
cd skills/autumn-prospect-research
bash examples/run.sh
Output is written to examples/output.md. See examples/input.md for the research request.
The committed proof is fully deterministic and offline. In a live session, Claude uses web search and the --live flag to research any target in real time.