Agent skill

wjs-mining-voicedrop

Use when 王建硕 wants to turn his uploaded VoiceDrop voice memos into 微信公众号 article drafts — pulling the unprocessed recordings sitting on jianshuo.dev/files (the R2 inbox), transcribing them, and mining articles from each. Triggers — "处理 VoiceDrop 录音", "把新录音挖成文章", "口述备忘变文章", "处理一下我的录音", "/wjs-mining-voicedrop".

jianshuogithub.com/jianshuoGitHub ↗
claude-codecodexships scriptsMIT
Install
npx skills add jianshuo/claude-skills --skill wjs-mining-voicedrop --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 5 KB
Bundled scripts: yes
Path: wjs-mining-voicedrop/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 112
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# wjs-mining-voicedrop VoiceDrop 收件箱(`jianshuo.dev/files` 上的 `VoiceDrop-*.m4a`)→ 逐条转写 → 交给 `wjs-mining-articles` 出公众号草稿。这是 VoiceDrop iOS app(开口即录、停即上传)的 Mac 端闭环。 **本 skill 自身的产出 = ① 公众号草稿(`~/code/wechat-publish/`)+ ② 本地音频/SRT 存档(`~/code/voicedrop/archive/`)+ ③ R2 上的处理标记(`articles/<stem>.json` 或 `.empty`)+ ④ 一份批次报告(处理几条、各出几篇、哪些标了无语音及原因、还剩几条未处理)。** 完整接口契约见 `agents/interface.yaml`。 ## Core Principle **复用,不重写。** 本 skill 只做两件本身没有的事:**收件箱的进出**(列/下载/标记)和**逐条编排**。转写交 `wjs-transcribing-audio`,成文交 `wjs-mining-articles`,一行都不重写。 **R2 永不删,用标记文件表示处理状态。** 音频一直留在 R2,直到用户自己在 app 里删。「未处理」= 还没有 `articles/<stem>.json`(已成文)也没有 `articles/<stem>.empty`(无语音)标记的 `VoiceDrop-*.m4a`;`list` 已自动只列未处理的。一条**成功**成文后写 `mark-done`,**没语音/损坏**写 `mark-empty`——两者都让这条不再被重复处理。**绝不 delete**(delete 只留给用户在 app 里手动清理)。 ## When This Skill Fires - 用户说「处理 VoiceDrop 录音」「把新录音挖成文章」「处理一下我的口述」 - 用户跑 `/wjs-mining-voicedrop` ## When NOT to use - **已经有 SRT** → 直接 `wjs-mining-articles` - **音频不在 R2 收件箱**(本地散文件)→ 直接 `wjs-transcribing-audio` 出 SRT,再 `wjs-mining-articles` - **桶里是别的机器传的非录音文件** → 本 skill 只认 `VoiceDrop-*.m4a` 前缀,其余不碰 ## 前置 - `~/code/.env` 里有 `FILES_TOKEN`(收件箱鉴权)和火山 ASR creds(`VOLC_ASR_*` / `VOLC_TTS_*`,转写用)。`set -a; source ~/co

What's inside
Steps it walks through
  1. Core Principle
  2. When This Skill Fires
  3. When NOT to use
  4. 前置
  5. Workflow
  6. Step 0 · 定位脚本 + 载入环境(不依赖当前目录)
  7. Step 1 · 列收件箱
  8. Step 2 · 逐条闭环(串行,一条跑完再下一条)
  9. Step 3 · 汇报
  10. 标记安全红线
  11. 复用边界
  12. Common Mistakes
Ships with 3 files
  • SKILL.md.bak.20260620-095943
  • agents/interface.yaml
  • scripts/voicedrop-inbox.sh
Commands it runs
set -a; source ~/code/.env; set +a    # FILES_TOKEN + 火山 ASR creds
More from claude-skills
All skills →
About this skill
What does the wjs-mining-voicedrop skill do?

Use when 王建硕 wants to turn his uploaded VoiceDrop voice memos into 微信公众号 article drafts — pulling the unprocessed recordings sitting on jianshuo.dev/files (the R2 inbox), transcribing them, and mining articles from each. Triggers — "处理 VoiceDrop 录音", "把新录音挖成文章", "口述备忘变文章", "处理一下我的录音", "/wjs-mining-voicedrop".

How do I install it?

Run `npx skills add jianshuo/claude-skills --skill wjs-mining-voicedrop --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From jianshuo/claude-skills, a repository with 112 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going