Production learning coach for personalized, multi-subject study planning with proactive reminders, curated resources, LLM-generated quizzes, rubric-based gra...
Run a real coaching loop across multiple subjects: Plan by subject → Learn → Practice → Assess → Adapt.
Store all learner state under data/subjects/<subject-slug>/.
Required per-subject files:
profile.json — goals, level, weekly hours, exam/project targetplan.json — current weekly plan + daily tasksquiz-history.json — generated quizzes + answer keys + rubrics + attemptsprogress.json — rolling metrics, weak concepts, confidence trendcuration.json — recommended links and why selectedGlobal files:
data/coach-config.json — cadence preferences, output styledata/cron-consent.json — consent + approved schedules + last updateNever mix metrics from separate subjects unless generating an explicit global dashboard.
Do not rely on static script-generated toy quizzes. Generate quizzes with the model each time unless user asks for a cached quiz.
For each quiz, produce a single JSON object with:
subject, topic, difficulty, blooms_level, time_budget_min)Use schema in references/quiz-schema.md.
When user submits answers:
references/grading-schema.md).progress.json and quiz-history.json.Use scripts only to validate and persist JSON artifacts.
Before setting or changing cron:
scripts/subject_cron.py (light/standard/intensive).data/cron-consent.json.After approval:
Use scripts/setup_cron.py for idempotent cron management. See references/cron-templates.md.
For each subject:
scripts/source_ingest.py (YouTube RSS + optional X/web normalized feeds).scripts/discover_content.py.curation.json with concise rationale and time-to-consume.Use quality checklist from references/source-quality.md and ingestion contract in references/source-ingestion.md.
scripts/bootstrap.py — dependency checks/install attempts.scripts/setup_cron.py — apply/remove/show cron jobs.scripts/subject_store.py — create/list/update per-subject state directories.scripts/update_progress.py — update per-subject progress with EMA trend and confidence.scripts/validate_quiz_json.py — validate generated quiz JSON.scripts/validate_grading_json.py — validate grading JSON.scripts/source_ingest.py — normalize YouTube RSS + optional X/web feeds into candidate JSON.scripts/discover_content.py — rank and persist curated links from candidate web/X/YouTube resources.scripts/intervention_rules.py — generate pacing interventions (speed-up/stabilize/slow-down) per subject.scripts/subject_cron.py — generate per-subject cron templates (light/standard/intensive).scripts/weekly_report.py — aggregate subject summaries with trend/confidence output (text + JSON).After each graded attempt, generate intervention guidance with scripts/intervention_rules.py.
See references/intervention-policy.md.
references/learning-methods.mdreferences/scoring-rubric.mdreferences/source-quality.mdreferences/source-ingestion.mdreferences/progress-model.mdreferences/report-schema.mdreferences/cron-templates.mdreferences/intervention-policy.mdreferences/quiz-schema.mdreferences/grading-schema.mdZIP package — ready to use