Skip to content
Agentmart
Submit a tool

reddit-engagement

Find Reddit threads this brand can genuinely help with, read them, draft native replies, publish them after approval, and verify the canonical URL.

Skill by boltaai

IndexedMIT★ 2
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/boltaai-reddit-engagement

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

Find Reddit threads this brand can genuinely help with, read them, draft native replies, publish them after approval, and verify the canonical URL. Use this skill when the user asks to "reply on Reddit", "find Reddit conversations", "engage on Reddit", "who's talking about this on Reddit", "join that thread", "comment on Reddit for me", or wants outbound participation in subreddit discussions. For the same loop across Threads/Bluesky/Mastodon use cross-platform-engagement; for replying to comments left on OUR OWN posts use social-inbox; for writing a new post use social-publishing. To make this run on a schedule instead of now, see "Save this as a routine" at the end.

Use cases: design, writing

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

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/reddit-engagement

What's inside

Skill name
reddit-engagement
Description
Find Reddit threads this brand can genuinely help with, read them, draft native replies, publish them after approval, and verify the canonical URL. Use this skill when the user asks to "reply on Reddit", "find Reddit conversations", "engage on Reddit", "who's talking about this on Reddit", "join that thread", "comment on Reddit for me", or wants outbound participation in subreddit discussions. For the same loop across Threads/Bluesky/Mastodon use cross-platform-engagement; for replying to comments left on OUR OWN posts use social-inbox; for writing a new post use social-publishing. To make this run on a schedule instead of now, see "Save this as a routine" at the end.
License
MIT
Instructions
182 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Reddit Engagement

Join conversations other people are already having, usefully. The whole skill is
one loop — discover, read, judge, draft, approve, publish, verify — and the
hardest step is the judging, not the writing.

## When to use
The user wants to participate in Reddit threads the brand did not start. One
pass produces a small number of replies (two or three is a good outing), each to
a different thread, each adding something specific.

## Tools this skill uses
| Tool | Why |
|-|-|
| `list-workspaces` | Resolve `workspace_id` once and reuse it. |
| `list-accounts` | Find the connected Reddit account and its UUID. |
| `list-engagement-capabilities` | Confirm Reddit discovery/reply are actually available for that account before trying. |
| `get-voice-context` | Load the brand's voice and what it actually does — you cannot judge relevance without it. |
| `list-business-dna` | Optional; find the DNA entry when voice context is thin. |
| `get-business-dna` | Optional; read that entry — it needs a `dna_id`, so list first. |
| `list-engagements` | See what has already been drafted or sent, so you do not reply twice. |
| `search-engagement-opportunities` | Find recent submissions. Synchronous — results come back in the call. |
| `get-engagement-conversation` | Read the submission and its comments before deciding. |
| `draft-engagement-reply` | Draft the reply. The writer is server-side; you do not write the text. |
| `publish-engagement-reply` | Publish after the user approves. Optional `content` sends an edited version in the same call. |
| `get-engagement-status` | Verify: did it land, and at what canonical URL. |
| `create-engagement-opportunity` | Only when the user supplies a specific Reddit URL instead of asking you to search. No `campaign_id` needed. |

## Prerequisites
- `workspace_id` — resolve once via `list-workspaces`. Auth is automatic through
  the Bolta connector's OAuth grant; never ask for an API key.
- A connected Reddit account. If none exists, use `get-connect-link` with
  `platform="reddit"` and stop — you cannot engage without an identity.
- Publishing a reply needs an **owner/admin/creator** role. If a call returns a
  permission error, run `get-my-capabilities`, say which role is missing, and do
  not retry.

## Workflow

### 1. Resolve workspace and account
`list-workspaces` → `list-accounts(workspace_id)`. Pick the Reddit account. If
there are several, ask which identity to speak as — this is a public reply under
somebody's username.

### 2. Confirm the capability
`list-engagement-capabilities(workspace_id, platform="reddit")`. Check
`discover`, `reply_to_post` and `reply_to_comment` for the chosen account. An
account whose credentials need reconnecting is reported with its capabilities
downgraded — say so and stop rather than failing later at publish time.

### 3. Load the voice
`get-voice-context(workspace_id)`. You need this to judge relevance, not to
write: the reply text is generated server-side. What you are looking for is what
the brand actually does, who it is for, and what it would never say.

`get-voice-context` already returns the resolved Business DNA context, so it is
usually enough on its own. If you need the deeper DNA record, take the id from
its provenance — or call `list-business-dna` — and then `get-business-dna(dna_id)`.
`get-business-dna` requires a `dna_id`; there is no workspace-wide form of it.

### 4. Check what has already been done
`list-engagements(workspace_id, platform="reddit")`. Replying twice to the same
thread, or re-engaging a thread from last week's run, is the most visible way to
look automated.

### 5. Search
`search-engagement-opportunities(workspace_id, account_id, platform="reddit",
query=..., subreddit=..., sort="new", time_filter="week")`.

Search one term at a time, and use terms people would actually type. Derive them
from the voice context and the user's ask, not from product marketing language.
`campaign_id` is optional — omit it unless the user is working inside a specific
Hunter campaign.

### 6. Read before judging
For each candidate that looks plausible, `get-engagement-conversation(...,
target_id=..., comment_limit=20)`. Read the submission AND the comments. This is
not optional: most of the value of this skill is in the threads you skip, and
you cannot skip well from a title.

### 7. Judge — this is the actual work
**Skip the thread when:**
- you have nothing specific to add beyond agreement;
- the question is already answered well in the comments;
- the only thing you could say is a version of the product pitch;
- it is a rant, a poll, a meme, or a support request for somebody else's tool;
- it is old enough that a new comment reads as thread necromancy;
- the subreddit's rules or culture clearly do not welcome a brand account.

Two good replies and an explanation of why you passed on the rest is a
**successful** run. Padding to a number with weak replies is a failed one. Tell
the user what you skipped and why — that judgement is the thing they are
trusting you with.

### 8. Draft
`draft-engagement-reply(workspace_id, opportunity_id, account_id)`.

You are not writing the reply. Bolta's outbound engagement writer produces it
server-side and already enforces the brand voice, Reddit's conventions, and the
rules that matter here — no summarizing the OP, no generic praise opener, one
specific contribution, participant not commentator, no forced slang, no
thought-leadership cadence, and no brand mention unless the context genuinely
calls for one. Your job is picking the right target and giving the writer the
conversation.

Calling it twice for the same opportunity returns the existing draft rather than
producing a second one.

### 9. Check the draft before showing it
Read what came back and sanity-check it against the same bar:
- Does it add something, or does it restate the post?
- Is it short — usually under 80 words for Reddit?
- Does it mention the brand for no reason? (It should not.)
- Would it read as a person in that subreddit, or as a company?

If it fails, say so plainly and offer to redraft with a different angle, or drop
the thread. Do not silently publish a reply you would not have written.

### 10. Approve

From boltaai/bolta-skills, MIT.

More from boltaai/bolta-skills

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Sep 1, 2026 (1 month ago)
Last release
Feb 16, 2026 (8 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from boltaai

Cite this page

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