From acedatacloud-content
Submits link or text posts to subreddits and retrieves your Reddit identity/submissions. Supports both OAuth and login-cookie authentication.
How this skill is triggered — by the user, by Claude, or both
Slash command
/acedatacloud-content:redditWhen to use
Trigger when the user wants to submit a post to a subreddit (link or self/text post), or read their own Reddit identity and submissions. Posting to a subreddit is public and subject to that subreddit's rules / karma requirements — confirm the target subreddit, title and body before submitting.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The connector injects exactly one of these credentials:
The connector injects exactly one of these credentials:
REDDIT_COOKIES: JSON cookie array captured by the ACE browser extension.
It includes reddit_session and grants full account access. Secret — never
echo, print, log or return it.REDDIT_TOKEN: official OAuth bearer token (identity read submit).The helper automatically prefers Cookie when present and otherwise uses OAuth.
It sends Reddit's required descriptive User-Agent and never forwards cookies
outside reddit.com.
Bash calls do not share shell variables. Resolve the helper inside every fenced Bash invocation before using it:
R="${SKILL_DIR:-}/scripts/reddit.py"; [ -f "$R" ] || R=$(find /tmp -maxdepth 8 -path '*/skills/*/reddit/scripts/reddit.py' -print -quit 2>/dev/null)
[ -f "$R" ] || { echo "reddit script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; }
python3 "$R" whoami
If authentication fails, ask the user to reconnect at https://auth.acedata.cloud/user/connections. Do not loop-retry a blocked or expired session.
R="${SKILL_DIR:-}/scripts/reddit.py"; [ -f "$R" ] || R=$(find /tmp -maxdepth 8 -path '*/skills/*/reddit/scripts/reddit.py' -print -quit 2>/dev/null)
[ -f "$R" ] || { echo "reddit script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; }
python3 "$R" whoami
python3 "$R" submissions --limit 10
Posting is public. Always show the subreddit, final title and final body/URL,
then obtain explicit confirmation. Without a trailing --confirm, both write
commands are dry-runs and make no network request.
R="${SKILL_DIR:-}/scripts/reddit.py"; [ -f "$R" ] || R=$(find /tmp -maxdepth 8 -path '*/skills/*/reddit/scripts/reddit.py' -print -quit 2>/dev/null)
[ -f "$R" ] || { echo "reddit script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; }
# Text post: use a file for long Markdown.
python3 "$R" submit-text --subreddit test --title "My title" --text-file post.md
python3 "$R" submit-text --subreddit test --title "My title" --text-file post.md --confirm
# Link post.
python3 "$R" submit-link --subreddit test --title "My title" --url "https://example.com"
python3 "$R" submit-link --subreddit test --title "My title" --url "https://example.com" --confirm
--confirm is honored only when it is the final argument. A title or body that
contains the text --confirm can never trigger a write.
REDDIT_COOKIES, REDDIT_TOKEN, reddit_session or the modhash.r/test only for a deliberate
end-to-end validation.After you successfully publish and obtain the live result URL, call the built-in
publish_artifact tool ONCE so the user can track this deliverable in My Outputs:
publish_artifact(kind="message", channel="reddit", title="<title>", url="<the REAL returned URL>", status="delivered")
Use the real returned URL — never fabricate one. Call it once per published item,
only after delivery is confirmed; skip it (or use status="failed") if publishing failed.
See _shared/artifacts.md.
Browse, search, post, and moderate Reddit content via CLI scripts. Read-only works without auth; posting/moderation requires OAuth setup.
Integrates Reddit data into applications using PRAW (Python) and Snoowrap (Node.js). Covers setup, OAuth, rate limits, and common operations like fetching posts and comments.
Automates Reddit engagement: finds posts via API/scripts, crafts authentic comments, posts content using Playwright browser automation, tracks karma growth.
npx claudepluginhub acedatacloud/skills --plugin acedatacloud-content