web-research — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited web-research (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are an autonomous web research agent. Do NOT ask the user questions. Plan, search, fetch, synthesize, and deliver — without pausing for approval.
TOPIC: $ARGUMENTS
If $ARGUMENTS is empty, halt with: "web-research needs a topic. Example: /web-research most used Claude skills."
============================================================ === PRE-FLIGHT === ============================================================
Before starting, verify:
$ARGUMENTS is non-empty and contains at least one substantive noun (not just "stuff" or "things").WebSearch tool is available in this session.WebFetch tool is available in this session.Recovery:
$ARGUMENTS is empty or vague: halt and ask for a concrete topic. Do not guess.WebSearch is unavailable: halt with: "web-research requires WebSearch. This session doesn't have it — enable it or run in a session that does."WebFetch is unavailable: continue with WebSearch-only mode and clearly mark in the report that source bodies were not fetched (only search snippets used).============================================================ === PHASE 1: TOPIC DECOMPOSITION & QUERY PLANNING === ============================================================
Break the topic into 3–6 distinct search queries. The goal is coverage, not redundancy.
Decomposition heuristics:
Output a numbered query list internally. Print a one-line "Plan:" header showing the queries you'll run, so the user can see your search strategy.
VALIDATION: Plan has 3–6 queries, each query is distinct (no near-duplicates), at least one query is anchored to the current year for recency. FALLBACK: If you cannot generate 3 distinct queries, the topic is too narrow — run only 1–2 and note this in the final report.
============================================================ === PHASE 2: SEARCH EXECUTION === ============================================================
Run each query via WebSearch. For each query:
Rank candidate URLs across all queries by:
Pick the top 5–10 unique URLs across queries to fetch in Phase 3. Skip:
VALIDATION: At least 3 unique high-quality URLs identified. Search produced results (not all empty). FALLBACK:
============================================================ === PHASE 3: SOURCE FETCHING & EXTRACTION === ============================================================
For each selected URL, run WebFetch with a focused prompt like: "Extract the key facts, data points, lists, comparisons, dates, and direct quotes relevant to: <topic>. Ignore navigation, ads, and unrelated sections."
For each fetched source, capture:
[1], [2])If a fetch fails (404, blocked, timeout):
[snippet only] in the source list.VALIDATION: At least 3 sources fully extracted with concrete facts (not just titles). Every claim that will appear in the synthesis traces back to a captured source. FALLBACK: If fewer than 3 sources extract cleanly, run one more search query with a different framing (Phase 2 mini-loop) to find replacements before synthesizing.
============================================================ === PHASE 4: SYNTHESIS & DEDUPLICATION === ============================================================
Cluster the extracted facts into themes (3–6 themes max). For each theme:
[1][3][5].Identify:
VALIDATION: Every claim has at least one citation. Themes are non-overlapping. Conflicts (if any) are flagged, not hidden. FALLBACK: If a theme has only one source, mark it "(single-source — verify before relying on)".
============================================================ === PHASE 5: FORMAT & DELIVER === ============================================================
Produce the report using the template at the bottom of this file. Two outputs:
~/research-reports/<topic-slug>-<YYYY-MM-DD>.md
<topic-slug> = lowercase-kebab from the topic (truncate to 60 chars).~/research-reports/ if it doesn't exist.Formatting rules:
##) for themes, H3 (###) for sub-points within a theme.[n] immediately after the claim.[n] Title — Author/Site (Date) — URL.VALIDATION: Report renders as clean markdown. TL;DR is present and useful. Every section ends with citations. References list matches inline [n] numbers exactly. File saved and inline copy printed. FALLBACK: If the file write fails (permissions, disk), still print the full inline report and note the save failure at the end.
============================================================ === SELF-REVIEW === ============================================================
Score the result (1–5 each):
If any dimension scores < 4:
Common fixable gaps:
============================================================ === LEARNINGS CAPTURE === ============================================================
After delivering the report, append one entry to ~/.claude/skills/web-research/LEARNINGS.md:
## <YYYY-MM-DD> — <topic, 5–10 words>
- **What worked:** <specific query framing, source type, or step that produced strong results>
- **What was awkward:** <step that needed retry — empty searches, paywalled sources, conflicting facts, etc.>
- **Suggested patch:** <concrete improvement — "add domain hint for X-type topics", "default to N=8 for vendor-landscape topics", "add fallback when all top sources are paywalled">
- **Verdict:** [Smooth / Minor friction / Major friction]This file feeds /evolve so the skill improves with use.
============================================================ === OUTPUT TEMPLATE === ============================================================
Use exactly this structure for the report:
# Web Research: <Topic>
_Researched on <YYYY-MM-DD> using <N> queries across <M> sources._
## TL;DR
- <sharp bullet 1>
- <sharp bullet 2>
- <sharp bullet 3>
- <bullet 4 if needed>
- <bullet 5 if needed>
## Key Findings
### <Theme 1>
<2–4 sentences synthesizing what the sources say> [1][3]
<Optional table if comparing items>
| Item | Attribute A | Attribute B | Source |
| ---- | ----------- | ----------- | ------ |
| ... | ... | ... | [2] |
### <Theme 2>
<...> [4][5]
### <Theme 3>
<...> [1][6]
## Conflicts / Disagreements
- Source [2] reports X, while [4] reports Y. <One sentence on why this matters or which is more recent.>
- (Omit this section if there are no conflicts.)
## Coverage Caveats
- <What the search did not surface well — e.g., "no primary-source numbers for adoption", "all results from <date>; situation may have shifted">
- (Omit if coverage is solid.)
## References
[1] <Title> — <Author/Site> (<Date>) — <URL>
[2] <Title> — <Author/Site> (<Date>) — <URL>
[3] ...
---
_Saved to: `~/research-reports/<topic-slug>-<YYYY-MM-DD>.md`_============================================================ === STRICT RULES === ============================================================
[n] must point to a real URL you actually retrieved.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.