/install marketing-plan
Marketing Plan Generator
Professional marketing plan generator with web research and Word document output.
Features
- 📋 Marketing Plans: Complete strategy documents
- 📢 Campaign Plans: Multi-channel strategies
- 🌐 Web Research: Fetch latest market data
- 📄 Word Output: Generate .docx files
- 🎯 Target Analysis: Audience segmentation
- 📊 Budget Planning: ROI-focused allocation
How It Works
User request
↓
1. Web Search: Fetch latest market data
↓
2. AI Analysis: Generate strategy
↓
3. Python Code: Create Word document
↓
Output: Professional .docx file
Step 1: Understand Requirements
User provides:
- Product/service name
- Target audience
- Budget
- Timeline
- Goals
Step 2: Research Market Data
Agent searches for:
- Competitor information
- Market trends
- Industry benchmarks
- Best practices
Step 3: Generate Word Document
from docx import Document
from docx.shared import Pt, Inches, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from datetime import datetime
class MarketingPlanGenerator:
def __init__(self, product, company, budget):
self.product = product
self.company = company
self.budget = budget
self.channels = []
self.timeline = []
self.goals = []
self.competitors = []
def add_channel(self, name, budget_pct, description):
self.channels.append({
'name': name,
'budget': self.budget * budget_pct / 100,
'budget_pct': budget_pct,
'description': description
})
def add_milestone(self, date, task, owner):
self.timeline.append({'date': date, 'task': task, 'owner': owner})
def add_goal(self, metric, target):
self.goals.append({'metric': metric, 'target': target})
def add_competitor(self, name, strengths, weaknesses):
self.competitors.append({
'name': name,
'strengths': strengths,
'weaknesses': weaknesses
})
def generate_docx(self, output_path, lang='en'):
"""Generate professional Word document with excellent formatting"""
doc = Document()
# Set page margins
section = doc.sections[0]
section.top_margin = Cm(2.54)
section.bottom_margin = Cm(2.54)
section.left_margin = Cm(2.54)
section.right_margin = Cm(2.54)
# Title
if lang == 'zh':
title = doc.add_heading('营销推广方案', 0)
else:
title = doc.add_heading('Marketing Plan', 0)
title.alignment = WD_ALIGN_PARAGRAPH.CENTER
# Subtitle
if lang == 'zh':
sub = doc.add_heading(f'{self.product}', 1)
else:
sub = doc.add_heading(f'{self.product}', 1)
sub.alignment = WD_ALIGN_PARAGRAPH.CENTER
# Date and company
info = doc.add_paragraph()
info.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = info.add_run(f'{self.company} | {datetime.now().strftime("%Y-%m-%d")}')
run.font.size = Pt(10)
run.font.color.rgb = RGBColor(100, 100, 100)
doc.add_paragraph()
# 1. Executive Summary
if lang == 'zh':
doc.add_heading('一、项目概述', level=1)
doc.add_paragraph(f'产品名称:{self.product}')
doc.add_paragraph(f'所属公司:{self.company}')
doc.add_paragraph(f'推广预算:¥{self.budget:,}')
doc.add_paragraph(f'推广周期:8周')
else:
doc.add_heading('1. Executive Summary', level=1)
doc.add_paragraph(f'Product: {self.product}')
doc.add_paragraph(f'Company: {self.company}')
doc.add_paragraph(f'Budget: ${self.budget:,}')
doc.add_paragraph(f'Duration: 8 weeks')
# 2. Budget Allocation
if lang == 'zh':
doc.add_heading('二、预算分配', level=1)
else:
doc.add_heading('2. Budget Allocation', level=1)
table = doc.add_table(rows=len(self.channels)+1, cols=3)
table.style = 'Table Grid'
table.cell(0, 0).text = '渠道' if lang == 'zh' else 'Channel'
table.cell(0, 1).text = '预算' if lang == 'zh' else 'Budget'
table.cell(0, 2).text = '说明' if lang == 'zh' else 'Description'
for i, ch in enumerate(self.channels, 1):
table.cell(i, 0).text = ch['name']
table.cell(i, 1).text = f"¥{ch['budget']:,.0f}" if lang == 'zh' else f"${ch['budget']:,.0f}"
table.cell(i, 2).text = ch['description']
doc.add_paragraph()
# 3. Timeline
if lang == 'zh':
doc.add_heading('三、执行计划', level=1)
else:
doc.add_heading('3. Timeline', level=1)
for m in self.timeline:
doc.add_paragraph(f"{m['date']}: {m['task']}({m['owner']})")
# 4. Goals
if lang == 'zh':
doc.add_heading('四、目标指标', level=1)
else:
doc.add_heading('4. Goals', level=1)
for g in self.goals:
doc.add_paragraph(f"{g['metric']}: {g['target']}")
doc.save(output_path)
return output_path
# Example
plan = MarketingPlanGenerator('Product X', 'Company Y', 10000)
plan.add_channel('Social Media', 40, 'WeChat, Xiaohongshu')
plan.add_milestone('Week 1', 'Launch campaign', 'Marketing')
plan.add_goal('Impressions', '1M')
plan.generate_docx('marketing_plan.docx')
Usage Examples
User: "Create marketing plan for AI product, budget $50k"
Agent:
1. Search for AI market trends
2. Generate plan with channels and timeline
3. Create Word document
4. Output: marketing_plan.docx
User: "帮我做一个产品推广方案,预算5万"
Agent:
1. 搜索相关市场数据
2. 生成营销方案
3. 创建Word文档
4. 输出:营销方案.docx
Notes
- Fetches latest market data via web search
- Generates professional Word documents
- Supports Chinese and English
- Budget-focused approach
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install marketing-plan - After installation, invoke the skill by name or use
/marketing-plan - Provide required inputs per the skill's parameter spec and get structured output
What is Marketing Plan?
Marketing plan generator with web research and Word output. Use when user needs to create marketing plans, promotional campaigns, social media strategies. Fe... It is an AI Agent Skill for Claude Code / OpenClaw, with 277 downloads so far.
How do I install Marketing Plan?
Run "/install marketing-plan" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Marketing Plan free?
Yes, Marketing Plan is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Marketing Plan support?
Marketing Plan is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Marketing Plan?
It is built and maintained by ToBeWin (@tobewin); the current version is v1.0.3.