Interact with Reddit — browse subreddits, read posts and comments, search content, view user profiles, post comments, vote, save posts, subscribe to subreddits. Use this skill whenever the user mentions Reddit, r/, subreddit, wants to browse Reddit posts, read Reddit
$ npx -y skills add sigcli/sigcli --skill reddit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/reddit
Context preview
The summary Claude sees to decide when to auto-load this skill.
Interact with Reddit — browse subreddits, read posts and comments, search content, view user profiles, post comments, vote, save posts, subscribe to subreddits. Use this skill whenever the user mentions Reddit, r/, subreddit, wants to browse Reddit posts, read Reddit
SKILL.md
reddit.SKILL.mdname: reddit
description: 'Interact with Reddit — browse subreddits, read posts and comments, search content, view user profiles, post comments, vote, save posts, subscribe to subreddits. Use this skill whenever the user mentions Reddit, r/, subreddit, wants to browse Reddit posts, read Reddit discussions, search Reddit, look up Reddit users, or interact with Reddit content. Also trigger when the user pastes a Reddit URL (e.g. reddit.com/r/programming/...) or mentions a subreddit name.'
Reddit
Browse subreddits, read posts and comments, search content, view user profiles, and interact with Reddit.
Skill Directory
`<SKILL_DIR>` is the directory containing this SKILL.md file. Determine it ONCE at the start and reuse it.
Setup (run FIRST — every time, before any operation)
You MUST complete this setup before running any script. Do NOT skip this step.
sig status reddit 2>&1
Check the JSON output fields `configured` and `valid`:
- **`configured: false`** → run Provider Setup below. Do NOT proceed without completing it.
- **`valid: false` (but configured: true)** → run `sig login reddit`, then re-check.
- **`valid: true`** → detect proxy (see below), then execute the user's request.
Provider Setup
1. Read `<SKILL_DIR>/references/provider-config.yaml` 2. Append the provider block to `~/.sig/config.yaml` under `providers:` 3. Ask the user: "Do you need a proxy to access this site?" — if yes, add `networkProxy: <url>` under the provider in config.yaml 4. Run `sig login reddit` (with `--network-proxy <url>` if proxy was specified) 5. Verify: run `sig status reddit` again — must show `valid: true` before proceeding
Proxy Detection (after provider is valid)
grep -A15 "^\s*reddit:" ~/.sig/config.yaml | grep networkProxy | awk '{print $2}'If this outputs a URL, prefix ALL python3 commands with `HTTPS_PROXY=<url> HTTP_PROXY=<url>`. If using socks5, convert to socks5h for python (e.g. `socks5://...` → `socks5h://...`). If empty, no proxy needed.
Running Scripts
All scripts require setup to be completed first (see above).
**Read operations** — use `sig run` to inject cookie (enables authenticated features):
sig run reddit -- bash -c 'python3 <SKILL_DIR>/scripts/reddit_hot.py --cookie "$SIG_REDDIT_COOKIE" --subreddit programming --limit 10'
**Write operations** — require `sig run` (cookie is mandatory):
sig run reddit -- bash -c 'python3 <SKILL_DIR>/scripts/reddit_comment.py --cookie "$SIG_REDDIT_COOKIE" --parent t3_1abc --text "Great post!"'
Env var: `SIG_REDDIT_COOKIE`
**On auth error (401/403):** run `sig login reddit` automatically (no user prompt), then retry.
Scripts Reference
All scripts are in this skill's `scripts/` directory. Run via Bash tool.
Read Operations
| Script | Purpose | Auth | | --------------------- | -------------------------- | ---- | | `reddit_hot.py` | Hot posts from a subreddit | None | | `reddit_top.py` | Top posts from a subreddit | None | | `reddit_new.py` | New or rising posts | None | | `reddit_popular.py` | Popular posts (/r/popular) | None | | `reddit_post.py` | Post detail with comments | None | | `reddit_search.py` | Search Reddit posts | None | | `reddit_user.py` | User profile and activity | None | | `reddit_subreddit.py` | Subreddit info | None |
Write Operations
| Script | Purpose | Auth | | --------------------- | ---------------------- | -------- | | `reddit_submit.py` | Create a new post | Required | | `reddit_manage.py` | Edit or delete post | Required | | `reddit_comment.py` | Post a comment | Required | | `reddit_vote.py` | Upvote/downvote/unvote | Required | | `reddit_save.py` | Save or unsave a post | Required | | `reddit_subscribe.py` | Subscribe/unsubscribe | Required |
reddit_hot.py
--subreddit NAME Subreddit name without r/ prefix (default: all)
--limit N Max posts to return (default: 25)
--after TOKEN Pagination token from previous response
reddit_top.py
--subreddit NAME Subreddit name without r/ prefix (default: all)
--time PERIOD Time period: hour, day, week, month, year, all (default: day)
--limit N Max posts to return (default: 25)
--after TOKEN Pagination token from previous response
reddit_new.py
--subreddit NAME Subreddit name (default: all)
--sort SORT Sort: new, rising (default: new)
--limit N Max posts (default: 25)
--after TOKEN Pagination token
reddit_popular.py
--limit N Max posts (default: 25)
--after TOKEN Pagination token
reddit_post.py
--id ID Post ID, fullname (t3_xxx), or full Reddit URL (required)
--comments-limit N Max top-level comments (default: 20)
--sort SORT Comment sort: best, top, new, controversial, old (default: best)
--depth N Max comment tree depth (0=unlimited, default: 0)
reddit_search.py
--query TEXT Search query (required)
--subreddit NAME Search within a specific subreddit (optional)
--sort SORT Sort: relevance, hot, top, new, comments (default: relevance)
--time PERIOD Time filter: hour, day, week, month, year, all (default: all)
--limit N Max results (default: 25)
--after TOKEN Pagination token
reddit_user.py
--username NAME Reddit username without u/ prefix (required)
--include-posts Include user's recent posts
--include-comments Include user's recent comments
reddit_subreddit.py
--name NAME Subreddit name without r/ prefix (required)
reddit_submit.py
--cookie COOKIE Reddit session cookie (required)
--subreddit NAME Subreddit to post in (required)
--title TEXT Post title (required
Read more
name: reddit description: 'Interact with Reddit — browse subreddits, read posts and comments, search content, view user profiles, post comments, vote, save posts, subscribe to subreddits. Use this skill whenever the user mentions Reddit, r/, subreddit, wants to browse Reddit posts, read Reddit discussions, search Reddit, look up Reddit users, or interact with Reddit content. Also trigger when the user pastes a Reddit URL (e.g. reddit.com/r/programming/...) or mentions a subreddit name.'
Browse subreddits, read posts and comments, search content, view user profiles, and interact with Reddit.
Skill Directory
`<SKILL_DIR>` is the directory containing this SKILL.md file. Determine it ONCE at the start and reuse it.
Setup (run FIRST — every time, before any operation)
You MUST complete this setup before running any script. Do NOT skip this step.
sig status reddit 2>&1
Check the JSON output fields `configured` and `valid`:
- **`configured: false`** → run Provider Setup below. Do NOT proceed without completing it.
- **`valid: false` (but configured: true)** → run `sig login reddit`, then re-check.
- **`valid: true`** → detect proxy (see below), then execute the user's request.
Provider Setup
1. Read `<SKILL_DIR>/references/provider-config.yaml` 2. Append the provider block to `~/.sig/config.yaml` under `providers:` 3. Ask the user: "Do you need a proxy to access this site?" — if yes, add `networkProxy: <url>` under the provider in config.yaml 4. Run `sig login reddit` (with `--network-proxy <url>` if proxy was specified) 5. Verify: run `sig status reddit` again — must show `valid: true` before proceeding
Proxy Detection (after provider is valid)
grep -A15 "^\s*reddit:" ~/.sig/config.yaml | grep networkProxy | awk '{print $2}'If this outputs a URL, prefix ALL python3 commands with `HTTPS_PROXY=<url> HTTP_PROXY=<url>`. If using socks5, convert to socks5h for python (e.g. `socks5://...` → `socks5h://...`). If empty, no proxy needed.
Running Scripts
All scripts require setup to be completed first (see above).
**Read operations** — use `sig run` to inject cookie (enables authenticated features):
sig run reddit -- bash -c 'python3 <SKILL_DIR>/scripts/reddit_hot.py --cookie "$SIG_REDDIT_COOKIE" --subreddit programming --limit 10'
**Write operations** — require `sig run` (cookie is mandatory):
sig run reddit -- bash -c 'python3 <SKILL_DIR>/scripts/reddit_comment.py --cookie "$SIG_REDDIT_COOKIE" --parent t3_1abc --text "Great post!"'
Env var: `SIG_REDDIT_COOKIE`
**On auth error (401/403):** run `sig login reddit` automatically (no user prompt), then retry.
Scripts Reference
All scripts are in this skill's `scripts/` directory. Run via Bash tool.
Read Operations
| Script | Purpose | Auth | | --------------------- | -------------------------- | ---- | | `reddit_hot.py` | Hot posts from a subreddit | None | | `reddit_top.py` | Top posts from a subreddit | None | | `reddit_new.py` | New or rising posts | None | | `reddit_popular.py` | Popular posts (/r/popular) | None | | `reddit_post.py` | Post detail with comments | None | | `reddit_search.py` | Search Reddit posts | None | | `reddit_user.py` | User profile and activity | None | | `reddit_subreddit.py` | Subreddit info | None |
Write Operations
| Script | Purpose | Auth | | --------------------- | ---------------------- | -------- | | `reddit_submit.py` | Create a new post | Required | | `reddit_manage.py` | Edit or delete post | Required | | `reddit_comment.py` | Post a comment | Required | | `reddit_vote.py` | Upvote/downvote/unvote | Required | | `reddit_save.py` | Save or unsave a post | Required | | `reddit_subscribe.py` | Subscribe/unsubscribe | Required |
reddit_hot.py
--subreddit NAME Subreddit name without r/ prefix (default: all) --limit N Max posts to return (default: 25) --after TOKEN Pagination token from previous response
reddit_top.py
--subreddit NAME Subreddit name without r/ prefix (default: all) --time PERIOD Time period: hour, day, week, month, year, all (default: day) --limit N Max posts to return (default: 25) --after TOKEN Pagination token from previous response
reddit_new.py
--subreddit NAME Subreddit name (default: all) --sort SORT Sort: new, rising (default: new) --limit N Max posts (default: 25) --after TOKEN Pagination token
reddit_popular.py
--limit N Max posts (default: 25) --after TOKEN Pagination token
reddit_post.py
--id ID Post ID, fullname (t3_xxx), or full Reddit URL (required) --comments-limit N Max top-level comments (default: 20) --sort SORT Comment sort: best, top, new, controversial, old (default: best) --depth N Max comment tree depth (0=unlimited, default: 0)
reddit_search.py
--query TEXT Search query (required) --subreddit NAME Search within a specific subreddit (optional) --sort SORT Sort: relevance, hot, top, new, comments (default: relevance) --time PERIOD Time filter: hour, day, week, month, year, all (default: all) --limit N Max results (default: 25) --after TOKEN Pagination token
reddit_user.py
--username NAME Reddit username without u/ prefix (required) --include-posts Include user's recent posts --include-comments Include user's recent comments
reddit_subreddit.py
--name NAME Subreddit name without r/ prefix (required)
reddit_submit.py
--cookie COOKIE Reddit session cookie (required) --subreddit NAME Subreddit to post in (required) --title TEXT Post title (required
Sign in your way. AI works on your behalf. AI agents need access to your work systems — Jira, wikis, calendars, internal APIs. But passing credentials through shell history, environment variables, and agent context windows is a security nightmare.

