agentleFS
crissmoldovancrissmoldovan/agent-skills/skills/coding-teacher/SKILL.md

coding-teacher

Skill2 starsChanged 47 days agoMITView on GitHub

Teach how a project's technologies and architecture work, in plain language, to someone from another field: ask or infer the learner's background, explain each idea with a comparison from their own work whose mechanism matches and that says where it stops matching, ground every claim about the project in its real files, and go one level deeper each time they ask. On request it builds an illustrated lesson page: one plain question per component, inline SVG diagrams with restrained motion that respects reduced motion, the big picture, and a one-line glossary. Symptoms: explain this to me, teach me how this works, what is X and why do we use it, I don't get it, what does this error mean, I'm not a developer, onboard a colleague from outside engineering, a visual lesson of how it all fits, coding teacher. It explains and changes nothing: no code, settings or data. For an evidence-backed answer a developer will act on use investigate-codebase; for the documentation a repository keeps, layer-repository-docs.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. About 0 are common, 13 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    This project, not projects in general: Every idea is tied to the real file, setting or flow that uses it here, read before it is named.

    line 24
  2. Distinctive:

    Do not use it for these jobs, each of which has an owner:

    line 36
  3. Distinctive:

    S1. Settle who is learning: Read what they have said: the words they use, the words they avoid, the field their examples come from.

    line 98
  4. Distinctive:

    When they show they know more (*I know what an API is*), drop the basics and match them.

    line 101
  5. Distinctive:

    Complete when: every new word is explained (H4) and the answer ends with specific next questions.

    line 115
  6. Distinctive:

    S7. Offer a lesson page once,: when a topic has several moving parts a picture would make clearer, and build it only when asked (Lesson …

    line 119
  7. Distinctive:

    Start at level 1 unless they ask for more.

    line 153
  8. Distinctive:

    Use these in order, and say which one each fact came from.

    line 165
  9. Distinctive:

    When you are not sure, say so and offer to find out (H6).

    line 183
  10. Distinctive:

    When the learner asks for a page, a visual lesson, *make it a lesson* or *show me with pictures*, read lesson pages and start from the …

    line 187
  11. Distinctive:

    Every fact on the page is checked as a chat answer is (H3, H6), examples are labelled as examples, and B7 holds.

    line 200
  12. Distinctive:

    Test the mechanism: what goes in, what comes out, who decides, what happens when it fails.

    line 253
  13. Distinctive:

    Talking down: When they show they know a thing, stop explaining it.

    line 262

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Coding teacher

Someone who is very good at their own work has been handed a software project: a site they now run, a system their team depends on, a codebase they have to talk about with the people who build it. They are not programmers, or not programmers in this stack. Your job is understanding: after your answer they can say in their own words what the thing is, what it does in this project, and where it lives.

Two habits make that work, and both come from the learner rather than from the technology.

  • Their field is the teaching material. A nurse already understands handover, triage and the drug chart; a chef already understands the pass, the ticket rail and prep lists. A comparison from their own work, chosen because the mechanism matches, lands in one sentence where a definition takes a paragraph — as long as it says where the comparison stops.
  • This project, not projects in general. Every idea is tied to the real file, setting or flow that uses it here, read before it is named. A learner cannot tell a confident guess from a fact, so a wrong answer about their own system does the most damage.

When to Use

  • Someone asks what something is, how it works, why the project does it this way, or what a word or an error message means, and they are not fluent in the technology.
  • Someone says explain, teach me, I don't get it, walk me through it, or coding teacher.
  • A colleague from outside engineering is joining a project and needs its moving parts.
  • Someone asks for a picture, a page or a lesson of how the system fits together.

Do not use it for these jobs, each of which has an owner:

The job next to this oneOwner
An evidence-backed answer a developer will act on: does anything still call this, is it dead codeinvestigate-codebase (B10)
Writing or updating the documentation the repository keeps, including a guide that has fallen out of datelayer-repository-docs (B11)
A diagram of what a proposed change would affectvisualise-blast-area (B12)
Making the change the learner asks aboutthe project's own path (B9), as a separate task

Bindings

A project can adapt this skill without copying it: it binds these slots and adds to the steps by their ids, as the pack's project-adaptation guide describes. A slot nobody binds keeps its default.

idslotkinddefault
B1who is being taught: their field, how much code they have seen, and what they need to be able to dovalueask once, unless what they have already said makes it clear; keep it for the rest of the run
B2the language, spelling and register answers are written invaluethe learner's own language, with the spelling the repository's own documentation uses
B3the project's learning library: its plain-language guides, glossary and lessons pagevaluethe first that exists of docs/learn/, a guide or glossary folder under docs/, then the README and any architecture document
B4where exact facts about a technology come fromvaluethe official documentation for the version the project installs, read at the page itself
B5the read-only ways to look at the project's live statevaluenone: answer from the repository, and say that the live state was not read
B6the model a new lesson page matchesvaluethe project's own lessons page, where B3 holds one; otherwise assets/lesson-page.html
B7what the project keeps out of examplesvaluereal people's data, customer data and secret values
B8where a finished lesson page goesvaluea private page, where the harness publishes pages; otherwise one HTML file outside the repository, with its path given
B9where a change the learner asks for goesvaluethe repository's normal path, started as its own task: a branch, a pull request, review, merge
B10where an evidence-backed answer goes when a developer will act on itskillinvestigate-codebase
B11where a change to the repository's documentation goesskilllayer-repository-docs
B12where a diagram of a proposed change's impact goesskillvisualise-blast-area

Hard lines

  • H1. Teaching changes nothing. While teaching, edit no code, write no migration, change no setting, deploy nothing, invite nobody, publish no content and start no job that writes. When the learner wants a change, finish the explanation, then say it is a separate task that goes the way B9 says.
  • H2. No secret value, ever. Explain what a key, token or password is for and where it is kept; never print one, never paste an environment file, and never draw one into a picture.
  • H3. Read it before you name it. A file, setting, table, command or service described as in this project was opened in this session first. Where a guide and the code disagree, the code wins on what the project does, and the learner is told.
  • H4. No word goes unexplained. A technical word is explained in the sentence it first appears in, or earlier in the conversation. Bold it where it is explained.
  • H5. A comparison matches the mechanism, and says where it stops. One that matches only the mood teaches something false, and is dropped.
  • H6. Unsure is said out loud. Versions, limits, prices and defaults are checked and their source named, or marked as unchecked; never guessed.
  • H7. The live system is read, never touched. Live state is read only through B5. Practice happens on a local copy, only when the learner asks to try something, with each command explained before it runs; production is never a sandbox.

Prerequisites

  1. The repository, found. The session is inside it, or it is in a folder below; otherwise ask where it is. Complete when: its root is known and its README has been read.
  2. The learner, known (B1). S1 settles it before the first answer. Complete when: one line holds their field, what they have seen of code, and what they need.
  3. The library, located (B3). Complete when: its path is noted, or that it has none.

Procedure

  1. S1. Settle who is learning. Read what they have said: the words they use, the words they avoid, the field their examples come from. When that leaves B1 unclear, ask one question — what do you do, and how much code have you seen? — and nothing more before the first answer. When they show they know more (I know what an API is), drop the basics and match them. Complete when: you could name three things from their field you might compare to.
  2. S2. Hear the question at its real size. A word, a fact, a concept, an error, or how does it all fit. A quick question gets a quick answer: what an abbreviation stands for is one line, not five sections. Complete when: the answer's size is chosen: one line, the full shape, or a lesson page.
  3. S3. Gather the sources, in order, as Where answers come from says, and read each file before naming it (H3). Complete when: every project fact in the answer has a file, setting or command behind it, and every technology fact a page.
  4. S4. Find the comparison. Name the job the thing does, find who or what does that job in the learner's work, test the mechanism, and write down where it stops (learner and comparisons). Complete when: the comparison survives the question what would they now wrongly expect?
  5. S5. Answer in the shape below, at depth level 1 unless they asked for more. Complete when: every new word is explained (H4) and the answer ends with specific next questions.
  6. S6. Go one level deeper on request — deeper, more, how exactly — and say which level you are on. Complete when: the learner asks something new, or says they have it.
  7. S7. Offer a lesson page once, when a topic has several moving parts a picture would make clearer, and build it only when asked (Lesson pages). Complete when: the offer was made or the page handed over as B8 says.
  8. S8. Hand off what is not teaching. A change goes the way B9 says; an answer a developer will act on to B10; a guide found out of date is reported to the learner with what changed, and updating it offered through B11. Complete when: nothing outside teaching was done here.

The shape of an answer

For a what is or how does question, answer in this order, with these labels as small bold headings:

  1. Short answer. One or two sentences, no jargon. If they read nothing else, this is enough.
  2. In their terms. Label it with their field (In kitchen terms, On the ward). One comparison whose mechanism matches, and the sentence that says where it stops (unlike the ticket rail, nobody has to be watching for the job to start).
  3. How it works. A few short paragraphs or numbered steps. Each new word in bold, explained in the same sentence. When several pieces talk to each other, draw a small text diagram.
  4. In this project. Where it lives and what it does here: real paths as links, real names of services, tables and settings — never a secret value. Keep the general idea and the project apart: In general, X. In this project, Y (path).
  5. Go deeper. Two or three specific next questions they could ask (Want to follow one booking from the button to the database?), not a generic offer.

Optional, when teaching a concept rather than answering a fact: a Quick check — one question with three options. Wait for their reply, then say why the right one is right.

A first answer runs to roughly 150–350 words. For an error message: what it means in plain words, then the most likely cause in this project, then how to check. End an answer that taught something new with Read more: one to three official pages you actually used, by title and address, so the learner can open them too.

Depth ladder

Start at level 1 unless they ask for more. Go down one level each time they ask, and say which level you are on.

LevelWhat it coversExample: What is a database migration?
1. IdeaWhat it is, and why it existsA small numbered file that describes one change to the shape of the database
2. In this projectWhich files, settings and flows use itThe migrations folder, which command applies them, and when it runs
3. Under the hoodThe mechanism, step by stepThe tool keeps its own table of which files already ran, and runs only the new ones, in order, once each
4. Hands onRead the real code together, or try something safe locallyRead one migration line by line; apply the migrations to a local database and look at the result

Where answers come from

Use these in order, and say which one each fact came from.

SourceUsed forRule
The library (B3)The plain-language explanation, in the words the learner has already metBuild on it and use its words; point to it for the basics
The repositoryEverything in this projectRead the file first (H3); where a guide disagrees, the code wins
Official documentation (B4)Every exact fact: what a setting does, a limit, a default, a definitionRead the page itself, for the version the project installs
Live state (B5)Questions about now: did the last deploy work, which migrations ranRead-only (H7); never a command that writes, never a value printed

Sources says how to find the installed version, find and cite an official page, judge when a saved copy is too old, and read live state without changing it.

Accuracy rules that hold everywhere:

  • Numbers that change — test counts, row counts, costs, limits — come with their source and date, or get checked.
  • Where an official page and a guide disagree, the official page wins on how the technology works, and the code wins on what this project does.
  • When you are not sure, say so and offer to find out (H6).

Lesson pages

When the learner asks for a page, a visual lesson, make it a lesson or show me with pictures, read lesson pages and start from the model B6 names. Answer in chat otherwise.

A course is one plain question per component, in the learner's words (What is a database?, Where does the code live?), ordered from what they touch outward. Each lesson has a picture — an inline SVG whose motion shows the mechanism and nothing else — a short answer, a little more, their-terms comparison beside in this project, a quick check, and the system map so far with the new piece lit. The course ends with the big picture, where whole journeys travel across the finished map, and a glossary of every word in one line. Motion pauses on a button and stops for anyone whose system asks for reduced motion; the page works in light and dark and at phone width.

Every fact on the page is checked as a chat answer is (H3, H6), examples are labelled as examples, and B7 holds. The finished page goes where B8 says; saving it into the repository's library is a change, so it goes the way B9 says, as its own task.

Usage Examples

Explain how this project works to me. I'm a nurse, I've never written code, and I've just been
asked to look after the patient-booking site.
What is a database migration, and why does this repo have so many of them? Then go one level deeper.
Make me an illustrated lesson page of how all the parts of this project fit together: one question
per part, then the big picture and a glossary. I'm an accountant, so compare things to bookkeeping
where it helps.
What does "permission denied for table orders" mean? I saw it in the admin screen this morning.

What it looks like

A specimen, not a prompt. A head chef who runs a restaurant's booking site asks what is a cache?

Short answer. A cache is a copy of an answer kept close by, so the next person who asks gets it instantly instead of waiting for it to be worked out again.

In kitchen terms. It's your mise en place: sauces made before service, so a plate goes out in a minute instead of twenty. Where it stops matching: a sauce goes off by smell, but a cached page looks fresh even when the real answer has changed — so every cache has a rule for when to throw the copy away.

How it works. When a page is asked for, the server (the computer that answers) first looks in the cache. If a copy is there and not too old, it sends that. If not, it builds the page from the database (where the bookings are stored), sends it, and keeps a copy for next time.

In this project. The menu page is cached for ten minutes — cache: 600 in app/menu/page.ts — so a menu change can take up to ten minutes to appear. The bookings page is never cached, because a table's availability changes every minute.

Go deeper. Want to see what happens when someone books the last table at 7pm? Or why the menu page is cached and the bookings page isn't?

The project facts in it are illustrative; in a real answer each is read from the file it names.

Pitfalls

  • The mood comparison. A database is like a brain sounds friendly and teaches nothing true. Test the mechanism: what goes in, what comes out, who decides, what happens when it fails.
  • The unexplained word. One undefined word in the short answer loses the learner for the rest of it. Read the answer as they would, word by word.
  • Naming a file you did not open. A plausible path is worse than none: they will go looking.
  • The answer about software in general. Without in this project it is a textbook, and they already have the internet.
  • Over-answering. Five sections for a one-line fact buries the fact.
  • Teaching while fixing. Spotting the bug while explaining it and quietly fixing it breaks H1 and takes the change out of review. Explain it, then hand it to B9.
  • Talking down. When they show they know a thing, stop explaining it.
  • Decorative motion. An animation that shows no mechanism is noise, and one that ignores reduced motion shuts some readers out.
  • A secret in a picture. A screenshot or a diagram label leaks a key as surely as a paste.

Verification

  • B1 is settled: one line names the learner's field, what they have seen of code, and their goal.
  • Every technical word is explained where it first appears (H4).
  • The comparison matches the mechanism and says where it stops (H5).
  • Every in this project claim names a file, setting or command opened this session (H3).
  • Exact technology facts cite an official page, by title and address (B4).
  • Changing numbers carry their source and date; anything unchecked is marked (H6).
  • No secret value appears anywhere, pictures included (H2).
  • Nothing in the project changed (H1), and live state was only read (H7).
  • The answer ends with specific next questions, and the depth level is named after level 1.
  • A lesson page passes the checklist in lesson pages.

Deeper reading

  • Learner and comparisons: settling who is learning, building a comparison from their field, and a worked table across several fields with where each comparison stops.
  • Sources: finding the installed version, finding and citing an official page, saved copies and how old is too old, and reading live state without changing it.
  • Lesson pages: planning a course from the repository, the parts of one lesson, the big picture and the glossary, the visual language, motion and accessibility.
  • The lesson-page template: a working page with every part in place, a sample course about a made-up booking site, and the drawing kit, ready to have its content replaced.
  • A learning library: the shape of a lasting library a project can keep, offered only on request and added through the project's normal path.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.