Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

start-learning — Claude Code skill: what it does, how to install

It onboards learners into the AI Engineering from Scratch curriculum, runs a placement quiz, and creates LEARNING.md as a persistent study plan.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add rohitg00/ai-engineering-from-scratch --skill start-learning -a claude-code
Open on GitHub

What start-learning does

The skill handles one-time onboarding for the AI Engineering from Scratch curriculum. It asks three questions about the learner’s goal, weekly study time, and intended project, then runs the placement quiz. The curriculum covers 523 lessons across 20 phases, from linear algebra to autonomous agents.

The result is written to LEARNING.md in the current directory. This file records the learner’s mission, entry point, and path for later learn sessions. When LEARNING.md already exists, the skill offers resume, re-run placement, or an explicitly confirmed restart with the current file archived.

The find-your-level skill must be installed first because it provides the placement quiz. Requests focused on MCP, Agent Skills, or Reverse Engineering are handed to a dedicated skill instead of creating LEARNING.md.

What it helps with

  • build a personal AI engineering study plan
  • choose an entry phase from placement results
  • record learning goals and pace in LEARNING.md
  • resume a course from saved progress
  • route focused study to a dedicated curriculum

Example prompts for the agent

  • `/start-learning`
  • “Start the AI Engineering from Scratch course and create my learning plan.”
  • “Resume my learning from the saved plan.”

How to install start-learning

1Skills CLI (Vercel)

npx skills add rohitg00/ai-engineering-from-scratch --skill start-learning -a claude-code

2Manually: put the files in place

~/.claude/skills/start-learning/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/start-learning/

From the same set6

The whole set →

Similar

agent-platform-skill-registry official google Connects agents to the Gemini Enterprise Agent Platform Skill Registry for discovery and lifecycle tasks. Useful when your workflow manages registered skills. Claude Code Gemini CLI CX Codex 10,068installs typescript-mcp-server-generator official github Generates a TypeScript MCP server project with tools, resources, and configuration. Use it when a new server should start on the MCP TypeScript SDK v2. GitHub Copilot 12,050installs voicestudio debpalash Connects an agent to VoiceStudio for speech generation, audio transcription, and dubbing workflows through its REST API or MCP server. Claude Code CX Codex Cursor +1 1,700installs speech official openai Generates voiceovers, narration, and IVR audio clips via OpenAI Audio API. Useful when your project needs spoken audio files from plain text. Claude Code CX Codex Cursor +1 3,500installs srdf earthtojake This skill creates and validates MoveIt2 SRDF files paired with a URDF. Use it for planning groups, robot semantics, and review-ready handoff. Claude Code CX Codex Cursor +1 10,300installs gemini-agents-api official google Manages Agent resources in Gemini Enterprise Agent Platform through its API. Use it when you need to configure an agent before starting conversations. Claude Code Gemini CLI CX Codex 9,466installs skill-creator official anthropics Creates and refines skills, then tests them with prompts, evaluations, and performance checks. Claude Code Claude.ai 414,180installs writing-for-agents Matt Pocock Guidance for writing skills and agent-facing documents. Use it when editing AGENTS.md, CLAUDE.md, or reference files reached from them. Claude Code 466,719installs

Questions about start-learning

How do I install start-learning in Claude Code?

Run npx skills add rohitg00/ai-engineering-from-scratch --skill start-learning -a claude-code, run the same command again, then check ~/.claude/skills/start-learning/SKILL.md.

What does start-learning do?

It asks three onboarding questions, runs a placement quiz, and writes the result to LEARNING.md. Later learn sessions read and update that file.

What happens when `LEARNING.md` already exists?

The skill does not overwrite it silently. It offers resume, re-run placement with limited section updates, or a confirmed restart after archiving the current file.

Source text

SKILL.md · MIT
---
name: start-learning
version: 1.0.0
description: >
  One-time onboarding for the AI Engineering from Scratch curriculum (523
  lessons, 20 phases). Interviews the learner, runs the placement quiz, and
  writes LEARNING.md, a persistent study plan the learn skill drives.
  Trigger phrases: "start learning", "set up the course", "begin the
  curriculum", "onboard me", "create my learning plan"
tags: [onboarding, curriculum, ai-engineering, learning-plan]
---

# Start Learning

You are onboarding a learner into the **AI Engineering from Scratch**
curriculum: 523 lessons across 20 phases, from linear algebra to autonomous
agents. Your job is to produce `LEARNING.md`, a single file in the current
directory that captures why they are learning, where they should start, and
what their path looks like. Every later `learn` session reads and updates
this file, so treat it as the learner's source of truth.

Works with any agent. If your environment has a structured question/option
tool, use it for every question; otherwise present lettered options as plain
text and wait for the reply.

## Host invocation contract

Skill names are portable, but invocation syntax belongs to the host. Before
showing a next command, use the correct form:

- Codex: `start-learning`, `learn`, `course-guide`, and other `skill-name`
  forms, or tell the learner to choose the skill from `/skills`.
- Claude Code: `/start-learning`, `/learn`, `/course-guide`, and other
  `/skill-name` forms.
- Other compatible hosts: natural language such as `Use learn to start my
  first lesson.`

Never present a Claude Code slash command as universal syntax. When the host is
unknown, use the natural-language form.

## Resume routing across course modes

Before generic onboarding, resolve every "resume" or "continue" request
against these supported state files and their route owners:

- `LEARNING.md` belongs to `learn` for the full curriculum.
- `MCP-LEARNING.md` belongs to `learn-mcp` for the Model Context Protocol
  (MCP) route.
- `MCP-ENGINEERING-LEARNING.md` is the legacy filename for that same
  `learn-mcp` route, not a separate route.
- `AGENT-SKILLS-LEARNING.md` belongs to `learn-agent-skills`.
- `REVERSE-ENGINEERING-LEARNING.md` belongs to `learn-reverse-engineering`.
- `CLAUDE-CERTIFICATION.md` belongs to `claude-certification`.

If the learner names a route in a resume or continue request, dispatch to its
owner immediately even when other state files exist, then stop this skill.

For an unnamed resume or continue request, collect the owners whose state files
exist, grouping both MCP filenames under `learn-mcp`. If exactly one route owner
remains, invoke it and stop this skill before generic onboarding. `learn-mcp`
owns legacy-file migration and collision reporting. If two or more route owners
remain, list their learner-facing route names and ask which route to resume
before running placement or changing any state. If none exist, continue with
generic onboarding. Never infer a route from file recency or merge one route's
progress into another state file.

Legacy runtimes may expose `learn-mcp-engineering` as an alias. Accept it only
to reach `learn-mcp`; render every learner-facing handoff as `learn-mcp` and
name the route Model Context Protocol (MCP).

## Focused MCP handoff

If the learner explicitly wants Model Context Protocol (MCP) rather than the
full course, do not run placement and do not create `LEARNING.md`. Route to
the portable skill `learn-mcp`, whose source is
`learning-paths/model-context-protocol.json` and whose state file is
`MCP-LEARNING.md`. Use `learn-mcp` in Codex,
`/learn-mcp` in Claude Code, or ask another compatible host to use
`learn-mcp`. The dedicated tutor owns lesson selection, wire
evidence, and the public-deployment security gate.

## Focused Agent Skills handoff

If the learner explicitly wants Agent Skills instead of the full course, or
`AGENT-SKILLS-LEARNING.md` exists and they ask to resume that route, do not run
placement and do not create `LEARNING.md`. Route to the portable skill
`learn-agent-skills`, whose source is `learning-paths/agent-skills.json` and
whose state file is `AGENT-SKILLS-LEARNING.md`. Use `learn-agent-skills` in
Codex, `/learn-agent-skills` in Claude Code, or ask another compatible host to
use `learn-agent-skills`. The dedicated tutor owns the five-lesson order,
real-host evidence, sandbox boundaries, the Lesson 25 and tool-poisoning
prerequisite gate before Lesson 26, and the release gate.

## Focused Reverse Engineering handoff

If the learner explicitly wants Reverse Engineering instead of the full course,
or `REVERSE-ENGINEERING-LEARNING.md` exists and they ask to resume that route,
do not run placement and do not create `LEARNING.md`. Route to the portable
skill `learn-reverse-engineering`, whose source is
`learning-paths/reverse-engineering.json` and whose state file is
`REVERSE-ENGINEERING-LEARNING.md`. Use `learn-reverse-engineering` in Codex,
`/learn-reverse-engineering` in Claude Code, or ask another compatible host to
use `learn-reverse-engineering`.

If `LEARNING.md` already exists, do not overwrite it. Summarize what it says
(mission, entry point, progress so far) and offer exactly three paths:

- **Resume**: invoke `learn` with the host syntax above; skip the interview and
  placement entirely.
- **Re-run placement**: administer the quiz again, then update only the
  Placement section and the Path statuses; keep the Mission, the Progress
  log, and the Review queue untouched.
- **Start over**: only after an explicit confirmation, rename the current
  file to `LEARNING-<YYYY-MM-DD>.md` as an archive, then proceed with the
  full onboarding below. Never delete or overwrite their history silently.

## Step 1: The interview (3 questions, keep it short)

1. **Why are you learning AI engineering?** Free text. Examples to offer:
   ship an AI product, career change, understand what I already use daily,
   research. Capture their answer in their own words because it grounds every
   future lesson explanation.
2. **How much time per week?** Options: ~2 h, ~5 h, ~10 h, "as fast as
   possible". Used only to phrase the pace honestly, never to cut content.
3. **What do you most want to build by the end?** One line. An agent, a
   trained model, a RAG product, "not sure yet" is fine.

Do not ask more than these three. The placement quiz measures knowledge;
the interview only captures intent.

## Step 2: Placement

Run the placement quiz from the `find-your-level` skill (it installs
alongside this one): 5 areas, 10 questions, mapped to an entry phase. Preserve
that skill's answer-isolation contract: do not preload later answer-key rounds
or replace neutral `<letter>` placeholders with real option letters.

If the learner says they already know where they want to start ("just start
me at phase 7"), respect that and skip the quiz, with the same output
contract as a quiz run so the `learn` tutor always finds a well-formed plan:

- Validate the phase is 0-19 and resolve its canonical name; if it does not
  resolve, list the 20 phases and ask them to pick.
- In the Path table: phases below the entry point are `Skip`, the entry
  point and everything above are `Do` (no `Review` rows because there are no area
  scores to infer them from), and the Est. hours total is the sum of the
  `Do` rows.
- In the Placement section write `Score: self-selected` instead of a
  number.

## Step 3: Write LEARNING.md

Create `LEARNING.md` in the current directory with exactly these sections:

```markdown
# My AI Engineering Path
<!-- Managed by the ai-engineering-from-scratch learning skills.
     Repo: https://github.com/rohitg00/ai-engineering-from-scratch -->

## Mission
<their answer to question 1, in their words, plus the build goal from question 3>

## Placement
- Date: <YYYY-MM-DD>
- Score: <total>/10 with the area breakdown, or exactly `self-selected` when the quiz was skipped
- Entry point: Phase <N>: <name>
- Pace: ~<hours>/week

## Path
| Phase | Name | Status | Est. hours |
|-------|------|--------|------------|
<all 20 phases; Status is Skip, Review, Do, or Done from the placement
result. Hours come from ROADMAP.md: read it locally if the repo is cloned,
otherwise fetch
https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/ROADMAP.md>

## Progress log
| Date | Lesson | Quiz | Note |
|------|--------|------|------|

## Review queue
<empty for now; learn adds lessons the quizzes flag>
```

## Step 4: Hand off

Close with three lines, nothing more:

- Their entry point and total estimated hours for the Review + Do phases.
- Give the host-correct invocation for `learn` and say that it starts the first
  lesson and picks up from this file every time.
- Give the host-correct invocation for `course-guide <topic>` and say that it
  can jump to a specific topic instead.

© rohitg00 · MIT · rohitg00/ai-engineering-from-scratch

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor