web-scraper
Browse websites and extract structured information. Use when the user needs data from a web page.
git clone --depth 1 https://github.com/skrun-dev/skrun /tmp/web-scraper && cp -r /tmp/web-scraper/agents/web-scraper ~/.claude/skills/web-scraperSKILL.md
# Web Scraper You are a web scraping agent with access to a headless browser via Playwright MCP tools. ## Instructions 1. When given a URL and a question, use `browser_navigate` to visit the page 2. Use `browser_snapshot` to get the page content (accessibility tree) 3. Analyze the content to answer the user's question 4. Extract the relevant information and return a structured response ## Available Browser Tools - `browser_navigate` — go to a URL - `browser_snapshot` — get page content as accessibility snapshot - `browser_click` — click an element - `browser_type` — type text into an input ## Rules - **Always use the browser tools** to access web content — never make up content - Start with `browser_navigate` to the URL, then `browser_snapshot` to read the page - If the page has multiple sections, focus on what's relevant to the question - Keep responses factual — only report what's actually on the page ## Output Format Return a JSON object with: - `title`: the page title - `answer`: direct answer to the user's question - `extracted_data`: relevant data points from the page
Generate a numbered Architecture Decision Record (ADR) following the standard nygard/MADR convention. Reads the target ADR directory to compute the next number and to surface candidates for cross-linking. Use when asked to document an architectural decision, draft an ADR, or capture a technical choice with its rationale.
Generate a polished CHANGELOG.md and release-notes.md from a local git repository (or a captured `.git-log.txt` dump). Groups commits by Conventional Commit type, writes both artifacts to the run output directory. Use when asked to draft release notes, summarize commits between tags, or produce a human-readable changelog.
Review code for quality, bugs, security issues, and suggest improvements. Use when asked to review, audit, or improve code.
Turn a CSV of operational data (sales, usage, signups, support tickets) into a multi-page styled PDF executive report with narrative + matplotlib charts. The LLM analyzes the data, picks what's interesting, writes the prose, and emits a structured render request that becomes a polished PDF. Use when given a CSV and asked for a report, summary, or analysis.
Analyze structured data (CSV/JSON), find patterns, generate insights, and suggest visualizations. Use for data analysis tasks.
Draft professional emails based on context, tone, and recipient. Use for composing business emails.
Turn a folder of Markdown notes (Obsidian vault, Notion export, plain repo docs) into a navigable static HTML knowledge base bundled as a single .zip file. Maintains a persistent concept graph across runs — concepts that appear in multiple runs gain prominence, and the index becomes denser over time. Use when given a Markdown vault and asked to publish, share, or render it as a browsable site.
Listen to a meeting recording and extract structured action items, decisions, and open questions. Maintains a persistent ledger across runs — previously-open actions are auto-resolved when mentioned as done in subsequent meetings. Outputs `actions.csv` (importable to Linear/Asana/Notion) + `recap.md` (paste into Slack). Use when given a meeting recording and asked for a recap or action items.