Skip to content
cccskills
FreePublished on GitHub

wjs-teaching-english

Use when the user wants to teach / learn an English word as a video — turn a single English word into a self-contained HLS "supercut" lesson built from the mira video base. Stitches every season2 clip where the word is spoken (via the search-app API) into one .m3u8, prepended with a Claude-written bilingual word-intro card (word + IPA + 中文 gloss + usage, Volcano TTS) and appended with a 关注王建硕 CTA card. No MP4 burn. Triggers — "teach <word>", "讲讲 <word>", "学英语 <word>", "把 <word> 做成视频", "/wjs-teaching-english <word>".

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (1)

  • SKILL.md3.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Teach an English word as a video supercut

Turn one English word into a self-contained HLS lesson:

intro.ts  (word /IPA/ · 中文 gloss · usage + Volcano TTS)
   ⋯ EXT-X-DISCONTINUITY
[supercut] every season2 clip where the word is spoken  (search-app /api/playlist, COS URLs)
   ⋯ EXT-X-DISCONTINUITY
cta.ts    (关注王建硕 + Volcano TTS)
= search-app/out/<word>.m3u8

No MP4 is burned — only the two cards are rendered as tiny .ts, re-encoded to match the supercut's codec so they play in any HLS player.

Prerequisites (check once)

  • ffmpeg / ffprobe on PATH (Homebrew).
  • Python volcengine SDK (declared in mira requirements.txt, used for TTS): python3 -c "import volcengine". If missing, ask the user to allow pip3 install volcengine==1.0.58 (it's a pinned repo dependency).
  • The deployed search-app at https://search-app-three-kappa.vercel.app (default). Override with SEARCH_APP_BASE=http://localhost:3000 if running locally (needs Node ≥ 23.6 + npm start).

Steps

  1. Get the word. A single English word (or short phrase). If the user gave a sentence, pick the target word.

  2. Write the mini-lesson JSON. YOU (Claude) author it — no dictionary API. Keep it accurate and concise. Save to a temp file, e.g. /tmp/lesson.json:

    {
      "word": "love",
      "ipa": "/lʌv/",
      "pos": "v. / n.",
      "gloss": "爱,热爱",
      "usage": "下面是它在真实电影里的说法",
      "tts_text": "love. 爱。"
    }
    
    • tts_text is read aloud over the intro card — keep it to the word + a short 中文 gloss (Volcano reads mixed English/中文 fine).
    • usage is one short line shown on the card (≤ ~20 chars renders best at low resolutions).
  3. Build it:

    cd /Users/jianshuo/code/mira/search-app
    python3 scripts/build_lesson.py --word love --lesson /tmp/lesson.json
    

    Useful flags: --speaker zh_female_qingxin (default), --limit 300 (max clips), --no-tts (silent cards), --base <url>, --out <dir>.

  4. Report the printed output path (search-app/out/<word>.m3u8) and the clip count. The .m3u8 plus its sibling <word>.intro.ts / <word>.cta.ts are the deliverable; out/ is git-ignored.

Notes

  • If the word has no clips, the script exits with "no clips match" and writes nothing — tell the user and suggest a more common word.
  • Intro/CTA are encoded to the FIRST supercut segment's resolution/codec/fps so the first discontinuity needs no decoder re-init (avoids bufferAppendError).
  • To play locally: ffplay search-app/out/<word>.m3u8, or serve the out/ folder over HTTP and open in any HLS player (Safari plays .m3u8 natively).

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

王建硕的思维框架与表达方式。基于 7 份深度调研(约 100 万词英文博客 + 约 109 万字中文博客, 2002–2022,全部一手)提炼出 7 个核心心智模型、10 条决策启发式和完整的双语表达 DNA。 用途:以王建硕的身份和声音写作、回应、思考——他平实、诚恳、好奇,爱用家常比喻和自造词, 在具体和抽象之间反复架梯子,从不写自己没亲身验证过的东西。 当用户提到「用王建硕的视角」「王建硕会怎么看」「王建硕模式」「像王建硕一样写」 「Jian Shuo Wang perspective」「切换到王建硕」时使用。 即使用户只是说「帮我用王建硕的角度想想」「如果是王建硕会怎么写这篇」也应触发。 一旦激活,本次对话后续所有回应都保持王建硕身份,直到用户明确说「退出」—— 不需要每轮重新点名。 不适用:用户要的是关于王建硕本人的客观介绍 / 事实查询(「王建硕是谁」「他哪年创业的」), 那种问题正常回答即可,不要进入角色扮演。

The English summary is being prepared. Showing the original description.

jianshuo/claude-skills137Updated Oct 16, 2026

Use when the user asks to audit what's wrong with a project, "make it right", "看看项目出了什么问题", "为什么用户的需求还没上线", "为什么没提交App Store", "为什么没新build", or wants a holistic state-of-the-project check covering unmerged branches, stalled PRs, failed GitHub Actions, stale builds, plan drift (TODOS.md / ROADMAP), unreleased commits, and log errors. Runs read-only investigation, presents a grouped checklist, fixes only after explicit user confirmation. Aware of the Cathier iOS app workflow (Xcode + fastlane + auto-merge @claude PRs from in-app feedback).

The English summary is being prepared. Showing the original description.

jianshuo/claude-skills137Updated Oct 16, 2026

Use when the user has a video + an SRT and wants the subtitles either burned into the pixels (libass, always-visible) or soft-muxed as a togglable track. Also handles the final composite step for the localization pipeline — burn subs, mix a dub track, and keep the original audio as a low-volume bed, all in ONE ffmpeg encode (no cascade). Verifies libass availability and auto-downloads a static evermeet ffmpeg build when Homebrew's stripped binary lacks it. Triggers — "烧字幕", "硬字幕", "burn subtitles", "burn-in subs", "embed subtitle", "soft mux SRT", "把字幕烧进视频", "做最终合成".

The English summary is being prepared. Showing the original description.

jianshuo/claude-skills137Updated Oct 16, 2026

Use when the user complains about spam on his X/Twitter posts — 同城面付 / 寻固炮 / 线下上门 / 免费破处 这类引流号在他推文下刷的 emoji 垃圾回复 — and wants them removed. Covers the last 7 days (X recent-search window). Triggers — "把这些spam删掉", "清理X垃圾回复", "推文下面好多引流号", "clean spam replies", "/wjs-cleaning-spam".

The English summary is being prepared. Showing the original description.

jianshuo/claude-skills137Updated Oct 16, 2026

Use when the user wants a 王建硕-style WeChat article (article.md) turned into a narrated short MP4 video — TTS voiceover via 火山引擎 Volcano TTS, HyperFrames CSS/GSAP animation per scene, subtle SFX, abstract watercolor background, full pipeline rendering to 1080×1920 portrait MP4 (30-90s). Triggers — "把这篇文章做成视频", "做一个解说视频", "讲解视频", "/wjs-converting-text-to-video".

The English summary is being prepared. Showing the original description.

jianshuo/claude-skills137Updated Oct 16, 2026

Use when migrating a WordPress site to a Hugo static site on GitHub Pages from a WXR export (.xml) plus the wp-content/uploads folder — preserving /archives/<id>/ URLs, localizing images, and deploying via GitHub Actions. Triggers — "把 WordPress 迁成 Hugo", "wordpress 转静态站", "migrate WordPress to Hugo", "WXR to Hugo", "publish WordPress to GitHub Pages", "/wjs-converting-wp-to-hugo".

The English summary is being prepared. Showing the original description.

jianshuo/claude-skills137Updated Oct 16, 2026

See all skills by jianshuo

Report a problem with this skill