repo·evals
· 2026-05-05 ·main@HEAD

personalized-podcast

zarazhangrui/personalized-podcast

🛠54 / 100
🎯

🧬

🛑
0–29
⚠️
30–49
🛠
50–79
🏭
80–100
54
🛠· 54 / 100
  • 5 claims passed, no critical failures
  • README may claim a license but no LICENSE file exists
  • release_pipeline=1, recently_active=True
  • EN-only or ZH-only README
  • static-only eval; live e2e pending

#1👤
#2🎯
#3🧭
#4

URL / file / textURL / 文件 / 文字/ topic/ 主题Claude writesClaude 写两人2-host script对谈脚本(PROMPT.md)(PROMPT.md)Fish Audio TTSFish Audio TTS(voice per host)(每位主持人单独声线)pydub stitchespydub 拼final MP3最终 MP3Play locally本地播放+ optional RSS+ 可选 RSS

gh repo clone into ~/.claude/skills/personalized-podcastanyeasy
  • 🌐
Anthropic Claude (Claude Code)
LLM writes the 2-host conversation script
Per-episode cost depends on length (~$0.10 for a 10-min episode)
Fish Audio
TTS — generates voice for each host
Free tier sufficient for personal use; default voices pre-configured
GitHub (for RSS hosting)
Optional — host RSS feed for Apple Podcasts / Spotify
Use GitHub Pages; only needed if you want podcast app delivery
· 8
5 2 1
+40
+6
+5
0
+5
-2

7 / 8
passed claim-001

passed claim-002

passed claim-003

passed claim-004

passed claim-005

failed claim-006

failed claim-007

untested claim-008

input_contract
output_contract
determinism
idempotence
no_skill_callouts
failure_mode_clarity

  • evidence_completeness='partial' (not portable) → capped at 'usable'

  • only 2/3 critical claims covered

archetype: hybrid-skillcore_layer_tested? Trueevidence: partialrecommended: usablefinal: usable
ceiling 1 · evidence_completeness='partial' (not portable) → capped at 'usable'

claim-001SKILL.md + PROMPT.md 两份核心文档真实存在criticalskill-shape● passed
claim-0024 个 Python 脚本(bootstrap / publish / speak / utils)真有实现criticalpipeline● passed
claim-003requirements 与 README 描述的依赖匹配highinstall● passed
claim-004RSS feed 模板真实存在highrss● passed
claim-005config.example.yaml 暴露 README 提到的 5 类选项highconfig-coverage● passed
claim-006仓库有 LICENSEhighlicensing✕ failed
claim-007README 引用的安装路径与实际仓库一致highdocs-correctness✕ failed
claim-008端到端:能从一句 `/podcast <content>` 拿到 MP3criticalend-to-end○ untested

0%
0.00s
0

run-static-checks

2026-05-05
0% tokens in ? / out ?

run-static-checks

2026-05-05
0% tokens in ? / out ?
# personalized-podcast — final verdict (2026-05-05)

## Repo

- **Name:** zarazhangrui/personalized-podcast · **Stars:** 338
- **Archetype:** hybrid-skill · **Layer:** molecule
- **Branch:** main@HEAD · **Last push:** 2026-04-08 (recently active)

## What was evaluated

| Claim | Status | Notes |
|---|---|---|
| 001 SKILL.md + PROMPT.md | passed | 235 + 33 lines |
| 002 4 Python scripts | passed | bootstrap / publish / speak / utils — 195–352 lines each |
| 003 deps coverage | passed | httpx + pydub + Jinja2 + PyYAML |
| 004 RSS feed template | passed | Real Jinja2-templated RSS XML |
| 005 config coverage | passed | show_name + tone + hosts + voices + length + RSS publish |
| 006 LICENSE | **failed** | HTTP 404 |
| 007 install path correctness | **failed** | README clones `-skill` repo; redirects work but README is wrong |
| 008 live `/podcast` e2e | untested | needs Fish Audio key + session |

## Real findings

1. **README install typo.** `gh repo clone zarazhangrui/personalized-podcast-skill`
   should be `personalized-podcast`. GitHub returns HTTP 301 redirect,
   so it works, but it's a polish gap. Trivial upstream fix.

2. **No LICENSE.** Fourth time across Zara's batch. Worth noting as
   a maintainer-level habit, not a per-repo defect.

3. **Sensible secret split.** Config (show settings) vs `.env` (API
   keys) is split correctly. `bootstrap.py` (352 lines) is the most
   substantial script — it does real first-run setup work.

4. **`/podcast` slash command + `/eavesdrop` self-reflection use case.**
   The "feed your own writing in and have hosts comment" angle is
   creative but warrants a privacy disclaimer the README is missing.

## Path forward

1. Add LICENSE.
2. Fix README clone path (`personalized-podcast-skill` →
   `personalized-podcast`).
3. Add a privacy note about Anthropic + Fish Audio seeing user
   content.
4. Run a live `/podcast` test with Fish Audio key; log under
   `runs/<date>/run-live-e2e/`.