lesson CLAUDE.md

lesson CLAUDE.md is an instructions file for coding agents from OussemaBenAmeur/lesson. It costs 1,569 tokens per session, scanned A, original, MIT.

A set of instructions for an AI coding assistant that tracks what a learner understands across work sessions and writes lessons about recurring gaps.

In plain words
What is it for?
It is for maintaining a knowledge graph of concepts, recording evidence and its source, and generating step-by-step lessons without piling up unexplained jargon.
Why use it?
It helps explain unfamiliar concepts the learner repeatedly works around, using evidence from their sessions instead of relying on a fixed topic list.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/oussemabenameur/lesson/claude-md
Clone the repo
git clone --depth 1 https://github.com/OussemaBenAmeur/lesson

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for lesson CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/oussemabenameur/lesson/claude-md.svg)](https://agentmods.dev/instructions/oussemabenameur/lesson/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/oussemabenameur/lesson/claude-md"><img src="https://agentmods.dev/badge/instructions/oussemabenameur/lesson/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 1,569 This file is loaded in full into every session.
When invoked 1,569 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.01569 $0.01569
Opus 5 $0.00785 $0.00785
Sonnet 5 $0.00314 $0.00314
Haiku 4.5 $0.00157 $0.00157

Measured 5d ago against content hash 2c83068150c0, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

lesson CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 130 lines

How it starts

The opening of the file, as written. The whole thing — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.

lesson — AI Context

A Claude Code plugin that models the learner, not the session.

It watches how someone works, notices what they keep working around without ever learning, and writes them a proper lesson on one of those things — built from the ground up, never stacking jargon on jargon.

Rewritten from scratch on 2026-08-16. The previous design (v0.3, tag v0.3-graph-era) built a per-session knowledge graph from tool-call logs. It could not work: nothing in it ever created a concept or hypothesis node, so root-cause and misconception detection always returned nothing, and the shipping behaviour was an LLM reading a truncated tool log. Do not reintroduce per-session graphs, TF-IDF significance scoring, or arc.jsonl.

The model

Three layers, kept separate:

One knowledge graph is the entire memory. ~/.claude/lesson/graph.json. Dots are things a person can understand; arrows mean "you need this first". Every claim carries evidence, an observed/guessed tag, and provenance back to the session it came from. Schema: docs/knowledge-graph.md.

There is no fixed concept list. Concepts are infinite; any list we shipped would just be a list of things we thought of. The graph starts empty and grows via the match-first rule: before adding a node, read the existing nodes (titles and also_called) and reuse one if it fits. Skip that step and the same gap becomes five one-off nodes that never accumulate into anything.

Global and always-on. Not per-project. There is no session start/stop ritual, no active-session marker, no .claude/lessons/ inside target repos. All state lives in ~/.claude/lesson/.

Depth, not binary. Every concept sits at unknownawareworkingmechanistic. A lesson moves one concept up exactly one rung. This is how the same short concept list serves a beginner and a senior engineer.

Why the concept list exists

So the same gap gets the same name every time. Free-form naming produces "python virtual environments", "conda activation", and "pip inside Dockerfile" as three separate entries with a count of one each — when it is one gap hit three times, and no lesson ever fires.

Read the full file on GitHub · 130 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 130 lines · 1,569 tokens per session scan A 2c83068150c0

Subscribe to this mod's changes

lesson CLAUDE.md is an instructions file published in the GitHub repository OussemaBenAmeur/lesson (3 stars, last pushed 18d ago), licensed MIT. It adds 1,569 tokens to every session, about $0.0078 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.