Skip to content
Back to skills

Research Topic

ASecurity

Multi-step research orchestration. Use when user asks "research X", "summarize current state of Y", "what's the latest on Z", or compares approaches. Calls extract(action="agent") which searches the web, extracts top results, then synthesises a citation-preserving Markdown answer with one configured LLM.

  • 18 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 26, 2026
ai-agentsapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 5, 2026

npx -y skills add n24q02m/wet --skill research-topic --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Research Topic?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Research Topic
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/n24q02m-research-topic-wet/badge)](https://www.skillsdirectory.com/skills/n24q02m-research-topic-wet)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: research-topic
description: Multi-step research orchestration. Use when user asks "research X", "summarize current state of Y", "what's the latest on Z", or compares approaches. Calls extract(action="agent") which searches the web, extracts top results, then synthesises a citation-preserving Markdown answer with one configured LLM.
argument-hint: "<research question>"
---

# research-topic

Drive wet's `extract(action="agent")` to answer a research question
end to end: one search round + concurrent extracts of the top hits + a
single LLM synthesis pass that preserves numbered `[N]` citations
matching the returned sources.

Use this skill when:
- The user asks an open-ended question that needs multiple sources.
- "Summarise the current state of X."
- "What's the latest on Y?"
- "Compare approaches to Z."
- The user needs a quoted, cited answer (the citations are first-class
  output, not an afterthought).

Do NOT use this skill when:
- The user already gave you a specific URL -- call `extract(action="extract")`.
- The user wants a single search result list -- call `search(action="web")`.
- The question is about library API documentation -- call
  `search(action="docs_query")` against a Tier 1 / locked stack.

## Steps

1. **Restate the question** to the user in 1-2 sentences (calibration:
   confirm scope before spending tokens).

2. **Pick `max_urls`** based on breadth:
   - 3-5 for a tight question (single technology, single timeframe).
   - 6-10 for a broad survey (multiple competitors, multi-year window).
   - Hard ceiling is 20 (cost guard).

3. **Pick `synthesis_model`** only if the user asked for a specific
   model. Otherwise omit and let wet resolve it from the `[models.chat]`
   cell (`~/.wet/config.toml`, or `HULL_CHAT_API_KEY` / `OPENROUTER_API_KEY`).

4. **Call**
   ```text
   extract(action="agent", query="<question>", max_urls=<N>)
   ```
   Optional knobs: `synthesis_model="..."`, `token_budget=<int>`
   (default 10000; raise for long-form questions, lower for tight cost
   control).

5. **Quote the synthesised Markdown verbatim** to the user, then list
   the sources from the `sources` array as clickable URLs. If
   `per_url_metadata` shows any `error`, mention which URL failed and
   that the synthesis used the remaining N-K sources.

6. **If wet returns** `Error: no LLM provider detected`, surface the
   exact error to the user (do not silently retry against
   `search(action="research")`); they need to set one of the supported
   API keys before agent works.

## Output contract

```json
{
  "markdown": "# Synthesised answer with [1] inline citations...",
  "sources": [
    {"index": 1, "url": "https://...", "title": "..."}
  ],
  "per_url_metadata": [
    {"url": "...", "extract_strategy": "basic_http", "tokens": 487, "error": null}
  ]
}
```

## Anti-patterns

- Do NOT chain multiple `agent` calls back-to-back without informing
  the user; each call is a full search + N extracts + LLM round.
- Do NOT post-edit the synthesised Markdown to drop citations -- the
  citation markers are the user's audit trail.
- Do NOT replace `extract(action="agent")` with manual
  `search` + `extract` loops "to save tokens"; the orchestrator
  enforces token budgets per source and avoids re-implementation drift.

Files in this skill

  • SKILL.md3.2 KB
  • scripts/run.py2.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.