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 properties of the machine (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 it again. Hit it 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 in play (NTP / Knowledge / Working Memory / Steerability), and you perform 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 the AI makes a mistake. These are two different registers, and both are important.
1. Steerability — the spectrum of control
In plain English: the model executes instructions in the same way it does everything else — by continuing a pattern. This makes it very steerable. And this also means there's always a gap between “what you wanted” and “what came out.” Most interesting failures live precisely in this 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.”
Three typical Steerability failures: (1) reasoning drift — small errors accumulate over a long chain of steps; (2) letter over spirit — the instruction is executed literally, but the meaning is missed (“shorten the email” → cut off the bottom half, which contained the main idea); (3) prompt injection — the model obeyed a command from a document, not from you. Knowing the names of these failures is more important than “improving the prompt.”
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, rephrase the goal, not the command. Pressing ↑ and writing "no, not like that, DO AS I SAID" is useless. But "my goal: a 10-year-old understands on first reading, choose the format yourself" - that works.
2. Diligence — three sub-components of responsibility
Three components of Diligence — three different places where you take responsibility: (1) Creation — which AI you chose and how you work with it; (2) Transparency — openly tell people that AI was involved; (3) Deployment — you are responsible for what goes out.
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 AI was used for translation: "translation done via Claude, meaning checked.""I'm responsible for the output"
"I explain the error to the parent"
This is not an abstraction. At the end of the module, you will write your own Mars Diligence statement — the public part of the mentor's profile. An example is from Anthropic itself in the AI Fluency course overview (written about this very course):
Example of specificity: not "AI helped" generally — but what exactly AI did (structure, exercises, draft, editing) and what's left for the human (vision, critical judgment, domain knowledge, final decisions). Without this structure, it's not a Diligence statement, but an excuse.
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: compress repetitive work (checking homework, reviewing a Roblox map, analyzing an Olympiad solution) into one 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 for changes. When: before Edit started writing, high risk of breaking things.
general-purpose
All tools. Multi-step tasks with search + edits. When: you need to give a whole subtask "into a clean context" and get the result.
The one-question rule: "do I need a search log or just the answer?" If you need a log (each step depends on the previous one) — main thread. If you only need the answer — sub-agent. This is the only criterion according to Anthropic.
Sub-agent anti-patterns — when it's better NOT to use them:
"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.
The main practical advice: description — this is not a description for you, it's a signal to Claude when to call. The word proactively in description → Claude delegates automatically without explicit invocation. Without it, you'd 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 for Mars IT School. You will receive the path to a folder containing a group's homework. For each .py file in the folder: 1. Read the file (Read tool). 2. Check if it runs (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 specific lines 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" instruction.model: claude-haiku-4-5— Haiku is sufficient for reading and comparison. Cheaper than Sonnet by ~5×. Use Haiku for read-only tasks without complex reasoning.proactivelyin description — Claude will call it automatically 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. Over a semester — two working days 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.
The main idea is progressive disclosure (gradual revealing). Not "everything in context always" (like CLAUDE.md), but 3 levels: (1) metadata (name + description) — always in the system prompt; (2) body SKILL.md — loaded only when Claude decides the skill is applicable; (3) additional files — read on-demand when SKILL.md refers to them.
Skills vs CLAUDE.md vs Sub-agents — when to use what
Triple division: CLAUDE.md = always-in-context rules (language, conventions, what not to touch). Skill = task-specific procedure, loaded when applicable. Sub-agent = isolated context for delegated work. Not "choose one" — combine them.
pygame-starterhomework-checkerPostToolUseMars-case — Skill pygame-starter
Goal: describe once how you prepare a pygame starter project for a group — and reuse it forever. You 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)
The Skill itselfSKILL.md:
--- name: pygame-starter description: Creates a pygame starter project for Mars classes. Use when a mentor asks to "make a pygame game starter" or specifies children's age 7-14. --- # Pygame starter for Mars children's groups ## When to use A 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 a style sample. 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), and create 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. Once agreed, all mentors use them.
Only install skills from trusted sources.A Skill is an instruction that Claude will execute without your review. A foreign skill from the internet can direct the agent to read your files or ping external URLs. Mars-skills from the .claude/skills/team repo are fine, you see them in git. For a random foreign 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 main thing:most real failures are the intersection of two properties, not just one. When you name which two — the fix becomes obvious. This is Discernment in action. The entire 4D × 4 properties machine comes together here.
Mars operator algorithm
Main rule:if you can't name the property, don't fix it. Retrying without a diagnosis is a lottery, and you lose agent reputation in your own eyes. A 30-second pause + diagnosis is better than a 30-minute retry cycle.
Typical fail → which property → targeted fix
generated “sounds plausible” in the sparse pattern zone
lost in the middle — context faded
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 on the necessary file. Fresh facts into context.native precision — arithmetic zone limitation
sycophancy — the "agree" 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 with the analysis.
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 working session, Claude produced nonsense in three places. Each was a different property. Each was a different fix. This is the diagnostic framework in action.
Scenario 1 · 16:20 · Steerability fail
› write a brief lesson plan on pygame for a group of 10-year-olds ⠋ generating… ✓ answer ready (1840 words, 12 sections, academic tone) ⚠ Zuhra: "briefly" NOT fulfilled. 1840 words is "long."
Diagnosis: Steerability — letter-over-spirit. "Briefly" is an inexpressible instruction. The model doesn't have a general concept of "briefly," 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 a gift 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 ⚠ Zukhra googles the first one — no such book. Second ISBN — no. Third — no. All three are fictional. 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: do not retry. Give context or honestly ask to say "I don't know".
› If you're unsure, say "I don't know" directly. Don't invent names. If there's 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 meeting I offer: mixed nuts, chocolate bars, peanut cookies, fruit... ⚠ In Anvar's group, there's a 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 accounted for: peanuts (Anvar), lactose (Malika).
Outcome 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 it. discernment applied.
How this looks for Timur (Python Olympus 12–14, Chilanzar)
Timur has a different set of recurring tasks: analyzing an Olympiad solution and preparing C++ starters. He's building two your 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. This is a quick start guide for the Claude Code project.
The goal of Claude Code is to create a fully autonomous AI agent that can develop, test, and deploy software.
The project is structured as follows:
* **CLAUDE.md**: This file describes the overall architecture of the Claude agent.
* **AGENTS.md**: This file describes the individual agents and sub-agents that make up the Claude agent.
* **MarsCode**: This is the main directory for the Claude Code project. It contains the source code for the Claude agent and its sub-agents.
## Getting Started
To get started with Claude Code, you will need to have the following installed:
* Python 3.8 or later
* Poetry (for dependency management)
Once you have these installed, you can clone the repository and install the dependencies:
```bash
git clone https://github.com/your-username/claude-code.git
cd claude-code
poetry install
```
## Running the Claude Agent
To run the Claude agent, you can use the following command:
```bash
poetry run python -m marscode.main
```
This will start the Claude agent, which will then begin to develop, test, and deploy software.
## Interacting with the Claude Agent
You can interact with the Claude agent through its terminal interface. The terminal will display the agent's current status, as well as any output from its sub-agents.
You can also send commands to the Claude agent through the terminal. For example, you can tell the agent to create a new project, or to deploy an existing project.
## Contributing to Claude Code
We welcome contributions to Claude Code! If you would like to contribute, please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.
## License
Claude Code is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information. .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.
The same two tools, a 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 it before publishing to students."
Exercise — 3 probe ship-it.Uchta probe — ship-it
This is the course finale. 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, summarizes for each student." - When Claude generates it — open the file, fix:
tools: Read, Bash, Glob(without Edit/Write),model: claude-haiku-4-5, in the description addproactively. - 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 itself in their AI Fluency course review (we quoted it above). Yours will be shorter and more specific. This is public part of your Mars mentor profile.
- Open
~/.claude/CLAUDE.md. Add the section:## Mars Diligence statement (mentor name, date) In my work, I use Claude: - Preparing starter code: full delegation, checking diff before commit. - Checking homework: sub-agent homework-checker provides facts, I write evaluations and feedback. - Lesson plan: co-creation. Structure — Claude, content — me. - Message to parent regarding conflict: I DO NOT use AI. This is human communication; I respond directly. ## Responsible · Transparent · Accountable - Factual claims (dates, facts, names) are manually verified. - 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 get one wrong, 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 came home, tried it — error. A parent wrote to you with a complaint. Who is responsible for this error?
Which of the two instructions 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 — the main window is clean. A — if you add a prompt, there will be more noise. C — /compact won't help if you don't even know what to do yourself. 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 final — you've passed.Kurs yakuni — sen o'tding
Mars AI Operator
When you teach children 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 with Claude Code in their classes. You are the pilot. When a child asks, “What’s wrong with it? Why is it hallucinating?” – you’ll 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 education – with attribution to Mars IT School and retaining the same license.