@misunders2d/learn-anything
Build adaptive browser learning workspaces for any topic or project
Package details
Install @misunders2d/learn-anything from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@misunders2d/learn-anything- Package
@misunders2d/learn-anything- Version
0.1.8- Published
- Aug 25, 2026
- Downloads
- 848/mo · 848/wk
- Author
- misunders2d
- License
- Apache-2.0
- Types
- skill
- Size
- 4.1 MB
- Dependencies
- 8 dependencies · 0 peers
Pi manifest JSON
{
"skills": [
"./skills"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Learn Anything
Learn Anything turns a topic, repository, or build goal into a local browser-based learning workspace. Lessons can mix explanation, chat, code, diagrams, exercises, and runnable examples. Progress stays on your machine, and an interrupted session can be resumed later.
The package is built for coding agents rather than tied to one fixed course or interface. It checks the available tools, chooses a compatible setup, and assembles only the pieces needed for the lesson.
Install
Pi
pi install npm:@misunders2d/learn-anything
Oh My Pi
omp install @misunders2d/learn-anything
Both commands install the npm package and register its learn-anything skill. Start a new session after installation if the skill is not visible in the current one.
For direct CLI use:
npm install --global @misunders2d/learn-anything
learn-anything probe
Requires Node.js 20 or newer.
Update
Pi:
pi update npm:@misunders2d/learn-anything
Oh My Pi:
omp install @misunders2d/learn-anything@latest
Global CLI installation:
npm install --global @misunders2d/learn-anything@latest
Start a lesson
Ask your agent to teach a topic or help you build something while learning it. For example:
Teach me Rust ownership by building a small command-line program.
Help me understand this repository, then guide me through adding a feature.
Teach me SQL joins with examples I can run in the browser.
The agent creates a workspace under .learnings/ for project work or ~/learnings/ for a general topic. It launches the browser, keeps lesson state on disk, and resumes the same workspace when you return.
Command line
Check available runtimes and adapters:
learn-anything probe
Create a workspace:
learn-anything create "Rust lifetimes" --root /path/to/project --execution host
The invoking agent selects execution infrastructure for the lesson and machine. host uses installed fixed-command language runners; container uses an existing Docker or Podman runtime when stronger isolation is justified. Missing containers do not block construction. The agent should provision lightweight project-local or user-scope dependencies when needed and ask before any privileged system installation.
Start it:
learn-anything start --session /path/to/project/.learnings/rust-lifetimes --open
Run the built-in smoke check:
learn-anything smoke --session /path/to/project/.learnings/rust-lifetimes
start prints a local URL and a token-bearing launch URL. Open only the launch URL. Use --no-open on headless systems and --no-mentor when testing the server by itself.
After a package update or deliberate adapter change, create may require an explicit migration:
learn-anything create "Rust lifetimes" --root /path/to/project --profile <profile-id> --execution <host|container> --migrate
Migration preserves the transcript, canvas, exercises, and progress, writes a versioned session.json backup, rebuilds the versioned assembly manifest, and marks the composition for revalidation before launch.
What is included
The package ships one complete skill under skills/learn-anything/:
SKILL.md— lesson construction and mentoring workflowblocks/— browser, server, adapter, and execution building blocksprofiles/— tested compositions for supported environmentsreferences/— teaching, protocol, component, and visual guidancescripts/— capability checks, workspace construction, mentor bridge, and verificationbin/— command-line entry point
Pi reads the package through its pi.skills manifest. Oh My Pi discovers the same conventional skills/ directory.
Safety and privacy
Learning sessions and saved progress stay on the local computer, while mentor prompts are processed by the selected model provider. The browser server accepts requests only from its own origin and protects session routes with a per-session token. It stops when its owning agent exits or after the final browser tab disconnects. Execution is selected for the lesson and verified machine capabilities. Host runners use fixed commands but learner programs retain the current user's filesystem and process permissions. When explicitly selected, the optional Docker or Podman block runs learner code with no network, a read-only root, bounded resources, and only the learning directory writable.
Review package source before installation. Pi and Oh My Pi packages run with the same local access as the agent that loads them.
Current limits
The package includes native Pi, Claude, Codex, and explicit manual-shell adapters. Pi headless mode keeps browser submissions active without requiring a terminal nudge. Other agents integrate through the same mentor HTTP/runtime contract and capability metadata; unsupported environments stop before opening an unstaffed browser. Host and container execution blocks are available, but neither Docker nor Podman is required. Voice runtimes and a native adapter for every other harness are not included yet.
Development
git clone https://github.com/misunders2d/learn-anything.git
cd learn-anything
npm install
npm run build
npm test
Run the local CLI without installing it globally:
node skills/learn-anything/bin/learn-anything.mjs probe
node skills/learn-anything/bin/learn-anything.mjs create "Rust lifetimes" --root /path/to/project
Browser acceptance test:
npm run test:browser
License
Apache-2.0