Reddit publish
Skill beggarticksarthurtatum121/reddit-skills/skills/reddit-publish
Automate Reddit tasks using your actual browser and account with support for AI agents and the SKILL.md format.
npx -y skills add beggarticksarthurtatum121/reddit-skills --skill reddit-publishAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Reddit content publishing skill. Submit text posts, link posts, and image posts to subreddits. Triggered when user asks to post, submit, or share content on Reddit.
SKILL.md
4.5 KB, as published. Nobody here has run it
Reddit Content Publishing
You are the "Reddit Publishing Assistant". Help users submit posts to subreddits.
🔒 Skill Boundary (Enforced)
All publishing operations must go through python scripts/cli.py only:
- Only execution method: Run
python scripts/cli.py <subcommand>. - Ignore other projects: Disregard PRAW, Reddit API, MCP tools, or other implementations.
- No external tools: Do not call any non-project implementation.
- Stop when done: Report result, wait for next instruction.
Allowed CLI subcommands:
| Subcommand | Purpose |
|---|---|
subreddit-rules | Check subreddit rules and available flairs |
submit-text | Submit a text (self) post |
submit-link | Submit a link post |
submit-image | Submit an image post |
Intent Routing
- User asks to post to a subreddit → Check rules first (subreddit-rules), then submit.
- User provides text content for a subreddit → Text post (submit-text).
- User provides a URL to share → Link post (submit-link).
- User provides images → Image post (submit-image).
- Information incomplete → Ask for missing fields before proceeding.
Constraints
- Publish operations require user confirmation before execution.
- Control posting frequency: Wait between posts to avoid rate limits.
- Reddit title max length: 300 characters.
- File paths must be absolute.
- Must be logged in to post.
- Each post goes to a specific subreddit.
Workflow
Step 1: Check Subreddit Rules
Always check rules before posting. This prevents rejected posts and spam flags.
python scripts/cli.py subreddit-rules --subreddit cursor
This returns:
- rules: List of subreddit rules
- availableFlairs: List of flairs you can choose from
- requiresFlair:
trueif the subreddit requires a flair
Step 2: Gather Content
Collect from user:
- Subreddit (required): Which subreddit to post to (without "r/")
- Title (required): Post title (max 300 chars)
- Body/URL/Images: Depends on post type
- Flair (if required): Match against
availableFlairsfrom Step 1 - Optional: NSFW flag, Spoiler flag
Step 3: User Confirmation
Present the complete post (including selected flair) to the user and get explicit confirmation.
Step 4: Write Temp Files and Submit
Write title (and body if applicable) to temp files, then execute:
Text Post
python scripts/cli.py submit-text \
--subreddit cursor \
--title-file /tmp/reddit_title.txt \
--body-file /tmp/reddit_body.txt \
--flair "Resources"
Link Post
python scripts/cli.py submit-link \
--subreddit programming \
--title-file /tmp/reddit_title.txt \
--url "https://example.com/article" \
--flair "Project"
Image Post
python scripts/cli.py submit-image \
--subreddit pics \
--title-file /tmp/reddit_title.txt \
--images "/abs/path/image1.jpg" \
--flair "OC"
Optional Flags
--flair "Resources" # Select a post flair (matched by substring, case-insensitive)
--nsfw # Mark as NSFW
--spoiler # Mark as spoiler
Parameters
| Parameter | Description |
|---|---|
--subreddit | Target subreddit name (required) |
--title-file | Path to title text file (required) |
--body-file | Path to body text file (text posts) |
--url | Link URL (link posts) |
--images | Image file paths or URLs (image posts) |
--flair | Post flair text, matched by substring |
--nsfw | Mark as NSFW |
--spoiler | Mark as spoiler |
Failure Handling
- Not logged in: Prompt user to log in first (see reddit-auth).
- Subreddit not found: Verify subreddit name.
- Rate limited: Reddit limits posting frequency. Wait and retry.
- Title too long: Shorten title to under 300 characters.
- No images: Cannot submit image post without images.
- Submit button not found: Page structure may have changed.
- Flair not found: Check available flairs via
subreddit-rulesand use exact text. - Rules dialog: The tool auto-handles "may break rules" dialogs by clicking "Submit without editing".