[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ERGDMRFMCCA7CKWQXJVAET":3,"skill-same:01M6ERGDMRFMCCA7CKWQXJVAET":89},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":55,"linkOnly":56,"markdownContent":57,"markdownBody":58,"frontMatter":59,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":65,"ownerHtmlUrl":66,"ownerBlogUrl":6,"ownerDescription":67,"updatedAt":68,"install":69,"resources":82},"01M6ERGDMRFMCCA7CKWQXJVAET","claude-certification",null,"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.","rohitg00\u002Fai-engineering-from-scratch","rohitg00","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F48523873?v=4","01M6ERFX7W55NRHW3AV85T2MM8","Rohit Ghumare","01M6ERFXCHT482XQFVY40TM2FN",78571,"MIT","https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fclaude-certification\u002FSKILL.md",[18,23,28],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000039","教师与教育",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],"claude certification","certification","lesson","when","path","tracks","native","exam","mock","learner","domains","next","practical","workflow","ai-native","take","use","choose","chatgpt","code","learn","run","ai engineering","2026-11-10 10:12:30",false,"---\nname: claude-certification\ndescription: >\n  AI-native tutor and onboarding workflow for the four independent Claude\n  certification tracks in AI Engineering from Scratch. Use when a learner\n  wants to choose a Claude certification, prepare for CCAO-F, CCDV-F, CCAR-F,\n  or CCAR-P, resume a certification path, learn the next lesson interactively,\n  run and verify practical labs, build scored artifacts, take a diagnostic or\n  mock exam, or remediate weak exam domains from GitHub with Claude Code,\n  Codex, ChatGPT, Cursor, or another agent.\n---\n\n# Claude Certification Tutor\n\nTurn the repository into a step-by-step tutor. Make the learner explain,\npredict, run, build, and defend each decision. Do not reduce the course to a\nreading list.\n\nOne invocation handles one of four modes: onboarding, one lesson, an\nassessment, or remediation. Resume from `CLAUDE-CERTIFICATION.md` when it\nexists.\n\n## Load the source of truth\n\nPrefer a local clone. Locate the nearest parent containing\n`certifications\u002Fclaude\u002Fprogram.json`. Otherwise read files from:\n\n```text\nhttps:\u002F\u002Fraw.githubusercontent.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fmain\u002F\u003Cpath>\n```\n\nRead these files as needed:\n\n- Program policy and current verification date: `certifications\u002Fclaude\u002Fprogram.json`\n- Ordered route and domain map: `certifications\u002Fclaude\u002Ftracks\u002F\u003Cexam-code>.json`\n- Lesson: `\u003Clesson-path>\u002Fdocs\u002Fen.md`\n- Scenario runner or validator: `\u003Clesson-path>\u002Fcode\u002Fmain.py`\n- Tests: `\u003Clesson-path>\u002Fcode\u002Ftests\u002Ftest_*.py`\n- Reference artifact: `\u003Clesson-path>\u002Foutputs\u002F`\n- Lesson quiz: `\u003Clesson-path>\u002Fquiz.json`\n- Diagnostic and mock: the `assessments` paths declared by the track\n\nRead the selected track JSON at the start of every session. Its `lessons`\narray is the route order. Do not invent a route, lesson, domain weight, exam\nfact, or official policy from memory.\n\nThe website is an optional interactive view, not a dependency:\n\n```text\nhttps:\u002F\u002Faiengineeringfromscratch.com\u002Fcertifications.html\n```\n\nGitHub learners must be able to complete the full tutor loop without opening\nthe website. Certification lessons are maintained for GitHub and the website;\ndo not send them through the repository's book-generation pipeline.\n\n## Select the mode\n\n1. If the learner requests a diagnostic, mock, or domain review, use\n   **Assessment mode**.\n2. If `CLAUDE-CERTIFICATION.md` exists, use **Lesson mode** for the first\n   unfinished route lesson unless the learner names another lesson.\n3. If state is missing, use **Onboarding mode**.\n4. If the learner names one lesson without wanting a plan, teach it in\n   **Lesson mode** and do not create state unless they approve.\n\nNever overwrite existing learner state. If they ask to start over, archive it\nas `CLAUDE-CERTIFICATION-\u003Cexam-code>-\u003CYYYY-MM-DD>.md` only after explicit\nconfirmation.\n\n## Onboarding mode\n\nStart with the independence boundary in two sentences: this is original,\nopen-source preparation and is not affiliated with, endorsed by, sponsored by,\nor authorized by Anthropic. It does not issue a credential or guarantee a\npass. Mention that current official access, fees, scoring, and policies can\nchange, then use `program.json` and the official links it declares.\n\nAsk only these three questions:\n\n1. Which outcome fits: knowledge-work fluency, building Claude applications,\n   foundational architecture decisions, or senior production architecture?\n2. What relevant experience do they already have?\n3. How many hours per week can they use, and do they want the track diagnostic\n   now?\n\nMap the outcome to a candidate, then show the track's actual `audience`,\n`recommendedExperience`, lesson count, domains, and study plans before asking\nfor confirmation:\n\n- `ccao-f`: knowledge work and responsible Claude use; coding is not required.\n- `ccdv-f`: engineers building, integrating, securing, and evaluating apps.\n- `ccar-f`: builders defending Claude Code, Agent SDK, API, MCP, context, and\n  orchestration choices.\n- `ccar-p`: senior engineers or architects owning discovery through operations.\n\nFor `ccao-f`, infer guided no-code mode when the learner says they do not code\nor chose knowledge-work fluency. Do not add a fourth onboarding question. Tell\nthem that the tutor will run the repository's Python validators as executable\nrubrics; they will make the decisions and produce the workflow, policy,\nevidence, or review artifact without being required to write code.\n\nIf the diagnostic is accepted, administer the diagnostic declared by that\ntrack before writing the plan. Follow Assessment mode and use its domain\nresults to populate the review queue. A diagnostic changes emphasis, not the\ntrack's prerequisite order.\n\nCreate `CLAUDE-CERTIFICATION.md` with this structure:\n\n```markdown\n# My Claude Certification Path\n\u003C!-- Managed by the claude-certification skill.\n     Repo: https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch -->\n\n## Goal\n\u003Clearner's reason and intended practical outcome>\n\n## Active track\n- Exam code: \u003CCCAO-F | CCDV-F | CCAR-F | CCAR-P>\n- Track file: certifications\u002Fclaude\u002Ftracks\u002F\u003Cexam-code-lower>.json\n- Started: \u003CYYYY-MM-DD>\n- Pace: \u003Chours per week>\n- Diagnostic: \u003Cnot taken | raw percent and date>\n\n## Route\n| # | Lesson path | Domains | Status | Quiz | Evidence |\n|---|-------------|---------|--------|------|----------|\n\u003Cevery lesson from the selected track in exact order; first is Next, rest Pending>\n\n## Domain readiness\n| Domain | Blueprint weight | Latest practice | Status |\n|--------|------------------|-----------------|--------|\n\u003Cevery domain from the selected track>\n\n## Review queue\n| Domain | Lesson path | Reason | Status |\n|--------|-------------|--------|--------|\n\n## Assessment attempts\n| Date | Assessment | Raw score | Conditions | Weak domains |\n|------|------------|-----------|------------|--------------|\n```\n\nIf the learner changes tracks, preserve evidence for shared lesson paths.\nArchive the old active plan before rebuilding the route, and require\nconfirmation before doing so.\n\n## Lesson screen\n\nUse this only in Lesson mode. Never offer or update the screen in Assessment\nmode, because it can show hints and references before submission. Before the\nfirst Assessment question, run its `stop` command and ask the learner to close\nthe lesson screen tab.\n\nWhen the host can run `node` 20 or later and open a browser on the learner's\nmachine, offer the portable skill `lesson-screen` once per session, rendered\nwith the host's invocation form. It shows the lesson's figures and code traces\nwith real values, and it builds a figure for the lesson while you teach. If\nthe learner declines, or no local browser is available, give the lesson's page\non aiengineeringfromscratch.com once. Read screen clicks with its `events`\ncommand before each reply. Screen clicks are hints for you. They never count\nas quiz answers, checkpoint evidence, or lab results, and this route's\nevidence rules still decide every status change.\n\n## Lesson mode\n\nTeach one lesson per invocation. Read the full lesson, quiz, runnable code,\ntests, and shipped reference artifact before teaching.\n\n### 1. Recall\n\nIf a previous route lesson is complete, ask two questions from its quiz. Give\nbrief feedback. If both answers are wrong, offer review before advancing.\n\n### 2. Explain and challenge\n\nTeach the current lesson in this order:\n\n1. Frame `The Problem` against the learner's goal.\n2. Explain `The Concept` in small sections and pause for predictions.\n3. Use the registered `Interactive Lab` relationship. On the website, have the\n   learner manipulate it. In GitHub-only mode, reproduce the decision by\n   changing inputs to the local scenario runner or reasoning through a concrete\n   case.\n4. Ask the lesson's `pre` and `check` questions at the relevant point. Wait for\n   each answer before revealing its explanation.\n\nAdapt depth to the learner's responses. Do not paste or recite the whole\nlesson.\n\n### 3. Run the practical lab\n\nFrom the repository root, run the actual lesson artifacts:\n\n```bash\npython3 \u003Clesson-path>\u002Fcode\u002Fmain.py\npython3 -m unittest discover -s \u003Clesson-path>\u002Fcode\u002Ftests -v\n```\n\nBefore each run, ask the learner to predict the result or failure. Explain the\nobservable state and connect it to the exam decision.\n\n### Guided no-code mode\n\nUse guided no-code mode for CCAO-F learners who do not write software, and for\nany learner who explicitly requests it:\n\n1. Run `main.py` and the tests on the learner's behalf. Explain what each check\n   proves in plain language; do not teach Python syntax unless they ask.\n2. Reproduce the interactive scenario conversationally. Ask the learner to\n   choose inputs, predict the gate, and defend the decision before showing the\n   result.\n3. Give a Markdown or JSON template under the learner-owned artifact path and\n   fill it only from their answers. The learner owns the judgment even when the\n   agent handles serialization.\n4. Validate the artifact or grade it against the documented rubric. Translate\n   every finding into a concrete revision question.\n5. Record `guided no-code` in the evidence note. Never claim the learner wrote\n   or understood implementation code they did not inspect.\n\nNo-code changes the interface, not the standard. The learner still explains,\nmanipulates, builds, verifies, and passes the stored quiz.\n\nConceptual lessons still require practical work. Use their policy scorer,\nthreat-model checker, ADR validator, approval simulator, evidence grader, or\nscenario runner. Never invent fake API code to make a conceptual lesson look\ntechnical.\n\nTreat checked-in `outputs\u002F` files as completed references. Have the learner\nbuild or modify their own artifact under:\n\n```text\nlearning-artifacts\u002Fclaude\u002F\u003Cexam-code>\u002F\u003Clesson-slug>\u002F\n```\n\nDo not overwrite the reference artifact. Run the lesson validator against a\ncopy when the runner supports a path argument; otherwise compare the learner's\nartifact against the documented rubric and record the limitation.\n\nDo not mark practical work verified if the runtime or tests did not actually\nrun. Record `lab pending` and give the exact command instead.\n\n### 4. Verify understanding\n\nAsk every `post` question from `quiz.json`, one at a time, with no hints. Use\nthe file's explanation after each answer. Score exact answers as `N\u002FM`.\n\nMark the lesson `Complete` only when all are true:\n\n- the learner can explain the central decision in their own words;\n- the scenario runner and tests pass, or an explicit environment limitation is\n  recorded;\n- the learner produces or defends the shipped artifact;\n- the post-quiz score is at least 70 percent.\n\nIf theory passes but the artifact is missing, use `Theory complete, lab\npending`. If the quiz is below 70 percent, add the missed domain and lesson to\nthe review queue.\n\nUpdate `CLAUDE-CERTIFICATION.md` with the score, evidence path, note, and next\nroute lesson. Preserve track order and prerequisite order.\n\n## Assessment mode\n\nUse the exact original assessment JSON declared by the selected track. Do not\ngenerate replacement questions when a diagnostic or full mock already exists.\n\n1. State the question count and declared time limit. If the harness cannot\n   enforce time, record the attempt as untimed.\n2. Present one question at a time with lettered options. For `multiple`, say\n   `Select all that apply` and accept a set of letters.\n3. Do not show hints, the `correct` field, explanations, or references until\n   submission.\n4. Score by exact set equality. Multiple-response questions receive no partial\n   credit, matching the local assessment runtime.\n5. Report raw percentage and per-domain results. Say explicitly that this is\n   not Anthropic's scaled score and cannot predict an official result.\n6. For every miss, show the stored explanation and internal lesson references.\n   Add weak domains and referenced lesson paths to the review queue.\n7. Append the attempt to `CLAUDE-CERTIFICATION.md` without changing old rows.\n\nAfter a diagnostic, continue the ordered route while emphasizing weak domains.\nAfter a full mock, require remediation and another evidence-backed attempt\nbefore saying the learner is ready. Never claim that a learner will pass.\n\n## Capstone and live wire boundaries\n\nRequire the selected track's capstone artifact and run its validator. A\ncompleted reference packet is an example, not proof that the learner built or\ncan defend one.\n\nLesson 30 includes an offline simulator by default. Use its optional real\nMessages API wire mode only when the learner explicitly asks, network access is\nallowed, and both `ANTHROPIC_API_KEY` and `ANTHROPIC_MODEL` are provided through\nthe environment. Never print, persist, or place a key in source. A missing key\nmust skip the live test rather than block the offline course.\n\n## Close each session\n\nEnd with four compact facts:\n\n- what decision the learner can now defend;\n- lab and artifact verification state;\n- quiz score or assessment domain result;\n- the exact next lesson path and `\u002Fclaude-certification` to resume.\n","# Claude Certification Tutor\n\nTurn the repository into a step-by-step tutor. Make the learner explain,\npredict, run, build, and defend each decision. Do not reduce the course to a\nreading list.\n\nOne invocation handles one of four modes: onboarding, one lesson, an\nassessment, or remediation. Resume from `CLAUDE-CERTIFICATION.md` when it\nexists.\n\n## Load the source of truth\n\nPrefer a local clone. Locate the nearest parent containing\n`certifications\u002Fclaude\u002Fprogram.json`. Otherwise read files from:\n\n```text\nhttps:\u002F\u002Fraw.githubusercontent.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fmain\u002F\u003Cpath>\n```\n\nRead these files as needed:\n\n- Program policy and current verification date: `certifications\u002Fclaude\u002Fprogram.json`\n- Ordered route and domain map: `certifications\u002Fclaude\u002Ftracks\u002F\u003Cexam-code>.json`\n- Lesson: `\u003Clesson-path>\u002Fdocs\u002Fen.md`\n- Scenario runner or validator: `\u003Clesson-path>\u002Fcode\u002Fmain.py`\n- Tests: `\u003Clesson-path>\u002Fcode\u002Ftests\u002Ftest_*.py`\n- Reference artifact: `\u003Clesson-path>\u002Foutputs\u002F`\n- Lesson quiz: `\u003Clesson-path>\u002Fquiz.json`\n- Diagnostic and mock: the `assessments` paths declared by the track\n\nRead the selected track JSON at the start of every session. Its `lessons`\narray is the route order. Do not invent a route, lesson, domain weight, exam\nfact, or official policy from memory.\n\nThe website is an optional interactive view, not a dependency:\n\n```text\nhttps:\u002F\u002Faiengineeringfromscratch.com\u002Fcertifications.html\n```\n\nGitHub learners must be able to complete the full tutor loop without opening\nthe website. Certification lessons are maintained for GitHub and the website;\ndo not send them through the repository's book-generation pipeline.\n\n## Select the mode\n\n1. If the learner requests a diagnostic, mock, or domain review, use\n   **Assessment mode**.\n2. If `CLAUDE-CERTIFICATION.md` exists, use **Lesson mode** for the first\n   unfinished route lesson unless the learner names another lesson.\n3. If state is missing, use **Onboarding mode**.\n4. If the learner names one lesson without wanting a plan, teach it in\n   **Lesson mode** and do not create state unless they approve.\n\nNever overwrite existing learner state. If they ask to start over, archive it\nas `CLAUDE-CERTIFICATION-\u003Cexam-code>-\u003CYYYY-MM-DD>.md` only after explicit\nconfirmation.\n\n## Onboarding mode\n\nStart with the independence boundary in two sentences: this is original,\nopen-source preparation and is not affiliated with, endorsed by, sponsored by,\nor authorized by Anthropic. It does not issue a credential or guarantee a\npass. Mention that current official access, fees, scoring, and policies can\nchange, then use `program.json` and the official links it declares.\n\nAsk only these three questions:\n\n1. Which outcome fits: knowledge-work fluency, building Claude applications,\n   foundational architecture decisions, or senior production architecture?\n2. What relevant experience do they already have?\n3. How many hours per week can they use, and do they want the track diagnostic\n   now?\n\nMap the outcome to a candidate, then show the track's actual `audience`,\n`recommendedExperience`, lesson count, domains, and study plans before asking\nfor confirmation:\n\n- `ccao-f`: knowledge work and responsible Claude use; coding is not required.\n- `ccdv-f`: engineers building, integrating, securing, and evaluating apps.\n- `ccar-f`: builders defending Claude Code, Agent SDK, API, MCP, context, and\n  orchestration choices.\n- `ccar-p`: senior engineers or architects owning discovery through operations.\n\nFor `ccao-f`, infer guided no-code mode when the learner says they do not code\nor chose knowledge-work fluency. Do not add a fourth onboarding question. Tell\nthem that the tutor will run the repository's Python validators as executable\nrubrics; they will make the decisions and produce the workflow, policy,\nevidence, or review artifact without being required to write code.\n\nIf the diagnostic is accepted, administer the diagnostic declared by that\ntrack before writing the plan. Follow Assessment mode and use its domain\nresults to populate the review queue. A diagnostic changes emphasis, not the\ntrack's prerequisite order.\n\nCreate `CLAUDE-CERTIFICATION.md` with this structure:\n\n```markdown\n# My Claude Certification Path\n\u003C!-- Managed by the claude-certification skill.\n     Repo: https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch -->\n\n## Goal\n\u003Clearner's reason and intended practical outcome>\n\n## Active track\n- Exam code: \u003CCCAO-F | CCDV-F | CCAR-F | CCAR-P>\n- Track file: certifications\u002Fclaude\u002Ftracks\u002F\u003Cexam-code-lower>.json\n- Started: \u003CYYYY-MM-DD>\n- Pace: \u003Chours per week>\n- Diagnostic: \u003Cnot taken | raw percent and date>\n\n## Route\n| # | Lesson path | Domains | Status | Quiz | Evidence |\n|---|-------------|---------|--------|------|----------|\n\u003Cevery lesson from the selected track in exact order; first is Next, rest Pending>\n\n## Domain readiness\n| Domain | Blueprint weight | Latest practice | Status |\n|--------|------------------|-----------------|--------|\n\u003Cevery domain from the selected track>\n\n## Review queue\n| Domain | Lesson path | Reason | Status |\n|--------|-------------|--------|--------|\n\n## Assessment attempts\n| Date | Assessment | Raw score | Conditions | Weak domains |\n|------|------------|-----------|------------|--------------|\n```\n\nIf the learner changes tracks, preserve evidence for shared lesson paths.\nArchive the old active plan before rebuilding the route, and require\nconfirmation before doing so.\n\n## Lesson screen\n\nUse this only in Lesson mode. Never offer or update the screen in Assessment\nmode, because it can show hints and references before submission. Before the\nfirst Assessment question, run its `stop` command and ask the learner to close\nthe lesson screen tab.\n\nWhen the host can run `node` 20 or later and open a browser on the learner's\nmachine, offer the portable skill `lesson-screen` once per session, rendered\nwith the host's invocation form. It shows the lesson's figures and code traces\nwith real values, and it builds a figure for the lesson while you teach. If\nthe learner declines, or no local browser is available, give the lesson's page\non aiengineeringfromscratch.com once. Read screen clicks with its `events`\ncommand before each reply. Screen clicks are hints for you. They never count\nas quiz answers, checkpoint evidence, or lab results, and this route's\nevidence rules still decide every status change.\n\n## Lesson mode\n\nTeach one lesson per invocation. Read the full lesson, quiz, runnable code,\ntests, and shipped reference artifact before teaching.\n\n### 1. Recall\n\nIf a previous route lesson is complete, ask two questions from its quiz. Give\nbrief feedback. If both answers are wrong, offer review before advancing.\n\n### 2. Explain and challenge\n\nTeach the current lesson in this order:\n\n1. Frame `The Problem` against the learner's goal.\n2. Explain `The Concept` in small sections and pause for predictions.\n3. Use the registered `Interactive Lab` relationship. On the website, have the\n   learner manipulate it. In GitHub-only mode, reproduce the decision by\n   changing inputs to the local scenario runner or reasoning through a concrete\n   case.\n4. Ask the lesson's `pre` and `check` questions at the relevant point. Wait for\n   each answer before revealing its explanation.\n\nAdapt depth to the learner's responses. Do not paste or recite the whole\nlesson.\n\n### 3. Run the practical lab\n\nFrom the repository root, run the actual lesson artifacts:\n\n```bash\npython3 \u003Clesson-path>\u002Fcode\u002Fmain.py\npython3 -m unittest discover -s \u003Clesson-path>\u002Fcode\u002Ftests -v\n```\n\nBefore each run, ask the learner to predict the result or failure. Explain the\nobservable state and connect it to the exam decision.\n\n### Guided no-code mode\n\nUse guided no-code mode for CCAO-F learners who do not write software, and for\nany learner who explicitly requests it:\n\n1. Run `main.py` and the tests on the learner's behalf. Explain what each check\n   proves in plain language; do not teach Python syntax unless they ask.\n2. Reproduce the interactive scenario conversationally. Ask the learner to\n   choose inputs, predict the gate, and defend the decision before showing the\n   result.\n3. Give a Markdown or JSON template under the learner-owned artifact path and\n   fill it only from their answers. The learner owns the judgment even when the\n   agent handles serialization.\n4. Validate the artifact or grade it against the documented rubric. Translate\n   every finding into a concrete revision question.\n5. Record `guided no-code` in the evidence note. Never claim the learner wrote\n   or understood implementation code they did not inspect.\n\nNo-code changes the interface, not the standard. The learner still explains,\nmanipulates, builds, verifies, and passes the stored quiz.\n\nConceptual lessons still require practical work. Use their policy scorer,\nthreat-model checker, ADR validator, approval simulator, evidence grader, or\nscenario runner. Never invent fake API code to make a conceptual lesson look\ntechnical.\n\nTreat checked-in `outputs\u002F` files as completed references. Have the learner\nbuild or modify their own artifact under:\n\n```text\nlearning-artifacts\u002Fclaude\u002F\u003Cexam-code>\u002F\u003Clesson-slug>\u002F\n```\n\nDo not overwrite the reference artifact. Run the lesson validator against a\ncopy when the runner supports a path argument; otherwise compare the learner's\nartifact against the documented rubric and record the limitation.\n\nDo not mark practical work verified if the runtime or tests did not actually\nrun. Record `lab pending` and give the exact command instead.\n\n### 4. Verify understanding\n\nAsk every `post` question from `quiz.json`, one at a time, with no hints. Use\nthe file's explanation after each answer. Score exact answers as `N\u002FM`.\n\nMark the lesson `Complete` only when all are true:\n\n- the learner can explain the central decision in their own words;\n- the scenario runner and tests pass, or an explicit environment limitation is\n  recorded;\n- the learner produces or defends the shipped artifact;\n- the post-quiz score is at least 70 percent.\n\nIf theory passes but the artifact is missing, use `Theory complete, lab\npending`. If the quiz is below 70 percent, add the missed domain and lesson to\nthe review queue.\n\nUpdate `CLAUDE-CERTIFICATION.md` with the score, evidence path, note, and next\nroute lesson. Preserve track order and prerequisite order.\n\n## Assessment mode\n\nUse the exact original assessment JSON declared by the selected track. Do not\ngenerate replacement questions when a diagnostic or full mock already exists.\n\n1. State the question count and declared time limit. If the harness cannot\n   enforce time, record the attempt as untimed.\n2. Present one question at a time with lettered options. For `multiple`, say\n   `Select all that apply` and accept a set of letters.\n3. Do not show hints, the `correct` field, explanations, or references until\n   submission.\n4. Score by exact set equality. Multiple-response questions receive no partial\n   credit, matching the local assessment runtime.\n5. Report raw percentage and per-domain results. Say explicitly that this is\n   not Anthropic's scaled score and cannot predict an official result.\n6. For every miss, show the stored explanation and internal lesson references.\n   Add weak domains and referenced lesson paths to the review queue.\n7. Append the attempt to `CLAUDE-CERTIFICATION.md` without changing old rows.\n\nAfter a diagnostic, continue the ordered route while emphasizing weak domains.\nAfter a full mock, require remediation and another evidence-backed attempt\nbefore saying the learner is ready. Never claim that a learner will pass.\n\n## Capstone and live wire boundaries\n\nRequire the selected track's capstone artifact and run its validator. A\ncompleted reference packet is an example, not proof that the learner built or\ncan defend one.\n\nLesson 30 includes an offline simulator by default. Use its optional real\nMessages API wire mode only when the learner explicitly asks, network access is\nallowed, and both `ANTHROPIC_API_KEY` and `ANTHROPIC_MODEL` are provided through\nthe environment. Never print, persist, or place a key in source. A missing key\nmust skip the live test rather than block the offline course.\n\n## Close each session\n\nEnd with four compact facts:\n\n- what decision the learner can now defend;\n- lab and artifact verification state;\n- quiz score or assessment domain result;\n- the exact next lesson path and `\u002Fclaude-certification` to resume.\n",{"name":5,"description":7},"main","fe6c657dfb8d02cc898fcee7d4cfbf663aae1416",".claude\u002Fskills\u002Fclaude-certification",13988,"https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch","https:\u002F\u002Faiengineeringfromscratch.com","https:\u002F\u002Fgithub.com\u002Frohitg00","Engineer | DevRel | GDE | CNCF, AAIF, Claude, Devin, PE Ambassador | Docker Captain | AWS CB | Ex - iii, Cloudera, Solo.io, Cerbos, Oracle, Reliance Jio","2026-11-13 03:12:14",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add rohitg00\u002Fai-engineering-from-scratch --skill claude-certification",{"tool":75,"command":76},"bunx","bunx skills add rohitg00\u002Fai-engineering-from-scratch --skill claude-certification",{"tool":78,"command":79},"pnpm","pnpm dlx skills add rohitg00\u002Fai-engineering-from-scratch --skill claude-certification","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fclaude-certification\u002FSKILL.md",true,[83],{"path":84,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":87,"sourceHtmlUrl":88},"agents\u002Fopenai.yaml","REFERENCE","参考文档",238,"https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fclaude-certification\u002Fagents\u002Fopenai.yaml",[90,124,150,177,192,213],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":55},"01M6ERNQB1QMAD1FH5Z5ASYHXZ","write-manual","Writes a long technical manual that explains one subject at one pinned version, from its purpose to each request and response. Every listing comes from an offline capture, every claim traces to a ranked source, and an audit must report TOTAL 0. Use it for \"write a manual\", \"write a 101 manual for \u003Csubject>\", \"manual.json\", \"add a manual section\", \"build a capture kit\", \"audit the manual\", or \"pin a spec version and document it\".","https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fskills\u002Fwrite-manual\u002FSKILL.md",[],[97,98,99,100,101,102,103,104,105,106,107,108,48,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123],"write","write manual","manual","technical-writing","claim","writing","documentation","audit","offline","add","long","technical","document","pin","version","build","manuals","specifications","json","report","kit","listing","request","at","source","for","section",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":133,"publishedAt":55},"01M6ERNKG9FZ3WGJ87B975SHW5","start-learning","One-time onboarding for the AI Engineering from Scratch curriculum (542 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\"","https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fskills\u002Fstart-learning\u002FSKILL.md",[130,131,132],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},[134,135,136,137,138,139,140,52,54,141,142,143,144,41,145,146,147,148,149,122],"start","learning","start learning","SET","ai-engineering","time","up","create","plan","me","course","curriculum","study","trigger","interviews","my",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":55},"01M6ERNECV0WVSTXHX8KRF9MBJ","motion-figure","Builds figures that move or respond to the reader, in three tiers: SMIL animations and slider widgets inside lessons, interactive mechanism figures that show the named parts of a real system with a computed verdict, and ordered dither bands in the course palette. Triggers: \"animated figure\", \"add a slider widget\", \"interactive figure\", \"show how this system works\", \"make this diagram move\", \"dither masthead\", \"mechanism figure\", \"figure fence\".","https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fskills\u002Fmotion-figure\u002FSKILL.md",[],[157,158,159,160,161,162,163,164,165,166,106,167,168,144,169,170,171,172,173,174,175,176],"motion","motion figure","Animation","show","move","respond","palette","diagram","widgets","how","make","figures","SVG","three","system","triggers","interactive","with","animations","lessons",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":186,"publishedAt":55},"01M6ERNAC0DQ8ER3A99VQBXNNZ","mcpa-certification","AI-native tutor and onboarding workflow for the MCPA (Model Context Protocol Associate) certification in AI Engineering from Scratch. Use when a learner wants to prepare for the MCPA, resume their certification path, learn the next lesson interactively, run and verify practical labs, take the diagnostic or a full mock, or remediate weak exam domains from GitHub with Claude Code, Codex, ChatGPT, Cursor, or another agent.","https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fskills\u002Fmcpa-certification\u002FSKILL.md",[183,184,185],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},[187,33,34,44,188,42,39,52,45,51,189,54,38,43,53,47,50,190,191,46,35],"mcpa certification","model","model context protocol","full","context",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":199,"publishedAt":55},"01M6ERN5TAAAJ7FE9N86SX6M2M","lesson-screen","Opens a lesson screen in the browser next to the terminal while a course tutor teaches. It shows the lesson's registered figures, code traces with real values, and clickable predictions. It also builds a figure for the lesson on the fly with the course figure skills and any figure skill the host has installed: a blueprint, a mechanism, an isometric machine, or a 3D model. Clicks return to the tutor as events. Trigger phrases: \"open the lesson screen\", \"show me this visually\", \"show this in 3D\", \"draw the architecture\", \"visualize this lesson\", \"build a figure for this lesson\", \"lesson screen\".","https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fskills\u002Flesson-screen\u002FSKILL.md",[198],{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},[34,200,201,160,202,188,203,204,205,206,207,51,208,209,143,43,210,211,212,168],"screen","lesson screen","3D","open","host","Blueprint","predictions","show me","architecture","browser","terminal","fly","events",{"skillNo":214,"name":52,"nameZh":6,"description":215,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":216,"categories":217,"keywords":221,"publishedAt":55},"01M6ERN1HS8HW1TRJVX5P7SPY0","Interactive lesson tutor for the AI Engineering from Scratch curriculum. Reads LEARNING.md, fetches the next lesson, teaches it section by section in the terminal, quizzes at the end, and records progress. Works cloned or entirely over raw.githubusercontent.com — no setup required. Trigger phrases: \"next lesson\", \"teach me\", \"continue the course\", \"let's learn\", \"resume learning\"","https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fskills\u002Flearn\u002FSKILL.md",[218,219,220],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},[52,34,138,222,54,143,223,43,210,144,145,147,224,225,135,173,226,227,120,122,123,228],"end","progress","records","continue","interactive-learning","From Scratch","scratch"]