# Brand Marketing Strategy Proposal Generator

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

- Skill: `aradotso-marketing-skills/brand-marketing-strategy-proposal-generator` (Agent Skill)
- Install (CLI): `npx skillmds@latest add aradotso-marketing-skills/brand-marketing-strategy-proposal-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aradotso-marketing-skills/brand-marketing-strategy-proposal-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: aradotso (https://skillmd.com/u/aradotso-marketing-skills)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/aradotso-marketing-skills/brand-marketing-strategy-proposal-generator

---


# Brand Marketing Strategy Proposal Generator

> Skill by [ara.so](https://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:

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

Create the required directory structure:

```bash
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
```text
请按照本项目 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

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

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

User: 确认

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

### Resuming from Checkpoint

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

### Regenerating Specific Sections

```text
请重新生成目录结构（确认点 3），保持之前的机会点洞察不变
```

### Custom Analysis Depth

```text
请执行深度竞争分析，包含至少 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:

```markdown
# 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

```python
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

```python
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

```python
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

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

### Pattern 2: Parallel Analysis

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

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

### Pattern 3: Template-Based Generation

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

## Troubleshooting

### Issue: Client materials not found

```text
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

```text
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

```text
Problem: Word document missing slides 15-20

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

### Issue: Generic or shallow insights

```text
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

```bash
# 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

