Use when researching a topic through iterative web exploration and synthesis
From second-claude-codenpx claudepluginhub unclejobs-ai/second-claude-code --plugin second-claude-codeThis skill uses the workspace's default tool permissions.
gotchas.mdreferences/jina-guide.mdreferences/playwright-guide.mdreferences/research-methodology.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
No guessing. If there is no data, collect it first.
Autonomous multi-round web research that produces structured Research Briefs.
/second-claude-code:write, /second-claude-code:analyze) needs source materialThe researcher uses Jina Search (s.jina.ai) as the primary tool. Fallback chain: Jina Search → WebSearch + WebFetch → Playwright. See references/jina-guide.md.
When mmbridge is detected (see references/mmbridge-integration.md), dispatch mmbridge research in parallel with the internal researcher.
At Step 1, also run via Bash:
mmbridge research "<topic>" --type <type> --json > /tmp/mmbridge-research-${RUN_ID}.json
--type code-aware: when topic relates to the current codebase--type open: for general topics unrelated to code--depth shallow: skip mmbridge--depth medium|deep: mmbridge enabledAt Step 3, parse the mmbridge JSON output file as supplemental source material. Count each distinct cited URL from mmbridge as one source and deduplicate overlaps during gap analysis.
references/research-methodology.md and references/jina-guide.md.$JINA_API_KEY is unavailable, fall back to WebSearch + WebFetch. If mmbridge is available at medium or deep depth, dispatch it in parallel.r.jina.ai) with X-Engine: browser, then Playwright if available.references/research-methodology.md.| Flag | Values | Default | Effect |
|---|---|---|---|
--depth | shallow|medium|deep | medium | HARD limit on search rounds — see Depth Behavior |
--sources | web|academic|news | web | Constrains search domain |
--lang | ko|en|auto | auto | Output language. When called from another skill (write, analyze), inherits the caller's --lang value. |
--interactive | flag | off | Force Playwright for all URL fetches (useful for SPAs, dashboards) |
--engine | jina|legacy | jina | jina: use Jina Search API. legacy: use WebSearch + WebFetch |
When --engine legacy is set or $JINA_API_KEY is unavailable, replace "Jina Search" with "WebSearch" and "Jina Reader" with "WebFetch" in the above counts.
Coverage requirements and conflict resolution rules are in references/research-methodology.md.
--sources)after:30d and prefer established editorial sources over blogs.Jina Search (s.jina.ai) ─── primary: search + content in one call
└─ blocked/empty → Jina Reader (r.jina.ai) with X-Engine: browser
└─ still fails → Playwright (browser_navigate + browser_snapshot)
└─ unavailable → note in Gaps & Limitations
When --engine legacy or $JINA_API_KEY is unavailable:
WebSearch → WebFetch → Playwright → Gaps & Limitations
When --interactive is set, skip Jina/WebFetch and use Playwright for every URL.
Cost controls: Max 3 Playwright navigations per round. Exceeding the cap means skip the rest and note the gap.
Graceful degradation: Both Jina and Playwright are optional. If $JINA_API_KEY is missing, fall back silently. If Playwright MCP is unavailable, proceed without it and note unreachable URLs.
.captures/research-{slug}-{YYYY-MM-DD}.md{slug} = topic lowercased, spaces to hyphens, max 40 chars| Failure Mode | Mitigation |
|---|---|
| Stops after 1 search | researcher MUST meet depth minimums: shallow=3, medium=5, deep=10. Fewer = restart. |
| Lists links without analysis | analyst step is required. Raw link dumps are rejected. |
| Hallucinated sources | Every URL must come from an actual Jina Search/WebSearch result. writer cannot invent URLs. |
| Duplicate queries | researcher must vary phrasing with synonyms and different angles per query. |
| Jina API key missing | Fall back to WebSearch + WebFetch silently. Do not error. |
researcher: { model: sonnet, tools: [Bash, WebSearch, WebFetch, browser_navigate, browser_snapshot], constraint: "use Jina Search via Bash/curl when $JINA_API_KEY is set; fall back to WebSearch+WebFetch otherwise; meet depth minimums, vary phrasing, validate fetched content, flag staleness; Playwright tools optional — use only when Jina and WebFetch both fail or --interactive set; max 3 Playwright navigations per round" }
analyst: { model: sonnet, tools: [], constraint: "produce gap list, flag data conflicts, verify coverage requirements" }
writer: { model: sonnet, tools: [], constraint: "every claim needs a source, no invented URLs, include conflict annotations" }
See references/research-methodology.md for output format template, extended gotchas table, and integration notes.