# How to Use the start-learning Skill for Onboarding in AI Engineering from Scratch

> Master AI engineering onboarding with the start-learning skill. Get a personalized curriculum and track your progress efficiently. Start learning today!

- Repository: [Rohit Ghumare/ai-engineering-from-scratch](https://github.com/rohitg00/ai-engineering-from-scratch)
- Tags: getting-started
- Published: 2026-08-30

---

**The `start-learning` skill creates a personalized onboarding plan by conducting a brief interview, running a placement quiz, and generating a [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) file that serves as the single source of truth for your curriculum progress.**

The **AI Engineering from Scratch** curriculum by `rohitg00/ai-engineering-from-scratch` provides a structured, self-paced learning environment through modular skills. The `start-learning` skill serves as the entry point for all new learners, establishing your learning profile and determining your optimal entry phase into the course material.

## Host-Specific Invocation Syntax

The skill follows a **host invocation contract** defined in [`skills/start-learning/SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/skills/start-learning/SKILL.md) (lines 26-35) that adapts to different interfaces. The metadata header (lines 1-10) declares the trigger phrases that activate the skill across supported hosts.

Depending on your environment, invoke the skill using one of these patterns:

- **Codex-compatible hosts**: `start-learning`
- **Claude Code-compatible hosts**: `/start-learning`
- **Plain-language interfaces**: "Use start-learning to begin the course."

This contract ensures the skill works across any host—whether you are using a CLI, integrated development environment, or natural-language chat interface—without requiring code changes to the underlying skill logic.

## Resume Routing and State Detection

Before initiating a fresh onboarding flow, the skill checks for existing learning state files through **resume routing** logic documented at lines 41-64 in [`SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SKILL.md). This prevents redundant onboarding for returning learners.

The skill searches for files such as [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md), [`MCP-LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/MCP-LEARNING.md), or [`AGENT-SKILLS-LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/AGENT-SKILLS-LEARNING.md). If detected, the skill routes you directly to the appropriate downstream skill—`learn`, `learn-mcp`, or `learn-agent-skills`—rather than re-running the placement interview. This architecture ensures **state-file ownership** remains clean: `start-learning` only modifies [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md), while other learning routes maintain their own separate state files (lines 46-52).

## The Onboarding Flow

The `start-learning` skill executes a four-stage pipeline to establish your learning environment.

### 1. The Placement Interview (Lines 105-115)

The skill prompts you with three structured questions to ground future explanations:

- Why are you learning AI engineering?
- How many hours can you devote each week?
- What do you most want to build by the end of the curriculum?

Your answers are stored verbatim in the generated state file to personalize subsequent lessons.

### 2. The find-your-level Placement Quiz

Immediately following the interview, the skill invokes the companion **`find-your-level`** skill (line 21) to administer a **5-area, 10-question assessment**. This quiz determines your **entry phase** and populates the Path table in your learning plan.

### 3. Generating the LEARNING.md State File

Section 39-71 of [`SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SKILL.md) defines a strict markdown template (lines 43-71) that creates your [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) with four mandatory sections:

- **Mission**: Your stated goals from the interview
- **Placement**: Results from the `find-your-level` quiz
- **Path**: Structured table of phases with estimated hours drawn from [`ROADMAP.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/ROADMAP.md)
- **Progress log and Review queue**: Empty containers for ongoing tracking

The template embeds a permanent link back to the repository (line 45) for reference.

### 4. Hand-off to Learning Mode

After writing [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md), the skill outputs three concise lines (lines 75-81):

1. A summary of your entry point and estimated total hours
2. The correct host-specific invocation for the `learn` skill
3. The invocation pattern for `course-guide <topic>` to jump to specific subjects

## State-File Ownership and Persistence

Each learning route owns its own state file to prevent **cross-route contamination** (lines 46-52). The `start-learning` skill strictly manages only [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md); if you later switch to the MCP or Agent Skills tracks, those routes respectively create [`MCP-LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/MCP-LEARNING.md) or [`AGENT-SKILLS-LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/AGENT-SKILLS-LEARNING.md).

This separation ensures that your progress in one curriculum mode does not accidentally overwrite or interfere with another. The [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) file serves as the single source of truth for the standard learning path, readable by subsequent `learn` sessions to maintain continuity across disconnected study sessions.

## Practical Usage Examples

Initialize onboarding on a Codex-compatible CLI:

```bash
start-learning

```

Begin the curriculum in Claude Code:

```bash
/claude-code
/start-learning

```

For hosts without slash-command support, use natural language:

```

Use start-learning to begin the course.

```

Typical interaction flow:

```

User: /start-learning
Assistant: Welcome! Why are you learning AI engineering?
User: To build a personal AI assistant.
Assistant: How many hours can you devote each week?
User: ~5 h.
Assistant: What do you most want to build by the end?
User: An autonomous chatbot.
Assistant: Running the placement quiz… (invokes find-your-level)
Assistant: Writing LEARNING.md…
Assistant: Done! Your entry point is Phase 3 – "Neural Networks". 
          Estimated total: 120 h.
          Next step: run `learn` (or `/learn`) to start the first lesson.
          You can also jump to a specific topic with `course-guide <topic>`.

```

## Extensibility and Host Compatibility

Because the skill relies solely on **plain-text I/O** and a well-known file name ([`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md)), future hosts can adopt the same contract without code modifications. The natural-language fallback (line 35) guarantees graceful degradation on hosts that do not support structured slash commands.

The architecture separates host-specific rendering from core skill logic, meaning the interview questions, quiz invocation, and file generation remain consistent regardless of whether you are using Codex, Claude Code, or a custom interface.

## Summary

- **The `start-learning` skill** is the mandatory entry point for the AI Engineering from Scratch curriculum, defined in [`skills/start-learning/SKILL.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/skills/start-learning/SKILL.md).
- It supports **multiple host syntaxes**: bare commands for Codex, slash commands for Claude Code, and natural language for generic interfaces.
- The skill performs **resume routing** to detect existing [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) files and avoid redundant onboarding.
- The onboarding flow includes a **3-question interview**, invocation of the **`find-your-level`** placement quiz, and generation of a structured [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) file.
- **State-file ownership** is strictly partitioned: `start-learning` only writes to [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md), while other learning modes use their own distinct state files.
- The skill hands off to the `learn` command with host-specific syntax and provides access to the `course-guide` utility for topic-specific navigation.

## Frequently Asked Questions

### How do I restart the onboarding process if I want to change my goals?

Delete the [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) file from your workspace root and invoke the `start-learning` skill again. Because the skill checks for existing state files before running the interview, removing [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) triggers a fresh onboarding flow. Your previous progress in other tracks (such as [`MCP-LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/MCP-LEARNING.md)) remains unaffected due to strict state-file separation.

### What happens if I already have a LEARNING.md file from a different course?

The `start-learning` skill specifically checks the structure and metadata within [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) to determine if it belongs to the AI Engineering from Scratch curriculum. If the file indicates you are mid-progress, the skill routes you to the appropriate resume logic (lines 41-64) rather than overwriting your existing plan. To force a reset, manually archive or delete the existing file.

### Can I use the start-learning skill without Codex or Claude Code?

Yes. The skill implements a **natural-language fallback** (line 35) that allows any host supporting plain text I/O to invoke the skill. Simply type "Use start-learning to begin the course" in compatible chat interfaces. The skill generates the same [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) structure regardless of host, ensuring consistent behavior across environments.

### Where does the estimated hours information come from in my learning plan?

The **Path** table in your generated [`LEARNING.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/LEARNING.md) pulls estimated hours from [`ROADMAP.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/ROADMAP.md) in the repository root. During file generation (lines 43-71), the skill maps your placement results—determined by the `find-your-level` quiz—to the corresponding phases in the roadmap, calculating your total estimated commitment based on the interview responses regarding weekly availability.