sickn33/agentic-awesome-skills/efficient-web-research
Claude Code and agent skill by sickn33/agentic-awesome-skills
- community
Checking that the SKILL.md file is still in the repository.
Protocol for token-efficient web research. Use when accessing URLs, GitHub repos, or running search queries. Prevents full-page fetching waste.
Install
npx vskill@latest install sickn33/agentic-awesome-skills/efficient-web-researchSKILL.md
Efficient Web Research Skill
A protocol for accessing web content in the most token-efficient, accurate, and structured way — using the right tool at the right depth, and stopping as soon as the question is answerable.
When to Use
- Use this skill when the task matches this description: Protocol for token-efficient web research. Use when accessing URLs, GitHub repos, or running search queries. Prevents full-page fetching waste.
Scope and evidence precedence
The numeric file/URL/token caps below are efficiency defaults, not hard limits. Full-file/bundle audits, legal or security analysis, user-supplied multi-source comparisons and exact quotations require enough original context to support the requested conclusion; do not claim a complete review from excerpts. Search snippets are discovery clues, not sufficient evidence for consequential or ambiguous claims. Read the primary page and cite its exact supporting content. Tool names are illustrative; use the host's actual tools and delegate only when authorized. A URL fragment does not guarantee server-side section extraction.
Core Principle
Fetch the minimum needed to answer. Skim before you dive. Stop when you can answer.
Every unnecessary fetch wastes tokens and adds noise. This skill enforces a layered approach where you escalate fetch depth only when shallower layers fail.
Step 1 — Classify the Input
Before fetching anything, identify what kind of input you received:
| Input Type | Example | Go To | |
|---|---|---|---|
| GitHub repo URL | github.com/user/repo | GitHub Protocol | |
| Specific page URL | docs.python.org/3/library/os | URL Protocol | |
| Topic / query (no URL) | "how does RAFT consensus work" | Search Protocol | |
| Multiple URLs | List of links | Multi-URL Protocol | |
| PDF / file link | .pdf, .txt, .md URL | File Protocol |
GitHub Protocol
Use when input is a GitHub URL (repo, file, PR, issue, etc.)
Step 1 — Parse the URL
Step 2 — Use GitHub API (preferred over scraping)
Always prefer the GitHub API. It returns clean JSON — no HTML parsing needed.
Step 3 — Layered Fetch for Repos
Token Rules for GitHub
- README alone answers ~70% of "what does this repo do" questions — always try it first
- Never fetch more than 3 files in a single research turn
- If a file exceeds ~300 lines, read only the top (imports + class/function signatures)
- Decode base64 content from API before passing to context
URL Protocol
Use when the user gives a specific non-GitHub URL (docs, articles, blogs, etc.)
Step 1 — Assess the URL type
| Site type | Likely works with | Notes | |
|---|---|---|---|
| Static docs / MDN / ReadTheDocs | read_url_content | Fast, clean, cheap | |
| News articles / blogs | read_url_content | Usually fine | |
| SPAs / React/Next.js apps | browser_subagent | JS-rendered | |
| Auth-gated pages | browser_subagent | Needs login | |
| Raw GitHub files (raw.githubusercontent) | read_url_content | Direct text |
Step 2 — Layered Fetch
What to Strip from Fetched Pages
Always remove before using fetched content:
- Navigation menus and breadcrumbs
- Cookie banners and GDPR notices
- "Related articles" / "You might also like" blocks
- Footer content (copyright, links)
- Social share buttons
- Ads and sponsored content
Extract and keep:
- Main article / documentation body
- Code blocks
- Tables with data
- Numbered steps or procedures
Search Protocol
Use when the user gives a topic, question, or query — not a specific URL.
Step 1 — Sharpen the Query Before Searching
Do NOT search the raw user query. Transform it first:
Query sharpening rules:
- Add specificity: version numbers, technology names, "tutorial" / "guide" / "comparison"
- Add recency if relevant: current year
- Remove filler words: "how do I", "what is the", "can you explain"
- For code questions: add the language + framework name explicitly
Step 2 — Search and Select
Step 3 — Fetch Selected Results
Apply the URL Protocol (above) to each selected URL. Process results one at a time — only fetch the second URL if the first didn't answer the question.
Token Rules for Search
- Never read more than 3 URLs per search query
- If the snippet already contains the answer → do NOT fetch the full page, use the snippet
- For factual questions (dates, names, simple facts) → snippet is usually enough
- For procedural questions (how to do X) → fetch 1 relevant page, targeted section only
Multi-URL Protocol
Use when the user provides a list of URLs to compare or summarize.
File Protocol
Use when URL points directly to a file (PDF, .txt, .md, .csv, etc.)
.md/.txt/.csv→read_url_contentworks directly, read full content.pdf→ Use browser_subagent or a PDF extraction tool; extract text only.json/.yaml→read_url_content, parse structure, summarize schema + key values- Large files (>500 lines) → Read first 100 lines + last 20 lines + search for relevant sections
Anti-Patterns (Never Do These)
| Anti-pattern | Why it's bad | Do this instead | |
|---|---|---|---|
| Fetching full page for a simple fact | Wastes 1000s of tokens | Use snippet or targeted anchor | |
| Using browser_subagent for static sites | Very expensive | Use read_url_content first | |
| Searching with the raw user query | Vague results | Sharpen query first | |
| Fetching 5+ search results | Token explosion | Max 3, stop when answered | |
| Dumping raw HTML into context | Noisy, wasteful | Always strip to Markdown | |
| Fetching "just in case" | Unnecessary tokens | Only fetch what's needed to answer | |
| Re-fetching the same URL | Redundant | Cache result in context, reuse | |
| Fetching entire GitHub repo | Extremely wasteful | README + targeted files only |
Decision Flowchart (Quick Reference)
Output Format Rules
After fetching, structure your response as:
For multiple sources:
Never output:
- Raw HTML fragments
- Full page dumps
- Unattributed information
- More than needed to answer the question
Token Budget Guide
| Operation | Approximate token cost | When to use | |
|---|---|---|---|
| GitHub README fetch | ~300–800 tokens | Always first for repos | |
| GitHub API metadata | ~200 tokens | Always for repos | |
| Skim (headings only) | ~100–200 tokens | Always first for URLs | |
| Targeted section fetch | ~300–600 tokens | When skim isn't enough | |
| Full page fetch (stripped) | ~1000–2000 tokens | Only when targeted fails | |
| browser_subagent | ~2000–5000 tokens | Last resort only | |
| Search snippet scan | ~300–500 tokens | Always before fetching |
Rule of thumb: If you're about to spend >2000 tokens on a fetch, ask yourself if there's a cheaper path first.
Limitations
- JavaScript Reliance: Standard fetching may not fully render Single Page Applications (SPAs). You must fallback to
browser_subagentfor these, which is slower and more expensive. - Paywalls & Protections: This skill cannot bypass CAPTCHAs, bot protections (e.g., strict Cloudflare rules), or hard paywalls.
- GitHub API Limits: Frequent GitHub API requests without authentication may hit rate limits.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/efficient-web-research/SKILL.md
Popularity
- Repository stars
- 47,056
- Repository forks
- 6,853
- 7-day trend score
- 54
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sickn33/agentic-awesome-skills/efficient-web-research)