Agent skill

Lesson Design

by madhvantyagi in madhvantyagi/Gnos

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

MITAuto-check passedEducation

Install Lesson Design

skills CLI
$ npx skills add madhvantyagi/Gnos --skill lesson-design -a claude-code

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

GitHub CLI
$ gh skill install madhvantyagi/Gnos lesson-design --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/lesson-design .claude/skills/lesson-design && 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
lesson-design
GitHub stars
339
Token cost
~2.4k tokens
SKILL.md length
1,203 words
Files
9 (incl. scripts, references)
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 4 steps: Read the current topic → Write the skeleton in reasoning order → Brief each delegated block → …
  • Education work in your project
  • SKILL.md covers 0. Read the current topic, Decide each representation, 1. Write the skeleton in… and 2. Brief each delegated block, plus 1 more section
  • Runs Python scripts from its folder; calls python3

What it does

Lesson Design is an agent skill from madhvantyagi/Gnos. Develop the current topic into a connected lesson. Choose complementary representations, review each block, register its artifacts, and publish lesson.json.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `references/lesson-contract.md`, `references/lesson-design.md` and `references/representation-choices.md`).

It sits in Education. 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.

When your agent uses it

  • Education work in your project

Example prompts

  • “/lesson-design”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Read the current topic
  2. Write the skeleton in reasoning order
  3. Brief each delegated block
  4. Run workers, then merge

What it can do on your machine

Read from SKILL.md and the folder at commit 040fa15. 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

Lesson Design loads about 2.4k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 43 tokens; SKILL.md has 1,203 words of instructions outside code blocks.

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

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 040fa15, republished under its MIT licence (© madhvantyagi). 1,203 words, ~2,403 tokens.

Download SKILL.mdSave it as .claude/skills/lesson-design/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
lesson-design
description
Develop the current topic into a connected lesson. Choose complementary representations, review each block, register its artifacts, and publish lesson.json.

Lesson design

Build only the lesson for the current topic. The course is already enrolled and designed by course-design. Do not rebuild the course here.

Start here after course-design has enrolled the course. If there is no enrolled learners/<learner>/courses/<course-id>/course.json, stop and return to course-design. Return there for a new concept, source, or topic boundary. Choose media and develop explanations here; those choices alone do not require a course revision unless the topic has a binding representation plan.

0. Read the current topic

Read these before writing anything:

  1. The enrolled course.json: depth, length, current.{chapter_id, topic_id}, and that topic's optional representations[], skill_routes, concepts, and teacher.
  2. The subject guide through skills/subject/SKILL.md. It says what learners in this field must inspect.
  3. The lesson contract. It defines lesson.json.
  4. Representation choices. Use it to choose a medium for each teaching job.
  5. The artifact manifest. Only the coordinator writes it.

For a core concept or an unverified prerequisite that Khan Academy can explain at the needed level, use the Khan Academy skill to inspect an exact item before choosing it. A prerequisite clip should repair one gap and lead straight back to this topic. A main-topic clip should sit between a specific prediction and GNOS's own explanation or changed example. Use Khan for an important section when it fits, and reuse it only when a later section needs that exact content. Read its selection reference to distinguish target-topic coverage from prerequisite-only coverage. Keep diagrams, code, derivations, simulations, and other forms where they serve the remaining reasoning. Do not add a generic resource list or assume watching proves understanding.

depth and length were agreed during course design. Use them to decide how far to develop the reasoning and each representation. A survey needs a carefully chosen central case; working depth needs application under changed conditions; mastery needs closer examination of assumptions and limits. Choose complementary forms for those jobs, including within one concept. Duration alone neither requires more media nor limits a useful combination.

Decide each representation

Choose the block type while drafting the reasoning. Write one sentence per block before you build it:

"The learner must inspect, change, hear, compare, derive, or practice ___."

Give each representation a distinct teaching job. Several forms can develop one concept: a video can demonstrate a relation, a diagram can keep its parts inspectable, and a simulation can test a changed input. Remove repetition that adds no new explanation, observation, or practice.

Representation kindLesson block type
manimvoice-animation
imagediagram or artifact
diagramdiagram or artifact
simulationinteractive-graph or simulation
pdfartifact
textexplanation, bullets, equation, code, source
exerciseexercise
khankhan-video
Khan Academy article or exercisesource

For a mathematical graph, follow the selection rules in representation choices and use JSXGraph when they fit. Declare its production route in the lesson as with the other media skills. It uses the existing interactive-graph or simulation blocks; the graph library does not add a new representation kind.

When the topic has a representation plan, bind a block to the matching entry with representation_id and keep its concept, purpose, kind, and skill route. For a topic without that plan, choose the medium during lesson design. In either case, put a Khan video in its own khan-video block with a prompt tied to this lesson's concept and the next learner action. Check the actual segment before publishing and follow it with GNOS's own example or exercise. If a planned representation is wrong, revise and validate course.json before changing the lesson.

1. Write the skeleton in reasoning order

A lesson.json holds id, course_id, chapter_id, topic_id, readable title, observable purpose, concepts from the topic, the topic's teacher (or null), skill_routes carrying the topic guidance and chosen media producers, assumptions, ordered blocks, detailed exercises, publication (draft, ready, or archived), and real UTC timestamps.

Order blocks by reasoning, not by file type. A good order names the claim, lets the learner inspect its changing parts, then asks for a prediction. When a topic has a representation plan, use its approved media or revise that plan. Without a plan, choose the media that teach the current concept.

Validate the skeleton and publish it as draft before producing files. The draft gives every artifact a real lesson ID:

bash
python3 skills/course-design/scripts/validate_lesson.py lesson.json \
  --course learners/<learner>/courses/<course-id>/course.json
python3 skills/course-design/scripts/course_workspace.py publish \
  learners/<learner>/courses/<course-id> --lesson lesson.json
Show full SKILL.md (500 more words)Show less

2. Brief each delegated block

For schema version 2, give every block a complete production brief, including blocks the coordinator writes. The brief preserves the teaching decision. Read the worker packets for per-kind wording. Each brief names:

  • skill_route: declared by the lesson. Honor the topic route when a binding representation specifies it.
  • brief: one bounded job. Name the object, relation, label, control, or check the worker must produce.
  • must_include: every item the worker must show.
  • continuity: terms, symbols, colors, direction, units, names, and dates the worker must keep from earlier blocks.
  • acceptance_checks: how you will check the result.
  • depends_on_block_ids: earlier blocks needed for this block; use [] when none.

Carry one concrete case through related blocks. Put its exact values, source passages, assumptions, notation, and visual meaning in continuity. State what the next view adds: a diagram exposes a relation, a trace explains its order, or a control tests a changed condition. Do not make workers invent a fresh example to fill missing context.

Use build_block_context.py to compile the assigned block and its earlier dependencies without rewriting the lesson:

bash
python3 skills/lesson-design/scripts/build_block_context.py lesson.json \
  --course learners/<learner>/courses/<course-id>/course.json --block <block-id>

The packet is private production context. Attach accepted media exports when a dependency uses them; the script cannot establish that a file was inspected.

Do not write "make it clear", "make it engaging", or "add context". Those words test nothing.

3. Run workers, then merge

Run multi-agent execution for each file-producing block.

Delegate long explanations or worked code when they benefit from focused production. Keep short explanations, transitions, and notation yourself.

Give each worker only its block, its course representation, the selected subject guidance, shared continuity rules, and required source material. Workers write to separate output paths. They return a completed block fragment or artifact plus its registration payload. They never edit course.json, lesson.json, or manifest.json.

Check every result against its acceptance checks. Reject a result that breaks the brief or continuity. Revise a medium or block purpose here; return to course design for a new concept, source, or binding representation. A worker proposes a change instead of silently returning a different artifact.

Only the coordinator updates the artifact manifest. Register finished artifacts one at a time and refresh the fingerprint between writes:

bash
python3 skills/course-design/scripts/manage_artifact.py --learners-root learners \
  register <learner-id> <course-id> --file artifact.json

After reviewing the assembled explanation and artifacts, write the design_receipt specified in the lesson contract using the current course fingerprint. Then validate the lesson, set it to ready, publish it with course_workspace.py publish, and re-render the course page:

bash
python3 skills/course-viewer/scripts/render_viewer.py learners/<learner>/courses/<course-id>

If the learner has requested or approved viewing, give the fresh portal/ link with what to inspect. Otherwise return to the orchestrator's show question. Teach directly in chat while the learner is actively interacting. The formal lesson still captures the topic for the portal. When evidence changes the route itself, send the change to course-design with the reason so it lands in revision_notes. See skills/learner-tracking/SKILL.md for the adaptive step.

Use validate_lesson.py, course_workspace.py publish, and manage_artifact.py register for publication. The context compiler is an authoring aid. The workspace, the plan validator, and the manifest live in skills/course-design/scripts/; call them by those paths.

© 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 8 other files (scripts, references) in skills/lesson-design of madhvantyagi/Gnos.

  • SKILL.md
  • references/lesson-contract.md
  • references/lesson-design.md
  • references/representation-choices.md
  • references/simulation-design.md
  • references/worker-brief.md
  • scripts/build_block_context.py
  • scripts/visual_levels.py
  • templates/simulation.html

Open the folder on GitHubat commit 040fa15

Compare with similar skills

Lesson Design 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.

Lesson Design compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lesson Design this skillmadhvantyagi/Gnos339—~2.4kAutomated safety check: PassMIT
DeepTutor CLIHKUDS/DeepTutor41k—~2.8kAutomated safety check: PassApache-2.0
AI Engineering Placement Quizrohitg00/ai-engineering-from-scratch66k—~2kAutomated safety check: PassMIT
Deep Reading Analystginobefun/deep-reading-analyst-skill3544 repos~3.6kAutomated safety check: PassMIT
OpenMAIC Setup and ExtensionTHU-MAIC/OpenMAIC40k—~1.7kAutomated safety check: NotesMIT
Codebase to Coursezarazhangrui/codebase-to-course5.7k—~4.4kAutomated safety check: PassNone

Similar skills

  • DeepTutor CLI

    HKUDS/DeepTutor

    Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.

    41k GitHub stars~2.8k tokensUpdated 2 days ago
    EducationAuto-check passed
  • AI Engineering Placement Quiz

    rohitg00/ai-engineering-from-scratch

    Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.

    66k GitHub stars~2k tokensUpdated today
    EducationAuto-check passed
  • Deep Reading Analyst

    ginobefun/deep-reading-analyst-skill

    Comprehensive framework for deep analysis of articles, papers, and long-form content using 10+ thinking models (SCQA, 5W2H, critical thinking, inversion, mental models, first principles, systems…

    354 GitHub starsUsed in 4 repos~3.6k tokens
    EducationAuto-check passed
  • Guides setup, classroom generation and secondary development for OpenMAIC, the multi-agent interactive classroom, one confirmed phase at a time.

    40k GitHub stars~1.7k tokensUpdated today
    EducationAuto-check: notes
  • Codebase to Course

    zarazhangrui/codebase-to-course

    Turns a codebase into an interactive single-page HTML course for non-technical learners, with scroll modules, animated diagrams, quizzes and plain-English code translations.

    5.7k GitHub stars~4.4k tokensUpdated 6 mo ago
    EducationAuto-check passed
  • Zhang Xuefeng Perspective

    alchaincyf/zhangxuefeng-skill

    Answers education and career questions in the voice of Zhang Xuefeng, looking up current employment and admissions data before giving a direct verdict.

    10k GitHub stars~2.6k tokensUpdated 1 mo ago
    EducationAuto-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.

    339 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Course Viewer

    madhvantyagi/Gnos

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

    339 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Khan Academy

    madhvantyagi/Gnos

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

    339 GitHub stars~814 tokensUpdated today
    Auto-check passed
  • Learner Tracking

    madhvantyagi/Gnos

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

    339 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Manim Voice Animation

    madhvantyagi/Gnos

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

    339 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • PDF

    madhvantyagi/Gnos

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

    339 GitHub stars~881 tokensUpdated today
    Auto-check passed

Categories

Questions about Lesson Design

What does Lesson Design do?

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

When should I use Lesson Design?

Lesson Design fits situations like: education work in your project.

How do I install Lesson Design in Claude Code?

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

How do I install Lesson Design in Codex?

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

Can I use Lesson Design 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 lesson-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lesson-design, .gemini/skills/lesson-design, .github/skills/lesson-design and .opencode/skills/lesson-design in your project.

What does Lesson Design need to run?

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

Does Lesson Design 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 Lesson Design 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 Lesson Design use?

Lesson Design 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 Lesson Design use?

About 2.4k tokens (SKILL.md is roughly 9.6k 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 15k tokens, read only when the agent opens those files.

What are the alternatives to Lesson Design?

Skills that share tags, products or a category with Lesson Design: DeepTutor CLI (HKUDS/DeepTutor, 41k stars), AI Engineering Placement Quiz (rohitg00/ai-engineering-from-scratch, 66k stars), Deep Reading Analyst (ginobefun/deep-reading-analyst-skill, 354 stars) and OpenMAIC Setup and Extension (THU-MAIC/OpenMAIC, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lesson Design?

madhvantyagi (a GitHub user) maintains it in madhvantyagi/Gnos, which has 339 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 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.