learn
Skill10 starsChanged 46 days agoMITView on GitHub
Builds and tracks a personalized learning roadmap, or onboards you onto an existing codebase. A user-invoked entry point; the lifecycle never routes here.
195 other projects use a version of this.
Adopted by
Most recently taken up by
- Doist/todoist-aitheir own version, first seen Nov 9, 2026
- Doist/todoist-clitheir own version, first seen Nov 8, 2026
- HughYau/AcademicForgetheir own version, first seen Nov 8, 2026
- dimsedra/skillstheir own version, first seen Nov 8, 2026
- rajanrx/skillstheir own version, first seen Nov 8, 2026
- edwinidrus/dragonhoardtheir own version, first seen Nov 8, 2026
Used with
Projects with it also use add-anydoc, add-clidash and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
TomGranotSkilladd-anydoc
Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when agents need to read attached Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, or text-based PDF files without uploading them to a hosted parser.
Also in 5 projects that use this
TomGranotSkilladd-clidash
Add clidash — a zero-dependency, read-only web dashboard that derives its tabs and tables at runtime from any CLI that lists resources as JSON. Ships pre-wired for NanoClaw's ncl CLI (agent groups, sessions, channels, users, roles), plus message-activity charts, a log tail, and a read-only file viewer for group skills/CLAUDE.md/profiles.
Also in 5 projects that use this
seek888Skillopen-gstack-browser
Launch GStack Browser — AI-controlled Chromium with the sidebar extension baked in. Opens a visible browser window where you can watch every action in real time. The sidebar shows a live activity feed and chat. Anti-bot stealth built in. Use when asked to "open gstack browser", "launch browser", "connect chrome", "open chrome", "real browser", "launch chrome", "side panel", or "control my browser". Voice triggers (speech-to-text aliases): "show me the browser".
Also in 11 projects that use this
Saqlain-811Skillios-sync
Regenerate the iOS debug bridge against the latest upstream gstack templates. (gstack)
Also in 6 projects that use this
MicrosoftSkilladd-codex
Use Codex (CLI + AppServer) as the full agent provider — planning, tool orchestration, native compaction, MCP tools, session resume — in place of the Claude Agent SDK. ChatGPT subscription or OPENAI_API_KEY. Per-group via agent_provider. Distinct from using OpenAI as an MCP tool (where Claude remains the planner).
Also in 6 projects that use this
MicrosoftSkilladd-deltachat
Add DeltaChat channel integration via @deltachat/stdio-rpc-server. Native adapter — no Chat SDK bridge. Email-based messaging with end-to-end encryption.
Also in 6 projects that use this
- +5 more from TomGranot
- +1 more from microsoft
Other versions195 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 195
- garrytan/gstack★ 141ksame name
- rohitg00/ai-engineering-from-scratch★ 78ksame name
- gavrielc/nanoclaw★ 31ksame name
- nanocoai/nanoclaw★ 31ksame name
- qwibitai/nanoclaw★ 31ksame name
- tigerless-labs/autoharness★ 11ksame name
- tw93/claude-health★ 7.5ksame name
- tw93/Waza★ 7.5ksame name
- nykooi1/vibe-wise★ 3.5ksame name
- HughYau/AcademicForge★ 2.6ksame name
185 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 3 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 170 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Read CONVENTIONS.md for the workspace (§1), the journal (§2.1), the intake schema (§3), reconciling against the code (§5.2), the close-out …
- Distinctive: line 25
Ask only what you need, one at a time (§3).
- Very specific: line 49
Ask where learning/ should live and who can see it, as §20.1 asks for engineering/, and record the answer before writing anything.
- Very specific: line 95
Treat progress.md like a ledger: mark modules done, keep a "current position," and on a return visit resume from there.
- Distinctive: line 102
When the goal is "understand *this* codebase/app", the roadmap's subject is the repo itself.
- Very specific: line 107
Write/refresh the shared, team-wide engineering/onboarding.md at the path recorded for engineering/, and if none is recorded, run §1's …
“Common” is measured: kept by at least 6 in 10 of the 170 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
learn — a personalized software-engineering roadmap you can follow and track
Turn "I want to learn X" into a clear, level-appropriate path the learner can actually follow — ordered, with milestones and hands-on projects — and track their progress over time. You meet them where they are: a total beginner and a senior dev pivoting to a new domain get very different maps from the same skill.
Read CONVENTIONS.md for the workspace (§1), the journal (§2.1), the intake schema (§3), reconciling against the code (§5.2), the close-out summary (§13), grounding — no guessing (§14), freshness (§17), and filesystem access (§20). Every resource you name was opened in this run and is cited with its URL and the date you checked it; a title or link you did not open is written as "search for …", never as a citation. Feeling sure a resource exists is not the same as having checked.
Step 1 — Intake (one question at a time, each with a guess)
Ask only what you need, one at a time (§3). Where their phrasing suggests an answer (their level, say), offer it as the guess in the question, never as a conclusion you recorded. Cover:
- Level — new to programming · some basics · intermediate (ship features) · advanced (pivoting/deepening). Offer a quick self-check if unsure.
- Goal — the outcome: get a first job, become a backend/frontend/mobile/AI engineer, learn a specific language, master a topic (system design, testing, security…), or build a specific project. The goal shapes the whole map.
- Target languages / stack / topics — if they named them, use them. If not, suggest a sensible path for the goal and confirm (e.g. for "backend": one language + HTTP/APIs + databases + testing + deployment) — as a proposal, not a decree.
- Time & pace — hours/week and any deadline; this sizes the milestones.
- Delivery mode — proactive (a guided tutor: explains each topic, gives exercises and quizzes, checks in, tracks completion) or text-only (generate the full roadmap + resources and let them self-drive). Ask this explicitly.
- Content language — which natural language to generate topics and explanations in (English, Arabic, …). Default to the language they're writing in; confirm.
Save every answer to learning/profile.md, once Step 2 has asked where learning/ lives:
until then, hold the answers and write nothing.
Step 2 — Set up the learning folder (to monitor progress)
Ask where learning/ should live and who can see it, as §20.1 asks for engineering/, and
record the answer before writing anything. Then create it so progress is trackable, not a
one-off message. Its journal is learning/log.md (§2.1), kept apart from progress.md, which
is edited as modules finish: a START entry when a session begins, a DECISION entry for each
change to the path, and a STOP entry when the session ends, not one per quiz answer.
learning/
├── profile.md # level, goal, stack, pace, delivery mode, content language
├── roadmap.md # the ordered path (phases → modules → milestones → projects)
├── progress.md # the ledger: each module todo | in-progress | done, + current position
└── modules/
├── 01-<topic>/notes.md # explanations, examples (in the chosen language)
└── 02-<topic>/exercises.md # tasks/quizzes, for proactive modeStep 3 — Build the map (ordered, level-appropriate)
Design the roadmap for the learner's level and goal. A sound general shape (adapt, don't force it):
Fundamentals → Core language → Tooling (git, editor, CLI) → Data & the domain
(backend: APIs+DB · frontend: UI+state · mobile: platform · AI: math+ML) →
Quality (testing, debugging) → Advanced (system design, security, performance) →
Capstone projectFor each module give: what it covers, why it matters, prerequisites, a concrete
hands-on task/project (people learn by building), a milestone ("you can now …"), and
1–3 cited real resources. Order by prerequisite so nothing depends on something later.
Render the flow as a simple tree or a mermaid diagram in roadmap.md so the path is visual.
Scale depth to level: a beginner gets more fundamentals and smaller steps; an advanced
learner gets a compressed path that skips what they know (verify with a quick check, don't
assume).
Step 4 — Deliver by the chosen mode
- Proactive: walk module by module — explain in the chosen language, give an exercise or
quiz, check their answer, and only advance when the milestone is met. Update
progress.mdas each module completes. Check in and adapt if they're stuck or moving fast. - Text-only: output the full roadmap + resources, mark where to start, and let them
self-drive. Still write
progress.mdso they (or a later session) can track and resume.
Step 5 — Track & adapt
Treat progress.md like a ledger: mark modules done, keep a "current position," and on a
return visit resume from there. Re-assess periodically — if the goal or pace changes, or a
topic proves too easy/hard, propose an adjusted path and change it on the learner's yes.
Suggest the next module and the next project.
Mode: onboard onto an existing app (new-employee ramp-up)
When the goal is "understand this codebase/app", the roadmap's subject is the repo itself.
Scan the code, the engineering/ workspace if present — profile.md, decisions.md, and
the feature changelog (§13.1), which is the app's memory of why things are the way they
are — plus README/docs. Every statement about the codebase in the map cites where it
lives (file:line), read in this run (§5.2); the changelog explains why, never what exists.
Write/refresh the shared, team-wide engineering/onboarding.md at the path recorded for
engineering/, and if none is recorded, run §1's bootstrap questions first (§20.1): it is
team-visible, so where it goes is the user's choice (§1) — one
doc every new hire improves rather than each regenerating their own — and keep only the
personalized path (level-scaled first tasks, progress) in learning/. The onboarding map
covers: architecture overview,
the key features and how they connect, where things live, the main flows traced end-to-end,
conventions to follow (standards.md), and a guided path of first small tasks scaled to the
learner's level. Cite files/entries, don't guess intent (§14); what the changelog can't
answer, list as questions for the team.
Grounding (§14)
Cite real, checkable resources — never fabricate a course, book, or link. If you're not sure something current exists (a library version, a specific tutorial), say so and point to how to find it (official docs, a search) rather than inventing it. Distinguish "this is the established path" from "this is my suggestion."
Composition
- Consumes: the learner's answers, optionally their current repo/skills to gauge level.
- Produces: the
learning/folder —roadmap.md,progress.md, per-module notes — and in repo-onboarding mode the shared, team-wideengineering/onboarding.md(§1), which lives with the project rather than in the learner's personal folder. - Receives from: the user directly —
engineernever routes here. - Relates to: the lifecycle skills — a capstone or practice project can be built with
engineer/construct; a learner exploring "what to build" can usediscover. - A user-invoked entry point;
engineernever routes here.
Self-review (author's notes)
- Mis-routed?
engineernever routes here — it is a user-chosen entry point. Pick this overdiscoverwhen the goal is understanding, not shipping. - Single-agent safe? Yes — dialogue, web/doc lookups, and file writes; no worker agents.
- Leaks specifics? No — languages, stacks, and resources come from the learner and the web, not hard-coded; content language is whatever they choose.
- Grounding? Central — real cited resources only; suggestions are labeled (§14).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

