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
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-claude-certification-9f9a5fb1d84e ,按照其中的说明把「claude-certification」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
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.
Prefer a local clone. Locate the nearest parent containing
certifications/claude/program.json. Otherwise read files from:
https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/<path>
Read these files as needed:
certifications/claude/program.jsoncertifications/claude/tracks/<exam-code>.json<lesson-path>/docs/en.md<lesson-path>/code/main.py<lesson-path>/code/tests/test_*.py<lesson-path>/outputs/<lesson-path>/quiz.jsonassessments paths declared by the trackRead 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:
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.
CLAUDE-CERTIFICATION.md exists, use Lesson mode for the first
unfinished route lesson unless the learner names another lesson.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.
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:
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:
# 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.
Teach one lesson per invocation. Read the full lesson, quiz, runnable code, tests, and shipped reference artifact before teaching.
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.
Teach the current lesson in this order:
The Problem against the learner's goal.The Concept in small sections and pause for predictions.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.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.
From the repository root, run the actual lesson artifacts:
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.
Use guided no-code mode for CCAO-F learners who do not write software, and for any learner who explicitly requests it:
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.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:
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.
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:
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.
Use the exact original assessment JSON declared by the selected track. Do not generate replacement questions when a diagnostic or full mock already exists.
multiple, say
Select all that apply and accept a set of letters.correct field, explanations, or references until
submission.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.
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.
End with four compact facts:
/claude-certification to resume.