teach

teach is a skill for Claude Code, OpenCode from painhardcore/pstack. It costs 60 tokens per session (1,426 once invoked), scanned A, a copy of teach, MIT.

A teaching aid for explaining a codebase, change, or subsystem in plain language. It combines explanations of how something works and why it was designed that way.

In plain words
What is it for?
Use it when asking an agent to teach you a subsystem, explain a code change, or clarify how and why part of a project works.
Why use it?
It helps someone understand unfamiliar technical work instead of only receiving a list of implementation details.

Skill for Claude CodeOpenCode

Written for Claude Code and OpenCode: shipped in a Claude Code plugin, but also installed under .opencode/.

Part of the pstack plugin — 41 skills, 2 agents shipped together

Good fit Use it when asking an agent to teach you a subsystem, explain a code change, or clarify how and why part of a project works.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/painhardcore/pstack/teach
Install

Getting it into your agent

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

Any agent
npx skills add painhardcore/pstack --skill teach
Clone the repo
git clone --depth 1 https://github.com/painhardcore/pstack

Made for: Claude Code, OpenCode.

Or install pstack, the plugin that ships this one along with the rest of its 41 skills, 2 agents.

Wrote this? Show the measurements

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

agentmods badge for teach

README.md
[![agentmods](https://agentmods.dev/badge/skills/painhardcore/pstack/teach/github.svg)](https://agentmods.dev/skills/painhardcore/pstack/teach)
Your own site
<a href="https://agentmods.dev/skills/painhardcore/pstack/teach"><img src="https://agentmods.dev/badge/skills/painhardcore/pstack/teach/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for teach

Your own site · 80×15
<a href="https://agentmods.dev/skills/painhardcore/pstack/teach"><img src="https://agentmods.dev/badge/skills/painhardcore/pstack/teach.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 60 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,426 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 92% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

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

ModelPer sessionOnce invoked
Fable 5.1 $0.00060 $0.01426
Opus 5.5 $0.00024 $0.00570
Sonnet 5.5 $0.00012 $0.00285
Haiku 4.5 $0.00006 $0.00143

Measured 1mo ago against content hash 07e5e7d24700, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

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

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

Nothing flagged

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

Origin

This is a copy

92% identical to teach — 18 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.opencode/skills/teach/SKILL.md · 21 lines

How it starts

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

Teach

You explain what a thing is, how it works, and why it's built that way, in one plain account at the person's pace. The goal is that they understand it, not that you change anything. For "teach me this", "help me really understand X", or "explain this change or subsystem to me".

Teach sits on top of how and why. Get your bearings on what the work is and what it touches, then run how for how it works and why for why it's that way. Those are real skill invocations that do their own digging. Blend what they find into one plain explanation, lead with what matters to the person, and go deeper when they ask. Reword freely for teaching, with one exception: keep why's confidence language intact (its hedges are findings, not style). Let those skills do the investigation. Don't redo it by hand.

  1. Decide the few things they should walk away understanding. Choose them from why they're asking (about to change it, reviewing it, debugging it, new to it) and what they already know, both read from the conversation, not quizzed out of them. Skip what they plainly already know. Put the depth where their question is.
  2. Let how and why do the work, don't redo it. Read the code yourself to get oriented, then run how for how it works and why for why. Run them in parallel and combine the results. Match the size to the question: run both for a subsystem, maybe one is enough for a small change. Keep why narrow by default since its full sweep is slow: put the narrowing in the ask itself (a scoped question, git plus a source or two) so why records the skipped categories per its own contract, and widen it only when the reasons are the point.
  3. Start with a plain definition. Name the thing and say what it is in general terms, the way a senior engineer would say it out loud, with its common name if it has one. Then tie it to the case in front of you ("in X, we use this to ...") and build from there: how it works, the deeper reasons, the edge cases. Explain how it works, don't just name it. For each part, explain the idea so it clicks: the problem it solves and how it actually works. Walk through what happens as the person does the thing (opens a long chat, scrolls up) when that is what makes it land. Listing functions and constants is reference, not teaching. Don't print framing labels ("the one idea to hold onto", "the thing to walk away with", "the key insight", "at its core", "TL;DR"). Give the smallest complete answer first, a sentence or two, not a dense paragraph, then stop. Add layers when they ask. Never a wall of text.
  4. Keep it a conversation, not a lecture or a performance. Offer to go deeper or move on, and follow their lead. No quizzes. No pacing theater: don't print "Pause", don't ask them to say it back, don't announce "the sentence to nail", and don't flag a part as important or hard ("here is the part worth slowing down on", "this is the tricky part", "here is where it gets interesting"). Just say it. When you would pause, stop and let them respond. Running one-shot with no live human, deliver it cleanly and put any offer to go deeper at the end.
  5. Show, don't only tell, and build the picture up diagram by diagram. Open the diff, the code, or the debugger when that is the fastest way to land it. Draw when a picture lands faster than words. For anything with three or more moving parts, do not draw one diagram with all of them at once. Draw a short series instead, where each diagram redraws the last and adds a single part, so the reader watches the system assemble. That series is not a wall. It is the opposite of one, since each step is small and adds exactly one idea. A single all-at-once diagram, especially one saved for the end, is a reference, not teaching. Concretely, to teach a flow from A to B to C, draw it three times. First A to B. Then redraw and add C. Then redraw and add the return edge or the next piece. Three small growing diagrams beat one crowded diagram. Match the medium to the idea, and use both kinds when both help. A mermaid diagram fits a flow or structure where the labels carry the meaning. When the idea is spatial, like layout, overlap, scroll position, or a before and after, reach for the image-generation tool and draw it marker-on-whiteboard style with a few short labels, since image models garble long text. Generate that picture, don't settle for describing it in words. The build-up rule holds for generated images too. A single simple point needs no figure. A visual earns its place by teaching, not decorating.

Read the full file on GitHub · 21 lines

Changes

What this file has done since we first saw it

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

  1. 1mo ago First seen · 21 lines · 60 tokens per session scan A 07e5e7d24700

Subscribe to this mod's changes

teach is a skill published in the GitHub repository painhardcore/pstack (11 stars, last pushed 3d ago), licensed MIT. It adds 60 tokens to every session and 1,426 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 92% identical to teach, differing in 18 lines, and is treated as a copy.

Related

Other skills, from other repositories

fp-brief

First-principles briefing from technical documents. Use when: understanding why decisions were made, onboarding to feature reasoning, reviewing decision chains, explaining doc from first principles. Not for: PM/CTO summary (use project-brief), pre-doc analysis (use feasibility-study), code explanation (use…

sd0xdev/sd0x-harness · 77 tokens

codex-explain

Explain complex code via Codex exec. Use when: understanding complex logic, tracing data flow, onboarding to unfamiliar code. Not for: code review (use codex-code-review), exploration (use code-explore). Output: structured explanation at chosen depth.

sd0xdev/sd0x-harness · 56 tokens

sharingan

Replicate knowledge from any source as sd0x-dev-flow skill definition. Use when: copying skills from repos, adapting patterns from articles/papers/code, converting knowledge to skill format. Not for: research without skill output (use deep-research), creating skills from scratch (use skill-creator), project onboarding…

sd0xdev/sd0x-harness · 87 tokens

openehr-assistant

This skill should be used when a conversation touches openEHR outside a task owned by a dedicated skill — e.g. "what is an archetype?", "how do openEHR templates work?", "which composition category fits this data?", "find me a guide on X", "where do I start with openEHR modeling?" — or names openEHR concepts (ADL…

Cadasto/openehr-assistant-plugin · 182 tokens

platform-help

A reference skill for the 1C platform and BSL, the programming language used to build 1C business applications. It helps clarify the platform’s object model, APIs, versions, and compatibility.

IngvarConsulting/unica · 50 tokens

creating-explainers

Use when creating an interactive explainer - a single self-contained HTML page with hand-built Canvas figures. Handles source-file explainers, topic-driven research explainers, and mixed intake where files provide the spine and research adds support. Trigger phrases include "make an explainer", "turn this paper into…

analyticalmonk/explain-this · 98 tokens