Learn any stack by building something tiny.
Your AI agent builds a deliberately small app end to end (toolchain, build, run, ship), logs every problem you hit along the way, and turns it all into docs you'll understand months later.
Claude Code plugin · skill for Codex, opencode and other agents
How it works
The app is small on purpose. The docs are the main deliverable: a repo you can reopen later, and a template for your next project in that stack.
Scope
Pick the smallest app that touches the whole chain of the stack. In memory, one screen, a clear "done".
Toolchain
Install from official sources, verify each tool, and log every snag the moment it happens.
Build, run, ship
Scripts that hold the build logic, a verified run, and an artifact tested without the dev setup.
Docs
A short README, a detailed DEV_DOCS.md, and focused topic files distilled from the learning log.
What you get
Every project ends up with the same layered structure.
your-project/ ├── <the tiny app> a working app, as small as possible ├── build / run / package scripts that hold the build logic ├── LEARNING_LOG.md every problem as it happened: symptom, cause, fix, lesson ├── README.md what it is, quick start, template note, roadmap ├── DEV_DOCS.md big picture, setup from scratch, scripts, troubleshooting └── <TOPIC>.md focused notes: LINUX_BUILD.md, RUST_BUILD.md, …
Install
Globally for all your projects, or only for one project.
Claude Code, globally
Default user scope: available in every project.
/plugin marketplace add AlbertArakelyan/build-to-learn /plugin install build-to-learn@build-to-learn
Claude Code, one project
Recorded in .claude/settings.json, so everyone who clones the project gets it.
claude plugin marketplace add AlbertArakelyan/build-to-learn claude plugin install build-to-learn@build-to-learn --scope project
Codex, opencode and other agents
With the skills installer. Installs into the current project by default.
npx skills add AlbertArakelyan/build-to-learn --skill build-to-learn
Add -g to install globally:
npx skills add AlbertArakelyan/build-to-learn --skill build-to-learn -g
Usage
Or just describe it: "I want to learn Go with GTK 4 on Windows by building something small."
| Command | What it does |
|---|---|
/build-to-learn <what to learn> | Full workflow: scope a tiny app, set up the toolchain, build, run, ship, write the docs |
/build-to-learn log <note> | Add an entry to LEARNING_LOG.md |
/build-to-learn docs | Create or refresh README.md and DEV_DOCS.md |
/build-to-learn topic <subject> | Add a focused topic file, e.g. topic linux build |
/build-to-learn status | Phases done, undocumented log entries, open roadmap items, next step |
How the agent behaves
The same rules in every mode.
- Logs as it goes. Every problem and every question you ask becomes a log entry.
- Explains the why behind every tool, package, script line and setting.
- Verifies before claiming, and marks anything untested "not tested yet".
- Asks before system changes like editing PATH or uninstalling, and backs them up.
- Leaves git to you. No commits or pushes unless you ask.
- Keeps the app tiny. A documented problem teaches more than a new feature.
Example
The project this workflow came from.
gtk4-on-windows-with-go
A GTK 4 todo app in Go on Windows: msys2 setup, build/run/package scripts, a self-contained DLL bundle, a 12-section DEV_DOCS.md, an msys2 environments reference, and notes for Linux and Rust.