claude/skills/substack/SKILL.md
Search Substack newsletters, read posts, browse categories, and get user profiles via the substack CLI. Triggers: 'substack', 'newsletter search', 'substack posts', 'browse newsletters', 'substack categories', 'read substack article', 'substack trending', 'newsletter recommendations'.
npx skillsauth add kendreaditya/.config substackInstall 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.
Requires substack CLI (uv tool install substack-api). No API keys for public content. All output is JSON — pipe through jq to filter.
# Recent posts
substack newsletter posts https://example.substack.com --limit 5
# Top posts by popularity
substack newsletter posts https://example.substack.com --sort top --limit 10
# Other sort options: new (default), top, pinned, community
substack newsletter search https://example.substack.com "machine learning" --limit 5
Search is per-newsletter only — no global cross-publication search.
# Metadata (title, date, reactions, restacks, description)
substack post metadata https://example.substack.com/p/post-slug --pretty
# Full HTML body
substack post content https://example.substack.com/p/post-slug
# Check if paywalled
substack post paywalled https://example.substack.com/p/post-slug
To convert HTML content to markdown: pipe through pandoc.
substack post content https://example.substack.com/p/post-slug | python3 -c "import json,sys; print(json.load(sys.stdin))" | pandoc -f html -t markdown
# List all categories
substack categories
# Newsletters in a category
substack category newsletters --name Technology
substack category newsletters --name Technology --metadata # full metadata
# Also by ID
substack category newsletters --id 5
substack newsletter podcasts https://example.substack.com --limit 5
substack newsletter recs https://example.substack.com
substack newsletter authors https://example.substack.com
substack user info username
substack user subscriptions username
# Resolve renamed handles
substack resolve-handle oldusername
Requires session cookies exported from your browser:
substack --cookies ~/cookies.json post content https://example.substack.com/p/paid-post
substack --cookies ~/cookies.json newsletter posts https://example.substack.com --limit 5
# Extract just titles and URLs from posts
substack newsletter posts https://example.substack.com --limit 10 \
| jq '.[] | {title, slug, date: .post_date[:10], hearts: .reactions["❤"]}'
# Get newsletter URLs from a category
substack category newsletters --name Technology \
| jq -r '.[].base_url'
# Search and get post URLs
substack newsletter search https://example.substack.com "AI" --limit 5 \
| jq -r '.[] | .canonical_url'
--pretty flag for human-readable JSON outputdevelopment
Search and read content from leetcode.com — problem catalog, daily challenge, full problem statements with hints and starter code, the Discuss forum (interview experiences, comp posts, layoff threads), and company question-list metadata. Read-only, no auth, no API key. Use when the user wants to look up a LeetCode problem by name/number/slug, see today's daily challenge, search Discuss for interview write-ups at a specific company (Google, Waymo, Meta, Amazon, etc.), browse a tag-filtered discuss feed, read a Discuss post + comments, or check what a LeetCode company list covers. Triggers — "lcsearch", "leetcode search", "search leetcode", "leetcode discuss", "leetcode problem", "daily leetcode", "interview discuss", "what's the leetcode for X", URLs containing leetcode.com/problems/, leetcode.com/discuss/, or leetcode.com/company/. Pair with the `interviewcoder` skill (structured leetcode-style writeups from 1point3acres) and `blind` (anonymous workplace chatter) for the same companies.
development
Terminal Spotify playback/search via spogo (preferred) or spotify_player.
development
Search and read posts from interviewcoder.co — a Next.js-fronted aggregator of technical-interview writeups (largely sourced from 1point3acres) tagged by company, position, stage (Phone Screen / OA / Onsite / etc.), period, job type, and structured leetcode-style questions. Use when the user wants real interview questions for a specific company, recent writeups from a hiring loop, leetcode-style problems with tags and difficulty, or to look up a specific interviewcoder.co URL. Read-only, no auth, no API key. Triggers — "interviewcoder", "interviewcoder.co", "interview questions at [company]", "what's been asked at [company] recently", "interview writeup", and URLs containing interviewcoder.co.
tools
Small Yahoo Finance CLI for ticker info + N-year stock returns. Use when the user asks about: stock price, market cap, sector/industry classification, dividend yield, P/E ratio, beta, 52-week range, N-year stock return, company description for a public company. Triggers: 'yfinance', 'yfin', 'stock price', 'market cap of', 'how much has X stock returned', 'sector for ticker', 'industry classification'. Pairs with the levels-fyi skill for cross-checking public/private status (levels gives ticker, yfin returns live data).