Repository navigation
Releases: assafkip/claudemy
Release list
v0.3.2: script fixes from the post-0.3.1 audit
Fixes from an audit after v0.3.1, each with a regression test in tests/test_scripts.py (39 tests, stdlib only). Two independent reviews checked the changes before release.
Would break a run:
- A Substack host that answers HTML (bot check, login wall) now fails that author with a "not JSON" line. Before, it stopped the whole run and every author after it.
check_lessons.pytreats http and https,www., a#fragment, a trailing slash and trailing bold, code or punctuation marks as the same page. Urls with parentheses (Wikipedia) and urls in backticks match. Valid citations no longer send the writer round the fix loop, and a different path still fails. It readsraw/as UTF-8 on any system locale.- Sitemap and RSS author modes name every page they did not save, with the reason, like web mode.
- Two pages that share a filename (
/guide/introand/tutorial/intro) both stay on disk. - A file in
raw/that isn't UTF-8 no longer stops the run.
Quality:
- Substack mode honours
limit(default 150) andmin_words(default 150), and stops paging the archive at the limit. Paywalled teasers and short posts are skipped, named, and remembered, so a resume doesn't fetch them again. - Atom
<content type="xhtml">is read instead of triggering a page fetch per post. limitcounts posts on disk in every mode. RSS used to count new posts per run.- A url listed in two child sitemaps (WordPress post and image sitemaps) is fetched once.
Small:
- The ElevenLabs key hook writes its export line once, not on every resume, clear and compact. Switching back to an earlier key makes it active again.
- ElevenLabs errors show the API's own message (bad key, quota, unknown voice), never the key.
- Site structured data names the current version.
Known gap: pages and feeds that are not UTF-8 still lose accented and non-Latin letters, and a Shift_JIS feed stops the run. Same as v0.3.1. Tracked in #6.
Install: /plugin marketplace add assafkip/claudemy then /plugin install claudemy@claudemy. Or download claudemy.skill below into ~/.claude/skills/.
v0.3.1: four script fixes
Bug fixes for the four issues @rahul05ranjan filed, each with a regression test in tests/test_scripts.py.
scrape.py: Atom entries now use therel="alternate"link as the post url, not the first<link>. Blogger feeds list the comment feed first, podcast feeds the enclosure. (#2)scrape.py: a sitemap index (<sitemapindex>) is followed into its child sitemaps, two levels deep. Zero matching urls now prints what was read and the pattern, instead of ending in silence. (#3)check_lessons.py: every card check runs on the text with HTML comments removed. A section that exists only inside a comment counts as missing; a demand phrase or url inside a comment no longer fails the lesson. (#4)package_class.py: two mp3 files in one lesson folder keep distinct names in the zip, and the run says so. One mp3 per folder is unchanged (NN-handle.mp3). (#5)
Install: /plugin marketplace add assafkip/claudemy then /plugin install claudemy@claudemy. Or download claudemy.skill below into ~/.claude/skills/.
Claudemy v0.3.0
Directory-ready release.
- ElevenLabs key can now be entered once through the plugin's configuration prompt (stored in your OS keychain).
ELEVENLABS_API_KEYin the shell still works. - Listing icon, privacy page and support links for the Claude directory.
- README gains a Data section describing exactly what leaves your machine.
Install: /plugin marketplace add assafkip/claudemy then /plugin install claudemy@claudemy. Or download claudemy.skill below into ~/.claude/skills/.
Claudemy v0.2.0
First tagged release of Claudemy, a Claude Code skill that turns any topic into a short audio course.
claudemy-demo.mp4
Type teach me negotiation in Claude Code. It researches 20 to 40 pages on the web, compares what the sources agree on, and writes about 12 two-minute lessons: two voices talking, a one-screen card per lesson, one small thing to try, and links to the pages each lesson came from. A checker refuses any lesson that cites a page the research did not read.
Install as a plugin:
/plugin marketplace add assafkip/claudemy
/plugin install claudemy@claudemy
Or download claudemy.skill below and drop it into ~/.claude/skills/.
Demo video and full docs: https://github.com/assafkip/claudemy#readme