โ— PHANTOM
๐Ÿ‡ฎ๐Ÿ‡ณ IN
โœ•
Skip to content

muratcankoylan/ralph-wiggum-marketer

Repository files navigation

Ralph Wiggum Marketer

A Claude Code Plugin that provides an autonomous AI copywriter for SaaS content marketing.

Uses the Ralph Wiggum pattern - an iterative AI loop that ships content while you sleep.

Installation

Option 1: Add as Marketplace (Recommended)

# In Claude Code, add the repo as a marketplace:
/plugin marketplace add muratcankoylan/ralph-wiggum-marketer

# Then install the plugin:
/plugin install ralph-wiggum-marketer@muratcankoylan-ralph-wiggum-marketer

Option 2: Test Locally (For Development)

# Clone the repo
git clone https://github.com/muratcankoylan/ralph-wiggum-marketer.git

# Run Claude Code with the plugin directory
claude --plugin-dir ./ralph-wiggum-marketer

Option 3: Interactive Plugin Manager

# Open the plugin manager:
/plugin

# Browse, search, and install from the interactive UI

Quick Start

# 1. Initialize a new content project
/ralph-init

# 2. Check progress anytime
/ralph-status

# 3. Cancel if needed
/ralph-cancel

Commands

Command Description
/ralph-init Initialize a new content project in current directory
/ralph-marketer Start the autonomous copywriter loop
/ralph-status Check content pipeline and progress
/ralph-cancel Cancel the active loop

How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     MULTI-AGENT ECOSYSTEM                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚
โ”‚  โ”‚ TrendScout  โ”‚   โ”‚  Research   โ”‚   โ”‚  Product/   โ”‚             โ”‚
โ”‚  โ”‚   Agent     โ”‚   โ”‚   Agent     โ”‚   โ”‚  Marketing  โ”‚             โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚
โ”‚         โ”‚                 โ”‚                 โ”‚                    โ”‚
โ”‚         โ–ผ                 โ–ผ                 โ–ผ                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”‚
โ”‚  โ”‚              SQLite Content Database               โ”‚          โ”‚
โ”‚  โ”‚  โ€ข trends     โ€ข research     โ€ข communications      โ”‚          โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ”‚
โ”‚                           โ”‚                                      โ”‚
โ”‚                           โ–ผ                                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”‚
โ”‚  โ”‚           RALPH THE COPYWRITER                     โ”‚          โ”‚
โ”‚  โ”‚                                                     โ”‚         โ”‚
โ”‚  โ”‚   Reads inputs โ†’ Plans content โ†’ Writes drafts     โ”‚          โ”‚
โ”‚  โ”‚   โ†’ Reviews & iterates โ†’ Publishes                 โ”‚          โ”‚
โ”‚  โ”‚                                                     โ”‚         โ”‚
โ”‚  โ”‚   Memory: git commits + progress.txt + prd.json    โ”‚          โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ”‚
โ”‚                           โ”‚                                      โ”‚
โ”‚                           โ–ผ                                      โ”‚
โ”‚                    Published Content                             โ”‚
โ”‚              (blogs, case studies, social, newsletters)          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

The Ralph Loop

  1. Read PRD: Check scripts/ralph/prd.json for tasks
  2. Check Progress: Read scripts/ralph/progress.txt for learnings
  3. Pick Task: Find highest priority story where passes: false
  4. Execute: Complete the task following acceptance criteria
  5. Verify: Run tests to ensure quality
  6. Commit: Save progress to git
  7. Update: Mark task done, log learnings
  8. Repeat: Loop until all tasks complete

Each iteration is a fresh context window. Memory persists through files.

Plugin Structure

ralph-wiggum-marketer/
โ”œโ”€โ”€ .claude-plugin/
โ”‚   โ””โ”€โ”€ plugin.json          # Plugin manifest
โ”œโ”€โ”€ commands/
โ”‚   โ”œโ”€โ”€ ralph-marketer.md    # Main loop command
โ”‚   โ”œโ”€โ”€ ralph-init.md        # Project initialization
โ”‚   โ”œโ”€โ”€ ralph-status.md      # Status check
โ”‚   โ””โ”€โ”€ ralph-cancel.md      # Cancel loop
โ”œโ”€โ”€ skills/
โ”‚   โ””โ”€โ”€ copywriter/
โ”‚       โ””โ”€โ”€ SKILL.md         # Copywriter skill
โ”œโ”€โ”€ hooks/
โ”‚   โ”œโ”€โ”€ hooks.json           # Hook configuration
โ”‚   โ””โ”€โ”€ stop-hook.sh         # Loop continuation hook
โ”œโ”€โ”€ scripts/
โ”‚   โ””โ”€โ”€ src/                 # Database & utility scripts
โ”œโ”€โ”€ templates/
โ”‚   โ”œโ”€โ”€ prd.json             # Task template
โ”‚   โ”œโ”€โ”€ progress.txt         # Progress log template
โ”‚   โ”œโ”€โ”€ prompt.md            # Agent instructions template
โ”‚   โ””โ”€โ”€ package.json         # Project package.json template
โ””โ”€โ”€ README.md

Database Schema

Input Tables (from other agents)

-- Trends from TrendScout
trends (topic, description, source, relevance_score, status)

-- Research from Research Agent
research (title, summary, key_findings, data_points, category, status)

-- Communications from Product/Marketing
communications (type, title, details, key_messages, target_audience, priority, status)

Ralph's Workspace

-- Content planning
content_plan (content_type, title, brief, target_keywords, status)

-- Work in progress
drafts (plan_id, version, content, word_count, feedback)

-- Final content
published (plan_id, final_content, meta_description)

-- Activity tracking
agent_log (action, details, created_at)

Customizing

Add Your Own Content Sources

Edit src/db/seed.js:

// Add a trend
insertTrend.run(
  'Your Trend Topic',
  'Description of the trend',
  'Source',
  85  // relevance score
);

// Add a communication
insertComm.run(
  'product_update',
  'Your Product Launch',
  'Details about what it does',
  JSON.stringify(['Key message 1', 'Key message 2']),
  'Target audience',
  1  // priority
);

Add Your Own Tasks

Edit scripts/ralph/prd.json:

{
  "id": "WRITE-004",
  "title": "Write your custom blog",
  "acceptanceCriteria": [
    "At least 1000 words",
    "Includes 3 data points",
    "Has compelling CTA"
  ],
  "priority": 5,
  "passes": false
}

Sample Tasks

The default PRD includes 12 stories:

  1. SETUP-001: Initialize database
  2. PLAN-001: Plan product launch blog
  3. WRITE-001: Write launch blog draft
  4. PLAN-002: Plan thought leadership blog
  5. WRITE-002: Write data-driven blog
  6. REVIEW-001: Review and improve draft
  7. PUBLISH-001: Publish launch blog
  8. PLAN-003: Plan case study
  9. WRITE-003: Write case study
  10. SOCIAL-001: Create social posts
  11. NEWSLETTER-001: Draft newsletter
  12. METRICS-001: Log final metrics

The Ralph Philosophy

"Ralph is a Bash loop. Memory persists only through git history and text files. Each iteration is a fresh context window."

Key principles:

  • Small stories - Must complete in one iteration
  • Explicit criteria - No ambiguity
  • Fast feedback - Tests every iteration
  • Compound learnings - Patterns accumulate
  • Persistence wins - Keep iterating

Credits

License

MIT

About

A Claude Code Plugin that provides an autonomous AI copywriter.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published