agency-orchestrator 0.6.16 → 0.6.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agency-orchestrator",
3
- "version": "0.6.16",
3
+ "version": "0.6.17",
4
4
  "description": "Multi-agent YAML workflow engine — 211 AI roles, auto DAG parallelism, zero code. One sentence → multiple AI roles collaborate → complete plan in minutes. 10 LLM providers, 7 need no API key.",
5
5
  "keywords": [
6
6
  "multi-agent",
@@ -0,0 +1,159 @@
1
+ name: "会议纪要整理"
2
+ description: "输入原始会议记录,自动整理为结构化纪要:决策、TODO、争议点 三视角并行 → 完整纪要"
3
+
4
+ agents_dir: "agency-agents-zh"
5
+
6
+ llm:
7
+ provider: deepseek
8
+ model: deepseek-chat
9
+ max_tokens: 4096
10
+ timeout: 300000
11
+ retry: 2
12
+
13
+ concurrency: 3
14
+
15
+ inputs:
16
+ - name: raw_notes
17
+ description: "原始会议记录(口语/速记/录音转文字都可以)"
18
+ required: true
19
+ - name: meeting_type
20
+ description: "会议类型,如:产品评审 / 周会 / 1on1 / 客户访谈"
21
+ required: false
22
+ default: "内部会议"
23
+
24
+ steps:
25
+ - id: organize
26
+ role: "specialized/specialized-meeting-assistant"
27
+ name: "速记整理员"
28
+ emoji: "📝"
29
+ task: |
30
+ 把以下会议原始记录清理成结构化的"按发言人分段"版本。
31
+ 会议类型: {{meeting_type}}
32
+
33
+ 原始记录:
34
+ {{raw_notes}}
35
+
36
+ 整理要求:
37
+ - 删掉口语化的"嗯/啊/那个/就是说"等填充词
38
+ - 修复明显的速记错别字(不要改原意)
39
+ - 按发言人分段,每段加 [发言人] 前缀(如果原文没有人名,用 "A" / "B" 代号)
40
+ - 不要总结,不要加你自己的判断,只做清理
41
+
42
+ 输出格式(markdown):
43
+ [发言人A] 整理后的发言内容
44
+ [发言人B] 整理后的发言内容
45
+ ...
46
+ output: cleaned_notes
47
+
48
+ - id: extract_decisions
49
+ role: "specialized/specialized-meeting-assistant"
50
+ name: "决策分析员"
51
+ emoji: "✅"
52
+ task: |
53
+ 从以下整理后的会议记录中提取所有"已经达成的决策"。
54
+
55
+ 会议记录:
56
+ {{cleaned_notes}}
57
+
58
+ 只提取真正的决策("我们决定 X"、"那就 Y 吧"),不要把讨论过的选项当决策。
59
+
60
+ 输出格式(markdown):
61
+ ### 决策清单
62
+ | # | 决策内容 | 决策依据 | 影响范围 |
63
+ |---|---------|---------|---------|
64
+ | 1 | ... | ... | ... |
65
+
66
+ 如果没有明确决策,写 "本次会议未达成决策"。
67
+ output: decisions
68
+ depends_on: [organize]
69
+
70
+ - id: extract_todos
71
+ role: "specialized/specialized-meeting-assistant"
72
+ name: "行动跟踪员"
73
+ emoji: "📌"
74
+ task: |
75
+ 从以下会议记录中提取所有 TODO/行动项(谁要在什么时候做什么)。
76
+
77
+ 会议记录:
78
+ {{cleaned_notes}}
79
+
80
+ 提取标准:
81
+ - 含责任人(即使是模糊的"@某某"也保留)
82
+ - 含动作(一个明确的动词)
83
+ - 时间不明确就写 "未定",不要编
84
+
85
+ 输出格式(markdown):
86
+ ### 行动项清单
87
+ | # | 负责人 | 行动 | 截止时间 | 验收标准 |
88
+ |---|-------|-----|---------|---------|
89
+ | 1 | ... | ... | ... | ... |
90
+
91
+ 如果没有明确行动项,写 "本次会议未产生行动项"。
92
+ output: todos
93
+ depends_on: [organize]
94
+
95
+ - id: extract_concerns
96
+ role: "specialized/specialized-meeting-assistant"
97
+ name: "争议追踪员"
98
+ emoji: "⚠️"
99
+ task: |
100
+ 从以下会议记录中提取"未解决的分歧/疑问/风险"。
101
+
102
+ 会议记录:
103
+ {{cleaned_notes}}
104
+
105
+ 提取标准:
106
+ - 双方明确表达不同立场但没有结论的争议
107
+ - 任何被提出但没人回答的关键问题
108
+ - 提到的潜在风险(即使只是顺嘴一句)
109
+
110
+ 输出格式(markdown):
111
+ ### 未解决的分歧/疑问/风险
112
+ | # | 类型 [分歧/疑问/风险] | 内容 | 涉及方 | 建议处理方式 |
113
+ |---|----------------------|------|-------|------------|
114
+ | 1 | ... | ... | ... | 一句话建议 |
115
+
116
+ 如果都解决了,写 "本次会议无遗留议题"。
117
+ output: concerns
118
+ depends_on: [organize]
119
+
120
+ - id: final_notes
121
+ role: "specialized/specialized-meeting-assistant"
122
+ name: "纪要主笔"
123
+ emoji: "📄"
124
+ task: |
125
+ 整合三个视角,输出最终会议纪要(可直接发邮件/群里)。
126
+
127
+ 会议类型: {{meeting_type}}
128
+
129
+ 整理后的发言:
130
+ {{cleaned_notes}}
131
+
132
+ 决策清单:
133
+ {{decisions}}
134
+
135
+ 行动项清单:
136
+ {{todos}}
137
+
138
+ 未解决议题:
139
+ {{concerns}}
140
+
141
+ 输出格式(markdown,可直接复制发送):
142
+ # {{meeting_type}}纪要
143
+
144
+ ## 一句话总结
145
+ (30 字以内)
146
+
147
+ ## 关键决策
148
+ (从决策清单中转录,不要改)
149
+
150
+ ## 行动项
151
+ (从行动项清单中转录,按截止时间排序)
152
+
153
+ ## 待跟进
154
+ (从未解决议题中转录,按重要性排序)
155
+
156
+ ## 完整记录
157
+ (从整理后发言转录)
158
+ output: meeting_summary
159
+ depends_on: [extract_decisions, extract_todos, extract_concerns]
@@ -0,0 +1,168 @@
1
+ name: "OKR 拆解"
2
+ description: "输入年度目标,自动完成现状分析 → 4 个季度 KR 拆解 → 首季度行动方案 → 完整 OKR 文档"
3
+
4
+ agents_dir: "agency-agents-zh"
5
+
6
+ llm:
7
+ provider: deepseek
8
+ model: deepseek-chat
9
+ max_tokens: 4096
10
+ timeout: 300000
11
+ retry: 2
12
+
13
+ concurrency: 2
14
+
15
+ inputs:
16
+ - name: annual_goal
17
+ description: "年度目标(一句话),如:让产品 MAU 从 5 万做到 50 万"
18
+ required: true
19
+ - name: team_context
20
+ description: "团队/公司现状(人数、阶段、资源、关键约束)"
21
+ required: false
22
+ default: "10 人创业团队,种子轮,资金约 12 个月,主要资源是工程力量"
23
+
24
+ steps:
25
+ - id: situation_analysis
26
+ role: "product/product-manager"
27
+ name: "现状分析师"
28
+ emoji: "📊"
29
+ task: |
30
+ 分析达成年度目标的关键现状和挑战。
31
+
32
+ 年度目标: {{annual_goal}}
33
+ 团队现状: {{team_context}}
34
+
35
+ 输出格式(markdown,不超过 600 字):
36
+ ### 当前位置
37
+ 用 1-2 句话描述团队/产品当前的状态(数据 + 阶段)
38
+
39
+ ### 关键差距(要达成目标必须填的坑)
40
+ 1. 差距描述 → 为什么这是瓶颈
41
+ 2. ...
42
+ (3-5 条,按"如果不解决就一定达不成目标"的程度排序)
43
+
44
+ ### 可用杠杆(已有的优势)
45
+ 1. 杠杆 → 怎么用
46
+ 2. ...
47
+
48
+ ### 关键假设(如果错就全盘崩)
49
+ - 假设 → 风险等级 [高/中/低]
50
+ output: situation
51
+
52
+ - id: quarterly_plan
53
+ role: "project-management/project-manager-senior"
54
+ name: "项目总监"
55
+ emoji: "📅"
56
+ task: |
57
+ 把年度目标拆成 4 个季度的 KR(关键结果)。
58
+
59
+ 年度目标: {{annual_goal}}
60
+ 现状分析:
61
+ {{situation}}
62
+
63
+ 拆解原则:
64
+ - Q1 重点解决"关键差距"中最致命的 1-2 个
65
+ - Q2-Q4 渐进推进,不要 Q4 才做风险高的事
66
+ - KR 必须可量化(数字+时间)
67
+ - 每季度 3-5 个 KR,不要超
68
+
69
+ 输出格式(markdown):
70
+ ## Q1 (聚焦: 一句话主题)
71
+ | KR | 指标 | 当前 → 目标 | 验收方式 |
72
+ |---|------|------------|---------|
73
+
74
+ ## Q2 (聚焦: 一句话主题)
75
+ ...
76
+
77
+ ## Q3 (聚焦: 一句话主题)
78
+ ...
79
+
80
+ ## Q4 (聚焦: 一句话主题)
81
+ ...
82
+
83
+ ## 季度间依赖
84
+ 用 1-2 句话说明 Q1→Q2→Q3→Q4 的递进关系
85
+ output: quarters
86
+ depends_on: [situation_analysis]
87
+
88
+ - id: q1_action_plan
89
+ role: "marketing/marketing-growth-hacker"
90
+ name: "Q1 操盘手"
91
+ emoji: "🚀"
92
+ task: |
93
+ 给 Q1 出具体可执行的行动方案(3 个月内每周/每月做什么)。
94
+
95
+ Q1 KR(从季度计划提取):
96
+ {{quarters}}
97
+
98
+ 输出格式(markdown):
99
+ ### Q1 月度路线图
100
+
101
+ **Month 1(聚焦: 一句话)**
102
+ - Week 1-2: 行动项 → 期望产出
103
+ - Week 3-4: 行动项 → 期望产出
104
+
105
+ **Month 2(聚焦: 一句话)**
106
+ - ...
107
+
108
+ **Month 3(聚焦: 一句话)**
109
+ - ...
110
+
111
+ ### Q1 关键里程碑(3 个)
112
+ 1. [日期] 里程碑事件 → 验收标志
113
+ 2. ...
114
+
115
+ ### Q1 资源需求
116
+ - 人力: 谁要做什么、是否需要外援
117
+ - 预算: 大致数额(如不确定写"待估算")
118
+ - 工具: 关键工具/平台
119
+ output: q1_plan
120
+ depends_on: [quarterly_plan]
121
+
122
+ - id: final_okr
123
+ role: "project-management/project-manager-senior"
124
+ name: "OKR 主笔"
125
+ emoji: "📄"
126
+ task: |
127
+ 整合输出最终 OKR 文档(可直接发团队评审)。
128
+
129
+ 年度目标: {{annual_goal}}
130
+ 团队现状: {{team_context}}
131
+
132
+ 现状分析:
133
+ {{situation}}
134
+
135
+ 季度拆解:
136
+ {{quarters}}
137
+
138
+ Q1 行动方案:
139
+ {{q1_plan}}
140
+
141
+ 输出格式(markdown,可直接复制评审):
142
+ # 年度 OKR
143
+
144
+ ## Objective
145
+ {{annual_goal}}
146
+
147
+ ## 立项背景
148
+ (从现状分析提炼 1 段,不超过 100 字)
149
+
150
+ ## 关键差距 & 杠杆
151
+ (从现状分析提炼,5 条总数以内)
152
+
153
+ ## 季度 KR 拆解
154
+ (从季度计划转录)
155
+
156
+ ## Q1 详细方案
157
+ (从 Q1 行动方案转录)
158
+
159
+ ## 风险与假设
160
+ (从现状分析的关键假设 + 添加 1-2 条 Q1 执行风险)
161
+
162
+ ## 评审检查清单
163
+ - [ ] KR 是否量化?
164
+ - [ ] 季度间依赖是否清晰?
165
+ - [ ] Q1 行动是否周级别可执行?
166
+ - [ ] 资源是否到位?
167
+ output: okr_document
168
+ depends_on: [q1_action_plan]
@@ -0,0 +1,205 @@
1
+ name: "创业 Pitch Deck 大纲"
2
+ description: "输入一句话项目,并行输出市场分析 / 商业模式 / 财务预估 → 整合 5 屏 deck 大纲(创始人评审用)"
3
+
4
+ agents_dir: "agency-agents-zh"
5
+
6
+ llm:
7
+ provider: deepseek
8
+ model: deepseek-chat
9
+ max_tokens: 4096
10
+ timeout: 300000
11
+ retry: 2
12
+
13
+ concurrency: 3
14
+
15
+ inputs:
16
+ - name: startup_idea
17
+ description: "项目一句话描述(解决什么问题 + 给谁)"
18
+ required: true
19
+ - name: target_market
20
+ description: "主战场地区"
21
+ required: false
22
+ default: "中国市场"
23
+ - name: stage
24
+ description: "融资阶段(影响 deck 侧重)"
25
+ required: false
26
+ default: "种子轮"
27
+
28
+ steps:
29
+ - id: market_analysis
30
+ role: "product/product-trend-researcher"
31
+ name: "市场研究员"
32
+ emoji: "🔍"
33
+ task: |
34
+ 分析项目所在市场的痛点和机会。
35
+
36
+ 项目: {{startup_idea}}
37
+ 市场: {{target_market}}
38
+ 阶段: {{stage}}
39
+
40
+ 输出格式(markdown,不超过 500 字):
41
+ ### 用户痛点(按强度排序)
42
+ 1. 痛点 → 现有方案为什么不够
43
+ 2. ...
44
+ 3. ...
45
+
46
+ ### 市场规模(粗估)
47
+ - TAM(总市场): 数字 + 估算逻辑(哪怕粗糙也写)
48
+ - SAM(可服务市场): 数字 + 缩小逻辑
49
+ - SOM(3 年内可拿下): 数字 + 凭什么
50
+
51
+ ### 时机为什么是现在
52
+ 为什么今天做比 3 年前做更可能成(技术/政策/用户习惯任一角度,1-2 句话)
53
+
54
+ ### 主要竞争对手
55
+ | 对手 | 核心打法 | 我们的差异点 |
56
+ |------|---------|------------|
57
+ output: market
58
+
59
+ - id: solution_design
60
+ role: "product/product-manager"
61
+ name: "产品方案"
62
+ emoji: "💡"
63
+ task: |
64
+ 设计项目的产品/服务方案。
65
+
66
+ 项目: {{startup_idea}}
67
+ 市场: {{target_market}}
68
+
69
+ 输出格式(markdown,不超过 500 字):
70
+ ### 核心方案(一句话)
71
+ 用户最终拿到的是什么(产品/服务)
72
+
73
+ ### 关键能力(3 个最强)
74
+ 1. 能力 → 解决了哪个痛点 → 用户感受
75
+ 2. ...
76
+ 3. ...
77
+
78
+ ### 产品形态
79
+ - 交付方式(APP/Web/SaaS/线下/其他)
80
+ - 用户使用频率(每天/每周/按需)
81
+ - 关键体验路径(用户从注册到产生价值的最短路径,3-5 步)
82
+
83
+ ### 技术/资源壁垒
84
+ 为什么这个方案别人不能轻易复制(数据/网络效应/品牌/技术任一角度)
85
+ output: solution
86
+
87
+ - id: business_model
88
+ role: "specialized/specialized-pricing-optimizer"
89
+ name: "商业模式"
90
+ emoji: "💰"
91
+ task: |
92
+ 设计项目的商业模式和定价策略。
93
+
94
+ 项目: {{startup_idea}}
95
+ 市场: {{target_market}}
96
+ 阶段: {{stage}}
97
+
98
+ 输出格式(markdown,不超过 400 字):
99
+ ### 收入模式
100
+ - 主要收入来源(如订阅/交易抽成/广告/Saas/硬件)
101
+ - 一句话单笔收入逻辑("用户每月付 X 元,因为 Y")
102
+
103
+ ### 定价(建议初期)
104
+ | 套餐 | 价格 | 包含 | 目标人群 |
105
+ |------|-----|------|---------|
106
+
107
+ ### 单位经济(粗估)
108
+ - 获客成本 CAC(推测): 多少元 + 来源
109
+ - 用户生命周期价值 LTV(推测): 多少元 + 推算逻辑
110
+ - LTV/CAC 比例: X
111
+
112
+ ### 增长引擎
113
+ 产品有没有内生的增长机制(推荐 / 内容 / 网络效应 / 都没有靠投放),一句话说明
114
+ output: business
115
+
116
+ - id: financial_projection
117
+ role: "finance/finance-financial-forecaster"
118
+ name: "财务预估"
119
+ emoji: "📈"
120
+ task: |
121
+ 给项目做 3 年简易财务预估。
122
+
123
+ 项目: {{startup_idea}}
124
+ 阶段: {{stage}}
125
+
126
+ 要求:
127
+ - 数字可以是粗估(标 "粗估" 即可)
128
+ - 假设条件要写出来,方便投资人质疑
129
+ - 不要假装精确,但要逻辑自洽
130
+
131
+ 输出格式(markdown):
132
+ ### 关键假设
133
+ 1. 假设 → 数值
134
+ 2. ...
135
+ (3-5 条最关键的)
136
+
137
+ ### 3 年预估
138
+ | 维度 | 第 1 年 | 第 2 年 | 第 3 年 |
139
+ |------|--------|--------|--------|
140
+ | 用户数 | | | |
141
+ | 付费用户数 | | | |
142
+ | 月经常性收入 MRR | | | |
143
+ | 团队规模 | | | |
144
+ | 月度烧钱 | | | |
145
+ | 现金跑道(月) | | | |
146
+
147
+ ### 资金需求
148
+ 本轮融资多少({{stage}})→ 用在哪 → 能撑多久 → 关键里程碑
149
+ output: financials
150
+
151
+ - id: deck_outline
152
+ role: "product/product-manager"
153
+ name: "Deck 主笔"
154
+ emoji: "📊"
155
+ task: |
156
+ 整合所有材料,输出 5 屏(每屏 1 页)的 pitch deck 大纲。
157
+
158
+ 项目: {{startup_idea}}
159
+ 市场分析:
160
+ {{market}}
161
+
162
+ 产品方案:
163
+ {{solution}}
164
+
165
+ 商业模式:
166
+ {{business}}
167
+
168
+ 财务预估:
169
+ {{financials}}
170
+
171
+ 要求:
172
+ - 每屏只讲一件事,2-3 句话能说完
173
+ - 5 屏顺序: 问题 → 方案 → 市场 → 商业模式 → 财务/融资
174
+ - 每屏给"标题 + 主信息 + 视觉建议"三部分
175
+ - 数据从前面材料中转录,不要新编
176
+
177
+ 输出格式(markdown):
178
+ # Pitch Deck 大纲:{{startup_idea}}
179
+
180
+ ## Slide 1: 问题
181
+ **标题**: 一句话点题
182
+ **主信息(≤ 3 行)**: ...
183
+ **视觉建议**: 用什么图/数据让评审一眼相信痛点真实存在
184
+
185
+ ## Slide 2: 方案
186
+ ...
187
+
188
+ ## Slide 3: 市场
189
+ ...
190
+
191
+ ## Slide 4: 商业模式
192
+ ...
193
+
194
+ ## Slide 5: 财务 & 融资
195
+ ...
196
+
197
+ ## 附录建议(可选 backup slide)
198
+ - 团队介绍
199
+ - 竞争对比表
200
+ - 已有进展(数据 / 用户 / 合作)
201
+
202
+ ## Pitch 演讲节奏建议
203
+ (5 屏总共讲多久,哪几屏要重点停留)
204
+ output: pitch_deck
205
+ depends_on: [market_analysis, solution_design, business_model, financial_projection]
@@ -0,0 +1,172 @@
1
+ name: "产品发布物料生成"
2
+ description: "输入新产品/功能简介,并行产出发布通稿 + 社交短文 + 客户邮件 → 整合发布物料包"
3
+
4
+ agents_dir: "agency-agents-zh"
5
+
6
+ llm:
7
+ provider: deepseek
8
+ model: deepseek-chat
9
+ max_tokens: 4096
10
+ timeout: 300000
11
+ retry: 2
12
+
13
+ concurrency: 3
14
+
15
+ inputs:
16
+ - name: product_name
17
+ description: "产品/功能名"
18
+ required: true
19
+ - name: product_summary
20
+ description: "一句话核心价值(用户角度,不要技术术语)"
21
+ required: true
22
+ - name: key_features
23
+ description: "3-5 个关键能力,每个一句话(换行分隔)"
24
+ required: true
25
+ - name: launch_audience
26
+ description: "目标受众"
27
+ required: false
28
+ default: "已注册用户 + 潜在客户"
29
+
30
+ steps:
31
+ - id: positioning
32
+ role: "marketing/marketing-social-media-strategist"
33
+ name: "市场策略"
34
+ emoji: "🎯"
35
+ task: |
36
+ 基于产品信息,输出统一的发布定位(所有物料都基于这一份)。
37
+
38
+ 产品: {{product_name}}
39
+ 一句话价值: {{product_summary}}
40
+ 关键能力:
41
+ {{key_features}}
42
+ 受众: {{launch_audience}}
43
+
44
+ 输出格式(markdown,不超过 500 字):
45
+ ### 核心 Hook(一句话钩子)
46
+ 最能让目标受众停下来的那一句话。
47
+
48
+ ### 三个最强卖点(按打动力排序)
49
+ 1. 卖点 → 替代了什么旧痛苦 / 解锁了什么新可能
50
+ 2. ...
51
+ 3. ...
52
+
53
+ ### 产品口吻
54
+ 用 3 个形容词定位语气(如"专业、简洁、稍带克制的兴奋")
55
+
56
+ ### 目标行动
57
+ 读完这次发布,受众应该做什么(点链接/试用/分享/其他)
58
+ output: positioning
59
+
60
+ - id: press_release
61
+ role: "marketing/marketing-content-creator"
62
+ name: "通稿主笔"
63
+ emoji: "📰"
64
+ task: |
65
+ 基于定位写一篇可投递媒体或发到公司博客的发布通稿。
66
+
67
+ 产品: {{product_name}}
68
+ 产品价值: {{product_summary}}
69
+ 关键能力:
70
+ {{key_features}}
71
+ 统一定位:
72
+ {{positioning}}
73
+
74
+ 要求:
75
+ - 800-1200 字
76
+ - 结构: 钩子段 → 解决了什么 → 产品能力(每个能力一段)→ 用户故事 / 案例(编 1 个合理的)→ 上线信息(CTA)
77
+ - 标题用定位中的"核心 Hook"改写成媒体风格
78
+ - 不要写"在 AI 时代"、"新一代"、"颠覆性"这种空话
79
+ - 直接输出可发布的 markdown 文章
80
+ output: press
81
+ depends_on: [positioning]
82
+
83
+ - id: social_short
84
+ role: "marketing/marketing-social-media-strategist"
85
+ name: "社交短文"
86
+ emoji: "📱"
87
+ task: |
88
+ 基于定位写 3 条不同平台的社交短文。
89
+
90
+ 产品: {{product_name}}
91
+ 统一定位:
92
+ {{positioning}}
93
+
94
+ 输出格式(markdown):
95
+ ### 微博 / 推特(≤ 140 字)
96
+ (直接发的内容,含 emoji,不要标记 #标签 留位置让用户自己加)
97
+
98
+ ### LinkedIn / 朋友圈(≤ 300 字)
99
+ (专业语气,3 段:钩子 / 价值 / CTA)
100
+
101
+ ### 小红书风格(≤ 250 字)
102
+ (第一人称体验,2-3 个 emoji,结尾问句引互动)
103
+
104
+ 每条都要从定位中的"核心 Hook"出发,不要堆能力列表。
105
+ output: socials
106
+ depends_on: [positioning]
107
+
108
+ - id: customer_email
109
+ role: "marketing/marketing-content-creator"
110
+ name: "邮件主笔"
111
+ emoji: "✉️"
112
+ task: |
113
+ 基于定位写一封发给老用户的产品发布邮件。
114
+
115
+ 产品: {{product_name}}
116
+ 产品价值: {{product_summary}}
117
+ 统一定位:
118
+ {{positioning}}
119
+
120
+ 要求:
121
+ - 收件人是已经使用我们产品的老用户(已注册),所以不要重新介绍公司
122
+ - 250-400 字
123
+ - 结构: 称呼("嗨",不要"尊敬的")→ 一句话钩子 → 这次更新带来什么实际改变 → 怎么开始用(具体步骤)→ 反馈渠道
124
+ - 标题(subject line)用定位 hook 改写,加上"NEW:" 或 emoji 让收件箱里能被看见
125
+ - 直接输出邮件内容(含 Subject 行)
126
+ output: email
127
+ depends_on: [positioning]
128
+
129
+ - id: launch_pack
130
+ role: "marketing/marketing-content-creator"
131
+ name: "发布物料整理员"
132
+ emoji: "📦"
133
+ task: |
134
+ 把所有物料整合成一份"发布日物料包",方便市场/运营/客服当天取用。
135
+
136
+ 统一定位:
137
+ {{positioning}}
138
+
139
+ 发布通稿:
140
+ {{press}}
141
+
142
+ 社交短文:
143
+ {{socials}}
144
+
145
+ 老用户邮件:
146
+ {{email}}
147
+
148
+ 输出格式(markdown,单文档可直接发):
149
+ # 产品发布物料包:{{product_name}}
150
+
151
+ ## 发布定位(共享语言)
152
+ (摘录定位中的核心 Hook 和三个卖点,30 行内)
153
+
154
+ ## 渠道物料(按使用场景分组)
155
+
156
+ ### 媒体投放 / 公司博客
157
+ (直接转录通稿)
158
+
159
+ ### 社交渠道
160
+ (直接转录三条社交短文)
161
+
162
+ ### 老用户邮件
163
+ (直接转录邮件)
164
+
165
+ ## 发布日检查清单
166
+ - [ ] 通稿审核(公关/法务)
167
+ - [ ] 社交短文图片素材准备
168
+ - [ ] 邮件 EDM 列表确认
169
+ - [ ] 客服回应口径同步
170
+ - [ ] 发布时间确认(建议工作日上午)
171
+ output: full_pack
172
+ depends_on: [press_release, social_short, customer_email]
@@ -0,0 +1,121 @@
1
+ name: "技术博客创作"
2
+ description: "输入一句话主题,自动完成趋势调研 → 大纲 → 正文 → 润色,输出可直接发布的技术博客"
3
+
4
+ agents_dir: "agency-agents-zh"
5
+
6
+ llm:
7
+ provider: deepseek
8
+ model: deepseek-chat
9
+ max_tokens: 4096
10
+ timeout: 300000
11
+ retry: 2
12
+
13
+ concurrency: 2
14
+
15
+ inputs:
16
+ - name: topic
17
+ description: "博客主题(一句话),如:用 Rust 重写 Python 热点函数的实战经验"
18
+ required: true
19
+ - name: audience
20
+ description: "目标读者画像"
21
+ required: false
22
+ default: "中级技术开发者,对原理和实战代码有兴趣"
23
+
24
+ steps:
25
+ - id: research
26
+ role: "product/product-trend-researcher"
27
+ name: "研究员"
28
+ emoji: "🔬"
29
+ task: |
30
+ 围绕主题做调研,输出技术博客的核心论点和支撑材料。
31
+
32
+ 主题: {{topic}}
33
+ 目标读者: {{audience}}
34
+
35
+ 输出格式(markdown,不超过 600 字):
36
+ ### 核心论点(3 个,按重要性排序)
37
+ 1. 论点 → 为什么读者会关心
38
+ 2. ...
39
+ 3. ...
40
+
41
+ ### 关键事实/数据
42
+ - 事实/数据 → 来源类型(论文/官方文档/常识/经验)
43
+
44
+ ### 容易踩的坑
45
+ - 坑 → 一句话规避方法
46
+
47
+ ### 推荐角度
48
+ 最适合切入的写作角度(一句话)。
49
+ output: research_brief
50
+
51
+ - id: outline
52
+ role: "engineering/engineering-technical-writer"
53
+ name: "技术作家"
54
+ emoji: "✍️"
55
+ task: |
56
+ 基于以下调研,搭建博客大纲。
57
+
58
+ 调研:
59
+ {{research_brief}}
60
+
61
+ 主题: {{topic}}
62
+
63
+ 输出格式(markdown,不超过 400 字):
64
+ ### 标题(3 个候选,按吸引力排序)
65
+ 1. ...
66
+ 2. ...
67
+ 3. ...
68
+
69
+ ### 文章大纲(5-7 节)
70
+ 1. 节标题 → 一句话本节要点
71
+ 2. ...
72
+
73
+ ### 写作风格定位
74
+ 语气、节奏、深度 一句话指引(如"先讲故事再上代码,避免论文腔")
75
+ output: outline_doc
76
+ depends_on: [research]
77
+
78
+ - id: draft
79
+ role: "engineering/engineering-senior-developer"
80
+ name: "资深开发"
81
+ emoji: "💻"
82
+ task: |
83
+ 基于调研和大纲,写出完整博客正文(包含代码示例)。
84
+
85
+ 调研:
86
+ {{research_brief}}
87
+
88
+ 大纲:
89
+ {{outline_doc}}
90
+
91
+ 要求:
92
+ - 选大纲第一个标题
93
+ - 每节 200-400 字,节内逻辑紧凑
94
+ - 必须包含至少 1 段可直接运行的代码示例(带注释)
95
+ - 不要写"在本文中我们将"这种 AI 套话
96
+ - 直接给读者价值,避免泛泛而谈
97
+ - 总字数 1500-2500 字
98
+ output: blog_draft
99
+ depends_on: [research, outline]
100
+
101
+ - id: polish
102
+ role: "engineering/engineering-technical-writer"
103
+ name: "校对编辑"
104
+ emoji: "🧹"
105
+ task: |
106
+ 对以下博客做最终润色,输出可直接发布的版本。
107
+
108
+ 原稿:
109
+ {{blog_draft}}
110
+
111
+ 润色要求:
112
+ - 删掉 AI 套话("综上所述"、"在本文中"、"让我们一起"等)
113
+ - 简化冗长句式
114
+ - 检查代码示例是否可运行(syntax 错误就修正并标注 "// 修正")
115
+ - 标题用大纲第一个候选
116
+ - 在文末加一段"延伸阅读"(3 条相关概念,不需要 URL)
117
+ - 保留所有原稿的核心论点和数据,不要漏内容
118
+
119
+ 直接输出润色后的完整 markdown 博客(含标题)。
120
+ output: final_blog
121
+ depends_on: [draft]