Module structure
The AI gave nonsense. Most people hit retry. That's the most inefficient thing to do.
«AI ahmoq javob berdi. Aksariyat retry bosadi — bu eng samarasiz»First, you need to understand — WHAT exactly broke. Of the four machine properties (NTP, Knowledge, Working Memory, Steerability) — which one is in play? Without asking this question, every fix you make is a lottery. With it, it's a precise move instead of a generic retry. This is the final module: everything that came before — converges here.
Hook — retry doesn't work.Retry ishlamaydi
You asked Claude: "create a pygame lesson plan for a group of 10-year-olds, 80 minutes long." You got a long, beautiful, useless plan. Too academic, no games, no breaks, not suitable for 10-year-olds.
What will most mentors do? Hit ↑ and retry. Get similar nonsense. Hit again. Hit five times. Give up.
This is the most inefficient thing, you can do. Because retry is a lottery on the same broken input.
First, you need to understand — WHAT exactly broke. Steerability? (the instruction was vague). Knowledge? (the model doesn't know Uzbek pedagogy). Working Memory? (the context is filled with other conversations). When you name it — the fix takes 30 seconds. When you don't name it — the retry cycle takes an hour.
Three skills I'll check
- You apply 3 Diligence sub-components (responsible / transparent / accountable) — this is your public Mars Diligence statement in your mentor profile.
- You rewrite a wobbly instruction into a steerable one: “write soulfully” → specific, verifiable constraints that can be checked against the output.
- You apply a diagnostic framework to any unexpected AI response: you name which of the 4 properties is at play (NTP / Knowledge / Working Memory / Steerability), and you make a targeted fix instead of a generic retry.
Mental model — Steerability and Diligence.Steerability va Diligence
Two topics before we dive into practice. Steerability is about how to make AI do exactly what you want. Diligence is about who is responsible when AI makes a mistake. These are two different registers, and both are important.
1. Steerability — the spectrum of control
«The model follows your instructions the same way it does everything else: by continuing a pattern. That makes it remarkably steerable. It also means there's always a gap between what you intended and what landed, and most of the interesting failures live in that gap.»
The main idea: Steerability is a spectrum, not an on/off switch. Some types of instructions the model executes almost perfectly. Others drift dramatically. Knowing the boundaries is more important than whether “the model is smart or not.”
«Reasoning drift: small errors compound over long chains. Letter over spirit: instruction satisfied literally, intent missed. Prompt injection: unwanted/unsafe instructions in documents can be followed too.»
Wobbly → Steerable rewriting — the main practical consequence. You take your vague prompt and rewrite it into a verifiable constraints. Each such constraint is an anchor that the attention model latches onto.
«When an instruction is followed literally but uselessly, restate the goal. Repeating the instruction with more force won't close the gap.»
I'll translate: when an instruction is followed literally but uselessly — rephrase the goal, not the command. Hitting ↑ and writing “no, not like that, DO AS I SAID” is useless. Saying “my goal: a 10-year-old understands it on the first read, choose the format yourself” — that works.
2. Diligence — three sub-components of responsibility
«While the other competencies primarily address effectiveness and efficiency, Diligence addresses ethical and safety aspects that are equally crucial. Creation Diligence: being thoughtful about which AI systems you choose and how you work with them. Transparency Diligence: being open about AI's role in your work. Deployment Diligence: taking ownership for AI-assisted outputs you share with others.»
I'll translate these three into Mars mentor language — because in our context, each of them means a specific action:
“which AI and how”
“I check factual claims”
“AI was involved”
“I mark where I used it”
# draft co-written with Claude, edited by Marsel. In a message to a parent — if I used AI for translation: “translation done via Claude, meaning checked”.“I'm responsible for the output”
“I explain the error to the parent”
This isn't an abstraction. At the end of the module, you'll write your own Mars Diligence statement — the public part of the mentor's profile. An example is from Anthropic itself in their AI Fluency course overview (written about this very course):
«Throughout this process, Claude assisted one or more of the human authors with structural development, resource and exercise design, and content drafting, critiquing, editing and rewriting. The human authors wrote, designed, edited and provided continual vision, expertise, critical judgment, and domain knowledge and made all final decisions about both content and approach.»
Your sub-agents — from built-in to homework-checker.O'zingning sub-agentlaring
In Module 4, you learned that a sub-agent is work in an isolated context window. Here, you learn to create your own. The main goal: to compress repetitive work (checking homework, reviewing a Roblox map, analyzing an Olympic solution) into a single command.
Explore
Read-only, Haiku. For finding “where in the repo is X processed”. Returns paths + summary, doesn't edit. When: unfamiliar repo, finding an entry point.
Plan
Inherits model, read-only. Enabled in plan mode. Explores code, returns a plan of changes. When: before Edit started writing, the risk of breaking something is high.
general-purpose
All tools. Multi-step tasks with search + edits. When: you need to hand off an entire sub-task “into a clean context” and get the result.
«Subagents work best when the exploration is separate from the execution. If each step in a task depends on what the previous step discovered, you want that work in your main thread. But if you just need an answer and don't care about the journey, delegate it.»
Anti-patterns of sub-agents (verbatim from the same lesson):
“you are a Python expert”
“repro → debug → fix” as 3 sub-agents
“run tests in a sub-agent”
Custom sub-agent — how to create
Command /agents → Create new agent. Scope (project / user) → description (Claude will generate) → tools → model → color. The config is in .claude/agents/<name>.md.
«description — Controls when Claude decides to use the subagent. This must be a single line. If you want Claude to delegate tasks to the subagent without you explicitly asking, include the word "proactively" in the description field.»
description — this is not a description for you, this is Claude's signal for when to call. The word proactively in the description → Claude delegates on its own without an explicit call. Without it, you need to say “use homework-checker”.Mars-case — sub-agent homework-checker. Fully ready code from the Mars cheat sheet. Place it in ~/.claude/agents/homework-checker.md:
--- name: homework-checker description: Checks Mars students' homework — reads all .py files in the specified folder, provides a one-line summary per student. Use proactively when a mentor asks to check files in submissions/. tools: Read, Bash, Glob model: claude-haiku-4-5 --- You are a homework-checking mentor at Mars IT School. You will receive the path to a folder with a group's homework. For each .py file in the folder: 1. Read the file (Read tool). 2. Check: does it run (python3 -m py_compile). 3. Find 1 main error or 1 main good thing. 4. Output one line: “: . At the end — a general verdict for the group (one phrase) and one recommendation for what to review in the next lesson. DO NOT edit anyone's files. Do not give grades like “excellent” — only facts with a specific line of code.”
What's important in this snippet:
tools: Read, Bash, Glob— no Edit/Write. A sub-agent physically cannot corrupt someone else's code. This is Steerability through tool limitation — more reliable than any “do not edit”.model: claude-haiku-4-5— Haiku is enough for reading and comparison. Cheaper than Sonnet by ~5×. Use Haiku for read-only tasks without complex reasoning.proactivelyin the description — Claude will call it himself when you say “check homework in submissions/”.
What you'll get: 8 homework assignments in 5 minutes, one line per student, without manually reviewing 8 files. The effect accumulates — every week you save 1.5 hours. In a semester — two working days are free.
Agent Skills — progressive disclosure.Agent Skills — progressive disclosure
A Skill is a folder with instructions, which Claude finds and applies automatically when the task is suitable. It differs from a sub-agent in that it works in your current context, not in a separate one. It differs from CLAUDE.md in that it loads on demand, not always.
«A skill is a directory containing a SKILL.md file that contains organized folders of instructions, scripts, and resources that give agents additional capabilities. At startup, the agent pre-loads the name and description of every installed skill into its system prompt. This metadata is the first level of progressive disclosure: it provides just enough information for Claude to know when each skill should be used without loading all of it into context.»
Skills vs CLAUDE.md vs Sub-agents — when to use what
«CLAUDE.md loads into every conversation and is best for always-on project standards. Skills load on demand and are best for task-specific expertise. Subagents run in isolated execution contexts — use them for delegated work. Skills add knowledge to your current conversation.»
pygame-starterhomework-checkerPostToolUseMars-case — Skill pygame-starter
Goal: describe once how you prepare a pygame starter project for a group — and reuse it forever. Create it like this:
~/.claude/skills/pygame-starter/ ├── SKILL.md (level 2 — main steps) ├── templates/ │ ├── basic-window.py (level 3 — for 7-9 years old) │ └── basic-game-loop.py (level 3 — for 10-12 years old) └── examples/ └── snake-7-9.py (level 3 — sample)
Self SKILL.md:
--- name: pygame-starter description: Creates a pygame project starter for Mars classes. Use when a mentor asks to “make a pygame game starter” or specifies the age of children 7-14. --- # Pygame starter for Mars children's groups ## When to use Mentor prepares a template for a new pygame lesson. ## Steps 1. Ask for the children's age (if not specified in the prompt). 2. If 7-9 — take templates/basic-window.py as a base. No classes, variable names in Russian-Latin (igrok, vrag). See examples/snake-7-9.py for style example. 3. If 10-12 — take templates/basic-game-loop.py. Simple classes are okay. English names. 4. If 13+ — custom structure, OOP ok. 5. Always comment in Russian. 6. Place the result in the current folder as lesson-NN-<topic>.py.
What will happen: you'll say “make a pygame starter for 8-year-olds, topic — catch the apple”. Claude will see the description, understand that the skill is applicable, read SKILL.md (level 2), see the link to templates/basic-window.py, read it (level 3), make lesson-03-catch-apple.py. Without a skill — that's 15 clarifying questions. With a skill — one phrase.
Sharing — Mars team repo
You can keep Skills personally (~/.claude/skills/ (with all your projects) or as a team (.claude/skills/ in the Mars repo (everyone who cloned the repo gets them automatically). Mars team skills: kid-lesson-plan, parent-message-rus-uz, roblox-map-reviewer. Agree once, and all mentors use them.
«We recommend installing skills only from trusted sources.» A Skill is an instruction that Claude will execute without your review. A third-party skill from the internet might direct the agent to read files or hit external URLs. Mars-skills from the .claude/skills/ Mars team repo — yes, you see them in git. For a random third-party skill — read the files first, then install it.
Diagnostic framework — the central artifact of the course.Diagnostic framework — kursning markazi
This is the most important technique of the entire course. For any unexpected AI response — don't hit retry. First, name which property broke. Then the fix will be obvious.
«The four properties don't operate in isolation. Most real failures are two of them intersecting. Once you can name which two, you know which fix to reach for. Naming the properties at play points you straight to the fix: verify specifics, re-supply context, offload to code execution, or invite pushback. This diagnostic move is Discernment applied.»
Mars Operator Algorithm
— not a generic retry │ precisely the fix that repairs precisely that propertyThe main rule:
if you can't name the property — don't make a fix. Retrying without a diagnosis is a lottery, and you lose reputation for the agent in your own eyes. A 30-second pause + diagnosis is better than a 30-minute retry cycle.
AI invented the name of a non-existent Uzbek book
AI forgot a child's allergy from 40 turns ago
CLAUDE.md via /memory. Or a new chat with this in the system.letter-over-spirit: "briefly" is unverifiable
reasoning drift on a long chain
true facts "faded out", hallucination on top
/compact + Explore sub-agent to the correct file. Fresh facts into context.native precision — arithmetic zone limitation
sycophancy — the "agreeing" pattern is stronger than truth
Below are three Mars-failure scenarios. For each, guess: which property is at play? NTP / Knowledge / Working Memory / Steerability. Write down your three answers on a piece of paper — then compare them with the breakdown.
Demo — Zuhra's three fails, three diagnoses.Zuhra'ning uchta fail'i, uchta tashxis
Zuhra, a Python mentor from Yunusabad, is preparing a lesson. In her work session, there are three instances where Claude produced nonsense. Each is a different property. Each is a different fix. This is the diagnostic framework in action.
Scenario 1 · 16:20 · Steerability fail
› write a short lesson plan on pygame for a 10-year-old group ⠋ generating… ✓ answer ready (1840 words, 12 sections, academic tone) ⚠ Zuhra: "short" NOT fulfilled. 1840 words is "long".
Diagnosis: Steerability — letter-over-spirit. "Short" is an inexpressible instruction. The model doesn't have a general concept of "short", so it interpreted it as "structured". This is NOT a Knowledge fail and NOT Working memory — this is about steerability.
Targeted fix: wobbly → steerable. Verifiable constraint.
› rewrite: 4 blocks of 20 minutes, each block described in 50 words, without academic terms (for 10-year-olds), final game — Pong. ✓ answer: 200 words, 4 blocks, readable, understandable for a child
Scenario 2 · 17:05 · NTP + Knowledge fail
› suggest 3 books by Uzbek authors on children's programming as gifts for the best students ✓ answer: 1. Muhammad Aliyev. "Algorithms for the Young" (2019) 2. Dilnara Usmanova. "Programming from Scratch". Tashkent, 2021 3. Sherzod Karimov. "Python for Schoolchildren". Chorsu, 2020 ⚠ Zuhra Googles the first one — no such book. Second ISBN — no. Third — no. All three are made up. With a confident tone.
Diagnosis: NTP + Knowledge collision. Uzbek children's IT literature — sparse pattern in the training data. The model doesn't know real names → NTP generated "sounds plausible" (Russian-Uzbek names + typical titles + Tashkent context). With full confidence. This is the most insidious fail — looks correct.
Targeted fix: no retry. Give context or honestly ask to say "I don't know.
› If you are unsure, say directly "I don't know." Don't invent names. If there is little data, advise where to look (publishers, libraries of Tashkent). ✓ answer: I don't know any verified Uzbek books on this topic. I recommend: National Library of Uzbekistan, Akademnashr catalog, Russian translations — "Hello Ruby"...
Scenario 3 · 20:14 · Working Memory fail
› Suggest a snack for the group for the next session. ⠋ I offer: mixed nuts, chocolate bars, peanut butter cookies, fruit... ⚠ In the Anvar group — peanut allergy. Zukhra wrote about this 40 turns ago. Claude forgot.
Diagnosis: Working Memory — lost in the middle. The fact about the allergy was discussed 40 turns ago, in the middle of the window. Attention there is now weak. This is NOT "AI irresponsible" — this is technical rot.
Targeted fix: repeat constraint in the current prompt + add to CLAUDE.md to survive /compact.
› /memory → open ~/mars/lessons/CLAUDE.md # IMPORTANT — permanent restrictions for group 5-B: # - Anwar: peanut allergy (no nut products) - Malika: lactose (dairy-free) › Keep in mind the allergies from CLAUDE.md, offer a snack. ✓ answer: fruits, milk-free marmalade, rice cakes, dried fruits WITHOUT nuts (raisins, dried apricots). Allergies taken into account: peanuts (Anvar), lactose (Malika).
The result of three scenarios. One conversation with Zuhra, three different fails. Without a diagnostic framework, she would retry all three the same way. With it — three different fixes, three minutes for each. This is what discernment applied.
How it looks for Timur (Python Olympus 12–14, Chilanzar)
Timur has a different set of recurring tasks: analyzing an Olympic solution and preparing C++ starters. He's building two its artifact:
Sub-agent olymp-solution-reviewer — reads the student's solution and the reference from their repo ~/olymp-prep/, returns 3 lines: "complexity ok / ok but 2 suboptimal places / TLE - a completely different approach needed". Tools: Read, Bash (for running tests). Model: haiku. It's in .claude/agents/ command repo — all 4 mentors of the Mars olympic direction use it.
Agent Skill competitive-programming-cpp-starter — a starter C++ file with typical includes, fast IO, reading N test cases. It's located in ~/.claude/skills/. When Timur says "make a starter for a prefix sum task" — the skill activates, providing the correct template, without 10 clarifying questions.
Same two tools, different subject area. Timur's diligence statement is separate, written for an Olympiad context: "I check reference solutions with fresh tests, AI-generated code — I compile and run before publishing to students.
Exercise — 3 probe ship-it.Uchta probe — ship-it
This is the final stage of the course. Don't just "try" — build. By the end, you'll have: one working custom sub-agent, one skill, and a public Diligence statement in your ~/.claude/CLAUDE.md.
Create a ~/.claude/agents/homework-checker.md
The template is already in the course cheat sheet. Adapt it to your stack (Python / JS / Roblox Lua).
- Run
claude→/agents→ Create new agent → user-level. Description: "checks group homework, reads all files, provides a summary for each student." - Once Claude generates it, open the file and fix:
tools: Read, Bash, Glob(without Edit/Write),model: claude-haiku-4-5, and add to the description:proactively. - Create a test folder
/tmp/test-homework/with 3 fake .py files (one with an error, two working). - Run: "check homework in
/tmp/test-homework/." Record: did it work automatically? If not, add more specifics to the description.
Create a ~/.claude/skills//SKILL.md
A minimal skill is one folder, one file. Take something you repeat: a lesson plan format, a message format for a parent, a starter for some type of project.
mkdir -p ~/.claude/skills/lesson-plan-80min(or your name).- Create a
SKILL.mdwith frontmatter:name,description(what and when). The description should clearly answer: what it does + when it applies. Without this, Claude won't pick it up. - Body — 5-10 steps, how you do it yourself. Not theory — your procedure.
- Restart claude (skills load on startup). Say "create an 80-minute lesson plan, topic X" — Claude should offer to activate the skill.
Write and put it in your ~/.claude/CLAUDE.md
The example is from Anthropic's own review of their AI Fluency course (we cited it above). Yours will be shorter and more specific. This is the public part your Mars mentor profile.
- Open
~/.claude/CLAUDE.md. Add a section:## Mars Diligence statement (mentor name, date) In my work, I use Claude: - Preparing starter code: full delegation, I check the diff before committing. - Checking homework: a sub-agent homework-checker provides facts, I write the evaluations and feedback. - Lesson plan: co-creation. Structure — Claude, content — me. - Parent communication regarding conflict: I do NOT use AI. This is human communication, I respond directly. ## Responsible · Transparent · Accountable - I manually verify factual claims (dates, facts, names). - Material where AI participated is marked "co-written with Claude". - I am responsible for any error that reaches a child or parent.
- Commit to your dotfiles (if you maintain them). Send a screenshot of the section to the course chat.
Before you check yourself — pause for 60 seconds
These answers stay with you — we don't submit them. These are anchors that prevent the module from becoming "read and forgotten."
Quiz — 3 apply questions.3 ta amaliy savol
The final three questions of the course. Not for memorization — for application. If you make a mistake in one, return to the corresponding section.
AI generated a lesson plan with outdated Python information (using print without parentheses — Python 2 syntax). You didn't notice. The child went home, tried it — error. A parent wrote to you with a complaint. Who is responsible for this error?
Which of the two instructions is steerable (reliably executable, within capability)?
You gave the agent a huge task: "break down ~/mars/src/ into modules, refactor imports, rewrite tests." The agent is flailing, reading 30 files, getting lost. What should you do?
Plan to a sub-agent — it will explore the repo in its own context and return a breakdown plan. Then the main agent works step-by-step/compact to free up contextPlan sub-agent reads 30 files in its own window, returns a 1-2K plan — main context is clean. A — if you add a prompt, the noise will only increase. C — /compact won't help if you don't understand what to do; compressing an empty task = an empty task. D — loss of progress, and a new session will repeat the same mistake without a plan./agents, /compact, /memory, sub-agents, SKILL.md templates
Course completion — you've made it.Kurs yakuni — sen o'tding
Mars AI Operator
When you teach kids AI — now you have the language
Mars is preparing a children's version of this course — for students aged 12–16 who are already working in Claude Code in classes. You are the pilot. When a child asks "what's wrong with it, why is it hallucinating?" — you have the precise words. NTP / Knowledge / Working Memory / Steerability. This is your next role.
Want to go deeper? Original Anthropic Academy courses — each free, 1–2 hours long:
- AI Fluency: Framework & Foundations (Rick Dakan + Joseph Feller + Anthropic) — full 4D version, broader than coding.
- AI Capabilities and Limitations — deeper dive into the 4 properties of the machine.
- Claude Code 101 and Claude Code in Action — focus on CLI and daily workflow.
- Introduction to Subagents and Introduction to Agent Skills — full courses on custom sub-agents / skills.
- Introduction to Claude Cowork — for teams sharing context.
Attribution and License
This module is adapted by Mars IT School (2026) based on:
— «AI Capabilities and Limitations» — Anthropic Academy, 2026 (lessons 10–13 — Steerability, When properties collide, Next steps).
— «Introduction to Subagents» — Anthropic Academy, 2026 (all 4 lessons — built-in, custom, design, effective use).
— «Introduction to Agent Skills» — Anthropic Academy, 2026 (all 6 lessons — what is a skill, creation, configuration, vs other features, sharing, troubleshooting).
— «AI Fluency: Framework & Foundations» — Dakan, Feller, Anthropic, 2025 (CC BY-NC-SA 4.0) — Diligence sub-components, AI diligence statement sample.
— «AI Fluency for Educators» — Dakan, Feller, Anthropic, 2025 (lesson 4) — Diligence in an educational context.
— Anthropic Engineering Blog «Equipping agents for the real world with Agent Skills» (Oct 16, 2025) — progressive disclosure verbatim.
Our adaptation is CC BY-NC-SA 4.0. You can copy, remix, and use it in teaching — with attribution to Mars IT School and keeping the same license.