A Claude Code Plugin that provides an autonomous AI copywriter.
A Claude Code Plugin that provides an autonomous AI copywriter.
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.
# 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# 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# Open the plugin manager:
/plugin
# Browse, search, and install from the interactive UI# 1. Initialize a new content project
/ralph-init
# 2. Check progress anytime
/ralph-status
# 3. Cancel if needed
/ralph-cancel| 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 |
…scripts/ralph/prd.json for tasksscripts/ralph/progress.txt for learningspasses: falseEach iteration is a fresh context window. Memory persists through files.
…-- 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)-- 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)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
);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
}The default PRD includes 12 stories:
"Ralph is a Bash loop. Memory persists only through git history and text files. Each iteration is a fresh context window."
Key principles:
MIT
No open issues yet, or sync has not completed.