autocrew 0.1.0 → 0.3.0
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 +1 -1
- package/skills/configure/SKILL.md +228 -0
- package/skills/content-review/SKILL.md +56 -6
- package/skills/feature-triage/SKILL.md +335 -0
- package/skills/knowledge-sync/SKILL.md +137 -0
- package/skills/onboarding/SKILL.md +6 -3
- package/skills/setup/SKILL.md +8 -3
- package/skills/spawn-writer/SKILL.md +13 -2
- package/skills/teardown/SKILL.md +256 -43
- package/skills/write-script/SKILL.md +474 -105
- package/src/modules/config/migrate.test.ts +111 -0
- package/src/modules/config/migrate.ts +83 -0
- package/src/modules/config/service-config.test.ts +140 -0
- package/src/modules/config/service-config.ts +139 -0
- package/src/modules/intel/integration.test.ts +11 -8
- package/src/modules/profile/creator-profile.test.ts +51 -0
- package/src/modules/profile/creator-profile.ts +36 -6
- package/src/modules/wiki/wiki.test.ts +213 -0
- package/src/storage/pipeline-store.test.ts +121 -11
- package/src/storage/pipeline-store.ts +212 -20
- package/src/tools/content-save.ts +61 -10
- package/src/tools/intel.test.ts +61 -0
- package/src/tools/intel.ts +111 -3
- package/src/tools/registry.ts +2 -1
package/package.json
CHANGED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure
|
|
3
|
+
description: |
|
|
4
|
+
Guided service configuration — detects unconfigured tools, shows feature impact,
|
|
5
|
+
walks users through setup module by module. Stores configs in services.json.
|
|
6
|
+
Triggers: "配置" / "configure" / "设置工具" / "config" / "设置" / "setup tools".
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Configure
|
|
10
|
+
|
|
11
|
+
> Orchestrator skill. Scans current service configuration state, reports gaps with
|
|
12
|
+
> feature impact, guides users through setup one module at a time. Configs stored
|
|
13
|
+
> in `~/.autocrew/services.json`, separate from creator identity (creator-profile.json).
|
|
14
|
+
|
|
15
|
+
## Step 1: Scan configuration state
|
|
16
|
+
|
|
17
|
+
Read `~/.autocrew/services.json`. If it doesn't exist, all modules are unconfigured.
|
|
18
|
+
|
|
19
|
+
For each of the 6 configurable modules, check status:
|
|
20
|
+
|
|
21
|
+
| Module | Check | Feature | Impact when missing |
|
|
22
|
+
|--------|-------|---------|-------------------|
|
|
23
|
+
| omni | `omni.apiKey` exists | 视频分析 | 视频拆解功能不可用 |
|
|
24
|
+
| coverGen | `coverGen.apiKey` exists | 封面生成 | AI 封面生成不可用 |
|
|
25
|
+
| videoCrawler | `videoCrawler.type` != "manual" | 视频采集器 | 视频链接下载需手动操作 |
|
|
26
|
+
| tts | `tts.apiKey` exists | TTS 语音合成 | 视频配音不可用 |
|
|
27
|
+
| platforms | any platform `configured: true` | 发布平台 | 自动发布不可用 |
|
|
28
|
+
| intelSources | any source configured | 情报源 | RSS/趋势/竞品监控为空 |
|
|
29
|
+
|
|
30
|
+
## Step 2: Display configuration report
|
|
31
|
+
|
|
32
|
+
Present to the user:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
AutoCrew 服务配置状态
|
|
36
|
+
|
|
37
|
+
✅ 已配置:
|
|
38
|
+
{list configured modules, or "暂无" if none}
|
|
39
|
+
|
|
40
|
+
❌ 未配置:
|
|
41
|
+
1. {module} — {impact}
|
|
42
|
+
2. {module} — {impact}
|
|
43
|
+
...
|
|
44
|
+
|
|
45
|
+
推荐先配置:{top 2 most impactful — typically omni and coverGen}
|
|
46
|
+
|
|
47
|
+
输入数字选择要配置的模块,或者说"全部"一次配完。
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Step 3: User selects a module
|
|
51
|
+
|
|
52
|
+
User says a number, module name, or "全部".
|
|
53
|
+
|
|
54
|
+
If "全部" → run each module's guided flow in order (omni → coverGen → videoCrawler → tts → platforms → intelSources). User can skip any module by saying "跳过".
|
|
55
|
+
|
|
56
|
+
## Step 4: Run the selected module's guided flow
|
|
57
|
+
|
|
58
|
+
### Module: 视频分析 (omni)
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
视频分析让你可以用 AI 拆解对标账号的视频 — 分析内容结构、画面语言、传播策略。
|
|
62
|
+
|
|
63
|
+
支持的 provider:
|
|
64
|
+
1. 小米 MiMo(推荐,性价比高)
|
|
65
|
+
注册地址:platform.xiaomimimo.com
|
|
66
|
+
模型:mimo-v2-omni
|
|
67
|
+
|
|
68
|
+
2. OpenAI GPT-4o
|
|
69
|
+
|
|
70
|
+
3. Google Gemini
|
|
71
|
+
|
|
72
|
+
4. 自定义(OpenAI 兼容 API)
|
|
73
|
+
|
|
74
|
+
你用哪个?
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
User selects → ask for API Key → save to `services.json`:
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"omni": {
|
|
81
|
+
"provider": "xiaomi",
|
|
82
|
+
"baseUrl": "https://api.xiaomimimo.com/v1",
|
|
83
|
+
"model": "mimo-v2-omni",
|
|
84
|
+
"apiKey": "<user input>"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Provider defaults:
|
|
90
|
+
- xiaomi: baseUrl `https://api.xiaomimimo.com/v1`, model `mimo-v2-omni`
|
|
91
|
+
- openai: baseUrl `https://api.openai.com/v1`, model `gpt-4o`
|
|
92
|
+
- google: baseUrl `https://generativelanguage.googleapis.com/v1beta`, model `gemini-2.0-flash`
|
|
93
|
+
- custom: ask for baseUrl and model
|
|
94
|
+
|
|
95
|
+
### Module: 封面生成 (coverGen)
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
封面生成用 AI 自动为你的内容创建封面图。
|
|
99
|
+
|
|
100
|
+
支持的 provider:
|
|
101
|
+
1. Google Gemini(推荐,支持 Imagen)
|
|
102
|
+
2. OpenAI DALL-E
|
|
103
|
+
3. 自定义
|
|
104
|
+
|
|
105
|
+
请选择并输入 API Key:
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Save to `services.json → coverGen`.
|
|
109
|
+
|
|
110
|
+
### Module: 视频采集器 (videoCrawler)
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
视频采集器用于从抖音/小红书等平台自动下载视频进行拆解。
|
|
114
|
+
|
|
115
|
+
1. MediaCrawl(需要本地安装)
|
|
116
|
+
请输入执行命令,例如:python3 /path/to/media_crawler/main.py
|
|
117
|
+
|
|
118
|
+
2. Playwright 浏览器自动化(需要已登录的浏览器会话)
|
|
119
|
+
|
|
120
|
+
3. 手动下载(不配置采集器,每次自己下载视频)
|
|
121
|
+
|
|
122
|
+
你选哪个?
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
If MediaCrawl → ask for command path.
|
|
126
|
+
Save to `services.json → videoCrawler`.
|
|
127
|
+
|
|
128
|
+
### Module: TTS 语音合成 (tts)
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
TTS 用于为视频脚本自动生成配音。
|
|
132
|
+
|
|
133
|
+
1. MiMo TTS(推荐,和视频分析同一个平台)
|
|
134
|
+
2. ElevenLabs
|
|
135
|
+
3. Azure Speech
|
|
136
|
+
4. 自定义
|
|
137
|
+
|
|
138
|
+
请选择并输入 API Key:
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Save to `services.json → tts`.
|
|
142
|
+
|
|
143
|
+
### Module: 发布平台 (platforms)
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
发布平台需要通过浏览器登录来获取授权。
|
|
147
|
+
|
|
148
|
+
你要配置哪个平台?
|
|
149
|
+
1. 小红书
|
|
150
|
+
2. 抖音
|
|
151
|
+
3. 微信公众号
|
|
152
|
+
4. B站
|
|
153
|
+
|
|
154
|
+
选择后会打开浏览器,你登录一次就行,cookie 会自动保存。
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
After browser login → mark platform as `configured: true` in `services.json → platforms`.
|
|
158
|
+
|
|
159
|
+
### Module: 情报源 (intelSources)
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
情报源为你的内容调研提供数据。有三类可配置:
|
|
163
|
+
|
|
164
|
+
1. RSS 订阅 — 输入你关注的博客/媒体的 RSS 链接
|
|
165
|
+
2. 趋势热榜 — 选择要监控的平台(微博/知乎/抖音/B站/HN/Reddit)
|
|
166
|
+
3. 竞品账号 — 输入你要关注的对标账号链接
|
|
167
|
+
|
|
168
|
+
先配哪个?
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
RSS → write to `~/.autocrew/data/pipeline/intel/_sources/rss.yaml`
|
|
172
|
+
Trends → write to `_sources/trends.yaml`
|
|
173
|
+
Competitors → write to `_sources/accounts.yaml`
|
|
174
|
+
Then update `services.json → intelSources` marking which are configured.
|
|
175
|
+
|
|
176
|
+
## Step 5: Save and verify
|
|
177
|
+
|
|
178
|
+
After each module:
|
|
179
|
+
|
|
180
|
+
1. Save config to `services.json` using `saveServiceConfig()`
|
|
181
|
+
2. Read it back to verify save succeeded
|
|
182
|
+
3. If the module has an API key, attempt a minimal test request:
|
|
183
|
+
- omni/tts: send a simple text completion ("hi") to verify the key works
|
|
184
|
+
- coverGen: send a minimal image generation test
|
|
185
|
+
- If test fails: show error, let user re-enter key or skip
|
|
186
|
+
- If test succeeds: confirm with ✅
|
|
187
|
+
|
|
188
|
+
4. Report:
|
|
189
|
+
```
|
|
190
|
+
✅ {module} 配置完成。
|
|
191
|
+
|
|
192
|
+
还有 {N} 个模块未配置。要继续吗?
|
|
193
|
+
1. 继续配置下一个
|
|
194
|
+
2. 先到这里,后面需要了再说
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Step 6: Completion
|
|
198
|
+
|
|
199
|
+
When user is done or all modules configured:
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
配置完成。当前状态:
|
|
203
|
+
|
|
204
|
+
✅ 已配置:{list}
|
|
205
|
+
❌ 未配置:{list, or "无"}
|
|
206
|
+
|
|
207
|
+
随时可以说"配置"重新进入这个流程。
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Storage Rules
|
|
211
|
+
|
|
212
|
+
- **NEVER store API keys in creator-profile.json.** All service configs go to services.json.
|
|
213
|
+
- **NEVER store API keys in MEMORY.md or any memory file.** services.json is the only location.
|
|
214
|
+
- After saving, ALWAYS read back services.json to confirm the save succeeded.
|
|
215
|
+
|
|
216
|
+
## Error Handling
|
|
217
|
+
|
|
218
|
+
| Situation | Action |
|
|
219
|
+
|-----------|--------|
|
|
220
|
+
| services.json doesn't exist | Create it with empty config on first save |
|
|
221
|
+
| API key validation fails | Show error message, let user retry or skip |
|
|
222
|
+
| User wants to skip a module | Mark as skipped, continue to next |
|
|
223
|
+
| User says "全部" | Run all modules in order, allow skipping each |
|
|
224
|
+
| User reconfigures an existing module | Overwrite the old config, keep other modules |
|
|
225
|
+
|
|
226
|
+
## Changelog
|
|
227
|
+
|
|
228
|
+
- 2026-04-07: v1 — Initial version. 6 configurable modules with guided setup.
|
|
@@ -114,7 +114,53 @@ action: "review_scan" (如果已实现)
|
|
|
114
114
|
|
|
115
115
|
**总分 = 4 项之和(0-100)**
|
|
116
116
|
|
|
117
|
-
### Step 4.5:
|
|
117
|
+
### Step 4.5: 七问自检(文案终极检验)
|
|
118
|
+
|
|
119
|
+
对内容逐一回答以下 7 个问题。每个问题必须给出具体答案,答不上来就是该项不合格。
|
|
120
|
+
|
|
121
|
+
**Q1: 用户思维** — 这条内容为用户提供了什么?
|
|
122
|
+
- 提供了解决方法?引发了共鸣?提供了谈资?带来了快乐?
|
|
123
|
+
- 还是纯粹自嗨?(例:做餐饮加盟的教人怎么拌饭好吃 = 自嗨)
|
|
124
|
+
- 必须明确回答内容给用户的具体价值
|
|
125
|
+
|
|
126
|
+
**Q2: 动词名词替换形容词** — 内容里是否滥用形容词?
|
|
127
|
+
- 形容词是作者的主观感受,要让观众自己得出结论
|
|
128
|
+
- 反面:"我工作很累" → 正面:"从早 7 点干到晚 11 点,一周 7 天没休息,上厕所时间都快没了"
|
|
129
|
+
- 检查所有形容词,能换成具体动词/名词/数据的必须换
|
|
130
|
+
|
|
131
|
+
**Q3: 可信度支撑** — 用户凭什么相信你说的话?
|
|
132
|
+
- 每个核心论点是否有以下至少一种支撑:权威认证、数据佐证、亲身经历
|
|
133
|
+
- 反面:"多动的孩子往往体育天赋惊人"后面没有任何事实佐证 → 直接滑走
|
|
134
|
+
- 没有支撑的断言必须补充或删除
|
|
135
|
+
|
|
136
|
+
**Q4: 每句话的目的** — 每一句话在文章中的作用是什么?
|
|
137
|
+
- 推进叙事发展?拉近共鸣?制造期待?
|
|
138
|
+
- 如果一句话找不到明确目的 → 删掉或改写
|
|
139
|
+
- 不允许存在无功能的废句
|
|
140
|
+
|
|
141
|
+
**Q5: 关键印象与人设** — 用户看完后印象最深的一个点是什么?最大感受是什么?
|
|
142
|
+
- 这个印象直接决定你的人设是否跑偏
|
|
143
|
+
- 如果答不上来,说明内容缺乏记忆点
|
|
144
|
+
- 必须能用一句话说出"用户看完会记住___"
|
|
145
|
+
|
|
146
|
+
**Q6: 金句转发** — 如果观众想转发一句话,会是哪句?
|
|
147
|
+
- 这句话在网上能搜到吗?(搜得到 = 不够原创)
|
|
148
|
+
- 如果整篇没有一句值得转发的话 → 缺少金句,需要补
|
|
149
|
+
- 金句是内容传播的核心驱动力
|
|
150
|
+
|
|
151
|
+
**Q7: 说人话** — 文案是否自然、不端着、不做作?
|
|
152
|
+
- 是否堆砌成语?是否播音腔?是否书面语过重?
|
|
153
|
+
- 一句话用 3 个成语 = 不合格
|
|
154
|
+
- 标准:读出来像正常人说话,不别扭
|
|
155
|
+
|
|
156
|
+
**评分规则:**
|
|
157
|
+
- 7/7 全部能回答 → ✅ 文案过关
|
|
158
|
+
- 5-6/7 能回答 → ⚠️ 需要针对性修改(标注具体不合格项)
|
|
159
|
+
- ≤4/7 能回答 → ❌ 文案需要大改
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
### Step 4.6: 标题公式检查(原 4.5)
|
|
118
164
|
|
|
119
165
|
检查标题是否命中至少一个标题公式:
|
|
120
166
|
|
|
@@ -204,19 +250,23 @@ AI 味评分:{score}/100
|
|
|
204
250
|
- CTA 清晰度:{n}/25
|
|
205
251
|
- 可读性:{n}/25
|
|
206
252
|
|
|
207
|
-
### 5.
|
|
253
|
+
### 5. 七问自检 {✅/⚠️/❌}
|
|
254
|
+
通过:{n}/7
|
|
255
|
+
{逐条列出每个问题的回答或不合格原因}
|
|
256
|
+
|
|
257
|
+
### 6. 标题公式 {✅/⚠️}
|
|
208
258
|
{详细结果}
|
|
209
259
|
|
|
210
|
-
###
|
|
260
|
+
### 7. 评论触发点 {✅/⚠️}
|
|
211
261
|
{详细结果}
|
|
212
262
|
|
|
213
|
-
###
|
|
263
|
+
### 8. 完播率微操 {✅/⚠️/❌}
|
|
214
264
|
{详细结果}
|
|
215
265
|
|
|
216
|
-
###
|
|
266
|
+
### 9. 流量假设 {✅/⚠️}
|
|
217
267
|
{详细结果}
|
|
218
268
|
|
|
219
|
-
###
|
|
269
|
+
### 10. 内容支柱对齐 {✅/⚠️/❌/跳过}
|
|
220
270
|
{详细结果}
|
|
221
271
|
|
|
222
272
|
### 📌 审核结论
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-triage
|
|
3
|
+
description: |
|
|
4
|
+
Evaluate whether a proposed feature belongs in AutoCrew and in what form.
|
|
5
|
+
Activate when user explicitly proposes adding a new feature, capability,
|
|
6
|
+
or integration. Triggers: "我想加" / "能不能做一个" / "想增加" /
|
|
7
|
+
"加个功能" / "接入一个" / "想做一个" / "I want to add".
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Feature Triage
|
|
11
|
+
|
|
12
|
+
> Orchestrator skill. Leads a structured decision dialogue to evaluate feature proposals
|
|
13
|
+
> against AutoCrew's architecture, roadmap, and creator needs. Outputs a decision report.
|
|
14
|
+
> Does NOT implement — terminates at a decision.
|
|
15
|
+
|
|
16
|
+
## Persona
|
|
17
|
+
|
|
18
|
+
You are AutoCrew's co-founder and product architect. You deeply understand:
|
|
19
|
+
- AutoCrew's 18 tools, 5-stage pipeline (intel → topics → drafting → production → published), and skill system
|
|
20
|
+
- Real workflows of Chinese social media content creators (Xiaohongshu, Douyin, WeChat, Bilibili)
|
|
21
|
+
- The difference between indie creators and team creators: different needs, different constraints
|
|
22
|
+
- The codebase: `src/tools/`, `src/storage/`, `src/modules/`, `skills/`, pipeline-store semantics
|
|
23
|
+
|
|
24
|
+
Your decision biases (make these explicit when they influence your reasoning):
|
|
25
|
+
- Prefer composing existing pipeline components over adding new modules
|
|
26
|
+
- Fill current-level gaps before building higher-level features
|
|
27
|
+
- A feature not built is better than a feature built badly
|
|
28
|
+
- Every new module is a maintenance commitment — weigh ongoing cost, not just build cost
|
|
29
|
+
|
|
30
|
+
## Inputs
|
|
31
|
+
|
|
32
|
+
| Parameter | Source | Required | Description |
|
|
33
|
+
|-----------|--------|----------|-------------|
|
|
34
|
+
| feature_idea | User message | Yes | The proposed feature, in any level of detail |
|
|
35
|
+
|
|
36
|
+
## Pre-Flight: Complexity Assessment
|
|
37
|
+
|
|
38
|
+
Before engaging in discussion, silently evaluate complexity based on these signals:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
□ Introduces a new external dependency or third-party API?
|
|
42
|
+
□ Changes existing data flow or pipeline stage semantics?
|
|
43
|
+
□ Affects 3+ existing skills or tools?
|
|
44
|
+
□ Estimated implementation exceeds 500 lines of new code?
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| Yes count | Complexity | Rounds | Framework handling |
|
|
48
|
+
|-----------|------------|--------|--------------------|
|
|
49
|
+
| 0-1 | 轻量 | 2-3 | Merge Phase 2+3 into one round |
|
|
50
|
+
| 2 | 中等 | 3-4 | Per-framework, standard depth |
|
|
51
|
+
| 3-4 | 重度 | 4-6 | Fully expanded, each framework gets its own round |
|
|
52
|
+
|
|
53
|
+
Display to user at the start:
|
|
54
|
+
> 复杂度评估:{轻量/中等/重度},预计 {N} 轮讨论。
|
|
55
|
+
|
|
56
|
+
## Discussion Flow
|
|
57
|
+
|
|
58
|
+
### Phase 1 — 🔍 苏格拉底提问(理解本质)
|
|
59
|
+
|
|
60
|
+
**Goal:** Through targeted questioning, strip away the surface request and uncover the
|
|
61
|
+
fundamental problem the user is trying to solve.
|
|
62
|
+
|
|
63
|
+
**Technique — Socratic Elicitation:**
|
|
64
|
+
|
|
65
|
+
Do not accept the feature description at face value. The user describes a SOLUTION;
|
|
66
|
+
your job is to excavate the PROBLEM. Ask questions that peel layers:
|
|
67
|
+
|
|
68
|
+
<prompt-template>
|
|
69
|
+
You are investigating the real need behind a feature proposal. Apply Socratic questioning:
|
|
70
|
+
|
|
71
|
+
Layer 1 — Current state: "你现在没有这个功能时,怎么完成这件事的?"
|
|
72
|
+
Layer 2 — Pain frequency: "这个问题多久遇到一次?上一次具体是什么场景?"
|
|
73
|
+
Layer 3 — Alternative paths: "如果 AutoCrew 永远不加这个功能,你的 plan B 是什么?"
|
|
74
|
+
Layer 4 — Essence: "如果把这个想法压缩成一句话的需求,是什么?"
|
|
75
|
+
|
|
76
|
+
Rules:
|
|
77
|
+
- ONE question per message. Wait for the answer before asking the next.
|
|
78
|
+
- Prefer concrete questions over abstract ones. "上次你做这个花了多久" > "你觉得这个重要吗"
|
|
79
|
+
- When the user's answer reveals a deeper need than the original proposal, name it:
|
|
80
|
+
"听起来你真正需要的不是 X,而是 Y。对吗?"
|
|
81
|
+
- This phase ends when you can state the root problem in one sentence and the user confirms.
|
|
82
|
+
</prompt-template>
|
|
83
|
+
|
|
84
|
+
**Deliverable:** One-sentence root problem statement, confirmed by user.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### Phase 2 — 🧱 第一性原理(拆解需求真伪)
|
|
89
|
+
|
|
90
|
+
**Goal:** Decompose the idea into irreducible capability units. For each unit, determine
|
|
91
|
+
whether it's a genuine gap or already covered by AutoCrew's existing architecture.
|
|
92
|
+
|
|
93
|
+
**Technique — First-Principles Decomposition:**
|
|
94
|
+
|
|
95
|
+
<prompt-template>
|
|
96
|
+
Take the confirmed root problem from Phase 1 and decompose into capability units.
|
|
97
|
+
|
|
98
|
+
For EACH unit, evaluate using this chain-of-thought structure:
|
|
99
|
+
|
|
100
|
+
前提:{what you know about AutoCrew's current capabilities relevant to this unit}
|
|
101
|
+
推导:{logical chain from premise to conclusion — if any step relies on an assumption
|
|
102
|
+
rather than verified fact, tag it as [假设]}
|
|
103
|
+
结论:{this unit is: ✅ genuine gap / ⚠️ partially covered / ❌ already solved}
|
|
104
|
+
|
|
105
|
+
Then check for "borrowing bias":
|
|
106
|
+
- Did this idea originate from seeing someone else's product (e.g., "Karpathy has a knowledge
|
|
107
|
+
base, so we should too")?
|
|
108
|
+
- If yes: what is DIFFERENT about AutoCrew's context that makes this relevant here, specifically?
|
|
109
|
+
- If nothing is different: flag it as borrowing bias.
|
|
110
|
+
|
|
111
|
+
Present to user:
|
|
112
|
+
- List of capability units with verdicts
|
|
113
|
+
- Any borrowing bias detected
|
|
114
|
+
- Which units (if any) represent genuine gaps worth filling
|
|
115
|
+
</prompt-template>
|
|
116
|
+
|
|
117
|
+
**Deliverable:** Capability unit table with genuine-gap / already-covered verdicts.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
### Phase 3 — 🪒 奥卡姆剃刀(砍复杂度)
|
|
122
|
+
|
|
123
|
+
**Goal:** If genuine gaps exist from Phase 2, find the simplest possible form to fill them.
|
|
124
|
+
|
|
125
|
+
**Technique — Minimal Viable Form:**
|
|
126
|
+
|
|
127
|
+
<prompt-template>
|
|
128
|
+
For each genuine-gap capability unit from Phase 2, answer these questions in order:
|
|
129
|
+
|
|
130
|
+
1. Can this be solved by COMBINING existing tools/skills with no new code?
|
|
131
|
+
→ If yes: describe the composition. Stop here for this unit.
|
|
132
|
+
|
|
133
|
+
2. Can this be solved by EXTENDING an existing tool/skill (adding an action, a step)?
|
|
134
|
+
→ If yes: name the tool/skill and the extension. Stop here.
|
|
135
|
+
|
|
136
|
+
3. Does this require a NEW skill (orchestration logic only, no new tool)?
|
|
137
|
+
→ If yes: describe the skill's steps using existing tools.
|
|
138
|
+
|
|
139
|
+
4. Does this require a NEW tool (new data storage, new API integration)?
|
|
140
|
+
→ If yes: this is the most expensive option. Justify why 1-3 don't work.
|
|
141
|
+
|
|
142
|
+
For each unit, also apply the YAGNI check:
|
|
143
|
+
- "如果砍掉这个单元,剩下的部分还能独立产生价值吗?"
|
|
144
|
+
- If yes → this unit is a candidate for deferral.
|
|
145
|
+
|
|
146
|
+
Present to user:
|
|
147
|
+
- Recommended form per unit (compose / extend / new skill / new tool)
|
|
148
|
+
- What was cut and why
|
|
149
|
+
- The minimum viable scope
|
|
150
|
+
</prompt-template>
|
|
151
|
+
|
|
152
|
+
**Deliverable:** Minimum viable form recommendation per capability unit.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
### Phase 4 — 📊 马斯洛需求分析(定位价值层级)
|
|
157
|
+
|
|
158
|
+
**Goal:** Position this feature in the creator's need hierarchy. Determine if it fills
|
|
159
|
+
a current-level gap or skips levels.
|
|
160
|
+
|
|
161
|
+
**Technique — Creator Maslow Mapping:**
|
|
162
|
+
|
|
163
|
+
<prompt-template>
|
|
164
|
+
Map the proposed feature (in its trimmed Phase 3 form) to the creator need hierarchy:
|
|
165
|
+
|
|
166
|
+
| Level | Need | AutoCrew coverage | Examples |
|
|
167
|
+
|-------|------|-------------------|----------|
|
|
168
|
+
| 1. 生存 | Can publish, avoid violations | autocrew_review, sensitive-word check | 敏感词检测、基础发布 |
|
|
169
|
+
| 2. 效率 | Faster output, less repetition | spawn-writer, pipeline, humanize | 自动去AI味、批量改写 |
|
|
170
|
+
| 3. 质量 | Better content, competitive edge | research, references, teardowns | 信息源调研、竞品拆解 |
|
|
171
|
+
| 4. 增长 | Followers, monetization, moats | hypothesis testing, performance data | 流量假说、数据驱动优化 |
|
|
172
|
+
| 5. 自我实现 | Unique methodology, industry leadership | content pillars, style calibration | 个人方法论、风格体系 |
|
|
173
|
+
|
|
174
|
+
Evaluate:
|
|
175
|
+
1. Which level does this feature serve?
|
|
176
|
+
2. Which is the LOWEST level where AutoCrew still has meaningful gaps?
|
|
177
|
+
3. Does this feature fill a gap at that level, or does it skip to a higher level?
|
|
178
|
+
|
|
179
|
+
If the feature skips levels (e.g., building Level 4 when Level 2 has holes):
|
|
180
|
+
- Flag it explicitly: "这个功能在第 {N} 层,但第 {M} 层还有明显缺口:{gap}。建议先补 {M} 层。"
|
|
181
|
+
- This is not a veto — the user decides. But make the trade-off visible.
|
|
182
|
+
|
|
183
|
+
Priority recommendation:
|
|
184
|
+
- 填补当前层缺口 → 立即做
|
|
185
|
+
- 填补下一层 (当前层已完善) → 下个里程碑
|
|
186
|
+
- 跳级或锦上添花 → 放入 backlog
|
|
187
|
+
</prompt-template>
|
|
188
|
+
|
|
189
|
+
**Deliverable:** Value-level positioning and priority recommendation.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Red Team Self-Check
|
|
194
|
+
|
|
195
|
+
**Before writing the final conclusion, you MUST run this check:**
|
|
196
|
+
|
|
197
|
+
<prompt-template>
|
|
198
|
+
Switch to red team perspective:
|
|
199
|
+
|
|
200
|
+
If your conclusion is "做":
|
|
201
|
+
1. List 3 strongest reasons NOT to build this.
|
|
202
|
+
2. For each, attempt a rebuttal.
|
|
203
|
+
3. If any rebuttal is weak (you wouldn't bet money on it), revise your conclusion.
|
|
204
|
+
|
|
205
|
+
If your conclusion is "不做":
|
|
206
|
+
1. List 3 strongest reasons TO build this.
|
|
207
|
+
2. For each, attempt a rebuttal.
|
|
208
|
+
3. If any rebuttal is weak, revise your conclusion.
|
|
209
|
+
|
|
210
|
+
If your conclusion is "改形式再做":
|
|
211
|
+
1. List 2 reasons the original form was actually better.
|
|
212
|
+
2. List 2 reasons to just not build it at all.
|
|
213
|
+
3. Attempt rebuttals for all 4.
|
|
214
|
+
|
|
215
|
+
Display the red team exchange to the user. Transparency builds trust.
|
|
216
|
+
</prompt-template>
|
|
217
|
+
|
|
218
|
+
## Few-Shot Decision Examples
|
|
219
|
+
|
|
220
|
+
Use these as calibration anchors for discussion depth and output quality.
|
|
221
|
+
|
|
222
|
+
### Example A — "做" (Omni 视频拆解)
|
|
223
|
+
|
|
224
|
+
> **提案:** 用户发送对标账号视频,Omni 自动分析优缺点、可借鉴点,形成索引,后续持续关注。
|
|
225
|
+
>
|
|
226
|
+
> **🔍 苏格拉底:** 根本问题不是"分析视频",而是"创作者缺少结构化的学习输入"。
|
|
227
|
+
> 看了 100 个对标视频,脑子里一锅粥,写的时候还是凭感觉。
|
|
228
|
+
>
|
|
229
|
+
> **🧱 第一性原理:**
|
|
230
|
+
> - 视频内容提取 → 需要多模态能力 [genuine gap]
|
|
231
|
+
> - 结构化拆解模板 → 可复用 teardown 框架 [partially covered]
|
|
232
|
+
> - 索引 + 持续关注 → intel 模块可扩展 [partially covered]
|
|
233
|
+
> - 供 reference 引用 → references/ 工作流已有 [covered]
|
|
234
|
+
>
|
|
235
|
+
> **🪒 奥卡姆:** 不需要新 tool。扩展 `autocrew_intel` 加 `source: "video_teardown"`,
|
|
236
|
+
> 新建一个 skill 编排"输入视频 → 多模态分析 → 写入 intel + references"流程。
|
|
237
|
+
>
|
|
238
|
+
> **📊 马斯洛:** 质量层(Level 3),当前恰好在补这层缺口(刚加了 references 调研流程)。
|
|
239
|
+
> 契合度高。
|
|
240
|
+
>
|
|
241
|
+
> **结论:做。** 以 skill + intel 扩展形式,不新建 tool。
|
|
242
|
+
|
|
243
|
+
### Example B — "不做" (AI 自动生成封面)
|
|
244
|
+
|
|
245
|
+
> **提案:** AutoCrew 内置 AI 画图能力,自动生成封面。
|
|
246
|
+
>
|
|
247
|
+
> **🔍 苏格拉底:** 根本问题是"封面制作耗时",但追问后发现用户已经用 Canva/MidJourney,
|
|
248
|
+
> 痛点其实是"封面和内容不匹配"而不是"没有画图工具"。
|
|
249
|
+
>
|
|
250
|
+
> **🧱 第一性原理:**
|
|
251
|
+
> - 画图能力 → 已有大量成熟外部工具 [covered externally]
|
|
252
|
+
> - 封面与内容匹配度检查 → `autocrew_cover_review` 已存在 [covered]
|
|
253
|
+
> - 封面候选生成 → cover-generator skill 已存在 [covered]
|
|
254
|
+
>
|
|
255
|
+
> **🪒 奥卡姆:** 所有能力单元已覆盖或有外部替代。内置画图引擎是巨大维护负担。
|
|
256
|
+
>
|
|
257
|
+
> **📊 马斯洛:** 效率层(Level 2),但该层已有充分覆盖。
|
|
258
|
+
>
|
|
259
|
+
> **结论:不做。** 封面审核 + 候选管理已有,画图本身交给专业工具。
|
|
260
|
+
|
|
261
|
+
## Decision Report Template
|
|
262
|
+
|
|
263
|
+
After completing all phases + red team check, generate and save the report:
|
|
264
|
+
|
|
265
|
+
**File path:** `docs/decisions/YYYY-MM-DD-{feature-slug}.md`
|
|
266
|
+
|
|
267
|
+
```markdown
|
|
268
|
+
# 功能决策:{feature name}
|
|
269
|
+
|
|
270
|
+
## 结论
|
|
271
|
+
{做 / 不做 / 改形式再做}
|
|
272
|
+
{一句话理由}
|
|
273
|
+
|
|
274
|
+
## 提案原始描述
|
|
275
|
+
{用户原话或整理后的描述}
|
|
276
|
+
|
|
277
|
+
## 分析过程
|
|
278
|
+
|
|
279
|
+
### 🔍 苏格拉底提问 — 本质问题
|
|
280
|
+
- 根本问题:{一句话}
|
|
281
|
+
- 关键追问与回答:{2-3 条核心 Q&A 摘要}
|
|
282
|
+
|
|
283
|
+
### 🧱 第一性原理 — 需求拆解
|
|
284
|
+
| 能力单元 | 判定 | 理由 |
|
|
285
|
+
|----------|------|------|
|
|
286
|
+
| {unit} | ✅/⚠️/❌ | {reason} |
|
|
287
|
+
|
|
288
|
+
- 借鉴偏差检测:{有/无,说明}
|
|
289
|
+
|
|
290
|
+
### 🪒 奥卡姆剃刀 — 最简形式
|
|
291
|
+
- 推荐形式:{compose / extend / new skill / new tool / 不做}
|
|
292
|
+
- 砍掉的部分:{列表 + 理由}
|
|
293
|
+
- 最小可行范围:{具体描述}
|
|
294
|
+
|
|
295
|
+
### 📊 马斯洛需求分析 — 价值定位
|
|
296
|
+
- 需求层级:{Level N — 名称}
|
|
297
|
+
- 当前缺口匹配度:{填补当前缺口 / 跳级 / 锦上添花}
|
|
298
|
+
- 优先级建议:{立即做 / 下个里程碑 / 放入 backlog}
|
|
299
|
+
|
|
300
|
+
### 🔴 红队自检
|
|
301
|
+
{展示红队正反论点和反驳过程}
|
|
302
|
+
|
|
303
|
+
## 实现建议(仅当结论为"做"时)
|
|
304
|
+
- 形式:{skill / tool action / module}
|
|
305
|
+
- 依赖的现有组件:{列表}
|
|
306
|
+
- 主要风险:{列表}
|
|
307
|
+
- 建议下一步:{具体 action}
|
|
308
|
+
|
|
309
|
+
## 元数据
|
|
310
|
+
- 日期:{YYYY-MM-DD}
|
|
311
|
+
- 提案人:user
|
|
312
|
+
- 复杂度评估:{轻量/中等/重度}
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
## Error Handling
|
|
316
|
+
|
|
317
|
+
| Situation | Action |
|
|
318
|
+
|-----------|--------|
|
|
319
|
+
| User gives vague one-liner ("加个知识库") | Start Phase 1 with broad Socratic question to ground the idea |
|
|
320
|
+
| User wants to skip discussion ("直接做就行") | Acknowledge urgency, compress to 2 rounds but still run Phase 2 + red team |
|
|
321
|
+
| User disagrees with "不做" conclusion | Respect user's final call. Log dissent in report: "用户决定override,理由:{reason}" |
|
|
322
|
+
| Feature overlaps with in-progress work | Flag overlap, suggest checking `docs/decisions/` for prior decisions on similar topics |
|
|
323
|
+
| Conclusion is "改形式再做" | Clearly describe the alternative form and what changes from the original proposal |
|
|
324
|
+
|
|
325
|
+
## What This Skill Does NOT Do
|
|
326
|
+
|
|
327
|
+
- Does NOT implement anything — no code, no scaffolding, no file creation beyond the decision report
|
|
328
|
+
- Does NOT chain into brainstorming, writing-plans, or any implementation skill
|
|
329
|
+
- Does NOT make the final decision — the user always has override authority
|
|
330
|
+
- Does NOT evaluate bugs, refactors, or small adjustments to existing features
|
|
331
|
+
|
|
332
|
+
## Changelog
|
|
333
|
+
|
|
334
|
+
- 2026-04-06: v1 — Initial design. Four-framework decision dialogue with adaptive complexity,
|
|
335
|
+
red team self-check, few-shot examples, structured decision reports.
|