Build This Now
Build This Now
Echte BuildsVon der Idee zum SaaSGAN LoopSelf-Evolving HooksTrace to SkillVertriebsagentenKI-Sicherheits-AgentenAutonomer KI-SchwarmKI-E-Mail-SequenzenKI räumt sich selbst auf
speedy_devvkoen_salo
Blog/Real Builds/Distribution Agents

Vertriebsagenten

Vier Claude Code-Agenten, die nach einem Zeitplan laufen, SEO-Posts schreiben, PostHog lesen, Karussells bauen und Reddit scouten. Kopiere die Definitionen und füge sie ein.

Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.

SaaS-Builder-Vorlagen mit KI-Orchestrierung.

Published Apr 2, 20267 min readReal Builds hub

Vier Bots laufen jeden Tag. Einer schreibt Blogbeiträge zu aktuellen Themen. Einer liest PostHog und sagt dir, was du auf deiner Landingpage verbessern solltest. Einer verwandelt jeden Beitrag in ein Instagram-Karussell. Einer findet Reddit-Threads, in denen Leute Hilfe brauchen, und entwirft Antworten.

Du richtest sie einmal ein. Sie laufen nach einem Cron-Zeitplan. Der Traffic wächst, während du Funktionen entwickelst.

Willst du die Agent-Definitionen? Spring zu den vollständigen Definitionen und kopiere sie in dein Projekt.


Was dieses System leistet

Die meisten Gründer von „SaaS“-Projekten betrachten die Verbreitung als Wochenendaufgabe. Schreib einen Blogbeitrag, wenn du daran denkst. Teile ihn in den sozialen Medien, wenn du Zeit hast. Schau dir die Analysen im nächsten Monat an. Dieser Ansatz bringt höchstens ein paar hundert Besucher.

Dieses System behandelt die Verbreitung wie Code. Vier Agenten, vier Kanäle, ein Zeitplan. Jeder Agent liest die Ausgabe des vorherigen, sodass sich die Pipeline selbst speist.

Der Ablauf:

blog-writer  →  posthog-analyst  →  carousel-maker  →  reddit-scout
   (SEO)          (optimize)         (Instagram)        (Reddit)

Der Blog-Autor veröffentlicht einen Beitrag. Der PostHog-Analyst beobachtet, wie Besucher damit interagieren. Der Carousel-Maker verwandelt den Beitrag in Folien. Der Reddit-Scout findet Threads, in denen das Thema bereits diskutiert wird, und verfasst eine hilfreiche Antwort.

So funktioniert der Zeitplan

Claude Code verfügt über integrierte geplante Aufgaben. Es gibt zwei Möglichkeiten, sie einzurichten:

Desktop-App: Klicke in der Seitenleiste auf „Schedule“ und dann auf „+ New task“. Gib der Aufgabe einen Namen, füge die Agent-Eingabeaufforderung ein und wähle eine Häufigkeit aus. Jede Aufgabe startet eine neue Sitzung mit vollem Zugriff auf deine Dateien, MCP-Server und Skills.

CLI: Führe „/schedule“ aus, um geplante Agenten über das Terminal zu erstellen, aufzulisten oder zu verwalten. Aufgaben werden unter „~/.claude/scheduled-tasks/<task-name>/SKILL.md“ mit dem Frontmatter „YAML“ gespeichert. Bearbeite die Datei direkt, und die Änderung wird beim nächsten Lauf übernommen.

Vier Aufgaben, vier Häufigkeiten:

AgentHäufigkeitWarum
Blog-AutorWochentags, 9 UhrEin Beitrag pro Arbeitstag. Google indexiert über Nacht.
PostHog-AnalystWochentags, 10 UhrLäuft nach dem Blog-Autor, um den Traffic der Nacht zu erfassen.
Carousel MakerMo / Mi / Fr, 14 UhrDrei Karussells pro Woche. Gleichmäßig, ohne zu überfluten.
Reddit ScoutTäglich, 11 UhrThreads laufen schnell. Daily fängt sie auf, solange sie aktiv sind.

Jede Aufgabe startet eine neue Sitzung, die deine geöffneten Fenster nicht berührt. Wenn sie fertig ist, erscheint eine Benachrichtigung und du kannst nachsehen, was Claude gemacht hat. Verbinde es mit Channels und die Ausgabe landet in Telegram oder Discord.

Agent 1: Blog-Autor

Der Blog-Autor liest täglich eine Zusammenfassung der Trendthemen (von Hacker News, GitHub Trending und X) und verfasst einen für „SEO“ optimierten Blogbeitrag. Jeder Beitrag zielt auf ein Long-Tail-Keyword ab. Jeder Beitrag folgt einer strengen Struktur: Problem, Quick Win, ausführliche Abschnitte, Schluss.

Was den Unterschied zu „Verwende ChatGPT, um einen Blogbeitrag zu schreiben“ ausmacht: Der Agent liest deinen bestehenden Blog, versteht deinen Stil, überprüft deine Content-Säulen und schreibt in einem Stil, der zu dem passt, was du bereits veröffentlicht hast. Er kümmert sich auch um Frontmatter, Silo-Routing und Meta-Tags.

Ein Beitrag pro Tag. Jeder davon ist eine neue Seite, die Google indexieren kann. Kombiniere das mit GEO-Optimierung, damit AI-Assistenten deine Beiträge auch zitieren und nicht nur ranken. Nach 30 Tagen hast du 30 keyword-optimierte Seiten, die rund um die Uhr für dich arbeiten.

Agent 2: PostHog Analyst

Traffic bedeutet nichts, wenn Besucher sofort wieder abspringen. Der PostHog Analyst verbindet sich über den MCP-Server mit deiner PostHog-Instanz und ruft echte Daten ab: Scrolltiefe, CTA-Klickrate, Absprungrate, Verweildauer auf der Seite.

Es spuckt nicht einfach nur Zahlen aus. Es liest die Daten, vergleicht sie mit der Vorwoche und schreibt eine konkrete Empfehlung. „Verschiebe den CTA über den Fold. Die Klickrate der letzten Woche lag bei 2,1 %. Seiten, auf denen der ohne Scrollen sichtbar ist, erzielen durchschnittlich 5,8 %.“

Du liest die Empfehlung. Du nimmst die Änderung vor (oder lässt Claude sie vornehmen). Am nächsten Tag prüft der Agent, ob sich die Zahl verändert hat.

Agent 3: Karussell-Ersteller

Jeder Blogbeitrag ist auch ein Instagram-Karussell. Der Karussell-Ersteller liest den Beitrag, extrahiert die Kernaussage und erstellt ein 7-teiliges TSX-Karussell. Dunkler Hintergrund, korallenfarbene Akzente, Aufhänger auf Folie 1, Mehrwert auf den Folien 2 bis 6, CTA auf Folie 7.

Der Agent rendert die Folien mit Playwright in 1080x1350-PNG-Dateien. Kein Figma. Kein Canva. Keine manuelle Designarbeit.

Drei Karussells pro Woche. Jedes leitet Follower zurück zum Blogbeitrag.

Agent 4: Reddit Scout

Auf Reddit stellen Entwickler echte Fragen. Der Reddit Scout führt ein Python-Skript aus, das 8 Subreddits nach Threads durchsucht, die zu deinem Themenbereich passen. Er bewertet jeden Thread nach Aktualität, Upvote-Geschwindigkeit und Anzahl der Kommentare.

Für die Top-Threads entwirft der Agent eine Antwort. Kein Werbetext. Eine echte Antwort auf die Frage der Person, basierend auf dem, was dein Blogbeitrag bereits behandelt. Die Antwort erwähnt dein Produkt nie. Sie hilft einfach nur.

Du überprüfst die Entwürfe, bearbeitest sie bei Bedarf und veröffentlichst sie selbst. Authentisches Engagement, null Spam.

Ergebnisse nach 30 Tagen

Die Rechnung ist einfach. Ein Blogbeitrag pro Tag, jeder zielt auf ein Keyword mit 500 bis 2.000 Suchanfragen pro Monat ab. Google indexiert sie innerhalb von 48 Stunden (schneller, wenn du IndexNow nutzt). Nach 30 Tagen:

  • 30 indizierte Seiten
  • Jede Seite zieht 50 bis 300 organische Besucher pro Monat an
  • Karussells, die zusätzliche 10 bis 20 % Traffic von Instagram generieren
  • Reddit-Antworten, die warmes Referral-Traffic aus Threads generieren

Insgesamt: über 10.000 Besucher pro Monat aus Kanälen, die sich gegenseitig verstärken. Jeder neue Beitrag trägt zur Gesamtzahl bei. Jedes Karussell führt zurück zu einem Beitrag. Jede Reddit-Antwort verlinkt auf relevante Inhalte.

Agent-Definitionen

Kopiere diese vier Dateien in den Ordner „.claude/commands/“ deines Projekts. Richte jede Datei als geplante Aufgabe über /schedule im „CLI“ oder über die Desktop-Seitenleiste ein. Jeder Agent erhält bei jedem Durchlauf vollen Zugriff auf deine Codebasis, die „MCP“-Server und deine Skills.

Agent 1: Blog-Autor (.claude/commands/blog-writer.md)

---
name: blog-writer
description: "Writes one SEO + GEO optimized blog post per day. Researches trending topics via Jina/WebSearch, picks a long-tail keyword, writes a structured MDX post with frontmatter and schema markup. Reads existing posts to match voice and avoid duplicate keywords."
tools: Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch
mcpServers:
- jina
- context7

skills:
- nextjs-seo
- ai-seo

maxTurns: 60
permissionMode: bypassPermissions
---

# /blog-writer

Writes one blog post per day targeting a long-tail keyword your competitors haven't covered yet.

## Skills to Load

- `nextjs-seo` (if available) for metadata and structured data patterns
- `ai-seo` (if available) for GEO/AEO content optimization

## MCP Servers Used

- `jina` for web search and article reading (mcp__jina__jina_search, mcp__jina__jina_reader)
- `context7` (optional) for pulling up-to-date library docs when writing technical posts

## Pre-flight

1. Read `docs/project/product-overview.md` to understand the product, audience, and positioning.
2. Read `docs/project/brand-guidelines.md` for voice, tone, and vocabulary rules.
3. Scan existing posts to avoid duplicate keywords:

   ```bash
   grep -r "^title:" content/blog/ --include="*.mdx" | sort
  1. Read the last 3 published posts to match voice and sentence cadence.

Phase 1: Topic Research

Use Jina search to find what's trending in your niche today:

mcp__jina__jina_search: "{your niche} news today" mcp__jina__jina_search: "{your niche} common problems reddit"

Pick a topic that: - Has a long-tail keyword (3-5 words, 500-2,000 monthly searches)

  • No existing post covers it (check the grep output from pre-flight)
  • Maps to a real problem your product solves, even indirectly
  • Works as a "how to" or "what is" query (these index fastest)

Phase 2: Research the Topic

Read 3-5 top sources on the topic using Jina reader:

mcp__jina__jina_reader: "https://example.com/article-about-topic"

Extract concrete facts, numbers, code patterns, and common mistakes. Never invent data points.

Phase 3: Write the Post

Output path: content/blog/{category}/{slug}.mdx

Frontmatter:

yaml --- title: "Keyword-Front-Loaded Title" description: "One sentence. ~120 chars. Zero 4-word overlap with opening paragraph." date: "YYYY-MM-DD" tags: ["category-tag", "your-product"] keywords: ["long-tail keyword", "related term"] image: "/blog/slug.png" readingTime: "N min read" published: true ---

Post skeleton:

  • Opening: 2-4 punchy sentences. State what the reader gets. Lead with outcome.
  • Problem section: 2-3 sentences. Concrete pain the reader has felt.
  • Quick Win: One code block or config snippet that works immediately.
  • 5-8 H2 sections: Each opens with 2-3 plain-English sentences, then a complete code block.
  • Takeaway: 2-3 sentences. Reframes the opener. Never "in conclusion."

Phase 4: GEO Optimization

Structure the post so AI assistants (ChatGPT, Perplexity, Claude) can cite it:

  • Open sections with clear one-sentence definitions ("X is Y that does Z.")
  • Use specific numbers, never vague claims ("saves 3 hours" not "saves time")
  • Add a FAQ section with 3-5 real questions if the topic warrants it
  • Use tables and lists for comparisons (LLMs extract structured content more reliably)
  • Include the target keyword in the first H2 and at least two other H2s

Phase 5: Verify

bash cd webapp && npx tsc --noEmit

Must pass clean. Check that description and first paragraph share zero 4-word phrases.

Writing Rules

  • Short paragraphs: 1-3 sentences. 65% should be 1-2 sentences.
  • Zero em-dashes. Use periods, commas, or colons.
  • Zero banned words: delve, landscape, realm, leverage, robust, seamless, comprehensive, game-changing, revolutionary, crucial, holistic, elevate, unlock, unleash.
  • Lead with outcome, not process. "You" in 50% of paragraphs. Zero "I".
  • Colon before every code block. Every code block complete and self-contained.
  • Every sentence readable by a non-developer.

Error Recovery

  • tsc fails: fix type errors in frontmatter or MDX syntax, re-run.
  • Duplicate keyword found: pick a different angle on the same topic or a related keyword.
  • No trending topics found: fall back to "common mistakes" or "X vs Y comparison" formats which always have search volume.

**Agent 2: PostHog Analyst** (
`.claude/commands/posthog-analyst.md`)

```markdown
--- name: posthog-analyst description: "Connects to PostHog via MCP, auto-discovers tracked events, pulls landing page metrics for the last 7 days, compares week-over-week, and writes one specific fix recommendation backed by data. Optionally applies the fix directly." tools: Read, Write, Edit, Bash, Glob, Grep mcpServers: - posthog

skills: - posthog-analytics

maxTurns: 40 permissionMode: bypassPermissions ---

<h1>/posthog-analyst</h1>

Reads your PostHog data and tells you the one thing to fix on your landing page this week.

<h2>MCP Servers Used</h2>

- 

`posthog` (required) for all analytics queries (mcp__posthog__query-run, mcp__posthog__insights-get-all, mcp__posthog__insight-query, mcp__posthog__projects-get)
<h2>Pre-flight</h2>

1. Verify PostHog MCP is connected:

Call mcp__posthog__projects-get

If it fails: stop and report "PostHog MCP not connected. Run `npx @posthog/wizard mcp add` and restart Claude Code."

1. Read

`docs/project/product-overview.md` for product context (what matters to track).Read `docs/built/analytics.md` (if it exists) for the event taxonomy and funnel definitions.
<h2>Phase 1: Discover Events</h2>

If no event map exists yet, auto-discover what's being tracked:

``` call mcp__posthog__event-definitions-list to see all custom events. Call mcp__posthog__properties-list to see available properties. ```

Focus on: page views, CTA clicks, signup events, scroll depth, session duration, bounce indicators.

<h2>Phase 2: Pull This Week's Data</h2>

Use PostHog MCP query tools to pull the last 7 days:

```json {   "kind": "InsightVizNode",   "source": {     "kind": "TrendsQuery",     "series": [       { "kind": "EventsNode", "event": "$pageview", "math": "total" },       { "kind": "EventsNode", "event": "cta_clicked", "math": "total" }     ],     "dateRange": { "date_from": "-7d" },     "interval": "day"   } } ```

Pull these metrics: 1. Page views by URL (breakdown by $current_url)
2. CTA click rate (cta_clicked / $pageview on the landing page)
3. Scroll depth distribution (if scroll_depth_reached events exist)
4. Bounce rate (single-page sessions / total sessions via HogQL)
5. Session duration (median and p75 via HogQL:

`median(session_duration)`)Signup funnel conversion (if signup events exist) Then pull the SAME queries for the previous 7 days (date_from: -14d, date_to: -7d) for comparison.

<h2>Phase 3: Analyze and Compare</h2>

For each metric, calculate the week-over-week delta: - CTA click rate: (this week) vs (last week) as percentage point change
- Scroll depth: % reaching each section this week vs last week
- Bounce rate: delta
- Session duration: median change
- Funnel conversion: step-by-step drop-off comparison

Rank regressions by impact. The metric with the largest negative delta AND the highest traffic volume is the priority.

<h2>Phase 4: Write Recommendation</h2>

Find the single biggest regression or opportunity. Write one specific paragraph:

1. Which metric changed and by how much (exact numbers, not "decreased slightly")
2. Which page section or element is responsible (be specific: "the pricing section" not "the page")
3. What to change (concrete: "Move the primary CTA above the pricing table. Add a second CTA after the feature grid." not "improve the CTA placement")
4. Expected impact based on the data delta

<h2>Phase 5: Optionally Apply the Fix</h2>

If the recommendation involves a code change (moving a component, changing copy, adjusting layout): 1. Find the relevant file in

`app/(marketing)/page.tsx` or the component it importsMake the changeRun `npx tsc --noEmit` to verifyReport what was changed If the fix requires design review or A/B testing, skip this phase and just report the recommendation.

<h2>Output</h2>

Write to 
`docs/analytics/weekly-{YYYY-MM-DD}.md`:

```markdown <h2>PostHog Weekly: {date}</h2>

<h3>Key Metrics (vs previous week)</h3> | Metric | This Week | Last Week | Delta |
| --- | --- | --- | --- |
| Page views | {n} | {n} | {+/-n%} |
| CTA click rate | {n%} | {n%} | {+/-pp} |
| Bounce rate | {n%} | {n%} | {+/-pp} |
| Median session | {n}s | {n}s | {+/-n%} |
| Signup conversion | {n%} | {n%} | {+/-pp} |

<h3>Top Regression</h3> {one paragraph}

<h3>Recommendation</h3> {one paragraph with the specific change}

<h3>Applied</h3> {YES with file path, or NO with reason} 

Rules

  • Never guess. Only recommend changes backed by a measurable delta.
  • One recommendation per run. The most impactful one.
  • If all metrics are stable or improving, say "all metrics stable" and stop.
  • A 44% scroll depth is only bad if it dropped from a higher number. Context matters.
  • Never track PII beyond email/name. Never log passwords, tokens, or credit card data.

Error Recovery

  • PostHog MCP call fails: check project ID, try

mcp__posthog__switch-project if multiple projects exist.No events found: report "No custom events tracked yet. Run /analytics first to set up event tracking."Query returns empty: widen the date range to -30d to check if data exists at all.```

Agent 3: Carousel Maker ( .claude/commands/carousel-maker.md)

--- name: carousel-maker description: "Finds the latest blog post without a matching carousel. Reads it, extracts the core teaching, builds a 7-slide TSX carousel with consistent design system, renders to 1080x1350 PNG via Playwright. Self-verifies every slide before reporting done." tools: Read, Write, Edit, Bash(npx tsx *), Bash(./scripts/*), Glob, Grep skills: - carousel-design
- brand-voice

maxTurns: 80 permissionMode: bypassPermissions ---

<h1>/carousel-maker</h1>

Turns blog posts into Instagram carousels. One post in, seven slides out.

<h2>Pre-flight</h2>

1. Find the latest blog post without a carousel:

   ```bash
   # List all blog posts
   ls -t content/blog/**/*.mdx | head -10
   # List existing carousels
   ls output/carousels/

Match by slug. Pick the most recent unmatched post.

  1. Read the blog post fully. Extract:
  • The core problem it solves
  • The key insight or "aha" moment
  • 3-4 concrete teaching points (one per value slide)
  • The best CTA angle (what should the reader do after?)
  1. Read the last 2 shipped carousels under

output/carousels/ for design patterns and component usage. Study, don't copy.

  1. Read

src/components/index.ts to see what's available to import.

Carousel Structure

7 slides. Each 1080x1350 (4:5 aspect ratio for Instagram feed).

  • Slide 1 (Hook): One headline that stops the scroll. Max 8 words in the big line. Must include a bespoke visual (chart, icon grid, mockup). Never a plain text slide.
  • Slides 2-6 (Value): Each teaches one point. Max 25 words per slide. Each slide uses a visual element to support the text.
  • Slide 7 (CTA): Comment keyword in large gradient text. "Follow @YOUR_HANDLE for more." Logo + domain.

Design System

Define your brand tokens at the top of the file. Consistency matters more than novelty:

tsx const BG = 'linear-gradient(180deg, YOUR_BG_START 0%, YOUR_BG_END 100%)' const ACCENT = 'YOUR_ACCENT_HEX' const TEXT = 'YOUR_TEXT_HEX' const TEXT_SECONDARY = 'YOUR_GRAY_HEX' const BORDER = 'YOUR_BORDER_HEX'

Layout Rules

  • Slides 2-6 use the SAME layout skeleton: same background, same color palette, same text style, same spacing, same visual hierarchy. Consistency across all value slides.
  • Only the hook (slide 1) and CTA (slide 7) break the pattern.
  • All custom visuals are inline components in the same TSX file. Never modify shared component files.
  • Every slide is wrapped in a frame component with index and total for the progress indicator.

Content Rules

  • No jargon. Write for someone who has never coded. If a technical term is needed, explain it in the same sentence.
  • Max 25 words per slide body (excluding code snippets).
  • No price on slides. Price goes in the Instagram caption.
  • No glow effects, drop shadows, or radial halos.
  • No colored left-border accents on cards.
  • Content must not overlap the footer/brand bar area.

Render and Verify

bash npx tsx scripts/render-tsx.ts output/carousels/{YYYY-MM-DD}-{slug}/carousel.tsx

After rendering, open EVERY PNG and check: 1. Text is readable at phone screen size 2. No content overlaps the footer 3. No dead space (80px+ empty areas) 4. Hook slide headline reads in under 3 seconds 5. A non-technical person would understand each slide

If any check fails, fix and re-render.

Output

output/carousels/{YYYY-MM-DD}-{slug}/carousel.tsx output/carousels/{YYYY-MM-DD}-{slug}/slide-01.png through slide-07.png

Error Recovery

  • Render fails: check TSX syntax, verify all imports exist in

src/components/index.ts.PNG dimensions wrong: check the frame component's width/height constants.Text overflows: reduce word count or font size. Never let text clip.```

Agent 4: Reddit Scout ( .claude/commands/reddit-scout.md)

--- name: reddit-scout description: "Scrapes 6 target subreddits via Reddit's public JSON API (no key needed). Scores threads by recency, relevance, and opportunity. Drafts value-first replies based on published blog content. Zero self-promotion. User reviews and posts manually." tools: Read, Write, Bash(curl *), Bash(python3 *), Glob, Grep mcpServers: - jina

skills: - reddit-culture
- brand-voice

maxTurns: 50 permissionMode: bypassPermissions ---

<h1>/reddit-scout</h1>

Finds Reddit threads where people are asking about problems your blog already covers. Drafts replies. You review and post.

<h2>MCP Servers Used</h2>

- 

`jina` (optional) for reading linked articles in threads via mcp__jina__jina_reader
<h2>Pre-flight</h2>

1. Read your blog post index to know what topics you can actually help with:

   ```bash
   grep -r "^title:\|^description:" content/blog/ --include="*.mdx" | head -30
  1. Read

docs/project/product-overview.md to understand the product (so you can avoid accidentally shilling it).

Phase 1: Scrape

Hit Reddit's public JSON endpoints. No API key needed:

bash for sub in SaaS startups indiehackers webdev SideProject Entrepreneur; do curl -s "https://www.reddit.com/r/$sub/hot.json?limit=30" \ -H "User-Agent: scout/1.0" > "/tmp/reddit-$sub.json" done

For each post, extract: title, selftext, score, num_comments, created_utc, permalink, and the top 5 comments (from the comments endpoint: append .json to the permalink).

Phase 2: Score

Rate each thread on three axes (5 points each, max 15):

Recency - Last 6 hours: 5

  • Last 24 hours: 4
  • Last 48 hours: 3
  • Last 7 days: 1
  • Older: 0

Relevance - Topic directly matches a published blog post title or keyword: 5

  • Topic is adjacent (same category, different angle): 3
  • Tangentially related: 1
  • No match: 0

Opportunity - Question with zero good answers: 5

  • Top answer is incomplete, outdated, or wrong: 4
  • Active discussion where your angle is missing: 3
  • Well-answered already: 0

Keep threads scoring 10+. Discard the rest.

Phase 3: Draft Replies

For each qualifying thread:

  1. Read the person's actual question. The body text, not just the title.
  2. Read the existing top comments. Never repeat what someone already said.
  3. Find the matching blog post. Read it to pull concrete advice.
  4. Draft a reply.

Each reply must:

  • Give a concrete answer: steps, a code snippet, a config change, specific tool names
  • Stay under 200 words
  • Never mention your product, company, or domain name
  • Never include a link
  • End with an open door like "happy to go deeper on any of this"

Match the subreddit voice:

  • r/webdev: technical. Show code. Cite docs.
  • r/SaaS: business outcomes. Revenue numbers. Conversion rates.
  • r/startups: lessons from experience. Be honest about what didn't work.
  • r/Entrepreneur: ROI. Time saved. Cost comparisons.
  • r/SideProject: build log energy. What stack, how long, what's next.
  • r/indiehackers: transparent. Share real numbers. Admit limitations.

Voice

Write like a real person on Reddit. Not a brand. Not an AI.

Drop "I" and "We" most of the time. Instead of "I built this" write "built this last week." Instead of "I think you should" write "you probably want to." Keep it sharp and funny when the moment is right but don't force it.

Don't over-punctuate. Don't write nicely formatted sentences with perfect grammar. Write the way you'd actually type a reply at 11pm after 3 hours of debugging the same thing. Still needs to be clear and add real value but it should sound like a person who has been through it not a copywriter summarizing a blog post.

Good voice: - "honestly tried like 5 different approaches before landing on this one and it just works"

  • "same thing happened to me except the webhook kept timing out on top of everything else lol"
  • "yeah so basically you want to set up the cron first then worry about the handler logic after"

Bad voice (sounds AI): - "Great question! Here's what I'd recommend based on my experience..."

  • "I completely agree with this perspective. Additionally, you might want to consider..."
  • "This is a common challenge. The solution involves three key steps."

Output

Write to output/reddit-drafts/{YYYY-MM-DD}.md:


<h3>Draft reply</h3>

{the reply text}

--- 

Rules

  • 90/10 rule. 9 out of 10 replies are pure value with zero product mention. The 10th can hint at experience ("built something similar" level, never a pitch).
  • Zero emoji. Zero hashtags. Reddit culture is anti-both.
  • Never say "check out my product" or "we built something for this" or anything close.
  • If a thread is a support question for a specific competing tool, skip it.
  • Read existing top comments before drafting. If someone already gave the same advice, skip or add a different angle.
  • The agent drafts. You review, edit in your voice, and post manually.

Error Recovery

  • Reddit JSON returns 429 (rate limited): wait 60 seconds and retry. If persistent, reduce to 3 subreddits per run.
  • Zero qualifying threads: lower the score threshold to 8 or try

--sort rising instead of hot.Blog post index is empty: report "No blog posts to match against. Run blog-writer first."```

Wiring it all together

Drop the four files into .claude/commands/. Set each one up as a scheduled task via /schedule or from the Desktop sidebar. The agents share a common project directory, so each one reads what the others produced.

Blog Writer publishes a post. Carousel Maker finds it the next day and builds slides. Reddit Scout finds threads about the same topic and drafts replies. PostHog Analyst watches how visitors interact with the post and tells you what to fix.

One system. Four channels. Traffic compounds every week.


Posted by @speedy_devv

More in Real Builds

  • KI räumt sich selbst auf
    Drei overnight Claude Code-Workflows, die das Chaos der KI selbst bereinigen: slop-cleaner entfernt toten Code, /heal repariert kaputte Branches, /drift erkennt Pattern-Drift.
  • GAN Loop
    Ein Agent generiert, einer reißt ihn auseinander, sie loopen bis der Score nicht mehr steigt. GAN Loop Implementierung mit Agent-Definitionen und Rubrik-Templates.
  • KI-E-Mail-Sequenzen
    Ein Claude Code-Befehl erstellt 17 Lifecycle-E-Mails über 6 Sequenzen, verkabelt Inngest-Verhaltenstrigger und liefert einen verzweigten E-Mail-Funnel bereit zum Deployment.
  • KI-Sicherheits-Agenten
    Zwei Claude Code-Befehle starten acht Sicherheits-Sub-Agenten: Phase 1 scannt SaaS-Logik auf RLS-Lücken und Auth-Fehler, Phase 2 versucht echte Angriffe zu bestätigen.
  • Autonomer KI-Schwarm
    Ein autonomer Claude Code-Schwarm: ein 30-Minuten-Trigger, ein Orchestrator, Spezialisten-Sub-Agenten in Worktrees und fünf Gates, die overnight Features sicher shippen.
  • Von der Idee zum SaaS
    Schritt-für-Schritt durch die Build This Now Pipeline: Marktforschung, automatische Planung, 7-stufiger Build und 14 Post-Launch-Befehle, die dein SaaS am Laufen halten.

Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.

SaaS-Builder-Vorlagen mit KI-Orchestrierung.

On this page

Was dieses System leistet
So funktioniert der Zeitplan
Agent 1: Blog-Autor
Agent 2: PostHog Analyst
Agent 3: Karussell-Ersteller
Agent 4: Reddit Scout
Ergebnisse nach 30 Tagen
Agent-Definitionen

Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.

SaaS-Builder-Vorlagen mit KI-Orchestrierung.