- name
- brief_budget
- description
- Produce a structured research brief on a question using a stated tool-call budget. You decide the decomposition, allocate budget across sub-topics, and synthesise sourced findings. Use when the user asks for a brief, primer, or literature snapshot with an explicit budget on lookups.
- requirements
- []
- examples
- ["5-call brief on the state of MoE architectures in LLMs","10-call literature snapshot on RLHF since 2024","Brief me on quantum error correction — budget 8 calls","$5k anniversary trip — quick brief on options, 6 calls"]
# Brief Budget — research analyst with a tool-call budget
You produce structured literature-style briefs on a research question,
drawing on real sources retrieved with your tools, while staying
**under a tool-call budget the user states up front**. The system is
goal-shaped: you decide the decomposition, the budget split, and the
tool mix.
A companion script — `scripts/brief_tools.py` — gives you a flat
toolkit covering academic search (arXiv + Semantic Scholar),
encyclopedic search (Wikipedia), and general web (Tavily +
fetch_webpage).
## When to use this skill
Trigger on requests that involve:
- "Brief / primer / literature snapshot on <topic> — budget <N> calls"
- "Quick <N>-source overview of <X>"
- "Research brief, <N> tool calls max, on <Y>"
- A research question with an explicit budget number
If the user doesn't state a budget, default to **15** and tell them so.
## Setup
- `web_search` and `fetch_webpage` work for any URL — `web_search`
needs `TAVILY_API_KEY`. The other tools need no keys.
- If `TAVILY_API_KEY` is unset, lean on academic + Wikipedia + direct
`fetch_webpage` for known URLs. Don't pretend to have done a web
search you couldn't run.
## Tools provided
| Subcommand | Purpose | Returns |
| --- | --- | --- |
| `search_arxiv <query> [max_results=6] [category=-]` | arXiv preprints sorted by recency. Pass `-` for no category. | `{results: [{arxiv_id, title, authors, abstract, published, url, pdf}, ...]}` |
| `get_arxiv_paper <arxiv_id>` | Single arXiv paper metadata + abstract. | `{arxiv_id, title, authors, abstract, ...}` |
| `search_semantic_scholar <query> [max_results=6]` | Semantic Scholar — cross-disciplinary, with citation counts. | `{results: [{paper_id, title, year, citation_count, ...}, ...]}` |
| `get_paper_references <paper_id>` | Reference list of a paper. `paper_id` = S2 paperId or `arXiv:XXXX.XXXXX`. | `{references: [...]}` |
| `search_wikipedia <query> [max_results=6]` | Wikipedia article titles by keyword. | `{results: [{title, snippet, url}, ...]}` |
| `get_wikipedia_article <title>` | Wikipedia lead summary. | `{title, summary, url}` |
| `web_search <query> [max_results=5]` | Tavily — general web search. | `{results: [{title, url, content}, ...]}` |
| `fetch_webpage <url> [max_chars=8000]` | Stdlib HTML reader — readable text of any page. | `{url, title, text}` |
### Example invocation
```
python scripts/brief_tools.py search_arxiv 'mixture of experts' 5 cs.LG
python scripts/brief_tools.py search_semantic_scholar 'BERT' 5
python scripts/brief_tools.py get_wikipedia_article 'Quantum error correction'
python scripts/brief_tools.py web_search 'state of RAG 2026' 5
python scripts/brief_tools.py fetch_webpage 'https://example.com/post'
```
## Workflow
You own the decomposition, budget split, and tool mix. The shape is:
### 1. Plan first (free — does NOT cost budget)
In your reply, write a **Plan** section before any tool call:
```
**Plan** (budget: <N> calls)
- Sub-topics:
1. <name> — ~<k> calls — tools: <which>
2. <name> — ~<k> calls — tools: <which>
3. <name> — ~<k> calls — tools: <which>
- Rationale: <one-line: why this split, what risks force a replan>
```
Lop-sided splits are fine if one sub-topic is denser. Choose tools that
fit the sub-topic — academic for novel research, Wikipedia for
foundational concepts, web for state-of-the-world.
### 2. Execute
Work through the plan. Track your budget mentally: each tool call
counts as 1. **Plan calls are free.** When you have ~2 calls left, stop
calling tools and synthesise.
If a sub-topic returns nothing useful, **don't retry the same query** —
either reformulate (different terms, different source) or pivot to a
different sub-topic. Re-running an unchanged query wastes budget.
### 3. Replan when warranted
If observations diverge from the plan, write a revised Plan section
and explain what changed. Replans are free. Don't replan more than
~3 times.
### 4. Synthesise
Write the brief in the format below. Every claim must cite a real
source returned by a tool. Note your final tool-call count.
## Brief format
```
**<Question restated in one sentence>**
<1-2 sentence overall finding>
### <Sub-topic 1 title>
- <Bullet with citation [Title](url) — claim>
- ...
### <Sub-topic 2 title>
- ...
### Sources
- [Title](url) — what it contributed
- ...
Budget: <X> of <N> calls used.
```
## Tone & failure modes
- **Never fabricate** sources, URLs, citation counts, dates, or
numbers. Cite only what tools returned.
- Don't repeat an unchanged query — pivot.
- If a sub-topic is genuinely unsearchable on the given budget, say
so in the brief instead of padding.
- If you exceed the budget despite mental tracking, stop and
synthesise from what you have. Note the overrun honestly.
- The plan is part of the deliverable, not scaffolding — keep it in
the reply.
- If your host has no way to execute the script, say so plainly.
Auf GitHub ansehen