skel/.pi/skills/twitter-summary/SKILL.md
Fetch a user's recent tweets (tweets, replies, retweets) using Playwright + Nitter fallbacks and produce compact JSON/Markdown summaries.
npx skillsauth add rcarmo/piclaw twitter-summaryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scrape a public Twitter/X profile via Nitter front-ends and return a compact JSON listing of tweets, replies, and retweets within a time window.
Two scrapers are included:
playwright-twitter-summary.ts — uses Playwright for full browser rendering (more reliable)quick-twitter-summary.ts — uses linkedom for lightweight HTML parsing (no browser needed)The wrapper auto-installs Playwright if missing (logs to /tmp/twitter-playwright-install.log).
For the quick scraper:
cd /workspace && bun add linkedom
Using the wrapper script:
/workspace/.pi/skills/twitter-summary/run <handle> [hours] [output.json]
<handle> is required. No default user handle is configured in the scripts.
Examples:
# Fetch last 16 hours for an explicit handle
/workspace/.pi/skills/twitter-summary/run <handle> 16 /tmp/twitter_fetch.json
# Direct Playwright invocation
bun /workspace/.pi/skills/twitter-summary/playwright-twitter-summary.ts --handle=<handle> --hours=24
# Quick (no browser) invocation
bun /workspace/.pi/skills/twitter-summary/quick-twitter-summary.ts --handle=<handle> --hours=12
JSON with handle, instance, count, and items array. Each item has:
date — ISO 8601 timestamptype — tweet, reply, or retweettext — Tweet contenturl — Link to the tweet on the Nitter instancedocumentation
Resolve Teams or SharePoint document links to canonical metadata.
development
Search the web via SearXNG and optionally convert result pages to Markdown.
development
Search via SearXNG, fetch top results, and return quick summaries plus markdown.
development
Delete low-value messages from the web timeline by keyword patterns. Protects messages with user-uploaded images. Optionally vacuums the DB afterward.