claude-certification — Claude Code skill: study for Claude Code
Walks you through one of four Claude certification tracks: teaches the lesson, runs the lab, checks your artifacts. Useful when you are preparing for an exam and want a tutor instead of a reading list.
npx skills add rohitg00/ai-engineering-from-scratch --skill claude-certification -a claude-codeWhat claude-certification does
The skill turns the ai-engineering-from-scratch repository into a step-by-step tutor. Each invocation picks one of four modes: onboarding, a single lesson, an assessment, or remediation of weak domains. Progress lives in CLAUDE-CERTIFICATION.md; when that file exists, the session resumes at the first unfinished lesson on the route.
It reads the repository files it needs: certifications/claude/program.json for program policy, the track JSON for lesson order and the domain map, the lesson itself in docs/en.md, the scenario runner code/main.py, tests, and the shipped reference artifact. Lesson mode opens with two recall questions from the previous quiz, then walks The Problem and The Concept in small sections with prediction prompts, and finally runs the practical lab from the repository root. The tutor does not recite the lesson — it waits for your answers and adjusts depth.
Onboarding starts with the independence boundary: this is original open-source preparation, not affiliated with or endorsed by Anthropic, and it issues no credential. Then three questions — which outcome you want, what experience you have, how many hours a week you can give. For the ccao-f track it switches to guided no-code mode: you make the decisions and produce the artifact, while the repository's Python validators act as an executable rubric. Learner state is never overwritten; starting over requires explicit confirmation and archives the old plan first.
What it helps with
- pick the certification track that matches your level and goal
- work through a lesson interactively instead of skimming it
- run the practical lab and verify the result
- build a scored artifact against the track's criteria
- take a diagnostic or mock exam and see weak domains
Example prompts for the agent
- pick a Claude certification track for me and start onboarding
- resume my claude-certification path at the first unfinished lesson
- run the diagnostic for my track and show my weak domains
How to install claude-certification
1Skills CLI (Vercel)
npx skills add rohitg00/ai-engineering-from-scratch --skill claude-certification -a claude-code2Manually: put the files in place
~/.claude/skills/claude-certification/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/claude-certification/
1Skills CLI (Vercel)
npx skills add rohitg00/ai-engineering-from-scratch --skill claude-certification -a codex2Manually: put the files in place
.agents/skills/claude-certification/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add rohitg00/ai-engineering-from-scratch --skill claude-certification -a cursor2Manually: put the files in place
.cursor/skills/claude-certification/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install rohitg00/ai-engineering-from-scratch claude-certification2Manually: put the files in place
.github/skills/claude-certification/SKILL.md1Skills CLI (Vercel)
npx skills add rohitg00/ai-engineering-from-scratch --skill claude-certification -a gemini-cli2Platform CLI
gemini skills install https://github.com/rohitg00/ai-engineering-from-scratch --path skills/claude-certificationManually: put the files in place
.devin/skills/claude-certification/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add rohitg00/ai-engineering-from-scratch --skill claude-certification -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set6
The whole set →Similar
Questions about claude-certification
How do I install claude-certification in Claude?
Run npx skills add rohitg00/ai-engineering-from-scratch --skill claude-certification -a claude-code. The skill lands at ~/.claude/skills/claude-certification/SKILL.md.
What does claude-certification do?
It tutors you through four Claude certification tracks: teaches the lesson, asks prediction questions, runs practical labs, and checks your artifacts. Progress is stored in CLAUDE-CERTIFICATION.md.
Do I need to write code to use this skill?
Not for the ccao-f track, which covers knowledge work and responsible Claude use. The tutor runs the repository's Python validators as a rubric while you make the decisions and produce the artifact.
Source text
SKILL.md · MIT
---
name: claude-certification
description: >
AI-native tutor and onboarding workflow for the four independent Claude
certification tracks in AI Engineering from Scratch. Use when a learner
wants to choose a Claude certification, prepare for CCAO-F, CCDV-F, CCAR-F,
or CCAR-P, resume a certification path, learn the next lesson interactively,
run and verify practical labs, build scored artifacts, take a diagnostic or
mock exam, or remediate weak exam domains from GitHub with Claude Code,
Codex, ChatGPT, Cursor, or another agent.
---
# Claude Certification Tutor
Turn the repository into a step-by-step tutor. Make the learner explain,
predict, run, build, and defend each decision. Do not reduce the course to a
reading list.
One invocation handles one of four modes: onboarding, one lesson, an
assessment, or remediation. Resume from `CLAUDE-CERTIFICATION.md` when it
exists.
## Load the source of truth
Prefer a local clone. Locate the nearest parent containing
`certifications/claude/program.json`. Otherwise read files from:
```text
https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/<path>
```
Read these files as needed:
- Program policy and current verification date: `certifications/claude/program.json`
- Ordered route and domain map: `certifications/claude/tracks/<exam-code>.json`
- Lesson: `<lesson-path>/docs/en.md`
- Scenario runner or validator: `<lesson-path>/code/main.py`
- Tests: `<lesson-path>/code/tests/test_*.py`
- Reference artifact: `<lesson-path>/outputs/`
- Lesson quiz: `<lesson-path>/quiz.json`
- Diagnostic and mock: the `assessments` paths declared by the track
Read the selected track JSON at the start of every session. Its `lessons`
array is the route order. Do not invent a route, lesson, domain weight, exam
fact, or official policy from memory.
The website is an optional interactive view, not a dependency:
```text
https://aiengineeringfromscratch.com/certifications.html
```
GitHub learners must be able to complete the full tutor loop without opening
the website. Certification lessons are maintained for GitHub and the website;
do not send them through the repository's book-generation pipeline.
## Select the mode
1. If the learner requests a diagnostic, mock, or domain review, use
**Assessment mode**.
2. If `CLAUDE-CERTIFICATION.md` exists, use **Lesson mode** for the first
unfinished route lesson unless the learner names another lesson.
3. If state is missing, use **Onboarding mode**.
4. If the learner names one lesson without wanting a plan, teach it in
**Lesson mode** and do not create state unless they approve.
Never overwrite existing learner state. If they ask to start over, archive it
as `CLAUDE-CERTIFICATION-<exam-code>-<YYYY-MM-DD>.md` only after explicit
confirmation.
## Onboarding mode
Start with the independence boundary in two sentences: this is original,
open-source preparation and is not affiliated with, endorsed by, sponsored by,
or authorized by Anthropic. It does not issue a credential or guarantee a
pass. Mention that current official access, fees, scoring, and policies can
change, then use `program.json` and the official links it declares.
Ask only these three questions:
1. Which outcome fits: knowledge-work fluency, building Claude applications,
foundational architecture decisions, or senior production architecture?
2. What relevant experience do they already have?
3. How many hours per week can they use, and do they want the track diagnostic
now?
Map the outcome to a candidate, then show the track's actual `audience`,
`recommendedExperience`, lesson count, domains, and study plans before asking
for confirmation:
- `ccao-f`: knowledge work and responsible Claude use; coding is not required.
- `ccdv-f`: engineers building, integrating, securing, and evaluating apps.
- `ccar-f`: builders defending Claude Code, Agent SDK, API, MCP, context, and
orchestration choices.
- `ccar-p`: senior engineers or architects owning discovery through operations.
For `ccao-f`, infer guided no-code mode when the learner says they do not code
or chose knowledge-work fluency. Do not add a fourth onboarding question. Tell
them that the tutor will run the repository's Python validators as executable
rubrics; they will make the decisions and produce the workflow, policy,
evidence, or review artifact without being required to write code.
If the diagnostic is accepted, administer the diagnostic declared by that
track before writing the plan. Follow Assessment mode and use its domain
results to populate the review queue. A diagnostic changes emphasis, not the
track's prerequisite order.
Create `CLAUDE-CERTIFICATION.md` with this structure:
```markdown
# My Claude Certification Path
<!-- Managed by the claude-certification skill.
Repo: https://github.com/rohitg00/ai-engineering-from-scratch -->
## Goal
<learner's reason and intended practical outcome>
## Active track
- Exam code: <CCAO-F | CCDV-F | CCAR-F | CCAR-P>
- Track file: certifications/claude/tracks/<exam-code-lower>.json
- Started: <YYYY-MM-DD>
- Pace: <hours per week>
- Diagnostic: <not taken | raw percent and date>
## Route
| # | Lesson path | Domains | Status | Quiz | Evidence |
|---|-------------|---------|--------|------|----------|
<every lesson from the selected track in exact order; first is Next, rest Pending>
## Domain readiness
| Domain | Blueprint weight | Latest practice | Status |
|--------|------------------|-----------------|--------|
<every domain from the selected track>
## Review queue
| Domain | Lesson path | Reason | Status |
|--------|-------------|--------|--------|
## Assessment attempts
| Date | Assessment | Raw score | Conditions | Weak domains |
|------|------------|-----------|------------|--------------|
```
If the learner changes tracks, preserve evidence for shared lesson paths.
Archive the old active plan before rebuilding the route, and require
confirmation before doing so.
## Lesson mode
Teach one lesson per invocation. Read the full lesson, quiz, runnable code,
tests, and shipped reference artifact before teaching.
### 1. Recall
If a previous route lesson is complete, ask two questions from its quiz. Give
brief feedback. If both answers are wrong, offer review before advancing.
### 2. Explain and challenge
Teach the current lesson in this order:
1. Frame `The Problem` against the learner's goal.
2. Explain `The Concept` in small sections and pause for predictions.
3. Use the registered `Interactive Lab` relationship. On the website, have the
learner manipulate it. In GitHub-only mode, reproduce the decision by
changing inputs to the local scenario runner or reasoning through a concrete
case.
4. Ask the lesson's `pre` and `check` questions at the relevant point. Wait for
each answer before revealing its explanation.
Adapt depth to the learner's responses. Do not paste or recite the whole
lesson.
### 3. Run the practical lab
From the repository root, run the actual lesson artifacts:
```bash
python3 <lesson-path>/code/main.py
python3 -m unittest discover -s <lesson-path>/code/tests -v
```
Before each run, ask the learner to predict the result or failure. Explain the
observable state and connect it to the exam decision.
### Guided no-code mode
Use guided no-code mode for CCAO-F learners who do not write software, and for
any learner who explicitly requests it:
1. Run `main.py` and the tests on the learner's behalf. Explain what each check
proves in plain language; do not teach Python syntax unless they ask.
2. Reproduce the interactive scenario conversationally. Ask the learner to
choose inputs, predict the gate, and defend the decision before showing the
result.
3. Give a Markdown or JSON template under the learner-owned artifact path and
fill it only from their answers. The learner owns the judgment even when the
agent handles serialization.
4. Validate the artifact or grade it against the documented rubric. Translate
every finding into a concrete revision question.
5. Record `guided no-code` in the evidence note. Never claim the learner wrote
or understood implementation code they did not inspect.
No-code changes the interface, not the standard. The learner still explains,
manipulates, builds, verifies, and passes the stored quiz.
Conceptual lessons still require practical work. Use their policy scorer,
threat-model checker, ADR validator, approval simulator, evidence grader, or
scenario runner. Never invent fake API code to make a conceptual lesson look
technical.
Treat checked-in `outputs/` files as completed references. Have the learner
build or modify their own artifact under:
```text
learning-artifacts/claude/<exam-code>/<lesson-slug>/
```
Do not overwrite the reference artifact. Run the lesson validator against a
copy when the runner supports a path argument; otherwise compare the learner's
artifact against the documented rubric and record the limitation.
Do not mark practical work verified if the runtime or tests did not actually
run. Record `lab pending` and give the exact command instead.
### 4. Verify understanding
Ask every `post` question from `quiz.json`, one at a time, with no hints. Use
the file's explanation after each answer. Score exact answers as `N/M`.
Mark the lesson `Complete` only when all are true:
- the learner can explain the central decision in their own words;
- the scenario runner and tests pass, or an explicit environment limitation is
recorded;
- the learner produces or defends the shipped artifact;
- the post-quiz score is at least 70 percent.
If theory passes but the artifact is missing, use `Theory complete, lab
pending`. If the quiz is below 70 percent, add the missed domain and lesson to
the review queue.
Update `CLAUDE-CERTIFICATION.md` with the score, evidence path, note, and next
route lesson. Preserve track order and prerequisite order.
## Assessment mode
Use the exact original assessment JSON declared by the selected track. Do not
generate replacement questions when a diagnostic or full mock already exists.
1. State the question count and declared time limit. If the harness cannot
enforce time, record the attempt as untimed.
2. Present one question at a time with lettered options. For `multiple`, say
`Select all that apply` and accept a set of letters.
3. Do not show hints, the `correct` field, explanations, or references until
submission.
4. Score by exact set equality. Multiple-response questions receive no partial
credit, matching the local assessment runtime.
5. Report raw percentage and per-domain results. Say explicitly that this is
not Anthropic's scaled score and cannot predict an official result.
6. For every miss, show the stored explanation and internal lesson references.
Add weak domains and referenced lesson paths to the review queue.
7. Append the attempt to `CLAUDE-CERTIFICATION.md` without changing old rows.
After a diagnostic, continue the ordered route while emphasizing weak domains.
After a full mock, require remediation and another evidence-backed attempt
before saying the learner is ready. Never claim that a learner will pass.
## Capstone and live wire boundaries
Require the selected track's capstone artifact and run its validator. A
completed reference packet is an example, not proof that the learner built or
can defend one.
Lesson 30 includes an offline simulator by default. Use its optional real
Messages API wire mode only when the learner explicitly asks, network access is
allowed, and both `ANTHROPIC_API_KEY` and `ANTHROPIC_MODEL` are provided through
the environment. Never print, persist, or place a key in source. A missing key
must skip the live test rather than block the offline course.
## Close each session
End with four compact facts:
- what decision the learner can now defend;
- lab and artifact verification state;
- quiz score or assessment domain result;
- the exact next lesson path and `/claude-certification` to resume.
© rohitg00 · MIT · rohitg00/ai-engineering-from-scratch