bobo-ai-cli 3.0.0 → 3.0.3
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/bundled-skills/CORE_SKILLS.txt +18 -0
- package/dist/agent.js +25 -6
- package/dist/agent.js.map +1 -1
- package/dist/cli.js +9 -7
- package/dist/cli.js.map +1 -1
- package/dist/config.js +3 -2
- package/dist/config.js.map +1 -1
- package/dist/cost-tracker.js +1 -0
- package/dist/cost-tracker.js.map +1 -1
- package/dist/dream.js +6 -3
- package/dist/dream.js.map +1 -1
- package/dist/hooks.js +3 -2
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/knowledge.js +3 -2
- package/dist/knowledge.js.map +1 -1
- package/dist/mcp-client.js +59 -41
- package/dist/mcp-client.js.map +1 -1
- package/dist/memory.js +24 -18
- package/dist/memory.js.map +1 -1
- package/dist/project.js +2 -1
- package/dist/project.js.map +1 -1
- package/dist/providers.js +1 -1
- package/dist/providers.js.map +1 -1
- package/dist/repl.js +4 -2
- package/dist/repl.js.map +1 -1
- package/dist/sessions.js +37 -4
- package/dist/sessions.js.map +1 -1
- package/dist/skill-router.js +2 -2
- package/dist/skill-router.js.map +1 -1
- package/dist/skills/loader.js +2 -2
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills.js +9 -8
- package/dist/skills.js.map +1 -1
- package/dist/state/artifacts.js +4 -2
- package/dist/state/artifacts.js.map +1 -1
- package/dist/state/manager.js +4 -2
- package/dist/state/manager.js.map +1 -1
- package/dist/state/project-memory.js +4 -2
- package/dist/state/project-memory.js.map +1 -1
- package/dist/state/recovery.js +3 -2
- package/dist/state/recovery.js.map +1 -1
- package/dist/structured/loader.js +4 -2
- package/dist/structured/loader.js.map +1 -1
- package/dist/sub-agent-runner.js +3 -2
- package/dist/sub-agent-runner.js.map +1 -1
- package/dist/sub-agents.js +5 -3
- package/dist/sub-agents.js.map +1 -1
- package/dist/tool-governance.js +43 -12
- package/dist/tool-governance.js.map +1 -1
- package/dist/tools/advanced.js +3 -2
- package/dist/tools/advanced.js.map +1 -1
- package/dist/tools/browser.js +2 -2
- package/dist/tools/browser.js.map +1 -1
- package/dist/tools/claude-code.js +2 -2
- package/dist/tools/claude-code.js.map +1 -1
- package/dist/tools/index.js +36 -12
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/process-manager.js +2 -2
- package/dist/tools/process-manager.js.map +1 -1
- package/dist/verification-agent.js +15 -10
- package/dist/verification-agent.js.map +1 -1
- package/dist/watcher.js +2 -2
- package/dist/watcher.js.map +1 -1
- package/dist/web.js +1 -1
- package/dist/web.js.map +1 -1
- package/dist/workflows/ask.js +1 -1
- package/dist/workflows/ask.js.map +1 -1
- package/package.json +17 -2
- package/bundled-skills/Skill_Seekers/SKILL.md +0 -1722
- package/bundled-skills/ab-test-setup/SKILL.md +0 -557
- package/bundled-skills/adversarial-verification/SKILL.md +0 -95
- package/bundled-skills/agent-sdk-dev/SKILL.md +0 -238
- package/bundled-skills/agent-tools/SKILL.md +0 -136
- package/bundled-skills/analytics-tracking/SKILL.md +0 -597
- package/bundled-skills/artifacts-builder/SKILL.md +0 -89
- package/bundled-skills/asana/SKILL.md +0 -13
- package/bundled-skills/brand-voice/SKILL.md +0 -481
- package/bundled-skills/browser-use/SKILL.md +0 -419
- package/bundled-skills/cache-optimization-skill/SKILL.md +0 -179
- package/bundled-skills/canvas-design/SKILL.md +0 -147
- package/bundled-skills/citation-validator/SKILL.md +0 -203
- package/bundled-skills/clangd-lsp/SKILL.md +0 -52
- package/bundled-skills/code-simplifier/SKILL.md +0 -13
- package/bundled-skills/commit-commands/SKILL.md +0 -258
- package/bundled-skills/competitor-alternatives/SKILL.md +0 -795
- package/bundled-skills/content-atomizer/SKILL.md +0 -910
- package/bundled-skills/content-research-writer/SKILL.md +0 -605
- package/bundled-skills/context7/SKILL.md +0 -13
- package/bundled-skills/copy-editing/SKILL.md +0 -494
- package/bundled-skills/copywriting/SKILL.md +0 -510
- package/bundled-skills/csharp-lsp/SKILL.md +0 -40
- package/bundled-skills/decision-making-framework/SKILL.md +0 -154
- package/bundled-skills/deep-research/SKILL.md +0 -236
- package/bundled-skills/developer-growth-analysis/SKILL.md +0 -335
- package/bundled-skills/direct-response-copy/SKILL.md +0 -2336
- package/bundled-skills/docker-expert/SKILL.md +0 -229
- package/bundled-skills/document-skills/SKILL.md +0 -13
- package/bundled-skills/documentation-expert/SKILL.md +0 -126
- package/bundled-skills/email-sequence/SKILL.md +0 -1061
- package/bundled-skills/email-sequences/SKILL.md +0 -910
- package/bundled-skills/example-plugin/SKILL.md +0 -72
- package/bundled-skills/explanatory-output-style/SKILL.md +0 -82
- package/bundled-skills/feature-dev/SKILL.md +0 -458
- package/bundled-skills/file-organizer/SKILL.md +0 -466
- package/bundled-skills/firebase.disabled/SKILL.md +0 -13
- package/bundled-skills/form-cro/SKILL.md +0 -488
- package/bundled-skills/free-tool-strategy/SKILL.md +0 -636
- package/bundled-skills/frontend-design/SKILL.md +0 -41
- package/bundled-skills/frontend-design-offical/SKILL.md +0 -55
- package/bundled-skills/gitlab/SKILL.md +0 -13
- package/bundled-skills/gopls-lsp/SKILL.md +0 -32
- package/bundled-skills/got-controller/SKILL.md +0 -218
- package/bundled-skills/greptile/SKILL.md +0 -72
- package/bundled-skills/hookify/SKILL.md +0 -376
- package/bundled-skills/image-editor/SKILL.md +0 -189
- package/bundled-skills/image-enhancer/SKILL.md +0 -109
- package/bundled-skills/jdtls-lsp/SKILL.md +0 -49
- package/bundled-skills/json-canvas/SKILL.md +0 -654
- package/bundled-skills/keyword-research/SKILL.md +0 -559
- package/bundled-skills/kotlin-lsp/SKILL.md +0 -28
- package/bundled-skills/laravel-boost/SKILL.md +0 -13
- package/bundled-skills/launch-strategy/SKILL.md +0 -394
- package/bundled-skills/lead-magnet/SKILL.md +0 -393
- package/bundled-skills/learning-output-style/SKILL.md +0 -106
- package/bundled-skills/linear/SKILL.md +0 -13
- package/bundled-skills/lua-lsp/SKILL.md +0 -47
- package/bundled-skills/marketing-ideas/SKILL.md +0 -720
- package/bundled-skills/marketing-psychology/SKILL.md +0 -534
- package/bundled-skills/mcp-builder/SKILL.md +0 -369
- package/bundled-skills/meeting-insights-analyzer/SKILL.md +0 -347
- package/bundled-skills/memory-evolution-system/SKILL.md +0 -172
- package/bundled-skills/multi-lens-thinking/SKILL.md +0 -407
- package/bundled-skills/nano-banana-pro/SKILL.md +0 -116
- package/bundled-skills/newsletter/SKILL.md +0 -736
- package/bundled-skills/notebooklm/SKILL.md +0 -296
- package/bundled-skills/obsidian-bases/SKILL.md +0 -634
- package/bundled-skills/obsidian-markdown/SKILL.md +0 -651
- package/bundled-skills/onboarding-cro/SKILL.md +0 -494
- package/bundled-skills/page-cro/SKILL.md +0 -379
- package/bundled-skills/paid-ads/SKILL.md +0 -624
- package/bundled-skills/paywall-upgrade-cro/SKILL.md +0 -651
- package/bundled-skills/php-lsp/SKILL.md +0 -36
- package/bundled-skills/playwright/SKILL.md +0 -13
- package/bundled-skills/plugin-dev/SKILL.md +0 -434
- package/bundled-skills/popup-cro/SKILL.md +0 -520
- package/bundled-skills/positioning-angles/SKILL.md +0 -330
- package/bundled-skills/pr-review-toolkit/SKILL.md +0 -359
- package/bundled-skills/pricing-strategy/SKILL.md +0 -777
- package/bundled-skills/proactive-self-improving/SKILL.md +0 -435
- package/bundled-skills/programmatic-seo/SKILL.md +0 -714
- package/bundled-skills/pyright-lsp/SKILL.md +0 -43
- package/bundled-skills/quality-assurance-framework/SKILL.md +0 -168
- package/bundled-skills/question-refiner/SKILL.md +0 -160
- package/bundled-skills/ralph-loop/SKILL.md +0 -205
- package/bundled-skills/refactoring-expert/SKILL.md +0 -103
- package/bundled-skills/referral-program/SKILL.md +0 -668
- package/bundled-skills/research-executor/SKILL.md +0 -164
- package/bundled-skills/review-with-security/SKILL.md +0 -12
- package/bundled-skills/rust-analyzer-lsp/SKILL.md +0 -50
- package/bundled-skills/schema-markup/SKILL.md +0 -647
- package/bundled-skills/security-audit-expert/SKILL.md +0 -124
- package/bundled-skills/security-expert/SKILL.md +0 -140
- package/bundled-skills/security-guidance/SKILL.md +0 -13
- package/bundled-skills/seedance-prompt/SKILL.md +0 -139
- package/bundled-skills/self-evolution/SKILL.md +0 -1160
- package/bundled-skills/seo-audit/SKILL.md +0 -432
- package/bundled-skills/seo-content/SKILL.md +0 -787
- package/bundled-skills/serena/SKILL.md +0 -13
- package/bundled-skills/signup-flow-cro/SKILL.md +0 -409
- package/bundled-skills/skill-manager/SKILL.md +0 -226
- package/bundled-skills/skill-share/SKILL.md +0 -98
- package/bundled-skills/slack/SKILL.md +0 -13
- package/bundled-skills/social-content/SKILL.md +0 -878
- package/bundled-skills/spec-flow-skill/SKILL.md +0 -124
- package/bundled-skills/stripe/SKILL.md +0 -13
- package/bundled-skills/supabase/SKILL.md +0 -13
- package/bundled-skills/swift-lsp/SKILL.md +0 -40
- package/bundled-skills/synthesizer/SKILL.md +0 -236
- package/bundled-skills/template-skill/SKILL.md +0 -16
- package/bundled-skills/theme-factory/SKILL.md +0 -72
- package/bundled-skills/tiktok-research/SKILL.md +0 -208
- package/bundled-skills/typescript-lsp/SKILL.md +0 -36
- package/bundled-skills/ui-ux-pro-max/SKILL.md +0 -247
- package/bundled-skills/visual-prompt-engineer/SKILL.md +0 -102
- package/bundled-skills/webapp-testing/SKILL.md +0 -111
- package/bundled-skills/wide-research/SKILL.md +0 -191
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
<!-- Imported from OpenClaw. Some features may require tools not available in CLI mode. -->
|
|
2
|
-
|
|
3
|
-
---
|
|
4
|
-
name: deep-research
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
description: "多模型深度研究 — 支持 Claude/Gemini/OpenAI 路由,并行搜索,交叉验证,带引用报告"
|
|
7
|
-
metadata:
|
|
8
|
-
openclaw:
|
|
9
|
-
triggers:
|
|
10
|
-
- "深度研究"
|
|
11
|
-
- "deep research"
|
|
12
|
-
- "用openai深度研究"
|
|
13
|
-
- "用gemini深度研究"
|
|
14
|
-
- "用claude深度研究"
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# 深度研究 Skill 🔬
|
|
18
|
-
|
|
19
|
-
多模型深度研究能力,支持用户指定模型路由。
|
|
20
|
-
|
|
21
|
-
## 触发词与模型路由
|
|
22
|
-
|
|
23
|
-
解析用户消息,匹配以下模式:
|
|
24
|
-
|
|
25
|
-
| 用户说 | 使用模型 | 调用方式 |
|
|
26
|
-
|--------|---------|---------|
|
|
27
|
-
| `用openai深度研究 xxx` | GPT-5.3 | Azure OpenAI API (synthesize.sh openai) |
|
|
28
|
-
| `用gemini深度研究 xxx` | Gemini 3.1 Pro | Google AI Studio API (synthesize.sh gemini) |
|
|
29
|
-
| `用gemini-dr深度研究 xxx` | Google Deep Research Pro | Google DR API (synthesize.sh gemini-dr) |
|
|
30
|
-
| `用claude深度研究 xxx` | Claude Opus 4.6 | 当前模型直接输出 |
|
|
31
|
-
| `深度研究 xxx` | Google Deep Research Pro(默认) | Google DR API (synthesize.sh gemini-dr) |
|
|
32
|
-
|
|
33
|
-
**路由判断**:检查消息开头的"用openai"/"用gemini"/"用claude"关键词。无指定 → 默认 gemini-dr。
|
|
34
|
-
|
|
35
|
-
> 💡 `用gemini-dr` 使用 Google 的 Deep Research 专用模型(deep-research-pro-preview),专门为综合研究优化,质量可能优于通用 Gemini 3.1 Pro。
|
|
36
|
-
|
|
37
|
-
## 完整工作流程
|
|
38
|
-
|
|
39
|
-
### Phase 1: 解析请求
|
|
40
|
-
|
|
41
|
-
1. 识别模型路由(openai/gemini/claude/默认)
|
|
42
|
-
2. 提取研究主题
|
|
43
|
-
3. 主题太模糊时,最多追问 1 个问题
|
|
44
|
-
|
|
45
|
-
### Phase 2: 规划子问题
|
|
46
|
-
|
|
47
|
-
将主题拆解为 4-6 个独立可搜索的子问题。
|
|
48
|
-
|
|
49
|
-
### Phase 3: 多轮搜索
|
|
50
|
-
|
|
51
|
-
对每个子问题调用 `web_search`(每次最多 10 条结果),共 4-6 轮搜索。
|
|
52
|
-
|
|
53
|
-
### Phase 4: 深度抓取
|
|
54
|
-
|
|
55
|
-
从搜索结果选 3-5 个最有价值的 URL,用 `web_fetch(url, maxChars=8000)` 读全文。
|
|
56
|
-
|
|
57
|
-
选择标准:学术论文 > 官方报告 > 权威媒体 > 行业分析 > 博客
|
|
58
|
-
|
|
59
|
-
### Phase 5: 二次深挖
|
|
60
|
-
|
|
61
|
-
分析已有资料,对信息不足的子问题补搜 1-2 轮。
|
|
62
|
-
|
|
63
|
-
### Phase 6: 综合分析(模型路由)
|
|
64
|
-
|
|
65
|
-
**默认路由(gemini-dr)**:调用 Google Deep Research Pro API(异步 Interactions API),自带搜索能力,无需额外搜索。
|
|
66
|
-
|
|
67
|
-
**claude 路由**:直接用当前 Claude 模型综合生成报告。
|
|
68
|
-
|
|
69
|
-
**gemini/openai 路由**:
|
|
70
|
-
将所有搜集的资料存为临时文件,然后调用综合脚本:
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
SKILL_DIR="$(find /home -path "*/company-skills/deep-research" -type d 2>/dev/null | head -1)"
|
|
74
|
-
# 先把资料写入临时文件
|
|
75
|
-
echo '<所有来源资料JSON>' > /tmp/dr-sources.json
|
|
76
|
-
# 调用综合脚本
|
|
77
|
-
bash "${SKILL_DIR}/scripts/synthesize.sh" <provider> "<研究主题>" /tmp/dr-sources.json
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
provider = `gemini` 或 `openai`
|
|
81
|
-
|
|
82
|
-
如果 API 调用失败,降级到 Claude 处理,报告中注明。
|
|
83
|
-
|
|
84
|
-
### Phase 7: 输出报告
|
|
85
|
-
|
|
86
|
-
**输出优先级(按顺序尝试):**
|
|
87
|
-
|
|
88
|
-
1. **Slack Canvas 可用** → 创建 Canvas 写入完整报告(最佳体验)
|
|
89
|
-
- 需要 Bot 有 `canvases:write` 权限
|
|
90
|
-
- 如果创建失败,提示用户配置 Canvas 权限,然后降级到方式 2
|
|
91
|
-
- Canvas 配置:Slack App → OAuth & Permissions → 添加 `canvases:write`, `canvases:read` scope
|
|
92
|
-
2. **报告 >4000 字** → 生成 PDF 上传到 thread
|
|
93
|
-
- 用 Playwright: `npx -y playwright pdf <html_file> <output.pdf>`
|
|
94
|
-
- 通过 Slack 文件上传三步流程发送
|
|
95
|
-
3. **报告较短** → 直接 Slack 消息输出(Markdown 格式)
|
|
96
|
-
|
|
97
|
-
统一报告格式:
|
|
98
|
-
|
|
99
|
-
```markdown
|
|
100
|
-
# [主题]: 深度研究报告
|
|
101
|
-
*生成时间: [日期] | 使用模型: [模型名] | 来源数: [N] | 可信度: [高/中/低]*
|
|
102
|
-
|
|
103
|
-
## 摘要
|
|
104
|
-
[3-5 句关键发现]
|
|
105
|
-
|
|
106
|
-
## 1. [第一个主要发现]
|
|
107
|
-
[带内联引用的详细分析]
|
|
108
|
-
|
|
109
|
-
## 2. [第二个主要发现]
|
|
110
|
-
...
|
|
111
|
-
|
|
112
|
-
## 关键结论
|
|
113
|
-
- [可执行洞察]
|
|
114
|
-
|
|
115
|
-
## 来源列表
|
|
116
|
-
1. [标题](url) — [一句话] ✅ 已验证 / ⚠️ 单源
|
|
117
|
-
|
|
118
|
-
## 研究方法
|
|
119
|
-
搜索 [N] 组关键词,分析 [M] 个来源。模型: [名称版本]
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## 质量标准
|
|
123
|
-
|
|
124
|
-
1. 每个关键论断必须有来源,无源标注"AI 推断"
|
|
125
|
-
2. 重要事实 ≥2 个独立来源确认;单源标注 ⚠️
|
|
126
|
-
3. 优先最近 12 个月的来源
|
|
127
|
-
4. 信息不足明确说明,不编造
|
|
128
|
-
5. 语言匹配用户(中文问中文答)
|
|
129
|
-
|
|
130
|
-
## 环境变量
|
|
131
|
-
|
|
132
|
-
| 变量 | 用途 | 何时需要 |
|
|
133
|
-
|------|------|---------|
|
|
134
|
-
| GEMINI_API_KEY | Gemini 路由 | 用gemini时 |
|
|
135
|
-
| AZURE_OPENAI_API_KEY | OpenAI 路由 | 用openai时 |
|
|
136
|
-
| AZURE_OPENAI_ENDPOINT | Azure endpoint | 用openai时 |
|
|
137
|
-
| AZURE_OPENAI_DEPLOYMENT | 部署名 | 用openai时 |
|
|
138
|
-
|
|
139
|
-
## 示例
|
|
140
|
-
|
|
141
|
-
```
|
|
142
|
-
深度研究 2026年全球AI芯片市场格局
|
|
143
|
-
用gemini深度研究 React vs Vue 2026技术选型
|
|
144
|
-
用openai深度研究 东南亚电商市场进入策略
|
|
145
|
-
用gemini-dr深度研究 量子计算商业化前景分析
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## ⚠️ Gemini DR 异步执行(重要!— Sub-Agent 编排模式)
|
|
149
|
-
|
|
150
|
-
Gemini DR 是长任务(通常 3-10 分钟),**必须用 sub-agent 独立编排,不阻塞主 session**。
|
|
151
|
-
|
|
152
|
-
脚本已拆分为两个命令:
|
|
153
|
-
- `synthesize.sh gemini-dr-start "<topic>" <sources>` → 启动 interaction,**立即返回 interaction ID**
|
|
154
|
-
- `synthesize.sh gemini-dr-check "<interaction_id>" <dummy>` → 检查状态。exit 0=完成(报告在stdout),exit 10=进行中,exit 3=失败
|
|
155
|
-
|
|
156
|
-
### 正确做法:spawn sub-agent
|
|
157
|
-
|
|
158
|
-
**主 session 流程:**
|
|
159
|
-
1. 回复用户:"🔬 深度研究已启动,预计 3-8 分钟,完成后自动发送报告。"
|
|
160
|
-
2. 用 `sessions_spawn` 启动 DR orchestrator sub-agent(见下方模板)
|
|
161
|
-
3. 主 session 空闲,可以继续做别的事
|
|
162
|
-
|
|
163
|
-
**Sub-agent 任务模板:**
|
|
164
|
-
```
|
|
165
|
-
sessions_spawn(
|
|
166
|
-
task: "你是 DR Orchestrator。执行以下步骤:
|
|
167
|
-
|
|
168
|
-
1. 启动 Gemini DR:
|
|
169
|
-
SKILL_DIR=$(find /home -path '*/company-skills/deep-research' -type d 2>/dev/null | head -1)
|
|
170
|
-
echo '<研究主题的详细prompt>' > /tmp/dr-sources.json
|
|
171
|
-
ID=$(bash $SKILL_DIR/scripts/synthesize.sh gemini-dr-start '<主题>' /tmp/dr-sources.json)
|
|
172
|
-
记录 interaction ID: $ID
|
|
173
|
-
|
|
174
|
-
2. 每 30 秒检查一次:
|
|
175
|
-
bash $SKILL_DIR/scripts/synthesize.sh gemini-dr-check '$ID' /tmp/dr-sources.json
|
|
176
|
-
- exit 10 → stdout 格式: 'status|updated_timestamp',记录 updated
|
|
177
|
-
- exit 0 → 拿到报告,进入步骤 3
|
|
178
|
-
- exit 3 → 失败,报告错误
|
|
179
|
-
|
|
180
|
-
3. 卡死检测(重要!):
|
|
181
|
-
- 每次 check 记录 updated 时间戳
|
|
182
|
-
- 如果连续 5 分钟 updated 没变化 → interaction 卡死
|
|
183
|
-
- 卡死处理: 放弃当前 interaction,重新 gemini-dr-start 发起新请求
|
|
184
|
-
- 重试最多 2 次,仍卡死则报告失败
|
|
185
|
-
|
|
186
|
-
4. 拿到报告后:格式化为标准研究报告格式,通过 announce 发送给用户。
|
|
187
|
-
|
|
188
|
-
超时上限: 15 分钟。超时后报告 interaction ID 让用户手动查询。",
|
|
189
|
-
label: "dr-<slug>",
|
|
190
|
-
mode: "run",
|
|
191
|
-
runTimeoutSeconds: 900
|
|
192
|
-
)
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### ❌ 错误做法(会导致丢失结果)
|
|
196
|
-
- ❌ 在主 session 用 exec background + process poll 轮询(session 重置后丢失)
|
|
197
|
-
- ❌ 用旧的 `synthesize.sh gemini-dr` 同步模式(exec 超时杀进程,interaction ID 丢失)
|
|
198
|
-
- ❌ 不保存 interaction ID(脚本被杀后无法恢复)
|
|
199
|
-
- ❌ **用 cron 做 DR 轮询**(无状态、需要清理、浪费 token、容易变孤儿 cron)
|
|
200
|
-
|
|
201
|
-
**DR 轮询必须在 sub-agent 内部循环完成**,不要创建 cron job。sub-agent 完成即自动退出,没有清理问题。
|
|
202
|
-
|
|
203
|
-
### 🔄 多路并发研究
|
|
204
|
-
|
|
205
|
-
**⚠️ Google Gemini DR API 有并发限制!** 同时发 5 个 interaction 可能导致后发的被静默排队/卡死(`updated` 时间戳从未变过)。
|
|
206
|
-
|
|
207
|
-
**并发规则:**
|
|
208
|
-
- **最多同时 3 个** Gemini DR interaction
|
|
209
|
-
- 超过 3 个子课题 → 分批:先发 3 个,等完成 1 个后再发下一个
|
|
210
|
-
- 每个 interaction 必须有卡死检测(5 分钟 updated 不变 → 重试)
|
|
211
|
-
|
|
212
|
-
**编排方式(推荐:单 orchestrator):**
|
|
213
|
-
1. spawn 一个总 orchestrator sub-agent
|
|
214
|
-
2. orchestrator 维护一个队列,最多 3 个并发槽
|
|
215
|
-
3. 每 30 秒轮流 check 所有活跃 interaction
|
|
216
|
-
4. 检测到卡死 → 重试该 interaction(占用同一个槽)
|
|
217
|
-
5. 某个完成 → 释放槽,从队列取下一个启动
|
|
218
|
-
6. 全部完成 → 汇总报告 → announce
|
|
219
|
-
|
|
220
|
-
**为什么不要每个子课题一个 sub-agent:**
|
|
221
|
-
- 无法控制总并发数(5 个 sub-agent 同时 start → 触发限流)
|
|
222
|
-
- 单 orchestrator 可以全局调度
|
|
223
|
-
|
|
224
|
-
### 🧹 Cron 清理(硬性规则!)
|
|
225
|
-
|
|
226
|
-
**DR 过程中如果创建了任何 cron job(监控、轮询等),DR 完成后必须立即删除。**
|
|
227
|
-
|
|
228
|
-
- sub-agent orchestrator 完成汇总后,最后一步必须 `cron(action="remove", jobId=xxx)` 清理所有 DR 相关 cron
|
|
229
|
-
- 如果用了 cron 做定期检查(而非 sub-agent 内部循环),在拿到最终结果后**立刻删除 cron**
|
|
230
|
-
- ❌ 禁止留下孤儿 cron(研究完了 cron 还在跑,每 N 分钟空转浪费 token)
|
|
231
|
-
- 建议:cron job name 统一前缀 `dr-monitor-`,方便识别和清理
|
|
232
|
-
|
|
233
|
-
### 💡 旧模式(gemini-dr)仍可用
|
|
234
|
-
|
|
235
|
-
`synthesize.sh gemini-dr` 保留向后兼容(同步轮询),适用于 sub-agent 内部调用(sub-agent 有独立超时控制)。
|
|
236
|
-
但**主 session 禁止直接调用**。
|
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: "developer-growth-analysis"
|
|
3
|
-
title: "Developer Growth Analysis"
|
|
4
|
-
category: "dev-tools"
|
|
5
|
-
tags: ["developer growth analysis", "when to use this skill", "what this skill does", "how to use", "instructions", "example usage", "your developer growth report", "work summary", "strengths observed", "action items"]
|
|
6
|
-
triggers: []
|
|
7
|
-
dependencies: []
|
|
8
|
-
source: "E:/Bobo's Coding cache/.claude/skills/developer-growth-analysis"
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
name: developer-growth-analysis
|
|
13
|
-
description: Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Developer Growth Analysis
|
|
17
|
-
|
|
18
|
-
This skill provides personalized feedback on your recent coding work by analyzing your Claude Code chat interactions and identifying patterns that reveal strengths and areas for growth.
|
|
19
|
-
|
|
20
|
-
## When to Use This Skill
|
|
21
|
-
|
|
22
|
-
Use this skill when you want to:
|
|
23
|
-
|
|
24
|
-
- Understand your development patterns and habits from recent work
|
|
25
|
-
- Identify specific technical gaps or recurring challenges
|
|
26
|
-
- Discover which topics would benefit from deeper study
|
|
27
|
-
- Get curated learning resources tailored to your actual work patterns
|
|
28
|
-
- Track improvement areas across your recent projects
|
|
29
|
-
- Find high-quality articles that directly address the skills you're developing
|
|
30
|
-
|
|
31
|
-
This skill is ideal for developers who want structured feedback on their growth without waiting for code reviews, and who prefer data-driven insights from their own work history.
|
|
32
|
-
|
|
33
|
-
## What This Skill Does
|
|
34
|
-
|
|
35
|
-
This skill performs a six-step analysis of your development work:
|
|
36
|
-
|
|
37
|
-
1. **Reads Your Chat History**: Accesses your local Claude Code chat history from the past 24-48 hours to understand what you've been working on.
|
|
38
|
-
|
|
39
|
-
2. **Identifies Development Patterns**: Analyzes the types of problems you're solving, technologies you're using, challenges you encounter, and how you approach different kinds of tasks.
|
|
40
|
-
|
|
41
|
-
3. **Detects Improvement Areas**: Recognizes patterns that suggest skill gaps, repeated struggles, inefficient approaches, or areas where you might benefit from deeper knowledge.
|
|
42
|
-
|
|
43
|
-
4. **Generates a Personalized Report**: Creates a comprehensive report showing your work summary, identified improvement areas, and specific recommendations for growth.
|
|
44
|
-
|
|
45
|
-
5. **Finds Learning Resources**: Uses HackerNews to curate high-quality articles and discussions directly relevant to your improvement areas, providing you with a reading list tailored to your actual development work.
|
|
46
|
-
|
|
47
|
-
6. **Sends to Your Slack DMs**: Automatically delivers the complete report to your own Slack direct messages so you can reference it anytime, anywhere.
|
|
48
|
-
|
|
49
|
-
## How to Use
|
|
50
|
-
|
|
51
|
-
Ask Claude to analyze your recent coding work:
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
Analyze my developer growth from my recent chats
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Or be more specific about which time period:
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
Analyze my work from today and suggest areas for improvement
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
The skill will generate a formatted report with:
|
|
64
|
-
|
|
65
|
-
- Overview of your recent work
|
|
66
|
-
- Key improvement areas identified
|
|
67
|
-
- Specific recommendations for each area
|
|
68
|
-
- Curated learning resources from HackerNews
|
|
69
|
-
- Action items you can focus on
|
|
70
|
-
|
|
71
|
-
## Instructions
|
|
72
|
-
|
|
73
|
-
When a user requests analysis of their developer growth or coding patterns from recent work:
|
|
74
|
-
|
|
75
|
-
1. **Access Chat History**
|
|
76
|
-
|
|
77
|
-
Read the chat history from `~/.claude/history.jsonl`. This file is a JSONL format where each line contains:
|
|
78
|
-
- `display`: The user's message/request
|
|
79
|
-
- `project`: The project being worked on
|
|
80
|
-
- `timestamp`: Unix timestamp (in milliseconds)
|
|
81
|
-
- `pastedContents`: Any code or content pasted
|
|
82
|
-
|
|
83
|
-
Filter for entries from the past 24-48 hours based on the current timestamp.
|
|
84
|
-
|
|
85
|
-
2. **Analyze Work Patterns**
|
|
86
|
-
|
|
87
|
-
Extract and analyze the following from the filtered chats:
|
|
88
|
-
- **Projects and Domains**: What types of projects was the user working on? (e.g., backend, frontend, DevOps, data, etc.)
|
|
89
|
-
- **Technologies Used**: What languages, frameworks, and tools appear in the conversations?
|
|
90
|
-
- **Problem Types**: What categories of problems are being solved? (e.g., performance optimization, debugging, feature implementation, refactoring, setup/configuration)
|
|
91
|
-
- **Challenges Encountered**: What problems did the user struggle with? Look for:
|
|
92
|
-
- Repeated questions about similar topics
|
|
93
|
-
- Problems that took multiple attempts to solve
|
|
94
|
-
- Questions indicating knowledge gaps
|
|
95
|
-
- Complex architectural decisions
|
|
96
|
-
- **Approach Patterns**: How does the user solve problems? (e.g., methodical, exploratory, experimental)
|
|
97
|
-
|
|
98
|
-
3. **Identify Improvement Areas**
|
|
99
|
-
|
|
100
|
-
Based on the analysis, identify 3-5 specific areas where the user could improve. These should be:
|
|
101
|
-
- **Specific** (not vague like "improve coding skills")
|
|
102
|
-
- **Evidence-based** (grounded in actual chat history)
|
|
103
|
-
- **Actionable** (practical improvements that can be made)
|
|
104
|
-
- **Prioritized** (most impactful first)
|
|
105
|
-
|
|
106
|
-
Examples of good improvement areas:
|
|
107
|
-
- "Advanced TypeScript patterns (generics, utility types, type guards) - you struggled with type safety in [specific project]"
|
|
108
|
-
- "Error handling and validation - I noticed you patched several bugs related to missing null checks"
|
|
109
|
-
- "Async/await patterns - your recent work shows some race conditions and timing issues"
|
|
110
|
-
- "Database query optimization - you rewrote the same query multiple times"
|
|
111
|
-
|
|
112
|
-
4. **Generate Report**
|
|
113
|
-
|
|
114
|
-
Create a comprehensive report with this structure:
|
|
115
|
-
|
|
116
|
-
```markdown
|
|
117
|
-
# Your Developer Growth Report
|
|
118
|
-
|
|
119
|
-
**Report Period**: [Yesterday / Today / [Custom Date Range]]
|
|
120
|
-
**Last Updated**: [Current Date and Time]
|
|
121
|
-
|
|
122
|
-
## Work Summary
|
|
123
|
-
|
|
124
|
-
[2-3 paragraphs summarizing what the user worked on, projects touched, technologies used, and overall focus areas]
|
|
125
|
-
|
|
126
|
-
Example:
|
|
127
|
-
"Over the past 24 hours, you focused primarily on backend development with three distinct projects. Your work involved TypeScript, React, and deployment infrastructure. You tackled a mix of feature implementation, debugging, and architectural decisions, with a particular focus on API design and database optimization."
|
|
128
|
-
|
|
129
|
-
## Improvement Areas (Prioritized)
|
|
130
|
-
|
|
131
|
-
### 1. [Area Name]
|
|
132
|
-
|
|
133
|
-
**Why This Matters**: [Explanation of why this skill is important for the user's work]
|
|
134
|
-
|
|
135
|
-
**What I Observed**: [Specific evidence from chat history showing this gap]
|
|
136
|
-
|
|
137
|
-
**Recommendation**: [Concrete step(s) to improve in this area]
|
|
138
|
-
|
|
139
|
-
**Time to Skill Up**: [Brief estimate of effort required]
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
[Repeat for 2-4 additional areas]
|
|
144
|
-
|
|
145
|
-
## Strengths Observed
|
|
146
|
-
|
|
147
|
-
[2-3 bullet points highlighting things you're doing well - things to continue doing]
|
|
148
|
-
|
|
149
|
-
## Action Items
|
|
150
|
-
|
|
151
|
-
Priority order:
|
|
152
|
-
|
|
153
|
-
1. [Action item derived from highest priority improvement area]
|
|
154
|
-
2. [Action item from next area]
|
|
155
|
-
3. [Action item from next area]
|
|
156
|
-
|
|
157
|
-
## Learning Resources
|
|
158
|
-
|
|
159
|
-
[Will be populated in next step]
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
5. **Search for Learning Resources**
|
|
163
|
-
|
|
164
|
-
Use Rube MCP to search HackerNews for articles related to each improvement area:
|
|
165
|
-
- For each improvement area, construct a search query targeting high-quality resources
|
|
166
|
-
- Search HackerNews using RUBE_SEARCH_TOOLS with queries like:
|
|
167
|
-
- "Learn [Technology/Pattern] best practices"
|
|
168
|
-
- "[Technology] advanced patterns and techniques"
|
|
169
|
-
- "Debugging [specific problem type] in [language]"
|
|
170
|
-
- Prioritize posts with high engagement (comments, upvotes)
|
|
171
|
-
- For each area, include 2-3 most relevant articles with:
|
|
172
|
-
- Article title
|
|
173
|
-
- Publication date
|
|
174
|
-
- Brief description of why it's relevant
|
|
175
|
-
- Link to the article
|
|
176
|
-
|
|
177
|
-
Add this section to the report:
|
|
178
|
-
|
|
179
|
-
```markdown
|
|
180
|
-
## Curated Learning Resources
|
|
181
|
-
|
|
182
|
-
### For: [Improvement Area]
|
|
183
|
-
|
|
184
|
-
1. **[Article Title]** - [Date]
|
|
185
|
-
[Description of what it covers and why it's relevant to your improvement area]
|
|
186
|
-
[Link]
|
|
187
|
-
|
|
188
|
-
2. **[Article Title]** - [Date]
|
|
189
|
-
[Description]
|
|
190
|
-
[Link]
|
|
191
|
-
|
|
192
|
-
[Repeat for other improvement areas]
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
6. **Present the Complete Report**
|
|
196
|
-
|
|
197
|
-
Deliver the report in a clean, readable format that the user can:
|
|
198
|
-
- Quickly scan for key takeaways
|
|
199
|
-
- Use for focused learning planning
|
|
200
|
-
- Reference over the next week as they work on improvements
|
|
201
|
-
- Share with mentors if they want external feedback
|
|
202
|
-
|
|
203
|
-
7. **Send Report to Slack DMs**
|
|
204
|
-
|
|
205
|
-
Use Rube MCP to send the complete report to the user's own Slack DMs:
|
|
206
|
-
- Check if Slack connection is active via RUBE_SEARCH_TOOLS
|
|
207
|
-
- If not connected, use RUBE_MANAGE_CONNECTIONS to initiate Slack auth
|
|
208
|
-
- Use RUBE_MULTI_EXECUTE_TOOL to send the report as a formatted message:
|
|
209
|
-
- Send the report title and period as the first message
|
|
210
|
-
- Break the report into logical sections (Summary, Improvements, Strengths, Actions, Resources)
|
|
211
|
-
- Format each section as a well-structured Slack message with proper markdown
|
|
212
|
-
- Include clickable links for the learning resources
|
|
213
|
-
- Confirm delivery in the CLI output
|
|
214
|
-
|
|
215
|
-
This ensures the user has the report in a place they check regularly and can reference it throughout the week.
|
|
216
|
-
|
|
217
|
-
## Example Usage
|
|
218
|
-
|
|
219
|
-
### Input
|
|
220
|
-
|
|
221
|
-
```
|
|
222
|
-
Analyze my developer growth from my recent chats
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
### Output
|
|
226
|
-
|
|
227
|
-
```markdown
|
|
228
|
-
# Your Developer Growth Report
|
|
229
|
-
|
|
230
|
-
**Report Period**: November 9-10, 2024
|
|
231
|
-
**Last Updated**: November 10, 2024, 9:15 PM UTC
|
|
232
|
-
|
|
233
|
-
## Work Summary
|
|
234
|
-
|
|
235
|
-
Over the past two days, you focused on backend infrastructure and API development. Your primary project was an open-source showcase application, where you made significant progress on connections management, UI improvements, and deployment configuration. You worked with TypeScript, React, and Node.js, tackling challenges ranging from data security to responsive design. Your work shows a balance between implementing features and addressing technical debt.
|
|
236
|
-
|
|
237
|
-
## Improvement Areas (Prioritized)
|
|
238
|
-
|
|
239
|
-
### 1. Advanced TypeScript Patterns and Type Safety
|
|
240
|
-
|
|
241
|
-
**Why This Matters**: TypeScript is central to your work, but leveraging its advanced features (generics, utility types, conditional types, type guards) can significantly improve code reliability and reduce runtime errors. Better type safety catches bugs at compile time rather than in production.
|
|
242
|
-
|
|
243
|
-
**What I Observed**: In your recent chats, you were working with connection data structures and struggled a few times with typing auth configurations properly. You also had to iterate on union types for different connection states. There's an opportunity to use discriminated unions and type guards more effectively.
|
|
244
|
-
|
|
245
|
-
**Recommendation**: Study TypeScript's advanced type system, particularly utility types (Omit, Pick, Record), conditional types, and discriminated unions. Apply these patterns to your connection configuration handling and auth state management.
|
|
246
|
-
|
|
247
|
-
**Time to Skill Up**: 5-8 hours of focused learning and practice
|
|
248
|
-
|
|
249
|
-
### 2. Secure Data Handling and Information Hiding in UI
|
|
250
|
-
|
|
251
|
-
**Why This Matters**: You identified and fixed a security concern where sensitive connection data was being displayed in your console. Preventing information leakage is critical for applications handling user credentials and API keys. Good practices here prevent security incidents and user trust violations.
|
|
252
|
-
|
|
253
|
-
**What I Observed**: You caught that your "Your Apps" page was showing full connection data including auth configs. This shows good security instincts, and the next step is building this into your default thinking when handling sensitive information.
|
|
254
|
-
|
|
255
|
-
**Recommendation**: Review security best practices for handling sensitive data in frontend applications. Create reusable patterns for filtering/masking sensitive information before displaying it. Consider implementing a secure data layer that explicitly whitelist what can be shown in the UI.
|
|
256
|
-
|
|
257
|
-
**Time to Skill Up**: 3-4 hours
|
|
258
|
-
|
|
259
|
-
### 3. Component Architecture and Responsive UI Patterns
|
|
260
|
-
|
|
261
|
-
**Why This Matters**: You're designing UIs that need to work across different screen sizes and user interactions. Strong component architecture makes it easier to build complex UIs without bugs and improves maintainability.
|
|
262
|
-
|
|
263
|
-
**What I Observed**: You worked on the "Marketplace" UI (formerly Browse Tools), recreating it from a design image. You also identified and fixed scrolling issues where content was overflowing containers. There's an opportunity to strengthen your understanding of layout containment and responsive design patterns.
|
|
264
|
-
|
|
265
|
-
**Recommendation**: Study React component composition patterns and CSS layout best practices (especially flexbox and grid). Focus on container queries and responsive patterns that prevent overflow issues. Look into component composition libraries and design system approaches.
|
|
266
|
-
|
|
267
|
-
**Time to Skill Up**: 6-10 hours (depending on depth)
|
|
268
|
-
|
|
269
|
-
## Strengths Observed
|
|
270
|
-
|
|
271
|
-
- **Security Awareness**: You proactively identified data leakage issues before they became problems
|
|
272
|
-
- **Iterative Refinement**: You worked through UI requirements methodically, asking clarifying questions and improving designs
|
|
273
|
-
- **Full-Stack Capability**: You comfortably work across backend APIs, frontend UI, and deployment concerns
|
|
274
|
-
- **Problem-Solving Approach**: You break down complex tasks into manageable steps
|
|
275
|
-
|
|
276
|
-
## Action Items
|
|
277
|
-
|
|
278
|
-
Priority order:
|
|
279
|
-
|
|
280
|
-
1. Spend 1-2 hours learning TypeScript utility types and discriminated unions; apply to your connection data structures
|
|
281
|
-
2. Document security patterns for your project (what data is safe to display, filtering/masking functions)
|
|
282
|
-
3. Study one article on advanced React patterns and apply one pattern to your current UI work
|
|
283
|
-
4. Set up a code review checklist focused on type safety and data security for future PRs
|
|
284
|
-
|
|
285
|
-
## Curated Learning Resources
|
|
286
|
-
|
|
287
|
-
### For: Advanced TypeScript Patterns
|
|
288
|
-
|
|
289
|
-
1. **TypeScript's Advanced Types: Generics, Utility Types, and Conditional Types** - HackerNews, October 2024
|
|
290
|
-
Deep dive into TypeScript's type system with practical examples and real-world applications. Covers discriminated unions, type guards, and patterns for ensuring compile-time safety in complex applications.
|
|
291
|
-
[Link to discussion]
|
|
292
|
-
|
|
293
|
-
2. **Building Type-Safe APIs in TypeScript** - HackerNews, September 2024
|
|
294
|
-
Practical guide to designing APIs with TypeScript that catch errors early. Particularly relevant for your connection configuration work.
|
|
295
|
-
[Link to discussion]
|
|
296
|
-
|
|
297
|
-
### For: Secure Data Handling in Frontend
|
|
298
|
-
|
|
299
|
-
1. **Preventing Information Leakage in Web Applications** - HackerNews, August 2024
|
|
300
|
-
Comprehensive guide to data security in frontend applications, including filtering sensitive information, secure logging, and audit trails.
|
|
301
|
-
[Link to discussion]
|
|
302
|
-
|
|
303
|
-
2. **OAuth and API Key Management Best Practices** - HackerNews, July 2024
|
|
304
|
-
How to safely handle authentication tokens and API keys in applications, with examples for different frameworks.
|
|
305
|
-
[Link to discussion]
|
|
306
|
-
|
|
307
|
-
### For: Component Architecture and Responsive Design
|
|
308
|
-
|
|
309
|
-
1. **Advanced React Patterns: Composition Over Configuration** - HackerNews
|
|
310
|
-
Explores component composition strategies that scale, with examples using modern React patterns.
|
|
311
|
-
[Link to discussion]
|
|
312
|
-
|
|
313
|
-
2. **CSS Layout Mastery: Flexbox, Grid, and Container Queries** - HackerNews, October 2024
|
|
314
|
-
Learn responsive design patterns that prevent overflow issues and work across all screen sizes.
|
|
315
|
-
[Link to discussion]
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
## Tips and Best Practices
|
|
319
|
-
|
|
320
|
-
- Run this analysis once a week to track your improvement trajectory over time
|
|
321
|
-
- Pick one improvement area at a time and focus on it for a few days before moving to the next
|
|
322
|
-
- Use the learning resources as a study guide; work through the recommended materials and practice applying the patterns
|
|
323
|
-
- Revisit this report after focusing on an area for a week to see how your work patterns change
|
|
324
|
-
- The learning resources are intentionally curated for your actual work, not generic topics, so they'll be highly relevant to what you're building
|
|
325
|
-
|
|
326
|
-
## How Accuracy and Quality Are Maintained
|
|
327
|
-
|
|
328
|
-
This skill:
|
|
329
|
-
|
|
330
|
-
- Analyzes your actual work patterns from timestamped chat history
|
|
331
|
-
- Generates evidence-based recommendations grounded in real projects
|
|
332
|
-
- Curates learning resources that directly address your identified gaps
|
|
333
|
-
- Focuses on actionable improvements, not vague feedback
|
|
334
|
-
- Provides specific time estimates based on complexity
|
|
335
|
-
- Prioritizes areas that will have the most impact on your development velocity
|