brand-marketing-strategy-proposal-generator

v2026.09.24

Generate comprehensive brand marketing strategy proposals with research, insights, and structured PPT scripts

GitHub
安装命令
npx skhub add reason-machines/brand-marketing-strategy-proposal-generator
Markdown
SKILL.md

Brand Marketing Strategy Proposal Generator

Skill by ara.so — Marketing Skills collection.

An agent-based workflow system for generating comprehensive brand marketing strategy proposals. Takes client data through a multi-stage process including needs analysis, research, opportunity identification, outline creation, and slide-by-slide script generation with Word document output.

What It Does

This skill automates the creation of professional marketing strategy proposals by:

  • Analyzing client background materials and requirements
  • Defining project problems and objectives
  • Conducting research and competitive analysis
  • Identifying strategic opportunities
  • Building structured presentation outlines
  • Generating detailed slide-by-slide scripts
  • Outputting formatted Word documents

The workflow includes multiple confirmation checkpoints to ensure accuracy and alignment with client needs.

Installation

Clone or download the project into your workspace:

git clone https://github.com/yuleiwang156-a11y/brand-marketing-strategy-proposal-skill.git
cd brand-marketing-strategy-proposal-skill

Create the required directory structure:

mkdir -p inputs/客户资料
mkdir -p outputs
mkdir -p agent_memory
mkdir -p backups

Project Structure

brand-marketing-strategy-proposal-skill/
├── inputs/
│   └── 客户资料/
│       └── [客户名称]/          # Client-specific folders
│           ├── brief.txt        # Client brief
│           ├── background.pdf   # Company background
│           └── research.docx    # Market research
├── outputs/                     # Generated proposals
├── agent_memory/                # Session state (gitignored)
├── backups/                     # Workflow backups (gitignored)
└── MEMORY.md                    # Project memory (gitignored)

Core Workflow

The skill follows a six-stage process with three confirmation checkpoints:

Stage 1: Client Input

Place all client materials in inputs/客户资料/[客户名称]/

Stage 2: Checkpoint 1 - Needs Understanding & Problem Definition

请按照本项目 Skill 执行。本次客户资料在 inputs/客户资料/[客户名称]/ 中,请从确认点 1 开始。

The agent will:

  • Read and analyze all client materials
  • Extract key business objectives
  • Define core marketing challenges
  • Propose initial problem statements
  • Wait for user confirmation

Stage 3: Research & Analysis Layer

After checkpoint 1 approval, the agent conducts:

  • Industry landscape analysis
  • Competitive positioning research
  • Consumer insights synthesis
  • Market trends identification
  • SWOT analysis

Stage 4: Checkpoint 2 - Opportunity Insights

The agent presents:

  • Strategic opportunity areas
  • Positioning recommendations
  • Target audience refinements
  • Key differentiators
  • Wait for user confirmation

Stage 5: Checkpoint 3 - Outline Structure

The agent provides:

  • Client-facing table of contents
  • Internal analysis structure
  • Slide sequence and topics
  • Narrative flow
  • Wait for user confirmation

Stage 6: Script Generation & Output

The agent generates:

  • Slide-by-slide content scripts
  • Visual direction notes
  • Supporting data and evidence
  • Quality checks
  • Final Word document output

Usage Patterns

Basic Workflow

User: 请为客户"ABC品牌"生成营销战略建议书,资料在 inputs/客户资料/ABC品牌/ 中

Agent: 
1. 读取客户资料...
2. 【确认点 1】需求理解与问题定义:
   - 客户目标:提升品牌年轻化认知
   - 核心问题:品牌老化,年轻消费者流失
   - 项目范围:品牌重塑战略
   
是否确认继续?

User: 确认

Agent:
3. 执行研究分析...
4. 【确认点 2】机会点洞察:
   - 机会1:Z世代文化共鸣
   - 机会2:数字化体验升级
   - 机会3:可持续发展叙事
   
是否确认继续?

Resuming from Checkpoint

请从确认点 2 继续,使用 agent_memory/session_abc.json 中的状态

Regenerating Specific Sections

请重新生成目录结构(确认点 3),保持之前的机会点洞察不变

Custom Analysis Depth

请执行深度竞争分析,包含至少 5 个主要竞品的详细对比矩阵

Configuration

Client Data Requirements

Organize client materials with clear naming:

inputs/客户资料/客户名称/
├── 01_项目简报.docx          # Project brief
├── 02_品牌背景.pdf           # Brand background
├── 03_市场数据.xlsx          # Market data
├── 04_竞品分析.pptx          # Competitive analysis
└── 05_消费者调研.pdf         # Consumer research

Memory Management

The agent uses MEMORY.md and agent_memory/ to maintain state:

# MEMORY.md structure
## Current Project: [客户名称]
## Workflow Stage: [确认点 1/2/3 或生成中]
## Key Decisions:
- Problem definition: [...]
- Approved opportunities: [...]
- Outline structure: [...]

Output Formats

Default output structure:

outputs/
└── [客户名称]_品牌营销战略建议书_[日期]/
    ├── 01_需求定义.md
    ├── 02_研究分析.md
    ├── 03_机会洞察.md
    ├── 04_提案目录.md
    ├── 05_PPT脚本.md
    └── 最终建议书.docx

Code Examples

Python: Parsing Client Materials

import os
from pathlib import Path

def load_client_data(client_name):
    """Load all client materials from input directory"""
    client_dir = Path(f"inputs/客户资料/{client_name}")
    
    materials = {
        'brief': None,
        'background': None,
        'research': [],
        'data': []
    }
    
    if not client_dir.exists():
        raise ValueError(f"Client directory not found: {client_dir}")
    
    for file in client_dir.iterdir():
        if file.suffix in ['.txt', '.md']:
            materials['brief'] = file.read_text(encoding='utf-8')
        elif file.suffix == '.pdf':
            materials['background'] = file
        elif file.suffix in ['.docx', '.doc']:
            materials['research'].append(file)
        elif file.suffix in ['.xlsx', '.csv']:
            materials['data'].append(file)
    
    return materials

# Usage
client_data = load_client_data("ABC品牌")
print(f"Found {len(client_data['research'])} research documents")

Python: Generating Structured Output

from dataclasses import dataclass
from typing import List
from datetime import datetime

@dataclass
class OpportunityInsight:
    title: str
    description: str
    evidence: List[str]
    potential_impact: str

@dataclass
class ProposalOutline:
    client_name: str
    sections: List[dict]
    total_slides: int
    
    def to_markdown(self):
        md = f"# {self.client_name} 品牌营销战略建议书\n\n"
        md += f"生成时间: {datetime.now().strftime('%Y-%m-%d')}\n\n"
        md += f"总页数: {self.total_slides}\n\n"
        
        for i, section in enumerate(self.sections, 1):
            md += f"## {i}. {section['title']}\n"
            md += f"页数: {section['slides']}\n"
            md += f"内容: {section['description']}\n\n"
        
        return md

# Usage
outline = ProposalOutline(
    client_name="ABC品牌",
    sections=[
        {
            'title': '品牌现状诊断',
            'slides': 5,
            'description': '市场地位、消费者认知、竞争态势'
        },
        {
            'title': '战略机会洞察',
            'slides': 8,
            'description': 'Z世代文化共鸣、数字化体验升级'
        }
    ],
    total_slides=45
)

output_path = Path(f"outputs/{outline.client_name}_提案目录.md")
output_path.write_text(outline.to_markdown(), encoding='utf-8')

Python: Checkpoint State Management

import json
from enum import Enum

class WorkflowStage(Enum):
    CHECKPOINT_1 = "needs_understanding"
    RESEARCH = "research_analysis"
    CHECKPOINT_2 = "opportunity_insights"
    CHECKPOINT_3 = "outline_structure"
    GENERATION = "script_generation"
    COMPLETE = "complete"

class WorkflowState:
    def __init__(self, client_name):
        self.client_name = client_name
        self.stage = WorkflowStage.CHECKPOINT_1
        self.data = {}
        self.approvals = []
    
    def save(self):
        state_file = Path(f"agent_memory/{self.client_name}_state.json")
        state_file.write_text(json.dumps({
            'client_name': self.client_name,
            'stage': self.stage.value,
            'data': self.data,
            'approvals': self.approvals
        }, ensure_ascii=False, indent=2), encoding='utf-8')
    
    @classmethod
    def load(cls, client_name):
        state_file = Path(f"agent_memory/{client_name}_state.json")
        if not state_file.exists():
            return cls(client_name)
        
        state_data = json.loads(state_file.read_text(encoding='utf-8'))
        instance = cls(state_data['client_name'])
        instance.stage = WorkflowStage(state_data['stage'])
        instance.data = state_data['data']
        instance.approvals = state_data['approvals']
        return instance

# Usage
state = WorkflowState("ABC品牌")
state.data['problem_definition'] = "品牌老化,年轻消费者流失"
state.approvals.append({'checkpoint': 1, 'approved': True})
state.save()

# Resume later
resumed_state = WorkflowState.load("ABC品牌")
print(f"Resuming from: {resumed_state.stage.value}")

Common Patterns

Pattern 1: Iterative Refinement

User: 请生成建议书,资料在 inputs/客户资料/XYZ/
Agent: [生成确认点1]
User: 问题定义太宽泛,请聚焦在年轻化转型
Agent: [调整后的问题定义]
User: 确认
Agent: [继续到确认点2]

Pattern 2: Parallel Analysis

User: 在执行研究分析时,请同时进行:
1. 5个竞品的详细对比
2. 3个目标人群的深度画像
3. 近3年的市场趋势分析

Agent: [并行执行三项分析任务]

Pattern 3: Template-Based Generation

User: 使用"快消品行业模板"生成建议书框架
Agent: [应用行业特定模板,包含渠道分析、促销策略等章节]

Troubleshooting

Issue: Client materials not found

Error: Client directory not found: inputs/客户资料/客户名称/

Solution:
1. Verify directory exists and name matches exactly (case-sensitive)
2. Check for special characters or spaces in folder name
3. Ensure materials are not nested in subdirectories

Issue: Memory state corruption

Error: Cannot resume from checkpoint - state file corrupted

Solution:
# Restore from backup
cp backups/[客户名称]_state_backup.json agent_memory/[客户名称]_state.json

# Or start fresh
rm agent_memory/[客户名称]_state.json

Issue: Incomplete output generation

Problem: Word document missing slides 15-20

Solution:
请从第15页开始重新生成,使用已保存的outline结构:
- 保持前14页内容不变
- 从"第三章:战略建议"的第15页继续
- 确保与整体叙事连贯

Issue: Generic or shallow insights

Problem: Generated insights too generic

Solution:
请深化分析,要求:
1. 每个洞察必须引用至少2个具体数据点
2. 包含至少1个真实案例参考
3. 明确说明与客户业务的关联性
4. 提供可量化的预期影响

Best Practices

  1. Organize client materials clearly - Use numbered prefixes and descriptive names
  2. Review each checkpoint carefully - The quality of later stages depends on early approvals
  3. Save intermediate states - Use the backup system for complex projects
  4. Provide context at checkpoints - Give specific feedback to guide refinement
  5. Use environment-specific configurations - Keep sensitive client data out of version control

Environment Variables

# Optional: Configure output preferences
export PROPOSAL_LANGUAGE="zh-CN"
export PROPOSAL_FORMAT="docx"
export ANALYSIS_DEPTH="detailed"  # standard, detailed, or comprehensive
export OUTPUT_DIR="outputs"

Security Notes

  • Never commit client materials to version control
  • Add to .gitignore:
    inputs/客户资料/
    outputs/
    agent_memory/
    backups/
    MEMORY.md
    *.docx
    *.pdf
    
  • Use environment variables for any API keys or credentials
  • Sanitize client names in logs and error messages
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

NOASSERTION

源路径

skills/brand-marketing-strategy-proposal-generator

默认分支

main

最新提交

97301f4

Tree SHA

5555d7f