agentsclimarketplace

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.

Install
npx -y skills add beggarticksarthurtatum121/reddit-skills --skill reddit-publish

Assembled 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:

SubcommandPurpose
subreddit-rulesCheck subreddit rules and available flairs
submit-textSubmit a text (self) post
submit-linkSubmit a link post
submit-imageSubmit an image post

Intent Routing

  1. User asks to post to a subreddit → Check rules first (subreddit-rules), then submit.
  2. User provides text content for a subreddit → Text post (submit-text).
  3. User provides a URL to share → Link post (submit-link).
  4. User provides images → Image post (submit-image).
  5. 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: true if 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 availableFlairs from 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

ParameterDescription
--subredditTarget subreddit name (required)
--title-filePath to title text file (required)
--body-filePath to body text file (text posts)
--urlLink URL (link posts)
--imagesImage file paths or URLs (image posts)
--flairPost flair text, matched by substring
--nsfwMark as NSFW
--spoilerMark 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-rules and use exact text.
  • Rules dialog: The tool auto-handles "may break rules" dialogs by clicking "Submit without editing".

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.