Article Lens Skill
Produce a fast, deep, expert analysis of any article or web page. Target reading time for
the output: 2–3 minutes (shoot for this; 5 minutes is a hard ceiling — cut ruthlessly).
Step 0 — Acquire the Content
If a URL is provided:
- Call
web_fetch on the URL immediately. Do not ask the user to paste the text.
- If
web_fetch fails (paywalled, bot-blocked): tell the user briefly and ask them to paste the text. Do not stall.
If raw text is pasted:
- Use it directly. Do not call
web_fetch.
If both URL and pasted text exist: use the pasted text (it may already be the cleaned body).
Step 1 — Domain Detection & User Confirmation (interactive)
After acquiring content, infer the following silently (do not output this block):
- Author's apparent expertise level — practitioner, academic, journalist, enthusiast
- Target audience the author wrote for — beginner, intermediate, senior practitioner
- Content type — opinion/essay, tutorial/how-to, news/announcement, research summary, case study, listicle
Then infer 2–5 candidate domain labels that best describe the article's subject matter.
Think in terms of specific, meaningful domains — not vague categories.
Good domain label examples:
- Distributed Systems, Event-Driven Architecture, Consensus Algorithms
- LLM Fine-tuning, Retrieval-Augmented Generation, AI Agents
- SaaS Pricing Strategy, Product-Led Growth, Churn Analysis
- Kubernetes Internals, eBPF, Platform Engineering
- DeFi Protocols, Tokenomics, Smart Contract Security
- Organizational Design, Engineering Management, Team Topologies
Then STOP and present the domain candidates to the user using the ask_user_input_v0 tool:
- Question: "Which domain lens should I use for the Expert Lens? (pick one or more)"
- Type:
multi_select
- Options: your 2–5 inferred domain labels + one fallback option: "General / Let Claude decide"
- Include a brief one-line context before the tool call, e.g.:
"I detected this article touches on a few domains — pick the lens(es) you want the Expert commentary to use:"
Wait for the user's selection before proceeding to Step 2.
Once the user responds:
- Use the selected domain(s) to calibrate the Expert Lens persona and angle.
- If multiple domains are selected, address each briefly in the Expert Lens (still max 2 paragraphs total — be tighter per domain).
- If the user picks "General / Let Claude decide", use the primary inferred domain.
- Do not re-state the user's selection back to them — just proceed directly to the output.
Step 2 — Output Structure
Render the following sections in order, in markdown, inline in chat.
Use a horizontal rule (---) between sections. Keep the whole response tight.
Before the first section, output a single metadata line:
📖 Reading time: X min · Article title or inferred topic
Calculate reading time from the source article word count at ~238 words/minute (average adult).
Round to the nearest half-minute. Format: "3 min", "4.5 min", "7 min". Do not show the word count.
🧭 Summary
One tight paragraph. 4–6 sentences max.
- Lead with what the article argues or demonstrates — the core thesis.
- Include the so-what: why this matters in context of the domain.
- Note any significant caveats or gaps the author acknowledges.
- Do NOT list bullet points here. Pure prose.
🔑 Key Points
5–9 bullets. Each bullet is 1–2 sentences — substantive, not paraphrased headers.
Rules:
- Each bullet must carry information that would be lost if removed — no filler.
- Preserve nuance: if the author made a qualified claim, preserve the qualification.
- Order by importance, not by article order.
- If the article is a listicle, distill and synthesize — do not echo the list.
⚡ Actions & Suggestions
- 2–4 concrete, specific actions the reader should consider taking after reading this.
- Calibrated to someone senior in the domain — skip "learn the basics" type suggestions.
- Ground each action in something specific from the article.
🧠 Expert Lens
*Adopt the persona of a seasoned expert in the user-selected domain(s). One sharp, opinionated take —
not a book report.*
Pick exactly one of the following angles per selected domain (the most revealing for this article):
- Production/real-world gap: What breaks down when this hits reality at scale?
- Unstated assumptions: What must be true for this to hold? Are those assumptions safe?
- Trade-off glossed over: What did the author sacrifice to make the argument clean?
- Dissenting position: How would a credible expert who disagrees frame their objection?
- Historical context: Has this been tried before? What actually happened?
Write 1–2 paragraphs total regardless of how many domains were selected. If multiple domains,
weave them together or address each in a tight sentence or two — do not write separate blocks per domain.
Dense, not padded. Cut if it isn't adding something the other sections missed.
Formatting Rules
- No nested sub-bullets — two levels max, and use second level sparingly.
- Use
**bold** for key terms or named concepts only — not for decoration.
- No headers beyond the sections above (Reading time, Summary, Key Points, Actions, Expert Lens).
- Do not add a preamble ("Here is my analysis of…") or a closing ("I hope this helps…").
- Do not re-state the user's domain selection or narrate the skill's internal process.
- If the article is thin (< 400 words or a pure announcement), say so briefly before the summary
and scale down Key Points to 3–5 bullets; skip the Expert Lens or note it's not warranted.
Length Calibration
| Content type |
Target output length |
| Short post / essay |
350–500 words |
| Standard article |
500–750 words |
| Long-form / deep |
750–1000 words |
| Research summary |
750–1000 words |
Stay under 800 words for the full output in almost all cases. If you're going over, cut from
Key Points and Expert Lens first — preserve the Actions section.
Edge Cases
- Paywall / fetch failure: Say "Couldn't fetch the page — paste the article text and I'll run the analysis." Nothing more.
- Non-article URL (e.g., GitHub repo, docs page, landing page): Adapt gracefully. Note the content type at the top of Summary.
- Very technical paper (arXiv, academic): Expert Lens should lean into methodology critique and replication concerns.
- Opinion/hot-take piece: Weight the "Dissenting position" angle in Expert Lens.
- Multi-language content: Respond in the same language as the user's message, not the article's language, unless the user asks otherwise.
1---2name: article-summarizer3description: Deep-read any article, blog post, or web page and produce a structured expert analysis: concise summary, key bullet points, reader action items, and domain-adaptive expert commentary. Use this skill whenever the user shares a URL (Medium, Substack, dev.to, HN, any blog) or pastes article/post content and asks to "summarize", "analyse", "break down", "review", "read this", "what do you think of this", "give me the key points", "TL;DR this", or similar. Also trigger when the user drops a raw URL without any instruction — assume they want the full analysis. Works for any domain: engineering, product, finance, science, design, business, etc.4---56# Article Lens Skill78Produce a fast, deep, expert analysis of any article or web page. Target reading time for9the output: **2–3 minutes** (shoot for this; 5 minutes is a hard ceiling — cut ruthlessly).1011---1213## Step 0 — Acquire the Content1415**If a URL is provided:**16- Call `web_fetch` on the URL immediately. Do not ask the user to paste the text.17- If `web_fetch` fails (paywalled, bot-blocked): tell the user briefly and ask them to paste the text. Do not stall.1819**If raw text is pasted:**20- Use it directly. Do not call `web_fetch`.2122**If both URL and pasted text exist:** use the pasted text (it may already be the cleaned body).2324---2526## Step 1 — Domain Detection & User Confirmation (interactive)2728After acquiring content, infer the following **silently** (do not output this block):29301. **Author's apparent expertise level** — practitioner, academic, journalist, enthusiast312. **Target audience the author wrote for** — beginner, intermediate, senior practitioner323. **Content type** — opinion/essay, tutorial/how-to, news/announcement, research summary, case study, listicle3334Then infer **2–5 candidate domain labels** that best describe the article's subject matter.35Think in terms of specific, meaningful domains — not vague categories.3637**Good domain label examples:**38- Distributed Systems, Event-Driven Architecture, Consensus Algorithms39- LLM Fine-tuning, Retrieval-Augmented Generation, AI Agents40- SaaS Pricing Strategy, Product-Led Growth, Churn Analysis41- Kubernetes Internals, eBPF, Platform Engineering42- DeFi Protocols, Tokenomics, Smart Contract Security43- Organizational Design, Engineering Management, Team Topologies4445**Then STOP and present the domain candidates to the user** using the `ask_user_input_v0` tool:46- Question: "Which domain lens should I use for the Expert Lens? (pick one or more)"47- Type: `multi_select`48- Options: your 2–5 inferred domain labels + one fallback option: "General / Let Claude decide"49- Include a brief one-line context before the tool call, e.g.:50 "I detected this article touches on a few domains — pick the lens(es) you want the Expert commentary to use:"5152**Wait for the user's selection before proceeding to Step 2.**5354Once the user responds:55- Use the selected domain(s) to calibrate the Expert Lens persona and angle.56- If multiple domains are selected, address each briefly in the Expert Lens (still max 2 paragraphs total — be tighter per domain).57- If the user picks "General / Let Claude decide", use the primary inferred domain.58- Do not re-state the user's selection back to them — just proceed directly to the output.5960---6162## Step 2 — Output Structure6364Render the following sections **in order**, in markdown, inline in chat.65Use a horizontal rule (`---`) between sections. Keep the whole response tight.6667**Before the first section**, output a single metadata line:6869> 📖 **Reading time:** X min · *Article title or inferred topic*7071Calculate reading time from the source article word count at ~238 words/minute (average adult).72Round to the nearest half-minute. Format: "3 min", "4.5 min", "7 min". Do not show the word count.7374---7576### 🧭 Summary77*One tight paragraph. 4–6 sentences max.*7879- Lead with **what** the article argues or demonstrates — the core thesis.80- Include the **so-what**: why this matters in context of the domain.81- Note any significant **caveats or gaps** the author acknowledges.82- Do NOT list bullet points here. Pure prose.8384---8586### 🔑 Key Points87*5–9 bullets. Each bullet is 1–2 sentences — substantive, not paraphrased headers.*8889Rules:90- Each bullet must carry information that would be **lost** if removed — no filler.91- Preserve nuance: if the author made a qualified claim, preserve the qualification.92- Order by importance, not by article order.93- If the article is a listicle, distill and synthesize — do not echo the list.9495---9697### ⚡ Actions & Suggestions9899- 2–4 concrete, specific actions the reader should consider taking after reading this.100- Calibrated to someone senior in the domain — skip "learn the basics" type suggestions.101- Ground each action in something specific from the article.102103---104105### 🧠 Expert Lens106*Adopt the persona of a seasoned expert in the **user-selected domain(s)**. One sharp, opinionated take —107not a book report.*108109Pick **exactly one** of the following angles per selected domain (the most revealing for this article):110111- **Production/real-world gap**: What breaks down when this hits reality at scale?112- **Unstated assumptions**: What must be true for this to hold? Are those assumptions safe?113- **Trade-off glossed over**: What did the author sacrifice to make the argument clean?114- **Dissenting position**: How would a credible expert who disagrees frame their objection?115- **Historical context**: Has this been tried before? What actually happened?116117Write **1–2 paragraphs total** regardless of how many domains were selected. If multiple domains,118weave them together or address each in a tight sentence or two — do not write separate blocks per domain.119Dense, not padded. Cut if it isn't adding something the other sections missed.120121---122123## Formatting Rules124125- **No nested sub-bullets** — two levels max, and use second level sparingly.126- Use `**bold**` for key terms or named concepts only — not for decoration.127- No headers beyond the sections above (Reading time, Summary, Key Points, Actions, Expert Lens).128- Do not add a preamble ("Here is my analysis of…") or a closing ("I hope this helps…").129- Do not re-state the user's domain selection or narrate the skill's internal process.130- If the article is thin (< 400 words or a pure announcement), say so briefly before the summary131 and scale down Key Points to 3–5 bullets; skip the Expert Lens or note it's not warranted.132133---134135## Length Calibration136137| Content type | Target output length |138|--------------------|----------------------|139| Short post / essay | 350–500 words |140| Standard article | 500–750 words |141| Long-form / deep | 750–1000 words |142| Research summary | 750–1000 words |143144Stay under 800 words for the full output in almost all cases. If you're going over, cut from145Key Points and Expert Lens first — preserve the Actions section.146147---148149## Edge Cases150151- **Paywall / fetch failure**: Say "Couldn't fetch the page — paste the article text and I'll run the analysis." Nothing more.152- **Non-article URL** (e.g., GitHub repo, docs page, landing page): Adapt gracefully. Note the content type at the top of Summary.153- **Very technical paper** (arXiv, academic): Expert Lens should lean into methodology critique and replication concerns.154- **Opinion/hot-take piece**: Weight the "Dissenting position" angle in Expert Lens.155- **Multi-language content**: Respond in the same language as the user's message, not the article's language, unless the user asks otherwise.