Agent skill

Learner Tracking

by madhvantyagi in madhvantyagi/Gnos

Record what the learner does and adapt the course to it in real time.

MITAuto-check passed

Install Learner Tracking

skills CLI
$ npx skills add madhvantyagi/Gnos --skill learner-tracking -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install madhvantyagi/Gnos learner-tracking --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/madhvantyagi/Gnos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/learner-tracking .claude/skills/learner-tracking && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
learner-tracking
GitHub stars
336
Token cost
~1.4k tokens
SKILL.md length
737 words
Files
6 (incl. scripts, references)
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Record what the learner does and adapt the course to it in real time.

  • Works in 3 steps: Identify the learner: If they provide a… → Initialize and enroll: Run init followed… → Verify: Confirm that…
  • SKILL.md covers Read and write, Course and memory categories, Separate the kinds of knowledge and Choose the next move, plus 1 more section
  • Runs Python scripts from its folder; calls python3

What it does

Learner Tracking is an agent skill from madhvantyagi/Gnos. Record what the learner does and adapt the course to it in real time.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/adaptive-lifecycle.md`, `references/evidence.md` and `references/memory-categories.md`).

The repository describes itself as: Teaching harness , help you to learn anything , It teaches like real teacher , design curriculum , generate videos , simulations , images , pdfs , tracks your learning style etc. The licence is MIT.

Example prompts

  • “/learner-tracking”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Identify the learner: If they provide a name, convert it to a lowercase
  2. Initialize and enroll: Run init followed by enroll --course .
  3. Verify: Confirm that learners//courses//course.json

What it can do on your machine

Read from SKILL.md and the folder at commit 2e42b62. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Learner Tracking loads about 1.4k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 22 tokens; SKILL.md has 737 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~22
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from madhvantyagi/Gnos at commit 2e42b62, republished under its MIT licence (© madhvantyagi). 737 words, ~1,386 tokens.

Download SKILL.mdSave it as .claude/skills/learner-tracking/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
learner-tracking
description
Record what the learner does and adapt the course to it in real time.

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 name, 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.

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 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 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, stale, or invalid, fail before recording a new attempt or profile change. Derived Markdown views may be rebuilt from valid state; they never override it.

Show full SKILL.md (281 more words)Show less

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.

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. Use delete <id> only when the learner requests erasure.

© madhvantyagi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/learner-tracking of madhvantyagi/Gnos.

  • SKILL.md
  • references/adaptive-lifecycle.md
  • references/evidence.md
  • references/memory-categories.md
  • scripts/learner_state.py
  • scripts/memory_views.py

Open the folder on GitHubat commit 2e42b62

Compare with similar skills

Learner Tracking next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Learner Tracking compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Learner Tracking this skillmadhvantyagi/Gnos336—~1.4kAutomated safety check: PassMIT
Recordingcodewhale-hq/Codewhale41k—~540Automated safety check: PassMIT
Cost Trackingaffaan-m/ECC275k1 repos~1.3kAutomated safety check: PassMIT
Architecture Decision Recordsaffaan-m/ECC275k4 repos~1.8kAutomated safety check: PassMIT
Architecture Decision Recordsaffaan-m/ECC275k1 repos~863Automated safety check: PassMIT
Architecture Decision Recordsaffaan-m/ECC275k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Recording

    codewhale-hq/Codewhale

    Capture screenshots on registered computers, record on macOS or HarmonyOS, and manage saved captures.

    41k GitHub stars~540 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Cost Tracking

    affaan-m/ECC

    Track and report Claude Code token usage, spending, and budgets from the local ECC cost-tracker metrics log.

    275k GitHub starsUsed in 1 repo~1.3k tokens
    AI & LLM EngineeringAuto-check passed
  • Capture architectural decisions as numbered ADR markdown files in docs/adr/ with context, alternatives considered, consequences, and an index README.

    275k GitHub starsUsed in 4 repos~1.8k tokens
    DevelopmentAuto-check passed
  • 在Claude Code会话期间,将做出的架构决策捕获为结构化的架构决策记录(ADR)。自动检测决策时刻,记录上下文、考虑的替代方案和理由。维护一个ADR日志,以便未来的开发人员理解代码库为何以当前方式构建。

    275k GitHub starsUsed in 1 repo~863 tokens
    DevelopmentAuto-check passed
  • コーディングセッション中にアーキテクチャ決定を構造化ADRとして記録し、自動的に決定の瞬間を検出し、コンテキスト、検討された代替案、根拠を記録します。今後の開発者がコードベースの形成理由を理解するためのADRログを維持します。

    275k GitHub stars~1.1k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Tracking

    BuilderIO/agent-native

    Server-side analytics tracking with pluggable providers. An agent skill from BuilderIO/agent-native.

    7.1k GitHub stars~7.8k tokensUpdated today
    Backend & APIsAuto-check passed

More from madhvantyagi/Gnos

All 12 skills in this repo
  • Course Design

    madhvantyagi/Gnos

    Design and revise a course's goal, progression, prerequisites, and sources.

    336 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Course Viewer

    madhvantyagi/Gnos

    Show an enrolled course and its lessons. An agent skill from madhvantyagi/Gnos.

    336 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Khan Academy

    madhvantyagi/Gnos

    Find a Khan Academy video fast and add it only on a strong match.

    336 GitHub stars~814 tokensUpdated yesterday
    Auto-check passed
  • Lesson Design

    madhvantyagi/Gnos

    Develop the current topic into a connected lesson. An agent skill from madhvantyagi/Gnos.

    336 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Manim Voice Animation

    madhvantyagi/Gnos

    Make Manim teaching animations with narration and subtitles when motion helps a concept.

    336 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • PDF

    madhvantyagi/Gnos

    Turn lesson content into a PDF handout; render and check it before delivery.

    336 GitHub stars~881 tokensUpdated yesterday
    Auto-check passed

Questions about Learner Tracking

What does Learner Tracking do?

Record what the learner does and adapt the course to it in real time. Learner Tracking is an agent skill from madhvantyagi/Gnos. Record what the learner does and adapt the course to it in real time.

How do I install Learner Tracking in Claude Code?

Run `npx skills add madhvantyagi/Gnos --skill learner-tracking -a claude-code`. Or copy the skill folder (skills/learner-tracking in madhvantyagi/Gnos) into .claude/skills/learner-tracking in your project. Claude Code loads it when a task matches its description.

How do I install Learner Tracking in Codex?

Run `npx skills add madhvantyagi/Gnos --skill learner-tracking -a codex`. Or copy the skill folder (skills/learner-tracking in madhvantyagi/Gnos) into .agents/skills/learner-tracking in your project. Codex loads it when a task matches its description.

Can I use Learner Tracking in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add madhvantyagi/Gnos --skill learner-tracking -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/learner-tracking, .gemini/skills/learner-tracking, .github/skills/learner-tracking and .opencode/skills/learner-tracking in your project.

What does Learner Tracking need to run?

Going by SKILL.md and its folder, Learner Tracking needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Learner Tracking access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Learner Tracking safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Learner Tracking use?

Learner Tracking is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Learner Tracking use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.

What are the alternatives to Learner Tracking?

Skills that share tags, products or a category with Learner Tracking: Recording (codewhale-hq/Codewhale, 41k stars), Cost Tracking (affaan-m/ECC, 275k stars), Architecture Decision Records (affaan-m/ECC, 275k stars) and Architecture Decision Records (affaan-m/ECC, 275k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Learner Tracking?

madhvantyagi (a GitHub user) maintains it in madhvantyagi/Gnos, which has 336 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 7, 2026.

Source: madhvantyagi/Gnos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.