Skills rohitg00 ai-engineering-from-scratch AI Engineering from Scratch placement and quizzes
check-understanding
- Use it when:
- You've finished a phase of AI Engineering from Scratch and want to know whether you're ready for the next.
- It does:
- Reads that phase's lesson docs, from your clone or GitHub, and writes eight multiple-choice questions: four on concepts, four on building.
- You get:
- One question at a time, a grade from Mastered to Start Over, and for each miss the right answer, why, and the lesson to re-read.
- Then:
- Offers a fresh quiz on the same phase, another phase, or an explanation of a missed topic.
Skill 3 of 3 in the AI Engineering from Scratch placement and quizzes bundle, after find-your-level.
TL;DR
It takes a phase number from 0 to 19 or a name such as transformers or rl, and lists all 20 phases when the input doesn't match. Questions come only from the lessons' own docs, not general knowledge; for a phase of 15 lessons or more it reads a spread from the start, middle and end. Each question names its lesson and has four plausible options, and the answer stays hidden until you reply. Seven or eight right is Mastered, which says you're ready for the next phase; five or six is Almost, three or four Developing and two or fewer Start Over, each listing what to go back over. Retakes avoid repeating questions until the pool runs out. If a phase has no lessons written yet, it says so. On the final phase, it checks LEARNING.md before congratulating you on finishing the whole course.
Summarizes the skill at d7b5633.
npx skills add https://github.com/rohitg00/ai-engineering-from-scratch --skill check-understanding skills.sh pageSource on GitHubAll skills from rohitg00/ai-engineering-from-scratch
- Total Downloads
- 5,200 on skills.sh, Nov 9, 2026
- Repo stars
- 77,866 rohitg00/ai-engineering-from-scratch
- First seen
- May 23, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 195 |
| Sep 28 | 276 |
| Oct 5 | 451 |
| Oct 12 | 387 |
| Oct 19 | 302 |
| Oct 26 | 325 |
| Nov 2 | 356 |
| Nov 9 | 313 |
| Category |
Learning and everyday help outside work. |
|---|---|
| Type |
A multi-step process the agent follows: interview, debug, run a TDD loop, review. |
| Effect |
Adds no side effects of its own. It shapes how the agent thinks, writes or reviews. Guidelines and routers are always effect:none, even when the task they support edits code. |
| Needs |
Instructions only. Works in any agent that supports skills. |
| Publisher |
A verified publisher on skills.sh, or the company or maintainer behind the product the skill operates. |
| Topics |
SKILL.md
From rohitg00/ai-engineering-from-scratch at d7b5633. Checked daily, last changed Nov 7, 2026.
Frontmatter
name: check-understanding
version: 1.0.0
description: Phase quiz for AI Engineering from Scratch. Trigger with "quiz me", "test phase", "check my understanding", "do I know phase 3", or `/check-understanding <phase>`.Check Understanding
Test your knowledge of a completed phase from the AI Engineering from Scratch course.
Activation
This skill activates when the user says things like:
/check-understanding 3or/check-understanding deep-learning- "quiz me on phase 2"
- "test phase 1"
- "check my understanding of transformers"
- "do I know phase 3"
- "am I ready for the next phase"
Input
Accepts a phase number (0-19) or a phase name as argument. If no argument is provided, ask the user which phase they want to be tested on by listing all 20 phases.
Phase Map
Map the argument to the correct phase directory under phases/:
| Input | Directory | Phase Name |
|---|---|---|
| 0, setup, tooling | 00-setup-and-tooling |
Setup & Tooling |
| 1, math, math-foundations | 01-math-foundations |
Math Foundations |
| 2, ml, ml-fundamentals | 02-ml-fundamentals |
ML Fundamentals |
| 3, deep-learning, dl | 03-deep-learning-core |
Deep Learning Core |
| 4, cv, computer-vision, vision | 04-computer-vision |
Computer Vision |
| 5, nlp | 05-nlp-foundations-to-advanced |
NLP -- Foundations to Advanced |
| 6, speech, audio | 06-speech-and-audio |
Speech & Audio |
| 7, transformers | 07-transformers-deep-dive |
Transformers Deep Dive |
| 8, generative, gen-ai, genai | 08-generative-ai |
Generative AI |
| 9, rl, reinforcement-learning | 09-reinforcement-learning |
Reinforcement Learning |
| 10, llms, llm, llms-from-scratch | 10-llms-from-scratch |
LLMs from Scratch |
| 11, llm-engineering, llm-eng | 11-llm-engineering |
LLM Engineering |
| 12, multimodal | 12-multimodal-ai |
Multimodal AI |
| 13, tools, protocols, mcp | 13-tools-and-protocols |
Tools & Protocols |
| 14, agents, agent-engineering | 14-agent-engineering |
Agent Engineering |
| 15, autonomous | 15-autonomous-systems |
Autonomous Systems |
| 16, multi-agent, swarms | 16-multi-agent-and-swarms |
Multi-Agent & Swarms |
| 17, infrastructure, production, infra | 17-infrastructure-and-production |
Infrastructure & Production |
| 18, ethics, safety, alignment | 18-ethics-safety-alignment |
Ethics, Safety & Alignment |
| 19, capstone, projects | 19-capstone-projects |
Capstone Projects |
Procedure
Step 1: Resolve the Phase
Parse the argument. If it is a number, validate it is between 0 and 19 inclusive. If the number is out of range, tell the user: "Phase [N] does not exist. Valid phases are 0-19." and show the full list for them to pick from. If it is a name or keyword, look it up in the Phase Map above. If the keyword does not match any entry in the map, tell the user: "Unknown phase '[keyword]'. Pick from the list below:" and present all 20 phases. If no argument is provided, ask the user to pick from the full list.
Step 2: Read the Phase Content
If the repo is cloned (a phases/ directory exists in or above the current directory), find all lesson directories under phases/<phase-dir>/ and read each lesson's docs/en.md. If it is not cloned, get the phase's lesson list from the Contents section of the README (fetch https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/README.md), then fetch each lesson's docs/en.md from the same raw base URL. These documents contain the teaching material you will generate questions from.
Read as many lesson docs as needed to cover the full breadth of the phase. If a phase has many lessons (15+), prioritize reading a representative spread: first few, middle, and last few.
Step 3: Generate 8 Questions
Create exactly 8 multiple-choice questions drawn from the lesson content you just read:
Questions 1-4: Conceptual (What/Why) These test understanding of ideas, definitions, and reasoning. Examples:
- "What is the purpose of X?"
- "Why does Y happen when Z?"
- "Which statement best describes the relationship between A and B?"
- "What problem does X solve?"
Questions 5-8: Practical (How/Build) These test applied knowledge and implementation awareness. Examples:
- "How would you implement X?"
- "Which approach correctly solves Y?"
- "What is the correct order of steps to build Z?"
- "If you observe X during training, what should you do?"
Each question must have exactly 4 answer options labeled A, B, C, and D. Exactly one option is correct. The wrong options should be plausible but clearly incorrect to someone who studied the material.
Tag each question with the specific lesson it draws from (e.g., "Lesson 03: Matrix Transformations").
Step 4: Present Questions One at a Time
Use the AskUserQuestion tool (or equivalent interactive prompt) to present each question individually. Format:
Question 1/8 (Conceptual) -- from Lesson 03: Matrix Transformations
What is the geometric interpretation of an eigenvalue?
A) The angle of rotation applied by the matrix
B) The factor by which the eigenvector is scaled during transformation
C) The determinant of the transformation matrix
D) The rank of the matrix after transformation
Wait for the user's answer before moving to the next question.
Answer isolation
Keep the correct option and explanation private until the learner answers the
current question. Never use a real answer letter, a likely answer, or the
generated answer distribution in a reply-format hint. When a plain-text hint
is needed, use exactly: Reply with one letter: <A|B|C|D>.
Step 5: Track and Score
Keep a running tally:
- Total correct out of 8
- For each wrong answer, record: the question number, the user's answer, the correct answer, and which lesson it came from
Step 6: Show Results
After all 8 questions, display the score and grade:
7-8 correct: Mastered
If the phase is 19 (Capstone Projects): "You have mastered Phase 19, the final phase." Add "Congratulations, you have completed the entire curriculum." only when you can verify the rest of the curriculum is done (a LEARNING.md in the current directory whose Path table shows Phases 0-18 as Done or Skip); a single phase quiz does not prove full completion.
Otherwise: "You have a strong grasp of Phase N. You are ready to move on to Phase N+1: [next phase name]."
5-6 correct: Almost "Solid foundation. Review these specific areas before moving on:" Then list the lessons tied to the missed questions.
3-4 correct: Developing "You are building understanding but need to revisit some lessons:" Then list each missed question with the lesson to re-read.
0-2 correct: Start Over "This phase needs more time. Work through the lessons again from the beginning, focusing on:" Then list all missed topics.
Step 7: Wrong Answer Breakdown
For every question the user got wrong, show:
Question N: [question text, abbreviated]
Your answer: B
Correct answer: C -- [the correct option text]
Why: [1-2 sentence explanation of why C is correct]
Review: Lesson NN -- [lesson name] (phases/<phase-dir>/NN-<lesson-slug>/docs/en.md)
Step 8: What Next?
End by offering three choices:
- Retake this quiz -- generate a fresh set of 8 questions from the same phase
- Try another phase -- pick a different phase to test
- Explain a topic -- ask about any concept from the questions you missed
Wait for the user's choice and act accordingly.
Rules
- Avoid repeating questions on retakes until the question pool is exhausted. Once exhausted, reshuffle or rephrase questions for subsequent retakes.
- Questions must be directly grounded in the lesson docs, not general knowledge.
- Do not show the correct answer until after the user responds.
- Do not include literal answer letters in examples of how the learner should
reply; use
<A|B|C|D>as the placeholder. - Keep question text concise. One or two sentences max.
- Wrong options must be plausible. No joke answers.
- If a phase has no lesson docs written yet (no
en.mdfiles found), tell the user: "Phase N does not have lesson content yet. Pick a completed phase to quiz on."