An iterative, top-down study loop you can use in any folder from the terminal:
topic → learn → quiz → lab → repeat
It's resumable (progress lives in learnlog.md), artifacts stay in your working
directory (learn/, lab/), and the whole thing installs once as a Copilot CLI
plugin instead of being symlinked into every project.
Developers who want a lightweight, hands-on, structured way to learn a topic and practice it — active learning instead of passively watching videos.
ulearncoach (agents/ulearn.agent.md) — the orchestrator. It tracks progress inlearnlog.md, decides the next step, and runs it.- Step skills —
topic,learn,quiz,lab. - Utility skills —
ucode(understand a codebase),lpp-lint(validate an LPP module).
See AGENTS.md for the design and how the pieces compose.
- GitHub Copilot CLI
installed and logged in (
copilot, then/loginif needed).
-
Clone this repo:
git clone https://github.com/asyrovprog/vscode_prompts.git cd vscode_prompts -
Install it as a plugin (point at the repo directory):
copilot plugin install ./
-
Verify it loaded. Start Copilot CLI and run:
/plugin list # learning-loop should appear /agent # the "ulearn" coach should be listedThe step skills (
topic,learn,quiz,lab) and utilities (ucode,lpp-lint) are internal — they're markeduser-invocable: false, so the coach uses them but you don't select them directly. The only thing you pick is theulearnagent.
Note: installing from a local path (or a git repo/URL) currently works but is deprecated — a future CLI release will support only marketplace installs (
copilot plugin install <name>@<marketplace>). Publishing this plugin to a marketplace is on the roadmap; until then, the local-path install above is the way to use it.Updating: after pulling changes, re-run
copilot plugin install ./(plugin components are cached). Mid-session you can run/skills reload.Uninstall:
copilot plugin uninstall learning-loop.
That's it — the coach and skills are now available in every folder. No per-project setup.
Open a terminal in a folder where you want your learning notes to live (a fresh
~/learning folder is fine), then start Copilot CLI:
mkdir ~/learning && cd ~/learning
copilot1. Start a session. Pick the coach with /agent → ulearn, or just ask:
I want to learn Semantic Kernel
2. Learn (~20 min). The coach runs the learn step: it generates compact,
top-down materials (intuitions, diagrams, a few web references) and writes a copy to
learn/learn01.md. Read it. When you're done, type:
next
3. Quiz (6–10 questions). The coach runs the quiz step and prints the quiz.
Answer compactly, e.g.:
1:A,2:BC,3:Y
It scores you immediately (writing answers to learn/quiz01_answers.md). Score
< 70%? Type explain for a recap and a retry. Otherwise:
next
4. Lab (~25–30 min). The coach runs the lab step: it asks C# or Python,
proposes a couple of concepts, and scaffolds a LeetCode-style exercise under
lab/iter01/ with TODO stubs and failing tests. Fill in the TODOs, then:
check # runs the tests and reports pass/fail (won't fix anything for you)
explain # optional: hints tied to each TODO
When the lab passes:
next
5. Repeat. The coach proposes the next topic based on your progress and starts
iteration 02.
Stop anytime. Everything is recorded in learnlog.md. Next time, just open the
folder, start copilot, select the ulearn coach (or say "resume my learning"),
and it picks up exactly where you left off — on this machine or another.
| Command | What it does |
|---|---|
next |
Complete the current step and move to the next |
prev |
Go back to the previous step |
explain |
Quiz: explain wrong answers · Lab: hints tied to TODO IDs |
check |
Lab only: run the tests and report pass/fail |
You don't invoke the step skills directly — they're marked user-invocable: false.
The ulearn coach calls them as it runs the loop. Your single entry point is the
ulearn agent (via /agent or natural language).
- The tool (this plugin): installed once via
copilot plugin install. - Your learning data:
learn/,lab/, andlearnlog.mdin each learning folder you work in. Keep those folders in their own git repo if you want to sync across machines — they're independent of this plugin.
This repo's .gitignore excludes generated artifacts so they never
get committed here.
- This was originally a set of VS Code Copilot slash-prompts (hence the repo name
vscode_prompts); it now targets GitHub Copilot CLI only, packaged as a plugin. VS Code support has been dropped. (The instructions inside stay model- and tool-agnostic — they avoid hardcoded tool IDs and model names — but the packaging is CLI-specific.) - The prompt modules use Literal Prompt Programming (LPP) — a small shared
vocabulary between the author and the model. See
lpp_spec.md. - Future: publish to a plugin marketplace for one-command install.
MIT — see LICENSE.