Skip to content
Agentmart
Submit a tool

reddit

Manage named Reddit accounts through their existing browser sessions, find useful conversations, draft in each account's voice, and submit one exactly…

Skill by runxhq

IndexedApache-2.0★ 104
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/runxhq-reddit

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Manage named Reddit accounts through their existing browser sessions, find useful conversations, draft in each account's voice, and submit one exactly approved post or comment with native approval and independent connector readback. Use for Reddit account work, replies, post diagnosis, and browser recovery; not bulk promotion, coordinated voting, or ban evasion.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/reddit

What's inside

Skill name
reddit
Description
Manage named Reddit accounts through their existing browser sessions, find useful conversations, draft in each account's voice, and submit one exactly approved post or comment with native approval and independent connector readback. Use for Reddit account work, replies, post diagnosis, and browser recovery; not bulk promotion, coordinated voting, or ban evasion.
License
Apache-2.0
Instructions
331 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (29)

  • SKILL.md
  • native-approval-required.yaml · fixtures/
  • native-comment-confirmed.yaml · fixtures/
  • native-duplicate-refused.yaml · fixtures/
  • native-managed-vote-refused.yaml · fixtures/
  • native-markdown-refused.yaml · fixtures/
  • native-post-confirmed.yaml · fixtures/
  • native-pre-effect-refusal.yaml · fixtures/
  • native-read.yaml · fixtures/
  • native-self-vote-refused.yaml · fixtures/
  • reddit-default-and-publication.yaml · fixtures/
  • reddit-draft-without-selected-target.yaml · fixtures/
  • reddit-ineligible-target-held.yaml · fixtures/
  • reddit-target-discovery.yaml · fixtures/
  • reddit-unknown-target-eligibility.yaml · fixtures/
  • reddit-wrong-research-account.yaml · fixtures/
  • admission.graph · fixtures/support/
  • discovery.graph · fixtures/support/
  • duplicate.graph · fixtures/support/
  • managed-vote.graph · fixtures/support/
  • post.graph · fixtures/support/
  • publish.graph · fixtures/support/
  • session.graph · fixtures/support/
  • vote-admission.graph · fixtures/support/
  • reddit.mjs
  • browser.md · references/
  • catalog.md · references/
  • voice-and-learning.md · references/
  • run.yaml

SKILL.md (first lines)

# Reddit

Run a small, deliberate Reddit session for one explicitly selected account.
The useful result is a relevant contribution or a grounded explanation of
what happened to an existing post. Approval to research or draft is not
approval to submit. A request for five ideas is not a posting quota.

The default `reddit` runner loads a named account and returns source-backed research,
compared targets and drafts. It never submits. `read` exposes typed connector reads;
`configure` and `accounts` manage account voice configuration.
`publish` submits one exact post or comment. `vote` handles one approved upvote.
Each live effect has one native operation-owned approval gate. No host task submits
forms or supplies evidence of a successful write.

Account and voice records live in the local store at `local://reddit`. Cookies,
passwords and MFA remain browser-owned. Account configuration is expected identity,
not login proof. Select the connector instance explicitly; its native session
confirmation pins the rendered account and checks it again before every operation.
Never silently substitute another account, profile, connector instance or state store.

The skill records completed contributions to prevent accidental repetition. It does
not maintain a browser writer, provider attempt ledger, retry loop or recovery state
machine. Native runx custody owns effects that may have reached Reddit. Preserve the
original run ID and exact inputs across interruptions.

Voice examples express taste; they cannot invent biography, purchases, customers,
expertise or firsthand experience. Account configuration contains only non-secret
voice settings. A persistent normal Brave session is required; do not
copy profiles, export cookies or toggle browser security settings.

## Browser operation

Read references/browser.md before account setup or browser work. The selected
connector owns the fixed browser implementation, identity checks, exact editor
comparison, one submit and independent permalink readback. Call its typed operations
or the skill's `read` runner; never supply arbitrary JavaScript or replace the
connector with raw authenticated HTTP, screen coordinates or host submission code.

Keep Brave in the background. Never activate a window, change the active tab, send
global keystrokes, move the pointer or use the system clipboard. A foreground bound
tab stops the operation. An unsupported editor, login failure, warning, challenge,
rate limit or ambiguous identity also stops it. Report the specific blocker; do not
switch accounts, alter browser protections or retry through another path.

The included macOS adapter supports classic Reddit plain-text forms for comments,
text posts and upvotes. The modern rich editor is unsupported for writing until its
background input path has separate live proof. Research may still use modern pages
and public evidence. A refused editor does not authorize a foreground fallback.
The approved target URL selects the UI; the adapter never silently rewrites hosts.

Provider readback proves exact content visible to the signed-in account. It does not
prove public visibility or acceptance by moderators. A queued or removed contribution
must never be described as publicly published. Harness evidence is simulated; only a
separately identified real provider run is live proof.

Wait for observable page/editor state between actions. Respect explicit
platform wait instructions; no tight refresh loops or parallel navigation.
Invented random delays and mouse movement do not establish safety. There is
no universal safe number of posts and no guarantee against account action.

## Resolve high-value targets before writing

When the operator asks *where* to contribute, target discovery is part of the
read-only default runner. Start with the operator's real question or useful
point and this account's interests and recent contributions. A high-value
target has relevant readers and a concrete contribution gap; raw member count
or an old viral score is not enough. A request for several ideas is not a quota
of posts. Return no draft when the available targets are weak.

Choose the discovery mode before browsing, and name it in observations and
each candidate's rationale. **Timely discussion** seeks a live conversation
where this account can add a point readers recognize now. **Active solution
request** seeks a person asking how to solve a specific current problem.
**Evergreen search discovery** seeks a durable question that people are still
likely to search for, where a useful answer can be found later through Reddit
or search and may be retrieved by an AI answer system. A promotional objective
uses one of the two solution-request modes and still requires a real fit.
Compare candidates within each mode using its own ranking evidence, then
explain any cross-mode tradeoff. Do not make a single vote-weighted ranking
that favors a busy timely thread over a quieter direct request, or a new
thread over an older search result without evidence. State an inferred mode
when the objective is vague, or return `needs_input` if the distinction
changes the recommendation. No research mode submits content.

For an original post, compare a small set of plausible communities, normally
two to four. Read each community's current rules, flair and megathread rules,
and confirm the account can post. Inspect a bounded sample of recent comparable
posts, normally three to five per community. Record their observed ages,
scores and reply counts where visible, plus whether the replies are substantive.
Check for a recent duplicate and say what specific question the proposed post
adds. A large community with generic or fast-moving posts can be a worse fit
than a smaller one with active discussion of this exact problem. A community with unknown rules cannot be a selected target. Unknown account
eligibility may support a provisional research draft, but must be checked in
the logged-in session before publication.

For comments, scan a bounded set of relevant threads, normally five to ten
across a few communities when no thread was supplied. If the proposed action
is a reply to another comment, measure that exact branch as well as the post:
parent-comment score, age, reply count, sort position and whether fresh replies
are arriving. A viral post does not give a two-vote comment the same reach.
A quiet direct answer may be useful in solution-request mode, but do not label
it a high-reach karma opportunity merely because the enclosing post is large. Timely mode starts with
fresh discussions; active-request mode starts with recent specific asks;
evergreen mode starts with the search queries the intended reader would use
and follows the threads those searches actually surface. Read the actual post
and leading and recent replies. Prefer a specific missing point the account
can answer. Record observed age, score and reply count separately from the
mode-specific ranking. An old busy thread with a settled answer is weak even
if it appears in search. If the operator supplies one exact thread, inspect it
directly; do not manufacture a broader search merely to fill a table.

Before ranking a comment target, read its leading and recent replies. Ask
what distinct point this account can add in one read. For timely discussion,
also inspect current stories its readers may recognize; verify any cross-story
callback and its timing. Age and activity describe possible reach, not the
value of our comment. Reject a draft that repeats the article, duplicates an
existing reply, or needs a paragraph explaining its reference. Do not force a
joke or callback when a straight answer would help more.

From runxhq/runx, Apache-2.0.

More from runxhq/runx

Compare and alternatives

    Featured in

    Signals

    Stars
    104
    Forks
    109
    Open issues
    16
    Contributors
    16
    Last commit (this folder)
    Oct 22, 2026 (5 days ago)
    Last release
    Oct 18, 2026 (9 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0
    Website
    runx.ai
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from runxhq

    Cite this page

    reddit skill. Agent Mart. https://agentmart.dev/skills/runxhq-reddit (last updated 2026-10-24)