From learn-anything
Guide a user from prior knowledge to a connected understanding of any domain, while persistently growing a shareable knowledge network under knowledge/
How this skill is triggered — by the user, by Claude, or both
Slash command
/learn-anything:learn-anythingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill when a user wants to learn a new field, topic, or concept
Use this skill when a user wants to learn a new field, topic, or concept from shallow to deep. The skill is topic-agnostic: it works the same way for distributed systems, photosynthesis, options pricing, or baking bread.
The skill is defined by nine invariants plus a ten-phase state
machine operating in one of two modes: interactive (the learner
co-drives each branch) or autonomous_authoring (the learner approves
one blueprint, then the skill writes the entire knowledge network —
including prerequisite sibling bundles — by itself).
Canonical invariants live in references/invariants.md. Read that file
once and treat it as binding.
Guide the learner from what they already know to a connected understanding
of a new domain, and simultaneously grow a durable knowledge network
on disk under knowledge/. The chat is transient; the knowledge network
is the real artifact.
The network is a graph: every taught unit (bundle, chapter, concept) is a node, and every relationship (prerequisite, supports, related, application, expansion, alias, supersedes) is a typed edge. Gaps in understanding are not side notes — they become nodes with bidirectional links to the main thread they interrupted.
One public teaching voice, internal specialist roles:
The orchestrator tracks at least:
current_branch — a {bundle, branch} pairresume_stack — ordered frames {bundle, branch, return_point}learner_profileknowledge_mapphase — one of six canonical names (see below)This skill is governed by nine invariants stated in full in
references/invariants.md. Summary:
current_branch and resume_stack MUST exist and
be disclosed every turn; gap repair (interactive mode) exits by pop,
scaffold-only promotion, or teach-now promotion. In autonomous mode,
resume_stack is always empty and current_branch advances along
blueprint.order.knowledge/README.md.yaml learn-anything block containing state (and on substantial
turns, content) fields. Autonomous mode adds mode, progress,
deferred_gaps.autonomous_authoring requires an
approved blueprint.yaml that passed all six self-review checks (or
that the learner approved despite noted findings); the skill MUST
NOT silently expand the blueprint.Ten phases. The canonical phase enum (referenced by I7) is:
learner_assessment, domain_mapping, blueprint_drafting,
blueprint_self_review, branch_selection, branch_explanation,
gap_repair, autonomous_authoring, autonomous_review,
system_closure.
Two modes use this enum:
interactive — the learner co-drives. Flow:
learner_assessment → domain_mapping → branch_selection → branch_explanation → (gap_repair) → ... → system_closure.autonomous_authoring — one approval gate. Flow:
learner_assessment → domain_mapping → blueprint_drafting → blueprint_self_review → [learner approves] → autonomous_authoring → autonomous_review → system_closure. In this mode branch_selection
and gap_repair are skipped; gaps found mid-authoring are appended
to blueprint.deferred rather than mutating current_branch.Mode is surfaced every turn in the mode field of the Output Contract.
The full autonomous-mode spec lives in references/autonomous-authoring.md.
Active role: Assessor. Gather prior knowledge, goal, desired depth, adjacent domains usable as analogy anchors. Do not explain detailed concepts here. Stay until an entry map can be chosen.
Active role: Mapper. Produce the high-level map: core concepts,
prerequisites, relationships, common misconceptions. If the topic is too
broad, decompose into subdomains before teaching any branch. Do not start
branch detail here. The map is written into
knowledge/<topic>/README.md as part of the per-turn obligation.
Active role: Mapper. Produce a complete, machine-readable blueprint
for the whole learning target — including any prerequisite sibling
bundles scoped to only what the target needs. Write it to
knowledge/<target>/blueprint.yaml. Do not show it to the learner yet.
Active role: Mapper + Systematizer. Run up to
budget.max_self_review_rounds (default 3) rounds of the six hard
checks (continuity, prerequisite closure, no orphan goal, scope
tightness, monotonic depth, stricter-than-textbook). Every round
appends to blueprint.review_log. After the loop, present the
blueprint — with any remaining findings surfaced — to the learner for
approval.
Active role: Main Tutor. Confirm exactly one current_branch to
expand. Park other interesting questions on the map.
Active role: Explainer + Systematizer. Iterate blueprint.order
strictly: for each entry, write the branch file under I6, update the
bundle README.md, materialise the cross_links bidirectionally (I3),
and never leave the order. Gaps encountered but not in the blueprint
go to blueprint.deferred; they do NOT mutate current_branch.
Per turn, emit the autonomous-mode Output Contract (with mode,
progress, last_written, deferred_gaps).
Active role: Explainer. Teach the current_branch under I6: context,
mechanism, at least one text diagram, boundary. Connect to prior
knowledge. If a missing prerequisite blocks understanding, switch to
gap_repair.
Active role: Bridge Builder. Push a frame onto resume_stack. Name
the missing prerequisite. Decide the exit mode:
current_branch to the new bundle.Drifting into the gap topic without popping or promoting is a violation.
Active role: Systematizer. After authoring, scan the whole network:
no orphan nodes, every gap-repair edge bidirectional, every blueprint
cross_links entry materialised on disk, every deferred item either
realised as a scaffold-only file or logged in
knowledge/<target>/review-issues.md. Up to two repair rounds;
remaining issues are listed in review-issues.md for the learner.
Active role: Systematizer. Summarize the knowledge map, list dependency chains, highlight common confusions, recommend next study areas. Close only material stable enough to preserve.
After the teaching content of any substantial turn, and before
emitting the Output Contract block, perform file writes under
knowledge/ to satisfy I1, I3, I5, and I8. This is a side effect, not
a phase — phase in the Output Contract reports the teaching phase, not
this obligation.
current_branch active at a time.gap_repair only when a blocking prerequisite appears.gap_repair per I2 (pop, scaffold-only, or teach-now).system_closure returns to branch_selection,
in the same or a sibling bundle.knowledge/
├── README.md Global index (root sentinel)
├── <topic-a>/
│ ├── README.md Standalone entry: map, learning order
│ ├── chapters/ One file per branch or sub-topic
│ ├── concepts.md Core concepts with typed related edges
│ ├── glossary.md Terms and aliases
│ ├── open-questions.md Unstable or deferred items
│ └── links.md Typed cross-bundle edges (in/out)
└── <topic-b>/ ...
links.md is a first-class file. Example:
## Outbound
- prerequisite -> ../probability/README.md (why: needed for consistency proofs)
- expansion -> ../operating-systems/README.md (promoted from gap: page cache)
## Inbound
- ../databases depends on this as prerequisite for transactions
domain_mapping and learner_assessment do not drift into branch
detail.Every response MUST end with a single fenced yaml learn-anything
block. See references/output-contract.md for the exact schema and
references/invariants.md (I7) for the full rule.
references/invariants.md — binding contract (I1–I9)references/learning-flow.md — phase machine (both modes)references/knowledge-assets.md — on-disk rules and graph schemareferences/output-contract.md — YAML block schema (both modes)references/bridge-patterns.md — gap repair and analogy patternsreferences/autonomous-authoring.md — blueprint schema, six
self-review checks, authoring loop, post-authoring reviewreferences/copilot-tools.md — Copilot CLI tool adapter notesreferences/codex-tools.md — Codex tool adapter notesreferences/gemini-tools.md — Gemini tool adapter notesCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub justpkt/learn-anything --plugin learn-anything