SYuan03/Skill-Anything
Any source (PDF, video, web, audio, text) to interactive learning package with quizzes, flashcards and spaced repetition. One command, 12-section study guide.
Skill‑Anything
What it is – A Python CLI / library that turns any kind of source material (PDF, video, web page, plain‑text file, audio, or a code repository) into a structured study pack. The pack contains a 12‑section learning guide, quizzes, flashcards, exercises, a glossary, a concept‑map image, and optionally an AI‑agent skill (SKILL.md) that can be consumed by tools like Claude Code, Cursor, or Codex.
Why it matters – Human learning suffers from passive reading. Skill‑Anything automates the whole pipeline that educators normally do manually: summarising, extracting key concepts, generating active‑recall items, and organising a learning path. All of this is driven by LLM calls (any OpenAI‑compatible API) and can be run entirely offline once the pack is generated.
Core features (as described in the README)
- Source‑agnostic ingestion – PDF (outline‑aware), web pages, YouTube/video transcripts, audio (Whisper), plain text, or an entire Git repo.
- Section‑aware map‑reduce pipeline – each section is summarised in parallel, then a global reduce step creates the final guide. Concurrency defaults to 6 and is configurable.
- Caching – SHA‑256 hash of prompt + model + version is stored on disk; repeated runs skip identical LLM calls.
- Two‑tier model routing – a fast model for per‑section “map” calls, a smarter model for the final “reduce”.
- 12‑section output – summary, concept map, outline, detailed notes, key concepts, glossary, cheat sheet, takeaways, quiz, flashcards, exercises.
- Multiple export formats –
--format all→ study guide, YAML pack, offline web site, Anki TSV, andSKILL.mdbundle.--format web→ single self‑containedindex.html(no CDN, works offline).--format anki→ UTF‑8 TSV ready for Anki import, with HTML fields and tags.--format skill→ directory withSKILL.md, assets, references, and scripts for AI agents.
- Citation‑aware generation (v0.4.1) – every quiz/flashcard/exercise includes a verbatim source quote that is verified against the original text.
- CLI utilities –
sa auditfor CI‑style validation,sa shareto zip and ship a web bundle,sa lintto validate a skill package, interactivesa quizandsa reviewcommands. - Extensible configuration – environment variables for API base, model names, concurrency, cache control, etc.
Typical workflow
# 1️⃣ Install (editable dev version or from PyPI)
pip install skill-anything[all] # or pip install -e .[all,dev] after cloning
# 2️⃣ Set up your LLM credentials
cp .env.example .env && nano .env # set API_KEY, API_BASE, model names
# 3️⃣ Generate a pack from any source
sa pdf textbook.pdf --format all # PDF → full pack + web + Anki + skill
sa repo https://github.com/openai/openai-python --format study
sa video https://youtu.be/… --format web
# 4️⃣ Share or use the outputs
sa share output/textbook.yaml # creates index.html + ZIP
sa export output/textbook.yaml --format anki # TSV for Anki import
sa export output/textbook.yaml --format skill # AI‑agent ready SKILL.md bundle
# 5️⃣ Interact locally
sa quiz output/textbook.yaml # interactive quiz (6 types)
sa review output/textbook.yaml # flashcard spaced‑repetition mode
Who might use it?
- Students & self‑learners – turn a lecture video or a textbook chapter into a ready‑to‑study guide with quizzes and flashcards.
- Team leads onboarding new hires – feed a code repository into
sa repoto produce an onboarding pack (glossary, concepts, exercises) and an AI‑agent skill that can answer questions about the codebase. - Educators & content creators – quickly generate study material from existing resources and export to Anki or a static website for distribution.
- AI‑tool developers – consume the
SKILL.mdexport to give agents a structured knowledge base for a specific domain.
Installation & requirements
- Python 3.10 or newer.
- Optional extras for specific source types (
pdf,video,web,audio). - An OpenAI‑compatible API key for best quality; without a key the tool falls back to rule‑based generation.
- Install via PyPI:
or clone the repo and install in editable mode for development.pip install skill-anything[all]
License
MIT – permissive open‑source license.
Related
- Project
- Project
- Project
- Project