content-planner

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Topic Planning + Content Calendar

选题规划 + 内容日历

Use Cases

使用场景

  • User says "帮我规划下周公众号内容"
  • User says "最近有什么热门选题可以写"
  • User says "帮我做一份内容日历"
  • User wants to know what competitor accounts are writing about
  • Need to make topic decisions based on data
  • 用户说“帮我规划下周公众号内容”
  • 用户说“最近有什么热门选题可以写”
  • 用户说“帮我做一份内容日历”
  • 用户想了解竞品账号正在撰写的内容
  • 需要基于数据做出选题决策

Dependencies

依赖环境

Node.js + cheerio (install once):
bash
npm install -g cheerio
Node.js + cheerio(仅需安装一次):
bash
npm install -g cheerio

Script Directory

脚本目录

ScriptPurposeUsage
scripts/wechat_search.js
Sogou WeChat article search
node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword"
脚本用途使用方法
scripts/wechat_search.js
搜狗微信文章搜索
node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword"

Search Script Parameters

搜索脚本参数

IMPORTANT: Always use the
$SKILLS_ROOT
environment variable to locate scripts.
bash
undefined
重要提示: 请始终使用
$SKILLS_ROOT
环境变量定位脚本。
bash
undefined

Basic search

基础搜索

node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword"
node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword"

Limit result count

限制结果数量

node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword" -n 15
node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword" -n 15

Save to file

保存到文件

node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword" -n 20 -o result.json
node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword" -n 20 -o result.json

Parse real URLs (extra network requests, may be blocked by anti-scraping)

解析真实URL(需额外网络请求,可能触发反爬机制)

node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword" -n 5 -r

**Output Fields:** Article title, article URL, article summary, publish time, source account name
node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "keyword" -n 5 -r

**输出字段:** 文章标题、文章URL、文章摘要、发布时间、来源账号名称

Workflow

工作流程

Step 1: Clarify Planning Scope

步骤1:明确规划范围

Confirm the following information with the user (ask all at once):
帮你规划内容,先确认几件事:

1. 规划周期?(本周 / 下周 / 自定义时间范围)
2. 有没有特定想写的方向或关键词?
3. 每周几篇?(默认3篇)
一次性向用户确认以下信息:
帮你规划内容,先确认几件事:

1. 规划周期?(本周 / 下周 / 自定义时间范围)
2. 有没有特定想写的方向或关键词?
3. 每周几篇?(默认3篇)

Step 2: Trending Scan

步骤2:热点扫描

Execute multiple rounds of searches covering different dimensions:
Search Strategy:
  1. Core domain keyword search — Search with 2-3 core keywords related to the account's field
  2. User-specified keyword search — If user has specific directions
  3. General trending search — Search with combinations of "热点", "热门", "最新" with domain keywords
bash
undefined
执行多轮覆盖不同维度的搜索:
搜索策略:
  1. 核心领域关键词搜索 — 使用与账号领域相关的2-3个核心关键词进行搜索
  2. 用户指定关键词搜索 — 如果用户有特定方向
  3. 通用热点搜索 — 将「热点」「热门」「最新」与领域关键词组合搜索
bash
undefined

Example: Tech domain

示例:科技领域

node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "AI 最新趋势" -n 10 node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "大模型应用" -n 10 node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "科技热点 2026" -n 10

Wait 3-5 seconds between each search to avoid triggering anti-scraping mechanisms.
node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "AI 最新趋势" -n 10 node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "大模型应用" -n 10 node "$SKILLS_ROOT/content-planner/scripts/wechat_search.js" "科技热点 2026" -n 10

每两次搜索间隔3-5秒,避免触发反爬机制。

Step 3: Competitor Analysis

步骤3:竞品分析

Extract from search results:
Analysis DimensionExtracted Content
Title StrategyWhich title patterns get high engagement
Topic DirectionWhich directions are recent hot topics
Content AngleWhat angles do existing articles take, how to differentiate
Publish TimeCompetitors' publishing frequency and timing
从搜索结果中提取以下信息:
分析维度提取内容
标题策略哪些标题模式获得高关注度
选题方向近期哪些方向是热门选题
内容角度现有文章采用哪些角度,如何实现差异化
发布时间竞品的发布频率与时间节点

Step 4: Generate Topic Recommendations

步骤4:生成选题推荐

Based on trending data and competitor analysis, generate 5-10 topic suggestions. Each topic must include:
  • Alternative Titles (2 styles)
  • Target Audience
  • Content Angle (differentiation point)
  • Recommended Style: deep-analysis / practical-guide / story-driven / opinion / news-brief
  • Urgency: 🔥 Urgent / 📅 This week / 📦 Reserve
  • Reference Articles (from search results)
Topic Quality Requirements:
  • Each topic must be based on real search data, not fabricated
  • Each topic must have a clear differentiation angle
  • Must include at least 1 high-urgency topic (🔥) and 2 reserve topics (📦)
基于热点数据和竞品分析,生成5-10个选题建议。每个选题必须包含:
  • 备选标题(2种风格)
  • 目标受众
  • 内容角度(差异化切入点)
  • 推荐风格:深度分析 / 实操指南 / 故事驱动 / 观点评论 / 新闻简讯
  • 紧急程度:🔥 紧急 / 📅 本周 / 📦 储备
  • 参考文章(来自搜索结果)
选题质量要求:
  • 每个选题必须基于真实搜索数据,不可虚构
  • 每个选题必须有明确的差异化角度
  • 必须包含至少1个高紧急度选题(🔥)和2个储备选题(📦)

Step 5: User Approval

步骤5:用户确认

This is a mandatory approval gate and cannot be skipped.
Present the topic list and ask user to select, adjust, and schedule.
此为强制确认环节,不可跳过。
展示选题列表,请求用户进行选择、调整并安排时间。

Step 6: Generate Content Calendar

步骤6:生成内容日历

Output
content_calendar.json
:
json
{
  "week": "2026-W13",
  "created_at": "2026-03-25",
  "articles": [
    {
      "id": 1,
      "date": "2026-03-26",
      "day": "Wednesday",
      "topic": "Topic Title",
      "angle": "Differentiation Angle",
      "style": "deep-analysis",
      "audience": "Target Audience",
      "urgency": "this-week",
      "status": "planned",
      "keywords": ["keyword1", "keyword2"]
    }
  ]
}
输出
content_calendar.json
json
{
  "week": "2026-W13",
  "created_at": "2026-03-25",
  "articles": [
    {
      "id": 1,
      "date": "2026-03-26",
      "day": "Wednesday",
      "topic": "Topic Title",
      "angle": "Differentiation Angle",
      "style": "deep-analysis",
      "audience": "Target Audience",
      "urgency": "this-week",
      "status": "planned",
      "keywords": ["keyword1", "keyword2"]
    }
  ]
}

Step 7: Output Confirmation

步骤7:输出确认

Present a summary table and prompt user to start writing with article-writer skill.
展示汇总表格,并提示用户使用article-writer技能开始撰写。

Search Considerations

搜索注意事项

  • Search results may be empty (anti-scraping), retry with different keywords
  • Multiple searches in short time may trigger restrictions, recommend 3-5 second intervals
  • The
    -r
    parameter for parsing real URLs has low success rate, avoid unless necessary
  • 搜索结果可能为空(触发反爬),请更换关键词重试
  • 短时间内多次搜索可能触发限制,建议间隔3-5秒
  • 解析真实URL的
    -r
    参数成功率较低,非必要请勿使用

Integration with Other Skills

与其他技能的集成

  • The generated
    content_calendar.json
    is the input source for article-writer
  • article-writer reads entries with status
    planned
    from the calendar
  • 生成的
    content_calendar.json
    article-writer技能的输入源
  • article-writer会从日历中读取状态为
    planned
    的条目