Full Reddit operations skill powered by threadpilot: login, warmup, discovery, reporting, subscribing, liking, and posting with explicit safety gates.
Created by the founder of clawmaker.dev, writingmate.ai, aidictation.com, and mentioned.to.
- Login/session validation:
login,whoami
- Account activity reporting:
my-comments,my-replies,my-posts,my-subreddits
- Discovery and keyword research:
read,search
- Subreddit intelligence:
rules(pull subreddit posting rules)
- Growth actions:
subscribe(with dry-run support)like/like-target(human confirmation required)
- Publishing:
post(direct)post-commentwrapper (duplicate-protected, preview/publish flow)
- Warmup automation:
- random action runner:
ops/openclaw/warmup_random.sh - scheduler templates:
ops/openclaw/reddit_cli.cron
- random action runner:
- Start every session with
whoami. - If logged out, run
loginand keep one persistent browser profile. - Before writing content, pull subreddit rules via
rules. - Discover and shortlist targets using
readandsearch. - Use dry-run for likes/comments before publishing.
- Require explicit human confirmation for engagement actions.
- Run warmup with randomized cadence and jitter.
SKILL.md: skill trigger + operating guidancescripts/threadpilot: main launcher with safety wrappersscripts/reddit-cli: compatibility aliasbin/REFERENCE.md: binary source reference (release URL pattern)ops/openclaw/reddit_cli.cron: cron examplesops/openclaw/warmup_random.sh: random warmup runner
git clone https://github.com/vood/reddit-skill.git
cd reddit-skillNo bundled executables are required in repo. scripts/threadpilot will:
- use
THREADPILOT_BINif provided - use cached versioned binary from
.threadpilot/bin/<version>/ - use system
threadpilotfromPATH - download release binary from
vood/threadpilot - fall back to source build if download fails
This setup is no longer tied to only locally launched Chrome.
It works with any Chromium-compatible browser that exposes CDP / DevTools, including:
- Chrome / Chromium
- Chrome with
--remote-debugging-port - browser profiles managed outside the skill
- GoLogin (preferred: API token + profile id)
Examples:
GOLOGIN_API_TOKEN='<token>' scripts/threadpilot gologin-profiles
GOLOGIN_API_TOKEN='<token>' GOLOGIN_PROFILE_ID='<profile-id>' scripts/threadpilot whoami
REDDIT_BROWSER_DEBUG_URL='http://127.0.0.1:9222' scripts/threadpilot whoamiAdvanced override (if you already have a raw GoLogin connect URL):
GOLOGIN_WS_URL='<gologin-connect-url>' scripts/threadpilot whoami# GoLogin setup (preferred when using GoLogin)
GOLOGIN_API_TOKEN='<token>' scripts/threadpilot gologin-profiles
GOLOGIN_API_TOKEN='<token>' GOLOGIN_PROFILE_ID='<profile-id>' scripts/threadpilot whoami
# validate session
scripts/threadpilot whoami
# login when needed
scripts/threadpilot login
# pull rules before authoring
scripts/threadpilot rules --subreddit ChatGPT
# discovery
scripts/threadpilot read --subreddit ChatGPT --sort new --limit 10
scripts/threadpilot search --query "agent workflows" --subreddit ChatGPT --limit 10
# account state
scripts/threadpilot my-comments --limit 20
scripts/threadpilot my-replies --limit 20
scripts/threadpilot my-posts --limit 20
scripts/threadpilot my-subreddits --limit 50Subscribe dry-run:
scripts/threadpilot subscribe --subreddit ChatGPT --dry-runSubscribe execute:
scripts/threadpilot subscribe --subreddit ChatGPTLike preview:
REDDIT_PERMALINK='<url>' REDDIT_DRY_RUN=1 scripts/threadpilot like-targetLike confirm:
REDDIT_PERMALINK='<url>' REDDIT_CONFIRM_LIKE=1 scripts/threadpilot like-targetComment preview:
REDDIT_THING_ID=t3_xxxxx REDDIT_PERMALINK='<url>' REDDIT_TEXT='draft text' REDDIT_DRY_RUN=1 scripts/threadpilot post-commentComment publish:
REDDIT_THING_ID=t3_xxxxx REDDIT_PERMALINK='<url>' REDDIT_TEXT='approved text' scripts/threadpilot post-commentRun one randomized warmup action:
ops/openclaw/warmup_random.shEnable optional actions via env:
REDDIT_WARMUP_ENABLE_ACCOUNT_ACTIONS=1(includesmy-comments,my-replies,my-posts,my-subreddits)REDDIT_WARMUP_ENABLE_SUBSCRIBE=1withREDDIT_WARMUP_SUBSCRIBE_SUBREDDIT=<name>REDDIT_WARMUP_ENABLE_LIKE=1withREDDIT_PERMALINK=<url>andREDDIT_CONFIRM_LIKE=1REDDIT_WARMUP_ENABLE_POST=1withREDDIT_THING_ID,REDDIT_PERMALINK,REDDIT_TEXTREDDIT_WARMUP_JITTER_SEC=900for randomized delay
Keyword report file:
scripts/threadpilot search --query "agent workflows" --subreddit ChatGPT --limit 25 > reports/chatgpt-agent-workflows.txtSubreddit scan report:
scripts/threadpilot read --subreddit ChatGPT --sort top --limit 25 > reports/chatgpt-top.txt- Runtime/binary:
THREADPILOT_BINTHREADPILOT_CACHE_DIRTHREADPILOT_RELEASE_BASE_URLTHREADPILOT_VERSION(default:v0.2.2)THREADPILOT_REPOTHREADPILOT_REFTHREADPILOT_SOURCE_DIR
- Reddit/session:
REDDIT_PROXYREDDIT_USER_AGENTREDDIT_ACCESS_TOKENREDDIT_BROWSER_PROFILEREDDIT_BROWSER_WS_URLREDDIT_BROWSER_DEBUG_URLREDDIT_HEADLESSREDDIT_LOGIN_TIMEOUT_SECREDDIT_HOLD_ON_ERROR_SECREDDIT_CHROME_PATH
- External browser / GoLogin:
THREADPILOT_BROWSER_WS_URLTHREADPILOT_BROWSER_DEBUG_URLGOLOGIN_API_TOKENGOLOGIN_API_KEY(alias)GL_API_TOKEN(alias)GOLOGIN_PROFILE_IDGOLOGIN_PROFILE(alias)GOLOGIN_CLOUDBROWSER_BASE_URLGOLOGIN_API_BASE_URLGOLOGIN_WS_URLGOLOGIN_WS_ENDPOINTGOLOGIN_DEBUG_URL
- Safety controls:
REDDIT_DRY_RUNREDDIT_CONFIRM_LIKEREDDIT_CONFIRM_DOUBLE_POST
- Warmup controls:
REDDIT_WARMUP_SUBREDDITREDDIT_WARMUP_QUERYREDDIT_WARMUP_LIMITREDDIT_WARMUP_JITTER_SECREDDIT_WARMUP_ENABLE_ACCOUNT_ACTIONSREDDIT_WARMUP_ENABLE_SUBSCRIBEREDDIT_WARMUP_SUBSCRIBE_SUBREDDITREDDIT_WARMUP_ENABLE_LIKEREDDIT_WARMUP_ENABLE_POST
Use the template in:
It includes:
- daily session checks
- random warmup runs
- optional confirmed like/post jobs
- Preferred:
scripts/threadpilot - Alias:
scripts/reddit-cli