You type /omnilearn-roadmap I want to learn Rust. A research team wakes up — one member maps the Rust ecosystem, another digs up learning paths and common pitfalls, a third figures out what you already know and what you don't. Minutes later, you have a personalized roadmap and a hands-on assignment with tests, a scaffold, and a solution guide.
That's OmniLearn — multi-agent learning workflows for OpenCode.
npx omnilearn-workflowThen in OpenCode:
/omnilearn-init
/omnilearn-roadmap I want to learn Rust
/omnilearn-start Rust
Reading tutorials is the worst way to learn. You forget most of it, and you never hit the edge cases that teach you anything real. OmniLearn makes you write code instead.
- Every topic gets a real assignment — not a multiple-choice quiz, not a "repeat after me" tutorial. You get a problem description, a scaffold with the boring parts filled in, and a test suite that tells you when you're done.
- Every assignment gets reviewed — before you see it, an oracle agent searches the web for current best practices and flags anything wrong, outdated, or misleading. BLOCKER issues get fixed before you waste time on bad content.
- Stuck? You get a task, not more text — instead of dumping another explanation on you, OmniLearn generates a focused micro-exercise that isolates exactly the concept you're struggling with.
- It adapts to what you already know — if you already shipped a FastAPI CRUD API, it won't make you do that again. It checks your existing skills and integrates them.
| Command | What it does |
|---|---|
/omnilearn-init |
Choose where learning materials live |
/omnilearn-roadmap |
Research + generate a personalized roadmap |
/omnilearn-roadmap-edit |
Modify a roadmap without losing progress |
/omnilearn-start |
Start a hands-on learning session |
/omnilearn-refine |
Ask a deep question about a concept |
/omnilearn-research |
Multi-agent deep research on any topic |
Each command is a markdown file in ~/.config/opencode/command/. They're plain text — read them, tweak them, own them.
OmniLearn uses team orchestration: independent research phases run as agent teams (parallel members with task tracking and a closure contract), while serial synthesis steps run as individual delegates.
flowchart TB
You[/"/omnilearn-roadmap Rust"\] --> O[Orchestrator]
O --> T[Create research team]
T --> M1[Team member: skill landscape]
T --> M2[Team member: learning path]
T --> M3[Team member: existing knowledge]
M1 & M2 & M3 --> C[Closure: shut down team]
C --> S[Synthesize roadmap<br/>single delegate]
S --> R[Oracle: quality review<br/>+ web research]
R -->|BLOCKER| S
R -->|PASS| Out[(roadmap.md +<br/>assignment)]
You type a command. The orchestrator spins up a team of research agents in parallel — some research, some create content, one critically reviews the output before you see it. You get back a structured learning path with real assignments.
- OpenCode —
curl -fsSL https://opencode.ai/install | bash(ornpx omnilearn-workflowdoes it for you) - oh-my-openagent —
npx oh-my-openagent@latest install(required for multi-agent workflows; the installer does this non-interactively) - Node.js >= 18 — no Bun required
Run npx omnilearn-workflow --check anytime to see what's missing.
npx omnilearn-workflowThe installer copies the 6 command files to ~/.config/opencode/command/, configures Context7 MCP for documentation lookups (remote mode — no API key), installs oh-my-openagent for multi-agent orchestration, and optionally sets up your learning directory.
Manual install if you prefer:
git clone git@github.com:BlackPool25/OmniLearn.git
cp packages/omnilearn-workflow/commands/*.md ~/.config/opencode/command/OmniLearn/
├── README.md
├── docs/ # Architecture + install reviews
└── packages/omnilearn-workflow/
├── package.json
├── bin/install.js # npx installer
└── commands/ # The actual workflows
├── omnilearn-init.md
├── omnilearn-roadmap.md
├── omnilearn-roadmap-edit.md
├── omnilearn-start.md
├── omnilearn-refine.md
└── omnilearn-research.md
git clone git@github.com:BlackPool25/OmniLearn.git
cd OmniLearn/packages/omnilearn-workflow
npm install
cp commands/*.md ~/.config/opencode/command/Edit the .md files, re-copy, test in OpenCode. Run node test/test-install.mjs before opening a PR.
MIT