The 18-file repository is a personal pi configuration
Learn contains 18 files and is meant to become a project's .pi directory, not run as an independent learning application. The main teaching skill encodes how the author wants a session to proceed. Small extensions add popup questions, graded quizzes with explanations, a markdown log, and visual tools. Three agent definitions cover research, SVG diagrams, and Mermaid diagrams. The author calls it a personal system shared as-is, which is the right expectation to carry into an evaluation.
The appeal is inspectability. A learner can read the teaching instructions, see what gets delegated, and change the process without waiting for a product setting. The main agent can teach on its own. When sub-agents are available, a researcher checks claims and visual agents create a small diagram when an idea benefits from one. That is a useful division of work for lessons, because fact checking and visual explanation have different prompts and tool needs.
What happened when we ran it
Our sandbox targeted extensions/visual-tools/ at commit 73eaf7c, the only Node project identified by the lab. The repository occupied 0.3 MB and contained about 2,792 lines of source. Installation failed after 5 seconds with exit 1 in the Node 22 container. Npm printed its ci help and repeatedly reported Cannot read properties of undefined (reading 'extraneous'), with separate debug-log paths for the attempts.
The log tail does not show which package or lockfile condition produced the internal npm error. Calling it a missing system dependency would be speculation. It also would be misleading to present the failure as a test result: the measured failure happened during install. Our repository scan found 0 CI workflow files, no Dockerfile, and no tests directory, so there is no visible automated safety net to compare against the failed fresh-container path.
That lab path is narrower than the README's user path. A user clones the whole repository directly to .pi and opens pi in the surrounding learning project. The failed extensions/visual-tools/ install still matters because full visual behavior depends on that code, but it does not prove that the teaching prompt and quiz extension cannot load. It proves the identified Node subproject did not install cleanly under our standard npm ci procedure.
Full behavior depends on pi and a tmux sub-agent extension
The README names 2 external pieces for the intended experience: pi itself and a sub-agent implementation. It recommends pi-interactive-subagents, which is tmux-only. Another sub-agent system can work, but the user must adapt agent definitions because tools such as safe_bash belong to the recommended extension. This is configuration integration, not a portable plugin boundary with a fixed interface.
One more dependency is bundled on purpose. If a pi setup already has an ask-user-question extension, the README says to replace it with Learn's copy. Popup serialization relies on multiple extensions using the same UI-lock implementation. Keeping both versions risks conflicting behavior. That requirement is specific and honest, but it means users cannot simply merge the folder into a customized pi setup and assume duplicate extensions will cooperate.
The system can run without sub-agents. In that mode the main session still teaches, asks questions, and quizzes the learner, while research verification and generated visuals disappear. This fallback makes the repository worth inspecting even for non-tmux users. It also changes the quality proposition: a lesson without the researcher should not be described as independently checked, and a learner should ask for sources when a factual answer matters.
The teaching policy was written for 1 learner
The author says the teaching skill was written for one learner and should be edited for anyone else. That is not a minor personalization note. A useful tutor has to match prior knowledge, tolerance for questions, desired depth, and the balance between explanation and retrieval practice. Learn exposes those choices as text, which is excellent for a developer who wants control and a poor fit for someone expecting preferences to emerge automatically.
The quiz extension gives immediate correct-or-incorrect feedback, the answer, and an explanation. The visualization skill is instructed to add a minimal diagram only when a picture clarifies the concept. Those are concrete teaching mechanics rather than a generic chat wrapper. Still, the README offers no curriculum model, progress analytics, spaced-repetition schedule, or classroom administration. It is a session workflow for an individual, not a learning management system.
Issue #1, opened on 2026-08-25, shows another portability edge: Mermaid diagrams can render in pi yet fail to parse in Obsidian. Anyone using the markdown log as a durable notebook should test diagrams in the final reader instead of assuming pi's preview is the compatibility standard. SVG output may be the safer choice when notes must move between tools.
258 stars do not supply a release or license contract
Learn had 258 stars, 1 open issue, and a last push on 2026-08-24. The issue was opened and updated the next day, but there was no maintainer response yet when checked. GitHub returned no latest release, and repository metadata exposed no license. Recent code plus early interest make it active, while the lack of tags, CI, tests, and licensing keeps maturity low. These facts can coexist; a fresh personal project need not be abandoned to remain unsuitable as a formal dependency.
Use Learn as source material if you already use pi and want to shape your own tutor. Read the teaching skill, copy only the pieces you understand, and verify the visual-tools install before relying on diagrams. Teams should wait for a declared license and repeatable checks. Learners who want a maintained application, cross-device history, or no terminal setup will be better served by a hosted study product.

