From web-intel
Scrape a URL and apply a custom prompt or preset analysis — concept explainer, multi-angle digest, argument steelman, or head-to-head compare. Open-ended complement to `analyze-url` (which has a fixed schema). Triggers: "explain url" | "explain this" | "explain https://" | "concept explainer" | "steelman" | "digest url" | "compare urls" | "explain page" | "deep read".
How this skill is triggered — by the user, by Claude, or both
Slash command
/web-intel:explain <url> [<prompt> | --concept | --digest | --steelman | --compare <url-b>]<url> [<prompt> | --concept | --digest | --steelman | --compare <url-b>]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scrape URL → apply **user prompt** (or preset) → structured output.
Scrape URL → apply user prompt (or preset) → structured output.
Sits between summarize (shallow TL;DR) and analyze-url (fixed tech/business schema) — this one is prompt-driven, schema flexible.
/explain https://example.com "What is the core idea and what's novel about it?"
/explain https://example.com --concept
/explain https://example.com --digest
/explain https://example.com --steelman
/explain https://a.com --compare https://b.com
/explain https://example.com # → DP(B) for prompt
¬ URL → DP(B) for URL.
| Flag | Preset prompt |
|---|---|
--concept | "Explain the core concept for an informed but non-expert reader. Structure: TL;DR · key claim · how it works (mechanism) · what's genuinely novel · where it falls apart / open questions." |
--digest | "Produce a multi-angle digest. Sections: Who · What · Why now · How it works · Who benefits · Who loses · What would make this fail · What this unlocks next." |
--steelman | "Build the strongest possible version of the argument, even improving on weak parts. Then list 3 toughest counter-arguments with honest weight." |
--compare <url-b> | "Scrape both URLs. Produce a head-to-head comparison — common ground · true disagreements · false disagreements (same idea, different words) · which is more compelling and why." |
Free-form prompt → used verbatim as extraction instruction.
PLUGIN_ROOT=$(find ~/projects -maxdepth 4 -path "*/web-intel/pyproject.toml" -print -quit 2>/dev/null | xargs dirname)
if [ -z "$PLUGIN_ROOT" ]; then
echo "ERROR: web-intel plugin not found. Install: claude plugin install web-intel"
exit 1
fi
First invocation in session only:
cd "$PLUGIN_ROOT" && uv run python scripts/doctor.py
exit 1 → show, stop, guide install. Skip on subsequent invocations.
URL scheme guard — only accept http/https to prevent data:, javascript:, file: injection vectors:
case "$URL" in
http://*|https://*) ;;
*) echo "ERROR: only http/https URLs accepted (got: $URL)" >&2; exit 1 ;;
esac
Single URL:
cd "$PLUGIN_ROOT" && SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt uv run python scripts/scraper.py "$URL"
--compare ∃ → scrape both URLs; label outputs A and B.
success: false → fall back to WebFetch for the failing URL.
Read scraped content. Resolve the prompt:
flag ∃ → use preset prompt (table above)
free-form ∃ → use as-is, verbatim
neither → DP(B) for prompt
Reasoning rules:
Output structured markdown. Default sections (adapt to preset / prompt):
# <page title> — <1-line framing>
> **Source**: <URL>
> **Date**: <YYYY-MM-DD>
> **Prompt**: <preset name or first 80 chars of free-form>
## TL;DR
<2-3 sentences answering the prompt at the highest level>
## <Sections driven by preset / free-form prompt>
...
## Open questions / what the source doesn't answer
- ...
## Confidence
- ★ = verbatim in source
- ◐ = strong inference
- ◯ = speculative / requires external verification
--compare output — replace sections with:
## Common ground
## True disagreements
## False disagreements (same idea, different words)
## Verdict — which is more compelling and why
--compare URLs fail → stop, show errorsWebFetch or manual input| Want | Use |
|---|---|
| Quick TL;DR | summarize |
| Fixed tech/biz schema | analyze-url |
| Custom question or preset | explain |
| Steal patterns for your project | adapt |
| Critique a site (design/UX/copy) | roast |
| Benchmark repo vs site | benchmark |
$ARGUMENTS
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub roxabi/roxabi-intel --plugin web-intel