mcpField
S
skool-monitor

skool-monitor

github.com/aiagentwithdhruvOther2043 installsUpdated 15w ago
Repository

About skool-monitor

skool-monitor is a skill for monitoring and interacting with Skool communities, including reading posts and comments, searching, and engagement actions. It summarizes unread activity and requires explicit approval before writes.

Key features

  1. 01Fetch and categorize unread posts
  2. 02Read posts and comments
  3. 03Search community content
  4. 04Create posts, reply, and like
  5. 05Summarize unread activity

Use cases

  1. 01Review recent unread posts and comments
  2. 02Organize community discussion content
  3. 03Publish or reply after approval
  4. 04Find and engage with community content

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aiagentwithdhruv/skills --skill skool-monitor

After installing, type/skool-monitorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

scripts/
skool_browser_client.py
skool_client.py
skool_comment_scraper.py
skool_scraper.py
skool_unreads.py

Details

From the project README

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

ErrorSolution
403 ForbiddenWAF token expired (use browser_client instead of manual)
401 UnauthorizedUpdate auth_token from browser cookies
429 Too Many RequestsWait 60 seconds, reduce frequency

Environment

SKOOL_AUTH_TOKEN=your_token
SKOOL_CLIENT_ID=your_client_id

Schema

Inputs
NameTypeRequiredDescription
sinceintegerNoHours to look back (default: 48)
communitystringNoCommunity slug (default: makerschool)
actionstringNoAction: read, create, reply, like, search
Outputs
NameTypeDescription
postsarrayUnread posts with metadata
summarystringAI summary of unreads (if --summary flag)
Credentials
NameSource
SKOOL_AUTH_TOKEN.env
SKOOL_CLIENT_ID.env
Composable With

Skills that chain well with this one: skool-rag

Cost

Free (reverse-engineered API)

Comments

Markdown supported