#724 by GitHub stars
chubbyguan/chubbyskills
把中文全渠道内容(抖音 / B站 / 小红书 / 公众号 / X / 播客)采集进个人知识库的 14 个 AI Skill:图文存图、视频转文字稿、字幕优先免 GPU、RSS/YouTube 订阅调度与每日情报简报,附带知识库 MCP server。| Ingest Chinese content into your personal knowledge base — image/video routing, subtitle-first transcription, feed subscriptions with daily digests, and a KB MCP server.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
bilibili-transcribe/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
content-enrich/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
douyin-transcribe/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
industry-intelligence-radar/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
knowledge-base-management/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
learning-notes-automation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
podcast-transcribe/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
tiktok-transcribe/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
wechat-article-ingest/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
weibo-transcribe/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
x-ingest/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
xiaohongshu-ingest/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
youtube-transcribe/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
zhihu-transcribe/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
d066d7694d23 → d066d7694d23
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d066d7694d23
No earlier version was observed for comparison.
Heat
6.9- Star growth, last 7 daysAhead of 90% of tracked repositories
- Star growth, last 24 hoursAhead of 93% of tracked repositories
- Rank movement, last 7 daysAhead of 45% of tracked repositories
- Commits, last 30 daysAhead of 80% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- bilibili-transcribe
bilibili-transcribe - content-enrich
content-enrich - douyin-transcribe
douyin-transcribe - industry-intelligence-radar
industry-intelligence-radar - knowledge-base-management
knowledge-base-management - learning-notes-automation
learning-notes-automation - podcast-transcribe
podcast-transcribe - tiktok-transcribe
tiktok-transcribe - wechat-article-ingest
wechat-article-ingest - weibo-transcribe
weibo-transcribe - x-ingest
x-ingest - xiaohongshu-ingest
xiaohongshu-ingest - youtube-transcribe
youtube-transcribe - zhihu-transcribe
zhihu-transcribe
How it works
bilibili-transcribe
When your agent uses it
哔哩哔哩视频 → 下载 → 转录 → 存为 Markdown 的完整工作流。 支持 BV 号和完整链接,无需登录。
What it loads into context
Frontmatter
123 tokensAlways available to the agent
SKILL.md
926 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 环境要求
- 使用方法
- 流程
- 性能数据
- 已知限制
- 参考项目
- ⚖<U+FE0F> 合规声明
Scripts executed separately
scripts/batch_transcribe.pyscripts/transcribe.py
Files
SKILL.mdcore3,062 bytesSKILL.mdcore3,062 bytesSKILL.mdcore3,062 bytesSKILL.mdcore3,062 bytesSKILL.mdcore3,062 bytesSKILL.mdcore3,062 bytesrequirements.txtdoc64 bytesscripts/batch_transcribe.pyruns2,396 bytesscripts/transcribe.pyruns6,267 bytes
Read SKILL.md
# B 站视频转录 Skill
**字幕优先**:先尝试抓取官方/自动字幕(秒级、免 GPU、免 funasr);抓不到再下载音频用 SenseVoice-Small 转录,存为 Markdown 文件。加 `--no-subtitle` 可强制走音频转录。
## 环境要求
```bash
# Python 3.9+
python -m venv .venv
source .venv/bin/activate
# 依赖
pip install funasr modelscope torch torchaudio
View the complete source on GitHubcontent-enrich
When your agent uses it
内容加工:给任意采集产物(转录稿 / 文章 / 笔记)自动补「摘要 + 要点 + 标签 + 价值判断」, 写进 frontmatter 并在正文顶部插入摘要块。是「加工层」通用能力,惠及仓库所有采集 skill。
What it loads into context
Frontmatter
161 tokensAlways available to the agent
SKILL.md
696 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 环境要求
- 使用方法
- 产出
- 为什么有用
- 衔接工作流
- 参考
Scripts executed separately
scripts/enrich.py
Files
SKILL.mdcore2,409 bytesSKILL.mdcore2,409 bytesSKILL.mdcore2,409 bytesrequirements.txtdoc149 bytesscripts/enrich.pyruns7,459 bytes
Read SKILL.md
# 内容加工(Content Enrich)
采集进来的转录稿、文章往往是大段原始文本,没人愿意回头看。这个 skill 给**任意采集产物**
自动补上可快速消化的元信息——它是「加工层」的通用能力,配合仓库里所有采集 skill 使用。
## 环境要求
```bash
# 零 pip 依赖(仅 Python 标准库)
[Credential-related source omitted]
```
## 使用方法
View the complete source on GitHubdouyin-transcribe
When your agent uses it
抖音视频 → 下载 → 转录 → 存为 Markdown 的完整工作流。 支持短链接和完整链接;优先无 cookie 直采,被风控时回退 yt-dlp + 浏览器 cookie(无需登录)。
What it loads into context
Frontmatter
150 tokensAlways available to the agent
SKILL.md
917 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 环境要求
- 使用方法
- 流程(3 步)
- 性能数据
- 已知限制
- 参考项目
- ⚖<U+FE0F> 合规声明
Scripts executed separately
scripts/download_douyin_audio.pyscripts/transcribe.py
Files
SKILL.mdcore3,053 bytesSKILL.mdcore3,053 bytesSKILL.mdcore3,053 bytesSKILL.mdcore3,053 bytesSKILL.mdcore3,053 bytesrequirements.txtdoc64 bytesscripts/download_douyin_audio.pyruns5,181 bytesscripts/transcribe.pyruns3,732 bytes
Read SKILL.md
# 抖音视频转录 Skill
将抖音视频下载音频,用 SenseVoice-Small 转录为文字,存为 Markdown 文件。
## 环境要求
```bash
# Python 3.9+
python -m venv .venv
source .venv/bin/activate
# 依赖
pip install funasr modelscope torch torchaudio
View the complete source on GitHubindustry-intelligence-radar
When your agent uses it
行业情报雷达:多源扫描(X/即刻/V2EX/HN) → 关键词过滤 → 趋势检测 → 每日情报简报。触发词:行业情报、竞品监控、热点扫描、情报雷达
What it loads into context
Frontmatter
142 tokensAlways available to the agent
SKILL.md
1,689 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心价值
- 数据源
- 关键词矩阵
- 工作流程
- Cron 配置
- 输出目标
- 反模式
Scripts executed separately
scripts/scan.py
Files
SKILL.mdcore5,166 bytesSKILL.mdcore5,166 bytesscripts/scan.pyruns11,251 bytes
Read SKILL.md
# 行业情报雷达
## 核心价值
**信息差优势**:早知道 = 早行动 = 早收益
## 数据源
| 数据源 | 接入方式 | 是否需配置 | 信号强度 |
|--------|----------|------------|----------|
| Hacker News | `scan.py` 内置(Algolia API) | 否(免费) | ⭐⭐⭐⭐ |
| V2EX | `scan.py` 内置(官方热门 API) | 否(免费) | ⭐⭐⭐ |
| 36kr / 虎嗅 / 少数派等 | `scan.py` RSS 源(config.rss) | 否(填 RSS 地址即可) | ⭐⭐⭐ |
| X/Twitter | Agent 联网搜索 / X API | 需 X API Key | ⭐⭐⭐⭐⭐ |View the complete source on GitHubknowledge-base-management
When your agent uses it
管理本地 Markdown/Obsidian 知识库:素材入库、健康检查、增量索引、关键词与 semantic-lite 检索、逐字原文资料包、归档和 MCP 连接。用于搜索知识库、整理资料及为 Agent 准备可定位的引用。
What it loads into context
Frontmatter
189 tokensAlways available to the agent
SKILL.md
6,153 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心架构
- 1. 素材入库 (Ingest)
- 2. 健康检查 (Audit)
- 3. 工具集成 (Tools)
- 4. 目录整理 (Organization)
- 5. Wiki 实体管理
- 6. 批量修复模式
- 7. 事业线文件命名规范
- 8. 千金日报文件命名规范
- 反模式
- 相关 Skill
Scripts executed separately
scripts/mcp_server.pyscripts/vault_health_check.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby.py../tools/chubby_ingest.py../tools/evidence_brief.py../tools/import_document.py../tools/install_skill.py../tools/mcp_smoke.py../tools/platform_health.py../tools/platform_health.py../tools/validate_outputs.py../tools/vault_curator.py../tools/vault_index.py../tools/vault_index.py../tools/vault_index.py../tools/vault_index.py../tools/vault_index.py
Files
SKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesSKILL.mdcore20,796 bytesrequirements-mcp.txtdoc77 bytesrequirements.txtdoc421 bytesscripts/mcp_server.pyruns8,576 bytesscripts/vault_health_check.pyruns7,065 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby.pyruns68,283 bytes../tools/chubby_ingest.pyruns13,747 bytes../tools/evidence_brief.pyruns12,336 bytes../tools/import_document.pyruns14,209 bytes../tools/install_skill.pyruns6,548 bytes../tools/mcp_smoke.pyruns4,514 bytes../tools/platform_health.pyruns14,819 bytes../tools/platform_health.pyruns14,819 bytes../tools/validate_outputs.pyruns8,934 bytes../tools/vault_curator.pyruns9,627 bytes../tools/vault_index.pyruns37,182 bytes../tools/vault_index.pyruns37,182 bytes../tools/vault_index.pyruns37,182 bytes../tools/vault_index.pyruns37,182 bytes../tools/vault_index.pyruns37,182 bytes
Read SKILL.md
# Knowledge Base Management — 知识库全生命周期管理
## 核心架构
### 三层架构
```
素材库/ → Layer 1: 不可变原始素材(AI 只读)
wiki/ → Layer 2: AI 编译的结构化知识(AI 维护)
产出/ → Layer 3: 按需生成的视图(不持久化)
```
**核心原则**:素材库是事实源(不可变),Wiki 是 AI 编译的投影(必须溯源),产出是按需生成的视图(不持久化)。
View the complete source on GitHublearning-notes-automation
When your agent uses it
学习笔记自动化:视频/播客转录 → 知识点提取 → 闪卡生成 → 知识图谱更新。触发词:学习笔记、闪卡、Anki、知识提取、视频学习
What it loads into context
Frontmatter
137 tokensAlways available to the agent
SKILL.md
1,842 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心价值
- 输入源
- 工作流程
- 输出格式
- Cron 配置(可选)
- 使用示例
- 反模式
Scripts executed separately
../bilibili-transcribe/scripts/transcribe.pyscripts/make_notes.py../podcast-transcribe/scripts/transcribe.py../podcast-transcribe/scripts/transcribe.py../youtube-transcribe/scripts/transcribe.py
Files
../bilibili-transcribe/scripts/transcribe.pyruns6,267 bytesSKILL.mdcore5,839 bytesSKILL.mdcore5,839 bytesSKILL.mdcore5,839 bytesscripts/make_notes.pyruns8,229 bytes../podcast-transcribe/scripts/transcribe.pyruns11,592 bytes../podcast-transcribe/scripts/transcribe.pyruns11,592 bytes../youtube-transcribe/scripts/transcribe.pyruns10,140 bytes
Read SKILL.md
# 学习笔记自动化
## 核心价值
**被动学习 → 主动记忆**:看视频 ≠ 学会,生成闪卡 = 记住
## 输入源
| 输入类型 | 工具 | 输出格式 |
|----------|------|----------|
| YouTube 视频 | `youtube-transcribe` | 转录文本 |
| B站视频 | `bilibili-transcribe` | 转录文本 |
| 播客 | `podcast-transcribe` | 转录文本 |
| 抖音 | `douyin-transcribe` | 转录文本 |View the complete source on GitHubpodcast-transcribe
When your agent uses it
播客/小宇宙 → 下载 → 转录 → 存为 Markdown 的完整工作流。 支持 RSS 批量下载、单集链接转录。
What it loads into context
Frontmatter
130 tokensAlways available to the agent
SKILL.md
2,188 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 环境要求
- 单集与批量
- 本地模型选择:SenseVoice-Small vs Qwen3-ASR-0.6B
- 可选云端转录
- 云端任务恢复
- 产物与限制
- 贡献与参考
- 合规声明
Scripts executed separately
scripts/batch_transcribe.pyscripts/cloud_transcribe.pyscripts/local_qwen_asr.pyscripts/provider_config.pyscripts/safe_download.pyscripts/transcribe.py
Files
SKILL.mdcore7,486 bytesSKILL.mdcore7,486 bytesSKILL.mdcore7,486 bytesSKILL.mdcore7,486 bytesSKILL.mdcore7,486 bytesSKILL.mdcore7,486 bytesrequirements.txtdoc64 bytesscripts/batch_transcribe.pyruns9,488 bytesscripts/cloud_transcribe.pyruns27,598 bytesscripts/local_qwen_asr.pyruns1,847 bytesscripts/provider_config.pyruns4,391 bytesscripts/safe_download.pyruns7,122 bytesscripts/transcribe.pyruns11,592 bytes
Read SKILL.md
# 播客转录 Skill
将播客音频下载并转录为 Markdown。支持小宇宙、喜马拉雅、直接音频地址、本地音频和 RSS 批量流程。
默认在本地使用 SenseVoice-Small(与视频类技能共用的 `chubby_common/funasr.py` 封装)。可选云端后端为阿里云百炼 DashScope 的 `qwen3-asr-flash` 和 Groq 的 `whisper-large-v3-turbo`,用户明确选择后才启用;音频会发送至云端并可能计费。
## 环境要求
以下命令在本 skill 目录运行,建议使用 Python 3.11 或更新版本:
```bash
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txtView the complete source on GitHubtiktok-transcribe
When your agent uses it
TikTok 视频 → 下载 → 转录 → 存为 Markdown。 支持 vm.tiktok.com / vt.tiktok.com 短链和完整链接,无需登录。
What it loads into context
Frontmatter
110 tokensAlways available to the agent
SKILL.md
858 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 环境要求
- 使用方法
- 流程
- 已知限制
- 致谢
- ⚖<U+FE0F> 合规声明
Scripts executed separately
scripts/transcribe.py
Files
SKILL.mdcore2,995 bytesSKILL.mdcore2,995 bytesSKILL.mdcore2,995 bytesSKILL.mdcore2,995 bytesSKILL.mdcore2,995 bytesSKILL.mdcore2,995 bytesrequirements.txtdoc64 bytesscripts/transcribe.pyruns3,299 bytes
Read SKILL.md
# TikTok 视频转录 Skill
将 TikTok 视频下载音频,用 SenseVoice-Small 转录为文字,存为带 frontmatter 的 Markdown 文件。内容中英混杂时自动检测语言。
## 环境要求
```bash
# Python 3.9+
python -m venv .venv
source .venv/bin/activate
# 依赖
pip install funasr modelscope torch torchaudio
View the complete source on GitHubwechat-article-ingest
When your agent uses it
微信公众号文章 → Markdown 提取 + A层观点提取 + B层问题链生成。 支持直接链接抓取和 PDF 提取两种方式。
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
1,044 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 两种模式
- 环境要求
- 使用方法
- 核心流程
- A层:观点提取
- B层:问题链
- 知识库目录结构
- 已知限制
- 参考项目
- ⚖<U+FE0F> 合规声明
Scripts executed separately
scripts/extract.pyscripts/fetch_article.py
Files
SKILL.mdcore3,652 bytesSKILL.mdcore3,652 bytesSKILL.mdcore3,652 bytesSKILL.mdcore3,652 bytesSKILL.mdcore3,652 bytesSKILL.mdcore3,652 bytesrequirements.txtdoc57 bytesscripts/extract.pyruns5,132 bytesscripts/fetch_article.pyruns8,901 bytes
Read SKILL.md
# 微信公众号文章处理 Skill
将微信公众号文章转换为 Markdown,生成 A 层观点提取 + B 层问题链,存入知识库。
## 两种模式
### 模式 1:直接链接抓取(推荐)
```bash
python scripts/fetch_article.py "https://mp.weixin.qq.com/s/xxxxx"
```
公众号文章 URL 是公开的,不需要登录,直接抓取即可。
View the complete source on GitHubweibo-transcribe
When your agent uses it
微博视频 → 下载 → 转录 → 存为 Markdown。 支持 weibo.com 和 m.weibo.cn 链接,无需登录。
What it loads into context
Frontmatter
103 tokensAlways available to the agent
SKILL.md
888 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 环境要求
- 使用方法
- 流程
- 已知限制
- 致谢
- ⚖<U+FE0F> 合规声明
Scripts executed separately
scripts/transcribe.py
Files
SKILL.mdcore3,011 bytesSKILL.mdcore3,011 bytesSKILL.mdcore3,011 bytesSKILL.mdcore3,011 bytesSKILL.mdcore3,011 bytesSKILL.mdcore3,011 bytesrequirements.txtdoc64 bytesscripts/transcribe.pyruns3,438 bytes
Read SKILL.md
# 微博视频转录 Skill
将微博视频下载音频,用 SenseVoice-Small 转录为文字,存为带 frontmatter 的 Markdown 文件。
## 环境要求
```bash
# Python 3.9+
python -m venv .venv
source .venv/bin/activate
# 依赖
pip install funasr modelscope torch torchaudio
View the complete source on GitHubx-ingest
When your agent uses it
X(Twitter) 推文采集 → 统一 frontmatter Markdown。自动区分图文与视频: 图文下载图片本地嵌入,视频提取直链转成文字稿。无需登录(走官方嵌入端点)。
What it loads into context
Frontmatter
148 tokensAlways available to the agent
SKILL.md
1,785 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 环境要求
- 使用方法
- 产出
- ⚠<U+FE0F> 关于可用性
- 合规声明
- 衔接工作流
- 参考
Scripts executed separately
scripts/fetch_tweet.py
Files
SKILL.mdcore6,251 bytesSKILL.mdcore6,251 bytesSKILL.mdcore6,251 bytesrequirements.txtdoc426 bytesscripts/fetch_tweet.pyruns43,885 bytes
Read SKILL.md
# X(Twitter) 推文采集 Skill
把 X 推文抓成结构化 Markdown 入库。**自动区分图文与视频笔记**:图文 → 下载图片本地嵌入;
视频 → 像抖音那样转成文字稿。通过 X 官方嵌入用的 syndication 端点采集,**无需登录、无需 API Key**。
## 环境要求
```bash
# 图文采集零依赖(仅 Python 标准库)
# 视频推文转录需要(与抖音/B站/小红书同一套依赖):
pip install funasr modelscope torch torchaudio
# macOS: brew install ffmpeg | Ubuntu: sudo apt install ffmpeg
```View the complete source on GitHubxiaohongshu-ingest
When your agent uses it
小红书笔记采集 → 统一 frontmatter Markdown → 爆款拆解 + 衍生选题。 支持笔记链接和 xhslink 短链;爆款拆解按「人群×场景×痛点×情绪×钩子」生成可复用选题。
What it loads into context
Frontmatter
172 tokensAlways available to the agent
SKILL.md
1,251 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 环境要求
- 使用方法
- 产出
- ⚠<U+FE0F> 关于反爬(务必先读)
- 合规声明
- 衔接工作流
- 参考
Scripts executed separately
scripts/analyze_hook.pyscripts/fetch_note.py
Files
SKILL.mdcore4,117 bytesSKILL.mdcore4,117 bytesSKILL.mdcore4,117 bytesrequirements.txtdoc577 bytesscripts/analyze_hook.pyruns5,666 bytesscripts/fetch_note.pyruns17,456 bytes
Read SKILL.md
# 小红书采集 + 爆款拆解 Skill
把小红书笔记抓成结构化 Markdown 入库,再用 DeepSeek 拆解爆款逻辑、衍生可直接写的选题。
**自动区分图文与视频笔记**:图文 → 下载图片本地嵌入;视频 → 像抖音那样转成文字稿。
补齐了仓库在「中文内容采集」上最大的平台缺口,也是「采集 → 选题」创作工作流的起点。
## 环境要求
```bash
# 图文采集零依赖(仅 Python 标准库)
# 视频笔记转录需要(与抖音/B站转录同一套依赖):
pip install funasr modelscope torch torchaudio
# macOS: brew install ffmpeg | Ubuntu: sudo apt install ffmpegView the complete source on GitHubyoutube-transcribe
When your agent uses it
YouTube 视频 → 下载 → 转录 → 翻译 → 存为 Markdown。 支持中英文,英文内容自动翻译成中文,输出中英对照。
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
1,147 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 为什么需要这个
- 环境要求
- 使用方法
- 流程
- 翻译配置
- 性能数据
- 已知限制
- 参考项目
- ⚖<U+FE0F> 合规声明
Scripts executed separately
scripts/batch_transcribe.pyscripts/transcribe.py
Files
SKILL.mdcore3,934 bytesSKILL.mdcore3,934 bytesSKILL.mdcore3,934 bytesSKILL.mdcore3,934 bytesSKILL.mdcore3,934 bytesSKILL.mdcore3,934 bytesSKILL.mdcore3,934 bytesrequirements.txtdoc64 bytesscripts/batch_transcribe.pyruns2,555 bytesscripts/transcribe.pyruns10,140 bytes
Read SKILL.md
# YouTube 视频转录 + 翻译 Skill
**字幕优先**:先抓官方/自动字幕(秒级、免 GPU),抓不到再下载音频用 SenseVoice-Small 转录;英文内容自动翻译成中文,输出中英对照 Markdown。加 `--no-subtitle` 可强制走音频转录。
## 为什么需要这个
YouTube 有大量优质英文内容,但很多人没时间看完或语言不通。这个 skill:
- 转录视频为文字(支持中英文)
- 英文内容自动翻译成高质量中文
- 输出中英对照,方便学习
## 环境要求
View the complete source on GitHubzhihu-transcribe
When your agent uses it
知乎视频 → 下载 → 转录 → 存为 Markdown。 支持知乎视频链接、问答内嵌视频和专栏文章,无需登录。
What it loads into context
Frontmatter
108 tokensAlways available to the agent
SKILL.md
942 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 环境要求
- 使用方法
- 流程
- 已知限制
- 致谢
- ⚖<U+FE0F> 合规声明
Scripts executed separately
scripts/transcribe.py
Files
SKILL.mdcore3,218 bytesSKILL.mdcore3,218 bytesSKILL.mdcore3,218 bytesSKILL.mdcore3,218 bytesSKILL.mdcore3,218 bytesSKILL.mdcore3,218 bytesrequirements.txtdoc64 bytesscripts/transcribe.pyruns3,283 bytes
Read SKILL.md
# 知乎视频转录 Skill
将知乎视频下载音频,用 SenseVoice-Small 转录为文字,存为带 frontmatter 的 Markdown 文件。
## 环境要求
```bash
# Python 3.9+
python -m venv .venv
source .venv/bin/activate
# 依赖
pip install funasr modelscope torch torchaudio
View the complete source on GitHubSkills included
- bilibili-transcribe
- content-enrich
- douyin-transcribe
- industry-intelligence-radar
- knowledge-base-management
- learning-notes-automation
- podcast-transcribe
- tiktok-transcribe
- wechat-article-ingest
- weibo-transcribe
- x-ingest
- xiaohongshu-ingest
- youtube-transcribe
- zhihu-transcribe
Repository facts
- License
- MIT
- Created
- Jun 8, 2026
- Last pushed
- Oct 14, 2026
- Forks
- 156
- Open issues
- 0
- Project activity
- Active
Rank over the last 12 weeks
Now #724 · best #588 · down 84 in 30 days
- #717 on Oct 31
- #719 from Nov 1 to Nov 2
- #721 on Nov 3
- #724 on Nov 4
- #723 on Nov 5
- #724 since Nov 6
73 earlier periods
- #744 on Aug 2
- #741 on Aug 7
- #742 on Aug 8
- #747 on Aug 9
- #782 on Aug 10
- #784 from Aug 11 to Aug 12
- #787 on Aug 13
- #772 on Aug 14
- #745 on Aug 15
- #765 on Aug 16
- #777 on Aug 17
- #782 on Aug 19
- #779 on Aug 20
- #782 on Aug 21
- #737 on Aug 22
- #785 on Aug 23
- #806 on Aug 24
- #816 on Aug 25
- #799 on Aug 26
- #806 on Aug 27
- #835 on Aug 28
- #765 on Aug 29
- #810 on Aug 31
- #829 on Sep 1
- #805 on Sep 2
- #769 on Sep 5
- #799 on Sep 6
- #817 on Sep 7
- #841 on Sep 8
- #823 on Sep 9
- #832 on Sep 10
- #806 on Sep 11
- #796 on Sep 12
- #793 on Sep 13
- #824 on Sep 14
- #815 on Sep 15
- #827 from Sep 16 to Sep 17
- #789 on Sep 19
- #808 on Sep 20
- #820 on Sep 21
- #843 on Sep 22
- #746 on Sep 23
- #633 on Sep 24
- #617 on Sep 25
- #597 on Sep 26
- #611 from Sep 27 to Sep 28
- #637 on Sep 29
- #621 on Sep 30
- #603 on Oct 1
- #609 on Oct 2
- #588 on Oct 3
- #601 on Oct 4
- #608 on Oct 5
- #611 on Oct 6
- #608 on Oct 7
- #640 on Oct 8
- #622 on Oct 9
- #606 from Oct 10 to Oct 11
- #623 on Oct 12
- #624 on Oct 13
- #634 on Oct 14
- #626 on Oct 15
- #635 on Oct 16
- #618 on Oct 17
- #609 on Oct 18
- #637 on Oct 19
- #646 on Oct 20
- #651 on Oct 21
- #633 from Oct 22 to Oct 23
- #699 on Oct 25
- #705 on Oct 28
- #709 on Oct 29
- #712 on Oct 30
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 96 notes
bilibili-transcribe/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedbilibili-transcribe/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedbilibili-transcribe/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedbilibili-transcribe/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedbilibili-transcribe/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedcontent-enrich/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedcontent-enrich/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddouyin-transcribe/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddouyin-transcribe/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddouyin-transcribe/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddouyin-transcribe/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedindustry-intelligence-radar/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedknowledge-base-management/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedknowledge-base-management/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedknowledge-base-management/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedknowledge-base-management/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedknowledge-base-management/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedknowledge-base-management/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedknowledge-base-management/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedknowledge-base-management/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 11 dangerous shell commandsin 10 files: podcast-transcribe/SKILL.md:28 bilibili-transcribe/SKILL.md:29 douyin-transcribe/SKILL.md:29 and 7 more
- 325 network referencesin 34 files: x-ingest/scripts/fetch_tweet.py:10 industry-intelligence-radar/scripts/scan.py:16 xiaohongshu-ingest/scripts/fetch_note.py:8 and 31 more
- No hidden or obfuscated text
- No instruction overrides
- 60 executable scriptsin 35 files: tools/chubby.py:1 tools/vault_index.py:1 podcast-transcribe/scripts/transcribe.py:1 and 32 more
- 93 references to secretsin 25 files: tools/vault_index.py:147 youtube-transcribe/scripts/transcribe.py:113 content-enrich/scripts/enrich.py:10 and 22 more
- No requests to vote in Hot
Show all 489 signals by file
bilibili-transcribe/SKILL.md
- Dangerous shell operationline 29
# Ubuntu: sudo apt install ffmpeg && pip install yt-dlp - Network accessline 35
python scripts/transcribe.py "https://www.bilibili.com/video/BV1rrQGBeEen/" - Network accessline 50
yt-dlp --extract-audio --audio-format mp3 --audio-quality 128K \ --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ..." \ --referer "https://www.bilibili.com" \ - Network accessline 51
--user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ..." \ --referer "https://www.bilibili.com" \ "https://www.bilibili.com/video/BV1rrQGBeEen/" - Network accessline 52
--referer "https://www.bilibili.com" \ - Network accessline 53
"https://www.bilibili.com/video/BV1rrQGBeEen/" - Network accessline 98
- [yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp) - 视频下载工具 - Network accessline 99
- [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) - 语音识别模型
bilibili-transcribe/scripts/batch_transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3
bilibili-transcribe/scripts/transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 8
用法: python transcribe.py "https://www.bilibili.com/video/BV1rrQGBeEen/" - Network accessline 8
用法: python transcribe.py "https://www.bilibili.com/video/BV1rrQGBeEen/" - Network accessline 9
python transcribe.py "https://www.bilibili.com/video/BV1rrQGBeEen/" - Network accessline 9
python transcribe.py "https://www.bilibili.com/video/BV1rrQGBeEen/" - Network accessline 37
default_title="B站视频", language="zh", referer="https://www.bilibili.com", - Network accessline 37
default_title="B站视频", language="zh", referer="https://www.bilibili.com", - Network accessline 38
language="zh", referer="https://www.bilibili.com", ) - Network accessline 38
language="zh", referer="https://www.bilibili.com", ) - Network accessline 39
referer="https://www.bilibili.com", - Network accessline 39
referer="https://www.bilibili.com", - Network accessline 143
bvid = extract_bvid(args.url) url = f"https://www.bilibili.com/video/{bvid}/" - Network accessline 143
bvid = extract_bvid(args.url) url = f"https://www.bilibili.com/video/{bvid}/" - Network accessline 144
url = f"https://www.bilibili.com/video/{bvid}/" - Network accessline 144
url = f"https://www.bilibili.com/video/{bvid}/"
content-enrich/SKILL.md
content-enrich/requirements.txt
- Access to secretsline 4
[Credential-related source omitted]
content-enrich/scripts/enrich.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 10
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Network accessline 128
"response_format": {"type": "json_object"}, }).encode("utf-8") req = urllib.request.Request( - Network accessline 129
}).encode("utf-8") req = urllib.request.Request( "https://api.deepseek.com/v1/chat/completions", data=payload, - Network accessline 130
req = urllib.request.Request( - Network accessline 131
[Credential-related source omitted] - Network accessline 132
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Network accessline 133
with urllib.request.urlopen(req, timeout=120) as resp: - Access to secretsline 139
[Credential-related source omitted] - Access to secretsline 149
[Credential-related source omitted] - Access to secretsline 168
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted] - Access to secretsline 170
[Credential-related source omitted] - Access to secretsline 188
[Credential-related source omitted]
douyin-transcribe/SKILL.md
- Dangerous shell operationline 29
# Ubuntu: sudo apt install ffmpeg - Network accessline 35
python scripts/transcribe.py "https://v.douyin.com/xxxxx" - Network accessline 89
- [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) - 语音识别模型 - Network accessline 90
- [FunASR](https://github.com/modelscope/FunASR) - 语音识别框架 - Network accessline 91
- [vangie/douyin-transcriber](https://github.com/vangie/douyin-transcriber) - 原始灵感(Go CLI)
douyin-transcribe/scripts/download_douyin_audio.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 29
if "v.douyin.com" in url: result = subprocess.run( ["curl", "-sI", "-L", "-H", f"User-Agent: {MOBILE_UA}", url], - Network accessline 30
result = subprocess.run( ["curl", "-sI", "-L", "-H", f"User-Agent: {MOBILE_UA}", url], capture_output=True, text=True, timeout=15 - Network accessline 80
if output_dir is None: output_dir = tempfile.mkdtemp(prefix="dyt-") share_url = f"https://www.iesdouyin.com/share/video/{video_id}" - Network accessline 82
share_url = f"https://www.iesdouyin.com/share/video/{video_id}" - Network accessline 85
result = subprocess.run( ["curl", "-s", "-L", "-H", f"User-Agent: {MOBILE_UA}", share_url], - Network accessline 93
print(f" ⚠<U+FE0F> 分享页解析失败({exc}),回退 yt-dlp...", file=sys.stderr) return _download_with_ytdlp(f"https://www.douyin.com/video/{video_id}", output_dir) - Network accessline 94
return _download_with_ytdlp(f"https://www.douyin.com/video/{video_id}", output_dir) - Network accessline 98
print(f"Downloading: {info['title'][:60]}...", file=sys.stderr) subprocess.run( ["curl", "-s", "-L", "-o", video_path, - Network accessline 99
subprocess.run( ["curl", "-s", "-L", "-o", video_path, "-H", f"User-Agent: {MOBILE_UA}", - Network accessline 100
["curl", "-s", "-L", "-o", video_path, "-H", f"User-Agent: {MOBILE_UA}", "-H", "Referer: https://www.douyin.com/", info["video_url"]], - Network accessline 101
"-H", f"User-Agent: {MOBILE_UA}", "-H", "Referer: https://www.douyin.com/", info["video_url"]], timeout=300, check=True - Network accessline 102
"-H", "Referer: https://www.douyin.com/", info["video_url"]],
douyin-transcribe/scripts/transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 5
用法: python transcribe.py "https://v.douyin.com/xxxxx" - Network accessline 6
python transcribe.py "https://v.douyin.com/xxxxx" - Network accessline 7
python transcribe.py "https://www.douyin.com/video/1234567890" - Network accessline 65
print(f"Usage: {sys.argv[0]} <douyin_url> [output_dir]") print("\nExample:") print(f' {sys.argv[0]} "https://v.douyin.com/xxxxx"') - Network accessline 66
print("\nExample:") print(f' {sys.argv[0]} "https://v.douyin.com/xxxxx"') print(f' {sys.argv[0]} "https://v.douyin.com/xxxxx" ./output') - Network accessline 67
print(f' {sys.argv[0]} "https://v.douyin.com/xxxxx"') - Network accessline 68
print(f' {sys.argv[0]} "https://v.douyin.com/xxxxx" ./output')
industry-intelligence-radar/SKILL.md
- Network accessline 86
}, "high_signal": ["融资", "发布", "launch", "raise"], "rss": ["https://www.36kr.com/feed", "https://sspai.com/feed"] - Network accessline 87
"high_signal": ["融资", "发布", "launch", "raise"], "rss": ["https://www.36kr.com/feed", "https://sspai.com/feed"] } - Network accessline 88
"rss": ["https://www.36kr.com/feed", "https://sspai.com/feed"]
industry-intelligence-radar/scripts/scan.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 16
"keywords": {"AI/Agent": ["AI agent", "LLM", "Claude"], ...}, "high_signal": ["融资", "发布", "launch", "raise"], "rss": ["https://www.36kr.com/feed", "https://sspai.com/feed"] - Network accessline 17
"high_signal": ["融资", "发布", "launch", "raise"], "rss": ["https://www.36kr.com/feed", "https://sspai.com/feed"] } - Network accessline 18
"rss": ["https://www.36kr.com/feed", "https://sspai.com/feed"] - Network accessline 54
def http_get(url: str, timeout: int = 20) -> bytes: req = urllib.request.Request(url, headers={"User-Agent": UA}) - Network accessline 55
req = urllib.request.Request(url, headers={"User-Agent": UA}) - Network accessline 56
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 64
for kw in keywords: q = urllib.parse.quote(kw) url = (f"https://hn.algolia.com/api/v1/search_by_date?query={q}" - Network accessline 65
q = urllib.parse.quote(kw) url = (f"https://hn.algolia.com/api/v1/search_by_date?query={q}" f"&tags=story&numericFilters=created_at_i>{since_ts}&hitsPerPage=15") - Network accessline 66
url = (f"https://hn.algolia.com/api/v1/search_by_date?query={q}" - Network accessline 79
if not title: continue link = hit.get("url") or f"https://news.ycombinator.com/item?id={oid}" - Network accessline 80
continue link = hit.get("url") or f"https://news.ycombinator.com/item?id={oid}" items.append({ - Network accessline 81
link = hit.get("url") or f"https://news.ycombinator.com/item?id={oid}" - Network accessline 95
items = [] try: data = json.loads(http_get("https://www.v2ex.com/api/topics/hot.json")) - Network accessline 96
try: data = json.loads(http_get("https://www.v2ex.com/api/topics/hot.json")) except Exception as e: - Network accessline 97
data = json.loads(http_get("https://www.v2ex.com/api/topics/hot.json")) - Network accessline 125
is_atom = False if not nodes: nodes = root.findall(".//{http://www.w3.org/2005/Atom}entry") - Network accessline 126
if not nodes: nodes = root.findall(".//{http://www.w3.org/2005/Atom}entry") is_atom = True - Network accessline 127
nodes = root.findall(".//{http://www.w3.org/2005/Atom}entry") - Network accessline 130
for n in nodes: if is_atom: title = _text(n, "{http://www.w3.org/2005/Atom}title") - Network accessline 131
if is_atom: title = _text(n, "{http://www.w3.org/2005/Atom}title") link_el = n.find("{http://www.w3.org/2005/Atom}link") - Network accessline 132
title = _text(n, "{http://www.w3.org/2005/Atom}title") - Network accessline 133
link_el = n.find("{http://www.w3.org/2005/Atom}link") - Network accessline 134
link = link_el.get("href") if link_el is not None else "" pub = _text(n, "{http://www.w3.org/2005/Atom}updated") or \ _text(n, "{http://www.w3.org/2005/Atom}published") - Network accessline 135
pub = _text(n, "{http://www.w3.org/2005/Atom}updated") or \ - Network accessline 136
_text(n, "{http://www.w3.org/2005/Atom}published")
knowledge-base-management/SKILL.md
knowledge-base-management/scripts/mcp_server.py
knowledge-base-management/scripts/vault_health_check.py
learning-notes-automation/SKILL.md
- Network accessline 34
# YouTube(自动翻译) python3 ../youtube-transcribe/scripts/transcribe.py "https://youtube.com/watch?v=xxx" -o ./ - Network accessline 35
python3 ../youtube-transcribe/scripts/transcribe.py "https://youtube.com/watch?v=xxx" -o ./ - Network accessline 37
# B站 python3 ../bilibili-transcribe/scripts/transcribe.py "https://bilibili.com/video/xxx" ./ - Network accessline 38
python3 ../bilibili-transcribe/scripts/transcribe.py "https://bilibili.com/video/xxx" ./ - Network accessline 40
# 播客 python3 ../podcast-transcribe/scripts/transcribe.py "https://xiaoyuzhoufm.com/episode/xxx" ./ - Network accessline 41
python3 ../podcast-transcribe/scripts/transcribe.py "https://xiaoyuzhoufm.com/episode/xxx" ./ - Access to secretsline 51
[Credential-related source omitted] - Network accessline 236
用户:帮我把这个视频做成学习笔记 https://youtube.com/watch?v=xxx - Network accessline 237
https://youtube.com/watch?v=xxx
learning-notes-automation/scripts/make_notes.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 13
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted] - Network accessline 71
req = urllib.request.Request( - Network accessline 72
"https://api.deepseek.com/v1/chat/completions", - Access to secretsline 76
[Credential-related source omitted] - Network accessline 77
}, ) with urllib.request.urlopen(req, timeout=180) as resp: - Network accessline 78
) with urllib.request.urlopen(req, timeout=180) as resp: result = json.loads(resp.read()) - Network accessline 79
with urllib.request.urlopen(req, timeout=180) as resp: - Access to secretsline 186
[Credential-related source omitted] - Access to secretsline 187
[Credential-related source omitted] - Access to secretsline 188
[Credential-related source omitted] - Access to secretsline 204
[Credential-related source omitted] - Access to secretsline 207
[Credential-related source omitted]
podcast-transcribe/SKILL.md
- Dangerous shell operationline 28
# Ubuntu: sudo apt install ffmpeg - Network accessline 36
python3 scripts/transcribe.py "https://www.xiaoyuzhoufm.com/episode/xxxxx" ./output \ - Access to secretsline 76
[Credential-related source omitted] - Access to secretsline 77
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Network accessline 102
完整仓库使用说明、统一入库和验证范围见[云端转录说明](https://github.com/chubbyguan/chubbyskills/blob/main/docs/cloud-transcription.md)。 - Dangerous shell operationline 116
可选云端转录需求最初来自 [binyangzhu000-sudo 的 PR #3](https://github.com/chubbyguan/chubbyskills/pull/3) 和 [Anil-matcha 的 PR #5](https://github.com/chubbyguan/chubbyskills/pull/5)(Atlas / MuAPI 实验后端,现已被 DashScope 后端取代,归属保留)。 - Network accessline 116
可选云端转录需求最初来自 [binyangzhu000-sudo 的 PR #3](https://github.com/chubbyguan/chubbyskills/pull/3) 和 [Anil-matcha 的 PR #5](https://github.com/chubbyguan/chubbyskills/pull/5)(Atlas / MuAPI 实验后端,现已被 DashScope 后端取代,归属保留)。 - Network accessline 118
- [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) - Network accessline 119
- [阿里云百炼 Qwen-ASR API 参考](https://help.aliyun.com/zh/model-studio/qwen-asr-api-reference) - Network accessline 120
- [Groq Speech to Text 文档](https://console.groq.com/docs/speech-to-text)
podcast-transcribe/scripts/batch_transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 5
用法: python batch_transcribe.py --rss-url "http://www.ximalaya.com/album/xxxxx.xml" --count 10 - Network accessline 6
python batch_transcribe.py --rss-url "http://www.ximalaya.com/album/xxxxx.xml" --count 10 - Network accessline 7
python batch_transcribe.py --rss-url "http://www.ximalaya.com/album/xxxxx.xml" --start 11 --count 30 - Network accessline 20
NS = {'itunes': 'http://www.itunes.com/dtds/podcast-1.0.dtd'}
podcast-transcribe/scripts/cloud_transcribe.py
podcast-transcribe/scripts/local_qwen_asr.py
- Executable scriptline 1
Executable file
podcast-transcribe/scripts/provider_config.py
- Executable scriptline 1
Executable file - Network accessline 10
DEFAULT_MODELS = {"local": "SenseVoiceSmall", "dashscope": "qwen3-asr-flash", "groq": "whisper-large-v3-turbo"} LOCAL_MODELS = ("SenseVoiceSmall", "qwen3-asr-0.6b") DEFAULT_BASE_URLS = {"local": "", "dashscope": "https://dashscope.aliyuncs. - Network accessline 12
DEFAULT_BASE_URLS = {"local": "", "dashscope": "https://dashscope.aliyuncs.com/compatible-mode/v1", "groq": "https://api.groq.com/openai/v1"} - Access to secretsline 42
[Credential-related source omitted] - Access to secretsline 56
[Credential-related source omitted] - Access to secretsline 57
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted]
podcast-transcribe/scripts/safe_download.py
podcast-transcribe/scripts/transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 5
用法: python transcribe.py "https://www.xiaoyuzhoufm.com/episode/xxxxx" - Network accessline 5
用法: python transcribe.py "https://www.xiaoyuzhoufm.com/episode/xxxxx" - Network accessline 6
python transcribe.py "https://www.xiaoyuzhoufm.com/episode/xxxxx" - Network accessline 6
python transcribe.py "https://www.xiaoyuzhoufm.com/episode/xxxxx" - Network accessline 7
python transcribe.py "https://www.ximalaya.com/xxxxx" - Network accessline 7
python transcribe.py "https://www.ximalaya.com/xxxxx"
tiktok-transcribe/SKILL.md
- Dangerous shell operationline 29
# Ubuntu: sudo apt install ffmpeg && pip install yt-dlp - Network accessline 35
# 完整链接 python scripts/transcribe.py "https://www.tiktok.com/@user/video/1234567890" - Network accessline 36
python scripts/transcribe.py "https://www.tiktok.com/@user/video/1234567890" - Network accessline 38
# 短链(自动跟随跳转) python scripts/transcribe.py "https://vm.tiktok.com/xxxxx" - Network accessline 39
python scripts/transcribe.py "https://vm.tiktok.com/xxxxx" - Network accessline 40
python scripts/transcribe.py "https://vt.tiktok.com/xxxxx" - Network accessline 42
# 指定输出目录 python scripts/transcribe.py "https://vm.tiktok.com/xxxxx" -o ./output - Network accessline 43
python scripts/transcribe.py "https://vm.tiktok.com/xxxxx" -o ./output - Network accessline 53
yt-dlp --extract-audio --audio-format mp3 --audio-quality 128K \ --geo-bypass \ "https://vm.tiktok.com/xxxxx" - Network accessline 55
"https://vm.tiktok.com/xxxxx" - Network accessline 93
- [yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp) — 视频下载工具 - Network accessline 94
- [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) — 语音识别模型
tiktok-transcribe/scripts/transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 5
用法: python transcribe.py "https://www.tiktok.com/@user/video/xxxxx" - Network accessline 6
python transcribe.py "https://www.tiktok.com/@user/video/xxxxx" - Network accessline 7
python transcribe.py "https://vm.tiktok.com/xxxxx" -o ./out - Network accessline 33
default_title="TikTok Video", language="auto", # TikTok 内容中英混杂,自动检测 referer="https://www.tiktok.com/", - Network accessline 34
language="auto", # TikTok 内容中英混杂,自动检测 referer="https://www.tiktok.com/", extra_ydl_args=("--geo-bypass",), - Network accessline 35
referer="https://www.tiktok.com/",
tools/chubby.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Network accessline 36
SKILL_CHECKOUT_HINT = ( "平台采集需要完整仓库 checkout:skill 以目录形式分发,不随 Python 包安装。\n" " git clone https://github.com/chubbyguan/chubbyskills.git && cd chubbyskills\n" - Network accessline 37
"平台采集需要完整仓库 checkout:skill 以目录形式分发,不随 Python 包安装。\n" " git clone https://github.com/chubbyguan/chubbyskills.git && cd chubbyskills\n" " 或按 README 的 Skill 目录把对应技能装进你的 Agent。" - Network accessline 38
" git clone https://github.com/chubbyguan/chubbyskills.git && cd chubbyskills\n" - Network accessline 72
SCHEMA_VERSION = "1" VALID_STATUSES = {"success", "failed", "dry_run", "running"} QUICKSTART_SOURCE = "https://x.com/example/status/123456" - Network accessline 74
QUICKSTART_SOURCE = "https://x.com/example/status/123456" - Network accessline 265
queue_file.write_text( "# One source per line. Blank lines and # comments are ignored.\n" "# https://www.bilibili.com/video/BVxxxx\n" - Network accessline 266
"# One source per line. Blank lines and # comments are ignored.\n" "# https://www.bilibili.com/video/BVxxxx\n" "# https://mp.weixin.qq.com/s/xxxx\n", - Network accessline 267
"# https://www.bilibili.com/video/BVxxxx\n" - Network accessline 268
"# https://mp.weixin.qq.com/s/xxxx\n", - Access to secretsline 643
[Credential-related source omitted] - Access to secretsline 1057
[Credential-related source omitted] - Network accessline 1117
queue_file.write_text( "# One source per line. Blank lines and # comments are ignored.\n" "# https://www.bilibili.com/video/BVxxxx\n" - Network accessline 1118
"# One source per line. Blank lines and # comments are ignored.\n" "# https://www.bilibili.com/video/BVxxxx\n" "# https://mp.weixin.qq.com/s/xxxx\n", - Network accessline 1119
"# https://www.bilibili.com/video/BVxxxx\n" - Network accessline 1120
"# https://mp.weixin.qq.com/s/xxxx\n", - Network accessline 1206
"", "```bash", "python3 tools/chubby.py ingest \"https://x.com/user/status/123\" --dry-run", - Network accessline 1207
"```bash", "python3 tools/chubby.py ingest \"https://x.com/user/status/123\" --dry-run", "python3 tools/chubby.py status --latest", - Network accessline 1208
"python3 tools/chubby.py ingest \"https://x.com/user/status/123\" --dry-run", - Access to secretsline 1514
[Credential-related source omitted]
tools/chubby_ingest.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 8
Usage: python3 tools/chubby_ingest.py "https://www.bilibili.com/video/BV..." -o output/ - Network accessline 9
python3 tools/chubby_ingest.py "https://www.bilibili.com/video/BV..." -o output/ - Network accessline 10
python3 tools/chubby_ingest.py "https://x.com/user/status/123" --enrich --vault ~/Vault/00_Inbox - Access to secretsline 78
[Credential-related source omitted] - Network accessline 188
SKILL_CHECKOUT_HINT = ( "平台采集需要完整仓库 checkout:skill 以目录形式分发,不随 Python 包安装。\n" " git clone https://github.com/chubbyguan/chubbyskills.git && cd chubbyskills\n" - Network accessline 189
"平台采集需要完整仓库 checkout:skill 以目录形式分发,不随 Python 包安装。\n" " git clone https://github.com/chubbyguan/chubbyskills.git && cd chubbyskills\n" " 或按 README 的 Skill 目录把对应技能装进你的 Agent。" - Network accessline 190
" git clone https://github.com/chubbyguan/chubbyskills.git && cd chubbyskills\n"
tools/evidence_brief.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/import_document.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/install_skill.py
tools/mcp_smoke.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/platform_health.py
tools/validate_outputs.py
tools/vault_curator.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/vault_index.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Access to secretsline 147
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 407
[Credential-related source omitted] - Access to secretsline 414
[Credential-related source omitted] - Access to secretsline 416
[Credential-related source omitted] - Access to secretsline 433
[Credential-related source omitted] - Network accessline 434
[Credential-related source omitted] - Access to secretsline 434
[Credential-related source omitted] - Network accessline 435
[Credential-related source omitted] - Access to secretsline 435
[Credential-related source omitted] - Network accessline 436
[Credential-related source omitted] - Access to secretsline 436
[Credential-related source omitted] - Network accessline 437
payload = json.dumps({"model": model, "input": texts}).encode("utf-8") request = urllib.request.Request( f"{base_url}/embeddings", - Network accessline 438
request = urllib.request.Request( - Access to secretsline 442
[Credential-related source omitted] - Network accessline 445
method="POST", ) with urllib.request.urlopen(request, timeout=60) as response: - Network accessline 446
) with urllib.request.urlopen(request, timeout=60) as response: data = json.loads(response.read().decode("utf-8", "replace")) - Network accessline 447
with urllib.request.urlopen(request, timeout=60) as response: - Access to secretsline 829
[Credential-related source omitted] - Access to secretsline 839
[Credential-related source omitted] - Access to secretsline 868
[Credential-related source omitted] - Access to secretsline 891
[Credential-related source omitted]
wechat-article-ingest/SKILL.md
- Network accessline 22
python scripts/fetch_article.py "https://mp.weixin.qq.com/s/xxxxx" - Network accessline 50
python scripts/fetch_article.py "https://mp.weixin.qq.com/s/xxxxx" --output ./output - Network accessline 68
帮我处理这篇文章:https://mp.weixin.qq.com/s/xxxxx - Network accessline 123
- [microsoft/markitdown](https://github.com/microsoft/markitdown) - PDF/文档转 Markdown - Network accessline 124
- [pymupdf/PyMuPDF](https://github.com/pymupdf/PyMuPDF) - PDF 处理库 - Network accessline 125
- [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/) - HTML 解析
wechat-article-ingest/scripts/extract.py
- Executable scriptline 1
#!/usr/bin/env python3
wechat-article-ingest/scripts/fetch_article.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 5
用法: python fetch_article.py "https://mp.weixin.qq.com/s/xxxxx" - Network accessline 6
python fetch_article.py "https://mp.weixin.qq.com/s/xxxxx" - Network accessline 7
python fetch_article.py "https://mp.weixin.qq.com/s/xxxxx" --output ./output - Network accessline 126
result = subprocess.run( ["curl", "-sL", "--max-time", "30",
weibo-transcribe/SKILL.md
- Dangerous shell operationline 29
# Ubuntu: sudo apt install ffmpeg && pip install yt-dlp - Network accessline 35
# 桌面端链接 python scripts/transcribe.py "https://weibo.com/xxxxx" - Network accessline 36
python scripts/transcribe.py "https://weibo.com/xxxxx" - Network accessline 38
# 移动端链接(更稳定) python scripts/transcribe.py "https://m.weibo.cn/xxxxx" - Network accessline 39
python scripts/transcribe.py "https://m.weibo.cn/xxxxx" - Network accessline 41
# 指定输出目录 python scripts/transcribe.py "https://m.weibo.cn/xxxxx" -o ./output - Network accessline 42
python scripts/transcribe.py "https://m.weibo.cn/xxxxx" -o ./output - Network accessline 52
yt-dlp --extract-audio --audio-format mp3 --audio-quality 128K \ --user-agent "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) ..." \ --referer "https://m.weibo.cn/" \ - Network accessline 53
--user-agent "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) ..." \ --referer "https://m.weibo.cn/" \ "https://m.weibo.cn/status/example" - Network accessline 54
--referer "https://m.weibo.cn/" \ - Network accessline 55
"https://m.weibo.cn/status/example" - Network accessline 93
- [yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp) — 视频下载工具 - Network accessline 94
- [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) — 语音识别模型
weibo-transcribe/scripts/transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 5
用法: python transcribe.py "https://weibo.com/xxxxx" - Network accessline 6
python transcribe.py "https://weibo.com/xxxxx" - Network accessline 7
python transcribe.py "https://m.weibo.cn/xxxxx" -o ./out - Network accessline 40
language="zh", # 微博以中文为主 ua=MOBILE_UA, referer="https://weibo.com/", - Network accessline 41
ua=MOBILE_UA, referer="https://weibo.com/", ) - Network accessline 42
referer="https://weibo.com/",
x-ingest/SKILL.md
- Dangerous shell operationline 25
# macOS: brew install ffmpeg | Ubuntu: sudo apt install ffmpeg - Network accessline 31
# 采集推文 → 统一 frontmatter Markdown python scripts/fetch_tweet.py "https://x.com/user/status/1234567890" -o ./out - Network accessline 32
python scripts/fetch_tweet.py "https://x.com/user/status/1234567890" -o ./out - Network accessline 33
python scripts/fetch_tweet.py "https://twitter.com/user/status/1234567890" -o ./out - Access to secretsline 42
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 54
[Credential-related source omitted] - Network accessline 85
- X 官方嵌入(syndication)端点 - [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) - 语音识别模型 - Network accessline 86
- [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) - 语音识别模型
x-ingest/scripts/fetch_tweet.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 10
用法: python fetch_tweet.py "https://x.com/user/status/1234567890" - Network accessline 11
python fetch_tweet.py "https://x.com/user/status/1234567890" - Network accessline 12
python fetch_tweet.py "https://twitter.com/user/status/1234567890" -o ./out - Access to secretsline 16
[Credential-related source omitted] - Network accessline 98
if cookies: headers["Cookie"] = cookies req = urllib.request.Request(url, headers=headers) - Network accessline 99
headers["Cookie"] = cookies req = urllib.request.Request(url, headers=headers) with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 100
req = urllib.request.Request(url, headers=headers) - Network accessline 101
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 107
html = _fetch_url_text("https://x.com/home", cookies=cookies) - Network accessline 108
bundle_urls = re.findall( r"https://abs\.twimg\.com/responsive-web/client-web/main\.[0-9a-f]+\.js", html, - Network accessline 109
r"https://abs\.twimg\.com/responsive-web/client-web/main\.[0-9a-f]+\.js", - Network accessline 180
[Credential-related source omitted] - Network accessline 181
[Credential-related source omitted] - Network accessline 182
f"https://cdn.syndication.twimg.com/tweet-result?id={tweet_id}" - Network accessline 183
[Credential-related source omitted] - Network accessline 184
) req = urllib.request.Request( url, headers={"User-Agent": UA, "Accept": "application/json"} - Network accessline 185
req = urllib.request.Request( - Network accessline 186
url, headers={"User-Agent": UA, "Accept": "application/json"} ) with urllib.request.urlopen(req, timeout=20) as resp: - Network accessline 187
) with urllib.request.urlopen(req, timeout=20) as resp: return json.loads(resp.read().decode("utf-8", "replace")) - Network accessline 188
with urllib.request.urlopen(req, timeout=20) as resp: - Network accessline 217
timeline_url = ( "https://syndication.twitter.com/srv/timeline-profile/screen-name/" f"{urllib.parse.quote(screen_name)}" - Network accessline 218
"https://syndication.twitter.com/srv/timeline-profile/screen-name/" f"{urllib.parse.quote(screen_name)}" ) - Network accessline 227
} ) req = urllib.request.Request( - Network accessline 228
) req = urllib.request.Request( f"{timeline_url}?{query}", - Network accessline 229
req = urllib.request.Request( - Network accessline 232
) time.sleep(THREAD_REQUEST_DELAY_SECONDS) with urllib.request.urlopen(req, timeout=20) as resp: - Network accessline 233
time.sleep(THREAD_REQUEST_DELAY_SECONDS) with urllib.request.urlopen(req, timeout=20) as resp: html = resp.read().decode("utf-8", "replace") - Network accessline 234
with urllib.request.urlopen(req, timeout=20) as resp: - Access to secretsline 313
[Credential-related source omitted] - Access to secretsline 323
[Credential-related source omitted] - Access to secretsline 325
[Credential-related source omitted] - Access to secretsline 396
[Credential-related source omitted] - Access to secretsline 398
[Credential-related source omitted] - Network accessline 399
for query_id in get_query_ids(cookies=cookie_header): url = ( f"https://x.com/i/api/graphql/{query_id}/TweetResultByRestId" - Network accessline 400
url = ( f"https://x.com/i/api/graphql/{query_id}/TweetResultByRestId" f"?variables={urllib.parse.quote(json.dumps(variables))}" - Network accessline 401
f"https://x.com/i/api/graphql/{query_id}/TweetResultByRestId" f"?variables={urllib.parse.quote(json.dumps(variables))}" f"&features={urllib.parse.quote(json.dumps(features))}" - Network accessline 404
f"&fieldToggles={urllib.parse.quote(json.dumps(field_toggles))}" ) req = urllib.request.Request(url, headers=headers) - Network accessline 405
) req = urllib.request.Request(url, headers=headers) try: - Network accessline 406
req = urllib.request.Request(url, headers=headers) - Network accessline 407
try: with urllib.request.urlopen(req, timeout=20) as resp: payload = json.loads(resp.read().decode("utf-8", "replace")) - Network accessline 408
with urllib.request.urlopen(req, timeout=20) as resp: - Network accessline 535
try: os.makedirs(asset_dir, exist_ok=True) req = urllib.request.Request(u, headers={"User-Agent": UA}) - Network accessline 536
os.makedirs(asset_dir, exist_ok=True) req = urllib.request.Request(u, headers={"User-Agent": UA}) with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 537
req = urllib.request.Request(u, headers={"User-Agent": UA}) - Network accessline 538
with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 557
video_path = os.path.join(tmp, "v.mp4") print(" ⬇<U+FE0F> 下载视频...", file=sys.stderr) req = urllib.request.Request(video_url, headers={"User-Agent": UA}) - Network accessline 558
print(" ⬇<U+FE0F> 下载视频...", file=sys.stderr) req = urllib.request.Request(video_url, headers={"User-Agent": UA}) with ( - Network accessline 559
req = urllib.request.Request(video_url, headers={"User-Agent": UA}) - Network accessline 560
with ( urllib.request.urlopen(req, timeout=180) as resp, open(video_path, "wb") as f, - Network accessline 561
urllib.request.urlopen(req, timeout=180) as resp, - Access to secretsline 979
[Credential-related source omitted] - Network accessline 1001
tweet_id = extract_tweet_id(args.url) source_url = ( args.url if not args.url.isdigit() else f"https://x.com/i/status/{tweet_id}" - Network accessline 1002
source_url = ( args.url if not args.url.isdigit() else f"https://x.com/i/status/{tweet_id}" ) - Network accessline 1003
args.url if not args.url.isdigit() else f"https://x.com/i/status/{tweet_id}" - Access to secretsline 1080
[Credential-related source omitted]
xiaohongshu-ingest/SKILL.md
- Dangerous shell operationline 26
# macOS: brew install ffmpeg | Ubuntu: sudo apt install ffmpeg - Access to secretsline 32
[Credential-related source omitted] - Network accessline 38
# 1) 采集笔记 → 统一 frontmatter Markdown python scripts/fetch_note.py "https://www.xiaohongshu.com/explore/xxxx" -o ./out - Network accessline 39
python scripts/fetch_note.py "https://www.xiaohongshu.com/explore/xxxx" -o ./out - Network accessline 40
python scripts/fetch_note.py "http://xhslink.com/xxxx" -o ./out - Network accessline 78
- 小红书爆款方法论:人群 × 场景 × 痛点 + 情绪价值 - [DeepSeek](https://platform.deepseek.com/) — 拆解用 LLM - Network accessline 79
- [DeepSeek](https://platform.deepseek.com/) — 拆解用 LLM
xiaohongshu-ingest/requirements.txt
xiaohongshu-ingest/scripts/analyze_hook.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 9
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Network accessline 55
"response_format": {"type": "json_object"}, }).encode("utf-8") req = urllib.request.Request( - Network accessline 56
}).encode("utf-8") req = urllib.request.Request( "https://api.deepseek.com/v1/chat/completions", data=payload, - Network accessline 57
req = urllib.request.Request( - Network accessline 58
"https://api.deepseek.com/v1/chat/completions", data=payload, - Network accessline 59
[Credential-related source omitted] - Network accessline 60
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Network accessline 61
with urllib.request.urlopen(req, timeout=180) as resp: - Access to secretsline 136
[Credential-related source omitted] - Access to secretsline 137
[Credential-related source omitted] - Access to secretsline 138
[Credential-related source omitted] - Access to secretsline 151
[Credential-related source omitted]
xiaohongshu-ingest/scripts/fetch_note.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 8
用法: python fetch_note.py "https://www.xiaohongshu.com/explore/xxxx" - Network accessline 9
python fetch_note.py "https://www.xiaohongshu.com/explore/xxxx" - Network accessline 10
python fetch_note.py "http://xhslink.com/xxxx" -o ./out - Network accessline 36
def http_get(url, cookie=None, timeout=20): headers = {"User-Agent": UA, "Referer": "https://www.xiaohongshu.com/"} - Network accessline 37
headers = {"User-Agent": UA, "Referer": "https://www.xiaohongshu.com/"} - Network accessline 38
if cookie: headers["Cookie"] = cookie req = urllib.request.Request(url, headers=headers) - Network accessline 39
headers["Cookie"] = cookie req = urllib.request.Request(url, headers=headers) with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 40
req = urllib.request.Request(url, headers=headers) - Network accessline 41
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 159
tmp = tempfile.mkdtemp(prefix="xhs-video-") try: headers = {"User-Agent": UA, "Referer": "https://www.xiaohongshu.com/"} - Network accessline 160
try: headers = {"User-Agent": UA, "Referer": "https://www.xiaohongshu.com/"} if cookie: - Network accessline 161
headers = {"User-Agent": UA, "Referer": "https://www.xiaohongshu.com/"} - Network accessline 164
video_path = os.path.join(tmp, "v.mp4") print(" ⬇<U+FE0F> 下载视频...", file=sys.stderr) req = urllib.request.Request(video_url, headers=headers) - Network accessline 165
print(" ⬇<U+FE0F> 下载视频...", file=sys.stderr) req = urllib.request.Request(video_url, headers=headers) with urllib.request.urlopen(req, timeout=180) as resp, open(video_path, "wb") as f: - Network accessline 166
req = urllib.request.Request(video_url, headers=headers) - Network accessline 167
with urllib.request.urlopen(req, timeout=180) as resp, open(video_path, "wb") as f: - Network accessline 327
try: os.makedirs(asset_dir, exist_ok=True) headers = {"User-Agent": UA, "Referer": "https://www.xiaohongshu.com/"} - Network accessline 328
os.makedirs(asset_dir, exist_ok=True) headers = {"User-Agent": UA, "Referer": "https://www.xiaohongshu.com/"} if cookie: - Network accessline 329
headers = {"User-Agent": UA, "Referer": "https://www.xiaohongshu.com/"} - Network accessline 330
if cookie: headers["Cookie"] = cookie req = urllib.request.Request(u, headers=headers) - Network accessline 331
headers["Cookie"] = cookie req = urllib.request.Request(u, headers=headers) with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 332
req = urllib.request.Request(u, headers=headers) - Network accessline 333
with urllib.request.urlopen(req, timeout=30) as resp: - Access to secretsline 366
[Credential-related source omitted]
youtube-transcribe/SKILL.md
- Dangerous shell operationline 37
# Ubuntu: sudo apt install ffmpeg && pip install yt-dlp - Access to secretsline 40
[Credential-related source omitted] - Network accessline 46
python scripts/transcribe.py "https://www.youtube.com/watch?v=xxxxx" - Network accessline 47
python scripts/transcribe.py "https://www.youtube.com/watch?v=xxxxx" --output ./output - Network accessline 48
python scripts/transcribe.py "https://www.youtube.com/watch?v=xxxxx" --no-translate # 不翻译 - Network accessline 49
python scripts/transcribe.py "https://www.youtube.com/watch?v=xxxxx" --no-subtitle # 强制音频转录 - Network accessline 58
yt-dlp --extract-audio --audio-format mp3 --audio-quality 128K \ "https://www.youtube.com/watch?v=xxxxx" - Network accessline 59
"https://www.youtube.com/watch?v=xxxxx" - Access to secretsline 110
[Credential-related source omitted] - Network accessline 135
- [yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp) - 视频下载工具 - Network accessline 136
- [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) - 语音识别模型 - Network accessline 137
- [DeepSeek](https://platform.deepseek.com/) - 翻译用 LLM
youtube-transcribe/scripts/batch_transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3
youtube-transcribe/scripts/transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 5
用法: python transcribe.py "https://www.youtube.com/watch?v=xxxxx" - Network accessline 5
用法: python transcribe.py "https://www.youtube.com/watch?v=xxxxx" - Network accessline 6
python transcribe.py "https://www.youtube.com/watch?v=xxxxx" - Network accessline 6
python transcribe.py "https://www.youtube.com/watch?v=xxxxx" - Network accessline 7
python transcribe.py "https://www.youtube.com/watch?v=xxxxx" --no-translate - Network accessline 7
python transcribe.py "https://www.youtube.com/watch?v=xxxxx" --no-translate - Network accessline 34
default_title="YouTube Video", language="auto", # 中英内容混杂,自动检测 referer="https://www.youtube.com/", - Network accessline 34
default_title="YouTube Video", language="auto", # 中英内容混杂,自动检测 referer="https://www.youtube.com/", - Network accessline 35
language="auto", # 中英内容混杂,自动检测 referer="https://www.youtube.com/", ) - Network accessline 35
language="auto", # 中英内容混杂,自动检测 referer="https://www.youtube.com/", ) - Network accessline 36
referer="https://www.youtube.com/", - Network accessline 36
referer="https://www.youtube.com/", - Access to secretsline 113
[Credential-related source omitted] - Access to secretsline 113
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Access to secretsline 116
[Credential-related source omitted] - Access to secretsline 116
[Credential-related source omitted] - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Network accessline 160
req = urllib.request.Request( - Network accessline 160
req = urllib.request.Request( - Network accessline 161
"https://api.deepseek.com/v1/chat/completions", - Network accessline 161
"https://api.deepseek.com/v1/chat/completions", - Access to secretsline 165
[Credential-related source omitted] - Access to secretsline 165
[Credential-related source omitted] - Network accessline 166
}, ) with urllib.request.urlopen(req, timeout=120) as resp: - Network accessline 166
}, ) with urllib.request.urlopen(req, timeout=120) as resp: - Network accessline 167
) with urllib.request.urlopen(req, timeout=120) as resp: response = json.loads(resp.read()) - Network accessline 167
) with urllib.request.urlopen(req, timeout=120) as resp: response = json.loads(resp.read()) - Network accessline 168
with urllib.request.urlopen(req, timeout=120) as resp: - Network accessline 168
with urllib.request.urlopen(req, timeout=120) as resp:
zhihu-transcribe/SKILL.md
- Dangerous shell operationline 29
# Ubuntu: sudo apt install ffmpeg && pip install yt-dlp - Network accessline 35
# 独立视频页 python scripts/transcribe.py "https://www.zhihu.com/video/1234567890" - Network accessline 36
python scripts/transcribe.py "https://www.zhihu.com/video/1234567890" - Network accessline 38
# 问答内嵌视频(脚本自动提取视频 ID) python scripts/transcribe.py "https://www.zhihu.com/question/12345/answer/67890" - Network accessline 39
python scripts/transcribe.py "https://www.zhihu.com/question/12345/answer/67890" - Network accessline 41
# 专栏文章(内嵌视频会被提取) python scripts/transcribe.py "https://zhuanlan.zhihu.com/p/123456" - Network accessline 42
python scripts/transcribe.py "https://zhuanlan.zhihu.com/p/123456" - Network accessline 44
# 指定输出目录 python scripts/transcribe.py "https://www.zhihu.com/video/1234567890" -o ./output - Network accessline 45
python scripts/transcribe.py "https://www.zhihu.com/video/1234567890" -o ./output - Network accessline 55
yt-dlp --extract-audio --audio-format mp3 --audio-quality 128K \ --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ..." \ --referer "https://www.zhihu.com/" \ - Network accessline 56
--user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ..." \ --referer "https://www.zhihu.com/" \ "https://www.zhihu.com/video/1234567890" - Network accessline 57
--referer "https://www.zhihu.com/" \ - Network accessline 58
"https://www.zhihu.com/video/1234567890" - Network accessline 96
- [yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp) — 视频下载工具 - Network accessline 97
- [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) — 语音识别模型
zhihu-transcribe/scripts/transcribe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 5
用法: python transcribe.py "https://www.zhihu.com/video/xxxxx" - Network accessline 6
python transcribe.py "https://www.zhihu.com/video/xxxxx" - Network accessline 7
python transcribe.py "https://www.zhihu.com/question/xxx/answer/yyy" -o ./out - Network accessline 8
python transcribe.py "https://zhuanlan.zhihu.com/p/xxxxx" - Network accessline 34
default_title="知乎视频", language="zh", # 知乎以中文为主 referer="https://www.zhihu.com/", - Network accessline 35
language="zh", # 知乎以中文为主 referer="https://www.zhihu.com/", ) - Network accessline 36
referer="https://www.zhihu.com/",
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 4 facts
- Network access in code of the SKILL.mdbilibili-transcribe/SKILL.md:35High confidence
- Network access in code of the SKILL.mdbilibili-transcribe/SKILL.md:50High confidence
- Network access in code of the SKILL.mdbilibili-transcribe/SKILL.md:52High confidence
- Network access in code of the SKILL.mdbilibili-transcribe/SKILL.md:53High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md bilibili-transcribe/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md bilibili-transcribe/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md bilibili-transcribe/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md bilibili-transcribe/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md bilibili-transcribe/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md bilibili-transcribe/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/chubbyguan-chubbyskills/)