skills/crawl-xueqiu-my-timeline/SKILL.md
爬取雪球首页关注的时间线,生成投资分析报告和 PDF。当用户提及雪球时间线、投资要闻、市场热点、大 V 观点、投资分析、生成 PDF 报告时立即使用此技能
npx skillsauth add cnife/my-scripts crawl-xueqiu-my-timelineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
爬取雪球首页关注的时间线,保存为按发言人分组的 Markdown 文件,供 AI 分析总结并生成 PDF 投资报告。
特点:
# 1. 检查环境
sh skills/crawl-xueqiu-my-timeline/scripts/check-cdp.sh
sh skills/crawl-xueqiu-my-timeline/scripts/check-agent-browser.sh
# 2. 爬取最近 24 小时时间线
skills/crawl-xueqiu-my-timeline/scripts/crawl_xueqiu_home_timeline_api.py
# 3. AI 自动读取、分析、生成 PDF 报告
✅ 应该触发:
❌ 不应触发:
确保 Chrome 处于 Debug 模式并安装 agent-browser:
sh skills/crawl-xueqiu-my-timeline/scripts/check-cdp.sh
sh skills/crawl-xueqiu-my-timeline/scripts/check-agent-browser.sh
crawl_xueqiu_home_timeline_api.pyhome_timeline_YYYYMMDD_YYYYMMDD.md只有不以 // 或 > 开头的内容才是发言人自己的观点:
| 标记 | 含义 | 是否总结 |
|------|------|---------|
| 无标记行 | 发言人本人的发言 | ✅ 需总结 |
| // 开头 | 被评论的其他用户发言 | ❌ 非本人观点 |
| > 开头 | 被引用的转发内容 | ❌ 非本人观点 |
注释:回复@XXX: 前缀是雪球自动生成的,整行都是发言人自己的观点,应总结。
示例:
回复@阿企笔记:要知道很多农村的人需要方言语音设备
//回复@青年完:支付宝本来就有音响
> @阿企笔记:中概股失去增长动力
正确总结:发言人认为农村用户需要方言语音设备
错误总结:发言人讨论了支付宝音响、中概股财报
爬取脚本会在当前目录生成 Markdown 文件:home_timeline_YYYYMMDD_YYYYMMDD.md
# 读取最新生成的时间线文件
cat home_timeline_*.md
AI 应按以下结构生成投资分析报告:
# 雪球关注时间线分析报告
## 时间范围
2026-03-05 至 2026-03-06
## 发言人统计
- @产业驱动博弈:19 条
- @管我财:6 条
...(逐一列出所有发言人)
## 发言观点总结
### @发言人 A(发言最多的用户)
- **发言数量**: X 条
- **主要观点**:
- 观点 1 摘要
- 观点 2 摘要
- **涉及标的**: $股票 1$, $股票 2$
- **情绪倾向**: 乐观/中性/悲观
### @发言人 B
- **发言数量**: X 条
- **主要观点**:
- 观点摘要
- **涉及标的**: $股票 3$
- **情绪倾向**: 乐观/中性/悲观
...(继续列出所有发言人,直到最后)...
## 市场热点 TOP3
1. 热点主题 1 - 讨论人数 X
2. 热点主题 2 - 讨论人数 X
3. 热点主题 3 - 讨论人数 X
## 投资建议/风险提示
(基于发言内容的综合分析)
核心原则:
// 或 > 开头的内容)$股票名$ 格式的代码读取时间线文件后,统计每位发言人的发言数量,按单个用户的发言条数决定 TODO 分配策略:
| 用户发言数量 | TODO 分配方式 | 说明 | 示例 | |-------------|-------------|------|------| | 单个用户 >10 条 | 独占一个 TODO | 发言多的用户单独分析 | @A(15 条) → TODO: 分析@A | | 单个用户 5-10 条 | 3-5 个用户合并一个 TODO | 中等发言用户分组分析 | @B(7 条)+@C(6 条)+@D(5 条) → TODO: 分析@B/@C/@D | | 单个用户 <5 条 | 所有用户合并一个 TODO | 发言少的用户统一分析 | @E(3 条)+@F(2 条)+@G(1 条) → TODO: 分析@E/@F/@G |
判断逻辑(按顺序检查,满足即停止):
使用当前环境支持的工具管理 TODO(如 OpenCode 的 todowrite 工具)
每个 subagent 收到如下指令:
分析雪球时间线文件中指定用户的发言
**文件路径**: `<时间线文件绝对路径>`
**需分析的用户**:
- @用户 A:19 条发言
- @用户 B:6 条发言
**分析指引**:
1. 读取文件,定位目标用户的发言段落
2. 只总结本人观点(排除 `//` 或 `>` 开头的内容)
3. 提取:核心观点、涉及标的($xxx$格式)、情绪倾向
**输出要求**:
直接返回分析结果(不要写文件),格式:
### @用户 A
- **发言数量**: 19 条
- **主要观点**:
- 观点 1
- 观点 2
- **涉及标的**: $XXX$, $YYY$
- **情绪倾向**: 乐观/中性/悲观
整合所有 subagent 的分析结果,生成完整的投资分析报告:
主 agent 应根据当前环境的可用工具选择合适的方法:
task 工具启动 subagent,使用 todowrite 管理 TODOskills/crawl-xueqiu-my-timeline/scripts/crawl_xueqiu_home_timeline_api.py [选项]
| 参数 | 说明 | 默认值 |
|------|------|--------|
| --hours | 爬取最近 N 小时 | 24 |
| --days | 爬取最近 N 天 | - |
| --start-date | 开始日期 (YYYY-MM-DD) | - |
| --end-date | 结束日期 (YYYY-MM-DD) | 今天 |
| -o, --output | 输出文件名 | 自动生成 |
注意:--hours、--days、--start-date 三个参数互斥。
# 爬取最近 24 小时(默认)
skills/crawl-xueqiu-my-timeline/scripts/crawl_xueqiu_home_timeline_api.py
# 爬取最近 2 小时
skills/crawl-xueqiu-my-timeline/scripts/crawl_xueqiu_home_timeline_api.py --hours 2
# 爬取最近 7 天
skills/crawl-xueqiu-my-timeline/scripts/crawl_xueqiu_home_timeline_api.py --days 7
# 指定日期范围
skills/crawl-xueqiu-my-timeline/scripts/crawl_xueqiu_home_timeline_api.py --start-date 2026-03-01 --end-date 2026-03-06
将分析报告保存为 雪球时间线_YYYYMMDD_YYYYMMDD.md,日期为时间范围的起始和结束日期。
示例:雪球时间线_20260305_20260306.md
bunx mdpdf 雪球时间线_YYYYMMDD_YYYYMMDD.md \
--style=/home/cnife/code/my-scripts/skills/crawl-xueqiu-my-timeline/assets/github-markdown.css
例如:
bunx mdpdf 雪球时间线_20260305_20260306.md \
--style=/home/cnife/code/my-scripts/skills/crawl-xueqiu-my-timeline/assets/github-markdown.css
可选参数:
--border=<size>:页边距(默认 20mm),如 --border=15mm--format=<format>:纸张大小(默认 A4),如 --format=A4--orientation=<orientation>:方向(默认 portrait)--title=<title>:PDF 标题rm 雪球时间线_YYYYMMDD_YYYYMMDD.md
# AI 写入总结文件 → 雪球时间线_20260305_20260306.md
# 转换为 PDF(当前目录生成 PDF)
bunx mdpdf 雪球时间线_20260305_20260306.md \
--style=/home/cnife/code/my-scripts/skills/crawl-xueqiu-my-timeline/assets/github-markdown.css
# 删除临时 Markdown 文件
rm 雪球时间线_20260305_20260306.md
结果:当前工作目录生成 雪球时间线_20260305_20260306.pdf
爬取脚本生成的 home_timeline_*.md 包含:
assets/github-markdown.css: PDF 样式文件(mdpdf 使用)scripts/check-cdp.sh: 检查 Chrome Debug 模式scripts/check-agent-browser.sh: 检查 agent-browser 安装scripts/crawl_xueqiu_home_timeline_api.py: 爬取脚本(主入口)evals/evals.json: 测试用例集(用于验证技能功能)tools
抓取雪球用户的发言时间线,保存为 Markdown 文件
development
检查 opencode 和 oh-my-openagent (omo) 的版本更新情况,有更新时自动获取并展示 release 说明。当用户提及版本检查、更新、版本对比、更新日志、release notes,或询问 opencode/omo 是否需要更新、有没有新版本时,立即使用此技能。即使用户只是随意提到"检查更新"或"版本",也应触发此技能进行版本检查。
content-media
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
content-media
QQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。