# Hunter AI Content Factory

> 本文档概述了自动化微信公众号内容创作的 5 个 Skill 的顺序执行流程。 Use when this capability is needed.

- Skill: `tomevault-io/hunter-ai-content-factory` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/hunter-ai-content-factory`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/hunter-ai-content-factory/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/hunter-ai-content-factory

---

# 微信公众号自动化工作流 (WeChat Official Account Automation Workflow)

本文档概述了自动化微信公众号内容创作的 5 个 Skill 的顺序执行流程。

## 工作流伪代码 (Workflow Pseudocode)

```python
def run_wechat_automation_workflow(initial_input):
    # 加载配置
    config = load_json("config.json")

    # 1. 选题 (Topic Selection)
    # 输入: 当前趋势, 细分领域
    # 输出: 选定的主题、切入角度、目标读者、拟定标题、关键词
    topic_output = execute_skill(
        name="Topic",
        input={
            "niche": initial_input.niche,
            "trends": initial_input.trends
        },
        config=config
    )

    # 2. 研究 (Research)
    # 输入: 选定的主题、关键词
    # 输出: 研究笔记、核心洞察、关键事实、来源、Twitter情报
    # 工具: 需要网页搜索、浏览器访问、Twitter猎取
    research_output = execute_skill(
        name="Research",
        tools=["web_search", "browser", "read_url", "twitter_hunter"],  # 新增 twitter_hunter
        input={
            "topic": topic_output.selected_topic,
            "keywords": topic_output.keywords,
            "twitter_config": config.twitter  # ← 传入 Twitter 配置
        },
        config=config
    )

    # 3. 结构化 (Structure)
    # 输入: 研究数据、目标读者、切入角度、语气
    # 输出: 文章大纲（含 hook、outline、closing）
    structure_output = execute_skill(
        name="Structure",
        input={
            "research_data": {
                "key_insights": research_output.key_insights,
                "notes": research_output.notes,
                "facts": research_output.facts
            },
            "target_audience": topic_output.target_audience,  # ← 从 Topic 传递
            "angle": topic_output.angle,                      # ← 从 Topic 传递
            "tone": config.account_tone
        },
        config=config
    )

    # 4. 写作 (Write)
    # 输入: 大纲、研究数据、目标读者、切入角度、开篇钩子、结尾设计
    # 输出: 完整初稿、实际字数、可读性评分
    write_output = execute_skill(
        name="Write",
        input={
            "outline": structure_output.outline,
            "hook": structure_output.hook,                    # ← 从 Structure 传递
            "closing": structure_output.closing,              # ← 从 Structure 传递
            "research_data": research_output.notes,
            "target_audience": topic_output.target_audience,  # ← 从 Topic 传递
            "angle": topic_output.angle,                      # ← 从 Topic 传递
            "length_constraints": config.article_length,
            "banned_words": config.banned_words
        },
        config=config
    )

    # 5. 封装 (Package)
    # 输入: 初稿、拟定标题、目标读者、语气
    # 输出: 最终标题、摘要、封面图提示词、嵌入图片的文章、SEO关键词
    final_package = execute_skill(
        name="Package",
        input={
            "draft": write_output.draft,
            "potential_titles": topic_output.potential_titles,  # ← 从 Topic 传递
            "target_audience": topic_output.target_audience,    # ← 从 Topic 传递
            "tone": config.account_tone
        },
        config=config
    )

    # 6. 发布 (Publish) - 推送到微信
    # 输入: 最终标题、摘要、完整文章
    # 输出: 推送状态、推送时间、消息ID
    if config.push.enabled:
        publish_output = execute_skill(
            name="Publish",
            input={
                "title": final_package.title,
                "summary": final_package.summary,
                "draft_with_images": final_package.draft_with_images,
                "pushplus_token": config.push.pushplus_token
            },
            config=config
        )

    return final_package, publish_output
```

## 数据流图 (Data Flow)

```
┌─────────┐
│  Topic  │
└────┬────┘
     │ selected_topic, keywords
     │ target_audience, angle, potential_titles
     ▼
┌──────────┐
│ Research │
└────┬─────┘
     │ key_insights, notes, facts, references
     ▼
┌───────────┐  ← target_audience, angle (from Topic)
│ Structure │
└────┬──────┘
     │ hook, outline, closing
     ▼
┌─────────┐  ← target_audience, angle (from Topic)
│  Write  │  ← research_data (from Research)
└────┬────┘
     │ draft, actual_word_count
     ▼
┌─────────┐  ← potential_titles, target_audience (from Topic)
│ Package │
└────┬────┘
     │ title, summary, draft_with_images
     ▼
┌─────────┐  ← pushplus_token (from config)
│ Publish │
└────┬────┘
     │ push_status, push_time, message_id
     ▼
  [推送完成]
```

## 数据传递原则 (Data Passing Principles)

1. **完整传递**: Topic 的输出（target_audience, angle, potential_titles）需要贯穿整个工作流
2. **层级聚合**: Research 的输出在 Structure 和 Write 阶段均被使用
3. **配置注入**: `config.json` 中的 tone、banned_words、article_length、push 注入到相关 Skill
4. **质量联检**: 每个 Skill 都有质量自检机制，确保输出符合预期
5. **可选推送**: Publish Skill 仅在 `config.push.enabled = true` 时执行

---
> Source: [Pangu-Immortal/hunter-ai-content-factory](https://github.com/Pangu-Immortal/hunter-ai-content-factory) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-24 -->

