← Back to marketplace
Agent Beta Playbook

Reddit Optimization Agent

Manage all your reddit threads on scale

Copy & paste prompt

Run this in Claude

┌─────────────────────────────────────────────────────────────────────┐
│                         DAILY RUN                                    │
└─────────────────────────────────────────────────────────────────────┘
                              │
                              ▼
   ┌────────────────────────────────────────────────────────────────┐
   │  1. DISCOVER — find candidate threads                           │
   │                                                                 │
   │     • Otterly API: /reports/brand/{id}/citations                │
   │       (domains=reddit.com, last 7 days)                         │
   │     • Reddit Search API: keyword & subreddit watches            │
   │       (configured from your Otterly report)                     │
   │     • Optional: Google Alerts → Reddit URLs                     │
   └────────────────────────────────────────────────────────────────┘
                              │
                              ▼
   ┌────────────────────────────────────────────────────────────────┐
   │  2. DEDUPE — skip threads already seen / already drafted        │
   │     (SQLite store: thread_id → state)                           │
   └────────────────────────────────────────────────────────────────┘
                              │
                              ▼
   ┌────────────────────────────────────────────────────────────────┐
   │  3. ENRICH — fetch full thread + comments                       │
   │     • Reddit JSON endpoint (e.g. .json suffix, public)          │
   │     • Capture: OP body, top 10 comments, scores, age            │
   └────────────────────────────────────────────────────────────────┘
                              │
                              ▼
   ┌────────────────────────────────────────────────────────────────┐
   │  4. CLASSIFY — LLM call per thread, structured output           │
   │     {                                                           │
   │       brand_mentioned: bool,                                    │
   │       mention_sentiment: pos|neu|neg|none,                      │
   │       intent: question | recommendation | rant | news,          │
   │       buying_stage: tofu | mofu | bofu,                         │
   │       competitor_mentions: [...],                               │
   │       opportunity_type: defense | demand | geo | skip,          │
   │       skip_reason: null | string                                │
   │     }                                                           │
   └────────────────────────────────────────────────────────────────┘
                              │
                              ▼
   ┌────────────────────────────────────────────────────────────────┐
   │  5. SCORE — rank threads                                        │
   │                                                                 │
   │     score = w1·log(otterly_citations + 1)        # GEO weight   │
   │           + w2·intent_match                       # demand fit  │
   │           + w3·freshness                          # < 30 days   │
   │           + w4·competitor_presence                # defense     │
   │           + w5·subreddit_relevance                              │
   │           − w6·thread_age − w7·low_engagement                   │
   └────────────────────────────────────────────────────────────────┘
                              │
                              ▼
   ┌────────────────────────────────────────────────────────────────┐
   │  6. DRAFT — LLM call w/ brand voice guidelines                  │
   │     Three prompt templates, selected by opportunity_type:       │
   │       • DEFENSE  — correct/extend a mention                     │
   │       • DEMAND   — answer the question, lightly mention brand   │
   │       • GEO      — comprehensive answer for AI re-citation      │
   │     Each draft returns:                                         │
   │       {                                                         │
   │         comment_body: str,    # markdown for Reddit             │
   │         confidence: 0..1,                                       │
   │         disclosure_needed: bool,  # if affiliation should be    │
   │                                   # stated (Reddit rule)        │
   │         rationale: str        # 1-line for your dashboard       │
   │       }                                                         │
   └────────────────────────────────────────────────────────────────┘
                              │
                              ▼
   ┌────────────────────────────────────────────────────────────────┐
   │  7. GUARDRAILS — automated checks BEFORE queueing               │
   │     ✗ No fabricated stats / numbers                             │
   │     ✗ No competitor disparagement                               │
   │     ✗ No "as an AI" / hedging tells                             │
   │     ✗ Length: 60–250 words                                      │
   │     ✗ Subreddit-specific rules: self-promo ratio, link policy   │
   │     ✗ Disclosure trigger if brand mentioned 1+ times            │
   │     → fail any → flag for manual review with reason             │
   └────────────────────────────────────────────────────────────────┘
                              │
                              ▼
   ┌────────────────────────────────────────────────────────────────┐
   │  8. QUEUE — present to you for approval                         │
   │     A daily HTML dashboard (or Slack DM) with:                  │
   │       • Thread title + link                                     │
   │       • Why it scored: top 3 reasons                            │
   │       • Suggested draft (markdown preview)                      │
   │       • [Approve & copy] [Edit] [Skip] [Snooze]                 │
   └────────────────────────────────────────────────────────────────┘
                              │
                              ▼
   ┌────────────────────────────────────────────────────────────────┐
   │  9. TRACK — after you post, paste the comment URL back          │
   │     • Agent re-fetches 24h / 7d later                           │
   │     • Logs: upvotes, replies, removed?, OP responded?           │
   │     • Feeds prompt-tuning + score recalibration                 │
   └────────────────────────────────────────────────────────────────┘

Tip: replace anything in [BRACKETS] with your own values, then paste this into Claude with the OtterlyAI connector enabled.

Details

Difficulty Advanced

Ready to deploy this Agent?

Start a free OtterlyAI trial — no card required.

Start free trial →