Skip to content
Agentmart
Submit a tool

teach

Teach the user a new skill or concept, within this workspace.

Skill by hurricanehrndz

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/hurricanehrndz-teach

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Teach the user a new skill or concept, within this workspace.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions: not checked yet.

What's inside

Skill name
teach
Description
Teach the user a new skill or concept, within this workspace.
License
MIT
Instructions
217 lines in SKILL.md · view on GitHub

Files (6)

  • GLOSSARY-FORMAT.md
  • LEARNING-RECORD-FORMAT.md
  • MISSION-FORMAT.md
  • RESOURCES-FORMAT.md
  • SKILL.md
  • openai.yaml · agents/

SKILL.md (first lines)

The user has asked you to teach them something. This is a stateful request -
they intend to learn the topic over multiple sessions.

## Teaching Workspace

Treat the current directory as a teaching workspace. The state of their learning
is captured in this directory in several files:

- `MISSION.md`: A document capturing the _reason_ the user is interested in the
  topic. This should be used to ground all teaching. Use the format in
  [MISSION-FORMAT.md](./MISSION-FORMAT.md).
- `./reference/*.html`: A directory of reference materials. These are the
  compressed learnings from the lessons - cheat sheets, reference algorithms,
  syntax, yoga poses, glossaries. They are the raw units of learning. They
  should be beautiful documents which print out well, and are designed for quick
  reference.
- `RESOURCES.md`: A list of resources which can be explored to ground your
  teaching in contextual knowledge, or to acquire knowledge and wisdom. Use the
  format in [RESOURCES-FORMAT.md](./RESOURCES-FORMAT.md).
- `./learning-records/*.md`: A directory of learning records, which capture what
  the user has learned. These are loosely equivalent to architectural decision
  records in software development - they capture non-obvious lessons and key
  insights that may need to be revised later, or drive future sessions. These
  should be used to calculate the zone of proximal development. They are titled
  `0001-<dash-case-name>.md`, where the number increments each time. Use the
  format in [LEARNING-RECORD-FORMAT.md](./LEARNING-RECORD-FORMAT.md).
- `./lessons/*.html`: A directory of lessons. A **lesson** is a single,
  self-contained HTML output that teaches one tightly-scoped thing tied to the
  mission. This is the primary unit of teaching in this workspace.
- `./assets/*`: Reusable **components** shared across lessons. See
  [Assets](#assets).
- `NOTES.md`: A scratchpad for you to jot down user preferences, or working
  notes.

## Philosophy

To learn at a deep level, the user needs three things:

- **Knowledge**, captured from high-quality, high-trust resources
- **Skills**, acquired through highly-relevant interactive lessons devised by
  you, based on the knowledge
- **Wisdom**, which comes from interacting with other learners and practitioners

Before the `RESOURCES.md` is well-populated, your focus should be to find
high-quality resources which will help the user acquire knowledge. Never trust
your parametric knowledge.

Some topics may require more skills than knowledge. Learning more about
theoretical physics might be more knowledge-based. For yoga, more skills-based.

### Fluency vs Storage Strength

You should be careful to split between two types of learning:

- **Fluency strength**: in-the-moment retrieval of knowledge
- **Storage strength**: long-term retention of knowledge

Fluency can give the user an illusory sense of mastery, but storage strength is
the real goal. Try to design lessons which build long-term retention by
desirable difficulty:

- Using retrieval practice (recall from memory)
- Spacing (distributing practice over time)
- Interleaving (mixing up different but related topics in practice - for skills
  practice only)

## Lessons

A lesson is the main thing you produce: the unit in which knowledge and skills
reach the user. Each lesson is one self-contained HTML file, saved to
`./lessons/` and titled `0001-<dash-case-name>.html` where the number increments
each time.

A lesson should be **beautiful**, with clean, readable typography and layout,
since the user will return to these later to review. Think Tufte.

The lesson should be short, and completable very quickly. Learners' working
memory is very small, and we need to stay within it. But each lesson should give
the user a single tangible win that they can build on. It should be directly
tied to the mission, and should be in the user's zone of proximal development.

If possible, open the lesson file for the user by running a CLI command.

Each lesson should link via HTML anchors to other lessons and reference
documents.

Each lesson should recommend a primary source for the user to read or watch.
This should be the most high-quality, high-trust resource you found on the
topic.

Each lesson should contain a reminder to ask followup questions to the agent.
The agent is their teacher, and can assist with anything that's unclear.

## Assets

Lessons are built from reusable **components**, stored in `./assets/`:
stylesheets, quiz widgets, simulators, diagram helpers, and anything else a
second lesson could reuse.

Reuse is the default, not the exception. Before authoring a lesson, read
`./assets/` and build from the components already there. When a lesson needs
something new and reusable, write it as a component in `./assets/` and link to
it; never inline code a future lesson would duplicate.

A shared stylesheet is the first component every workspace earns: every lesson
links it, so the lessons look like one consistent course rather than a pile of
one-offs. As the workspace grows, so should the component library.

## The Mission

Every lesson should be tied into the mission - the reason that the user is
interested in learning about the topic.

If the user is unclear about the mission, or the `MISSION.md` is not populated,
your first job should be to question the user on why they want to learn this.

Failing to understand the mission will mean knowledge acquisition is not
grounded in real-world goals. Lessons will feel too abstract. You will have no
way of judging what the user should do next.

From hurricanehrndz/agent-toolkit, MIT.

More from hurricanehrndz/agent-toolkit

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 30, 2026 (28 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from hurricanehrndz

Cite this page

teach skill. Agent Mart. https://agentmart.dev/skills/hurricanehrndz-teach (last updated 2026-10-24)