learn
Builds and tracks a personalized learning roadmap, or onboards you onto an existing codebase.
Skill by saleh-alhaddad
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/saleh-alhaddad-learn
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/learn
What's inside
- Skill name
learn- Description
- Builds and tracks a personalized learning roadmap, or onboards you onto an existing codebase. A user-invoked entry point; the lifecycle never routes here.
- License
- MIT
- Instructions
- 137 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# 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](../../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:
1. **Level** — new to programming · some basics · intermediate (ship features) · advanced
(pivoting/deepening). Offer a quick self-check if unsure.
2. **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.
3. **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.
4. **Time & pace** — hours/week and any deadline; this sizes the milestones.
5. **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.
6. **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 mode
```
## Step 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 project
```
For 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.md`
as 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.md` so 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.From saleh-alhaddad/itqan-engineering, MIT.
More from saleh-alhaddad/itqan-engineering
- 0.635score
itqan
saleh-alhaddad
The full software-engineering lifecycle as one suite — DISCOVER, DEFINE, PLAN, BUILD, VERIFY, REVIEW, SHIP — with approval gates before code, test-first…
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
assess
saleh-alhaddad
Whole-app health report from a panel of experts — how the features connect, which are strong, which are weak, and what to improve, with market evidence.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
blueprint
saleh-alhaddad
Turns an approved spec into an ordered, dependency-sorted task plan with a shape decision per task.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
define
saleh-alhaddad
Turns a raw idea into an approved spec, including database schema and API-contract design.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
design
saleh-alhaddad
Crafts or reviews UI/UX for web and mobile — visual and interaction quality, design systems, screens, and flows.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
discover
saleh-alhaddad
Proposes what to build next: ranked, cited feature candidates from market research and real usage.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
harden
saleh-alhaddad
Security audit: threat model, OWASP Top 10 (and LLM Top 10), abuse cases, dependency and secret scan, with ranked findings and concrete fixes.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
engineer
saleh-alhaddad
The full lifecycle in one call — spec, plan, build, verify, review, ship — with approval gates and resume.
SkillAFreshness: A★ 12Claude Code +9 - 0.627score
verify
saleh-alhaddad
Proves a change actually works and root-causes failures — the suite runs first, output actually read.
SkillAFreshness: A★ 12Claude Code +9 - 0.627score
construct
saleh-alhaddad
Writes the code for an already-defined task, test-first, following your codebase's own patterns.
SkillAFreshness: A★ 12Claude Code +9 - 0.627score
inspect
saleh-alhaddad
Senior code review across correctness, complexity, architecture, security, performance, and cross-service impact.
SkillAFreshness: A★ 12Claude Code +9 - 0.624score
release
saleh-alhaddad
Ships a reviewed change safely, with a rollback plan and an explicit GO/NO-GO decision, and closes out the task.
SkillAFreshness: A★ 12Claude Code +9
Signals
- Stars
- 12
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 29, 2026 (29 days ago)
- Last release
- Sep 1, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from saleh-alhaddad
- 0.635score
itqan
saleh-alhaddad
The full software-engineering lifecycle as one suite — DISCOVER, DEFINE, PLAN, BUILD, VERIFY, REVIEW, SHIP — with approval gates before code, test-first…
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
assess
saleh-alhaddad
Whole-app health report from a panel of experts — how the features connect, which are strong, which are weak, and what to improve, with market evidence.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
blueprint
saleh-alhaddad
Turns an approved spec into an ordered, dependency-sorted task plan with a shape decision per task.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
define
saleh-alhaddad
Turns a raw idea into an approved spec, including database schema and API-contract design.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
design
saleh-alhaddad
Crafts or reviews UI/UX for web and mobile — visual and interaction quality, design systems, screens, and flows.
SkillAFreshness: A★ 12Claude Code +9 - 0.631score
discover
saleh-alhaddad
Proposes what to build next: ranked, cited feature candidates from market research and real usage.
SkillAFreshness: A★ 12Claude Code +9
Cite this page
learn skill. Agent Mart. https://agentmart.dev/skills/saleh-alhaddad-learn (last updated 2026-10-24)