learner-tracking
Record what the learner does and adapt the course to it in real time.
Skill by madhvantyagi
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/madhvantyagi-learner-tracking
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: education
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/learner-tracking
What's inside
- Skill name
learner-tracking- Description
- Record what the learner does and adapt the course to it in real time.
- License
- MIT
- Instructions
- 119 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (7)
- SKILL.md
- adaptive-lifecycle.md · references/
- evidence.md · references/
- exercise-review.md · references/
- memory-categories.md · references/
- learner_state.py · scripts/
- memory_views.py · scripts/
SKILL.md (first lines)
# Understanding the learner Record what happened precisely enough that another teacher can make the next decision. “Bad at math” is useless. “Cancelled x across addition, corrected it after comparing x(x+1) with x²+1” tells the next teacher what to check. ## Read and write For someone you already know, use the script beside this skill: ```bash python3 skills/learner-tracking/scripts/learner_state.py init alex python3 skills/learner-tracking/scripts/learner_state.py summary alex python3 skills/learner-tracking/scripts/learner_state.py record alex --event session.json ``` `init` creates a blank learner profile (`learners/<name>/state.json`). It starts completely empty — do not guess or assume the user's background, or skill level. By default, profiles are saved in the repository's ignored `learners/` directory. Pass `--root <directory>` to use a different folder (e.g., in automated tests). For the full schema and update rules, see [references/evidence.md](references/evidence.md). When enrolling a learner, the validated course plan is copied to `learners/<id>/courses/<course-id>/course.json`. The learner's `state.json` only stores a relative path, revision number, and fingerprint (hash) of the course plan rather than keeping a duplicate copy. If the course plan changes and its hash no longer matches `state.json`, future updates are blocked until the plan is reconciled. If you are working with an older record that has an embedded plan, run `migrate-courses <id>` once to convert it safely. Never render lessons, viewer pages, or progress directly from a blueprint `course.json`. Always set up the learner first: 1. **Identify the learner:** If they provide a name, convert it to a lowercase folder name (e.g., `alex`). If they don't, proceed automatically as `learner` and say: *"I'll save your progress under 'learner' — tell me a name anytime to make it yours."* Never ask the user for a "learner ID". 2. **Initialize and enroll:** Run `init` followed by `enroll --course <course.json>`. Omitting the name defaults to `learner`. 3. **Verify:** Confirm that `learners/<name>/courses/<course-id>/course.json` exists before recording attempts, summarizing progress, or rendering views. ## Course and memory categories Read [references/memory-categories.md](references/memory-categories.md) when starting, resuming, enrolling, or finishing a course. Store a validated course with `enroll <id> --course <course.json>`. Use `complete-course <id> --course-id <slug>` when the learner finishes; the script produces a chapter-by-chapter curriculum with topic names, teachers, sources, assessments, and actual evidence. Read [references/adaptive-lifecycle.md](references/adaptive-lifecycle.md) to adapt in real time: record what the learner does, then tell the course skill to update the plan when a source fails or the learner is stuck. Every recorded attempt or topic transition refreshes profile, course, topic, teaching-observation, and next-step memories. Update at meaningful evidence changes during the conversation, not only at the end of a course. On resumption, use earlier taught topics as explicit bridges into the next topic. Keep one folder per person, do not assume unrelated chats have shared memory. Resolve every enrolled plan before changing learner state. If a referenced plan is missing or invalid, fail before recording a new attempt or profile change. Derived Markdown views may be rebuilt from valid state, they never override it. ## Separate the kinds of knowledge - **Stated preference:** “Use fewer analogies.” Store the wording and date, a current request overrides it. - **Observation:** a specific answer, error, hint used, or successful transfer. - **Interpretation:** a tentative explanation of the observation. Say “possibly confuses slope with height,” not “is a visual thinker.” - **Action:** what the next teacher should try or ask. Mark taught-but-untested concepts as exposed. Assisted success is practice. Independent success supports demonstrated understanding of that concept in that task. A later independent retrieval/transfer supports retention. None is a permanent trait or a guarantee of general mastery. ## Review saved exercises before the next lesson On completion or resumption, follow [exercise-review.md](references/exercise-review.md). Load the current lesson, actual stored responses, original criteria, and assistance. Review checked answers as well as written work; an unsent browser draft is not evidence. Record each attempt through `manage_interaction.py review-attempt`, then record the lesson repair and continuation decision through `review-lesson`. A wrong answer is an observation: diagnose its cause and inspect the teaching before choosing the repair. Preserve old attempts and unresolved gaps. ## Choose the next move If a wrong answer could have several causes, use one contrast to distinguish them before labeling the gap. A new representation counts as helpful only when subsequent work improves, not because the learner says it looks nice. Use recent evidence and task difficulty together. After a long gap, check recall briefly before choosing the pace. If the learner is correct but slow, distinguish fluency practice from a conceptual repair. Do not prescribe a fixed review interval as scientifically optimal, agree a date suited to the goal. ## Keep the record small and honest Save short evidence excerpts, not whole conversations. Do not store unrelated personal details, secrets, diagnoses, or guesses about intelligence. Keep records for different learners separate. Never copy example evidence into a real profile. Only report saved progress after a successful write. If saving fails, preserve the note in the response and say it was not saved. Use `profile <id> --file <json>` to replace explicitly provided preferences/goals. Use `retract <id> --event-id <id>` to remove a mistaken event, then re-record a correction if needed. `delete <id>` is a state reset: it removes state and known derived memory views, while course workspaces, submissions, drafts, hints, questions, reviews, artifacts, and rendered pages remain. Do not describe that command as complete learner-data erasure. A full erasure needs a separately validated inventory and coordinated protection against concurrent course writes; the current CLI does not provide it. Preserve unrelated user files.
From madhvantyagi/Gnos, MIT.
More from madhvantyagi/Gnos
- 0.802score
course-viewer
madhvantyagi
Show an enrolled course and its lessons.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
jsxgraph
madhvantyagi
Build and inspect mathematical graphs and coordinate constructions with JSXGraph when a learner needs to connect an equation to a shape, solve graphically, or…
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
learning-orchestrator
madhvantyagi
Entry point.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
lesson-design
madhvantyagi
Develop the current topic into a connected lesson.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
pinepaper
madhvantyagi
Build and check Pinepaper MCP diagrams, charts, motion, and interactive models when a lesson needs linked visual states or a changing quantity.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
subject
madhvantyagi
Select the lead subject, supporting bridges, teacher, sources, and field-specific teaching guidance for a learning goal.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
course-design
madhvantyagi
Design and revise a course's goal, progression, prerequisites, and sources.
SkillAFreshness: A★ 342Claude Code +9 - 0.798score
khan-academy
madhvantyagi
Find a Khan Academy video fast and add it only on a strong match.
SkillAFreshness: A★ 342Claude Code +9 - 0.798score
manim-voice-animation
madhvantyagi
Make Manim teaching animations with narration and subtitles when motion helps a concept.
SkillAFreshness: A★ 342Claude Code +9 - 0.787score
learning
madhvantyagi
Compatibility route for older GNOS learning invocations; continue through learning-orchestrator.
SkillAFreshness: A★ 342Claude Code +9 - 0.756score
excalidraw
madhvantyagi
Create inspectable teaching diagrams with the Excalidraw MCP server when a lesson needs a clear relationship, process, state, or boundary sketch.
SkillBFreshness: B★ 342Claude Code +9 - 0.748score
pdf
madhvantyagi
Turn lesson content into a PDF handout; render and check it before delivery.
SkillBFreshness: B★ 342Claude Code +9
Signals
- Stars
- 342
- Forks
- 25
- Open issues
- 2
- Last commit (this folder)
- Oct 16, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/madhvantyagi/Gnos
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from madhvantyagi
- 0.802score
course-viewer
madhvantyagi
Show an enrolled course and its lessons.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
jsxgraph
madhvantyagi
Build and inspect mathematical graphs and coordinate constructions with JSXGraph when a learner needs to connect an equation to a shape, solve graphically, or…
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
learning-orchestrator
madhvantyagi
Entry point.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
lesson-design
madhvantyagi
Develop the current topic into a connected lesson.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
pinepaper
madhvantyagi
Build and check Pinepaper MCP diagrams, charts, motion, and interactive models when a lesson needs linked visual states or a changing quantity.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
subject
madhvantyagi
Select the lead subject, supporting bridges, teacher, sources, and field-specific teaching guidance for a learning goal.
SkillAFreshness: A★ 342Claude Code +9
Cite this page
learner-tracking skill. Agent Mart. https://agentmart.dev/skills/madhvantyagi-learner-tracking (last updated 2026-10-24)