Learn-skills.dev skool-monitor
Monitor and interact with Skool communities - read posts, create posts, reply to comments, like content, and search. Use when user asks to check Skool, read community posts, interact with Skool, or manage Skool community.
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aiagentwithdhruv/skills/skool-monitor" ~/.claude/skills/neversight-learn-skills-dev-skool-monitor && rm -rf "$T"
manifest:
data/skills-md/aiagentwithdhruv/skills/skool-monitor/SKILL.mdsource content
Skool Community Monitoring & Interaction
Goal
Monitor AND interact with Skool community via reverse-engineered API. Read posts, create posts, reply to comments, like content, and search.
CRITICAL SAFETY CONSTRAINTS
NEVER perform write operations without explicit user approval:
- DO NOT create posts unless explicitly requested
- DO NOT like posts unless explicitly requested
- DO NOT reply to posts unless explicitly requested
- Read operations are safe and can be performed freely
Scripts
- Fetch unread posts./scripts/skool_unreads.py
- Read posts and extract content./scripts/skool_scraper.py
- Write operations (recommended)./scripts/skool_browser_client.py
- Write operations (legacy)./scripts/skool_client.py
- Scrape comments./scripts/skool_comment_scraper.py
Quick Reference
# Check unreads from last 48 hours (most common) python3 ./scripts/skool_unreads.py --since 48 --summary # Just get unread count python3 ./scripts/skool_unreads.py --count-only # Read posts python3 ./scripts/skool_scraper.py posts --community makerschool --limit 10 # Create post (REQUIRES APPROVAL) python3 ./scripts/skool_browser_client.py create \ --title "Title" --content "Content" --labels 3b2896c64f8f415ca62105fdae269357 # Reply to post (REQUIRES APPROVAL) python3 ./scripts/skool_browser_client.py reply --post-id <id> --content "Reply" # Like post (REQUIRES APPROVAL) python3 ./scripts/skool_browser_client.py like --post-id <id> # Search python3 ./scripts/skool_client.py search --query "keyword"
Unread Posts
# Last 48 hours with summary python3 ./scripts/skool_unreads.py --since 48 --summary # Export to JSON python3 ./scripts/skool_unreads.py --since 48 --output .tmp/unreads.json
Output categorizes as:
- New posts (never viewed)
- New comments (posts with new activity)
Write Operations (Browser-Based)
Uses Playwright to maintain real browser session and auto-generate WAF tokens.
# Create post python3 ./scripts/skool_browser_client.py create \ --title "My Post" --content "Content here" --labels <label_id> # Reply python3 ./scripts/skool_browser_client.py reply --post-id <id> --content "Reply text" # Like/Unlike python3 ./scripts/skool_browser_client.py like --post-id <id> python3 ./scripts/skool_browser_client.py unlike --post-id <id>
Rate Limits
- Reading: Stay under 1 req/sec
- Writing: Max 1 post per 30 seconds, 5 comments per minute, 10 likes per minute
Troubleshooting
| Error | Solution |
|---|---|
| 403 Forbidden | WAF token expired (use browser_client instead of manual) |
| 401 Unauthorized | Update auth_token from browser cookies |
| 429 Too Many Requests | Wait 60 seconds, reduce frequency |
Environment
SKOOL_AUTH_TOKEN=your_token SKOOL_CLIENT_ID=your_client_id
Schema
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| integer | No | Hours to look back (default: 48) |
| string | No | Community slug (default: makerschool) |
| string | No | Action: read, create, reply, like, search |
Outputs
| Name | Type | Description |
|---|---|---|
| array | Unread posts with metadata |
| string | AI summary of unreads (if --summary flag) |
Credentials
| Name | Source |
|---|---|
| .env |
| .env |
Composable With
Skills that chain well with this one:
skool-rag
Cost
Free (reverse-engineered API)