learn-uplisted
Install: claude install-skill AndresParraSilva/learn-up
# learn-up — build a study app for any topic
You are building a **local, single-user study web app** for a topic the user wants to learn.
The app is a faithful generalization of a production exam-prep app: a React SPA + FastAPI
backend, content authored as version-controlled YAML/Markdown and seeded into an embedded
**DuckDB** database. One `learn-up` repo can hold **many independent topics**; the home page
is a topic picker.
This skill runs in **phases**. Do them in order. Each phase has a detailed reference doc under
`references/` — read that doc at the start of the phase before acting. Do **not** try to hold
the whole build in your head; pull each reference in as you reach its phase.
## Golden rules
1. **Ask before authoring.** Run the topic intake (Phase 1) for newly authored topics. For an
exported topic, preserve its recorded scope and content, skip topic questions, and ask only
for missing destination app configuration per `references/intake.md`.
2. **Everything is blueprint-tagged.** Every lesson, question, and lab references an
`objective` code that exists in that topic's `syllabus.yaml`. Off-syllabus content is a bug.
A content **validator** must fail loudly on any gap or dangling tag.
3. **Fail loudly.** No silent defaults, no graceful degradation that hides missing content or
bad input. Raise/assert on unexpected shapes. This applies to the app code you generate too.
4. **Every newly authored lesson opens with the Gemini Notebook video placehold