skool-monitor
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
./scripts/skool_unreads.py- Fetch unread posts./scripts/skool_scraper.py- Read posts and extract content./scripts/skool_browser_client.py- Write operations (recommended)./scripts/skool_client.py- Write operations (legacy)./scripts/skool_comment_scraper.py- Scrape comments
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 |
|---|---|---|---|
since |
integer | No | Hours to look back (default: 48) |
community |
string | No | Community slug (default: makerschool) |
action |
string | No | Action: read, create, reply, like, search |
Outputs
| Name | Type | Description |
|---|---|---|
posts |
array | Unread posts with metadata |
summary |
string | AI summary of unreads (if --summary flag) |
Credentials
| Name | Source |
|---|---|
SKOOL_AUTH_TOKEN |
.env |
SKOOL_CLIENT_ID |
.env |
Composable With
Skills that chain well with this one: skool-rag
Cost
Free (reverse-engineered API)
More from aiagentwithdhruv/skills
image-to-video
Generate AI video from static images using Kling 3.0, Hailuo, Luma Ray3, Runway Gen-4.5, and 8 other tools. Covers free vs paid tools, prompt writing (motion-only), camera control, and face stability. Use when user asks to animate an image, create AI video, or convert photo to video.
91mac-control
MCP server for AI-powered macOS control — apps, display, audio, files, screenshots, clipboard
60gmaps-leads
Scrape Google Maps for B2B leads with deep website enrichment and contact extraction. Use when user asks to find local businesses, scrape Google Maps, generate contractor lists, or build local service business databases.
42excalidraw-visuals
Use when someone asks for a hand-drawn visual, PNG image, rendered diagram, visual explanation, or says "excalidraw image" or "excalidraw visual". This generates PNG images, not editable files.
34video-edit
Complete video editing toolkit - silence removal, auto-captions, vertical crop, YouTube clipping, 3D transitions, and social media compression. Use when user asks to edit video, remove silences, add captions/subtitles, crop to vertical/shorts, download YouTube clips, compress video, or create video teasers.
29design-website
Generate a premium mockup website for a prospect using the buildinamsterdam.com template style. Use when user asks to design a website, create a mockup, or build a prospect website.
27