[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ERJE2DW4NHW3P13BYM2X1J":3,"skill-same:01M6ERJE2DW4NHW3P13BYM2X1J":97},{"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":28,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M6ERJE2DW4NHW3P13BYM2X1J","skill-contract-reviewer",null,"Validate an Agent Skill package and choose the right instruction, capability, or lifecycle primitive before implementation.","rohitg00\u002Fai-engineering-from-scratch","rohitg00","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F48523873?v=4","01M6ERFX7W55NRHW3AV85T2MM8","Rohit Ghumare","01M6ERFXCHT482XQFVY40TM2FN",78874,"MIT","https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fphases\u002F13-tools-and-protocols\u002F22-skills-and-agent-sdks\u002Foutputs\u002Fskill-contract-reviewer\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40],"reviewer","contract","skill contract reviewer","contract reviewer","validate","package","lifecycle","choose","implementation","agent skill","skill package","capability","2026-11-10 10:12:30",false,"---\nname: skill-contract-reviewer\ndescription: Validate an Agent Skill package and choose the right instruction, capability, or lifecycle primitive before implementation.\nlicense: MIT\nmetadata:\n  lesson: \"22\"\n---\n\n# Skill contract reviewer\n\nUse this skill when a workflow is about to become a reusable agent artifact.\n\n1. Set `SKILL_ROOT` to the absolute directory containing this installed\n   `SKILL.md`. Do not assume the process working directory is the bundle.\n2. Set `TARGET_ROOT` to the absolute original workspace working directory and\n   resolve the proposed skill directory under that root.\n3. Read `$SKILL_ROOT\u002Freferences\u002Fcontract.md` and validate the portable\n   `SKILL.md` identity fields.\n4. Read `$SKILL_ROOT\u002Freferences\u002Fdecision-model.md` and separate repository\n   context, reusable method, external capability, lifecycle timing,\n   deterministic logic, and isolated delegation.\n5. Before execution, show the exact resolved argument vector. Run\n   `python3 \"$SKILL_ROOT\u002Fscripts\u002Fcheck_skill.py\" \"$TARGET_SKILL\"`, where\n   `TARGET_SKILL` is the absolute proposed skill directory under\n   `TARGET_ROOT`.\n6. Inspect the JSON report. Fix every error before discussing host-specific\n   extensions.\n7. Compare the proposed artifact with\n   `$SKILL_ROOT\u002Fassets\u002Ftask-shapes.json` and return the smallest composable set\n   of primitives.\n\nDo not claim that a runtime extension is part of the portable contract. Do not treat a valid skill as permission to run scripts or access tools.\n\nReturn the validation report, the selected primitives, and one sentence\nexplaining each selection. Include execution evidence with the resolved script\npath, resolved target path, cwd, exact argv, and exit code. If the host cannot\nexpose one of those observations, mark it unverified instead of inventing it.\n","# Skill contract reviewer\n\nUse this skill when a workflow is about to become a reusable agent artifact.\n\n1. Set `SKILL_ROOT` to the absolute directory containing this installed\n   `SKILL.md`. Do not assume the process working directory is the bundle.\n2. Set `TARGET_ROOT` to the absolute original workspace working directory and\n   resolve the proposed skill directory under that root.\n3. Read `$SKILL_ROOT\u002Freferences\u002Fcontract.md` and validate the portable\n   `SKILL.md` identity fields.\n4. Read `$SKILL_ROOT\u002Freferences\u002Fdecision-model.md` and separate repository\n   context, reusable method, external capability, lifecycle timing,\n   deterministic logic, and isolated delegation.\n5. Before execution, show the exact resolved argument vector. Run\n   `python3 \"$SKILL_ROOT\u002Fscripts\u002Fcheck_skill.py\" \"$TARGET_SKILL\"`, where\n   `TARGET_SKILL` is the absolute proposed skill directory under\n   `TARGET_ROOT`.\n6. Inspect the JSON report. Fix every error before discussing host-specific\n   extensions.\n7. Compare the proposed artifact with\n   `$SKILL_ROOT\u002Fassets\u002Ftask-shapes.json` and return the smallest composable set\n   of primitives.\n\nDo not claim that a runtime extension is part of the portable contract. Do not treat a valid skill as permission to run scripts or access tools.\n\nReturn the validation report, the selected primitives, and one sentence\nexplaining each selection. Include execution evidence with the resolved script\npath, resolved target path, cwd, exact argv, and exit code. If the host cannot\nexpose one of those observations, mark it unverified instead of inventing it.\n",{"name":5,"license":15,"metadata":46,"description":7},{"lesson":47},"22","main","fe6c657dfb8d02cc898fcee7d4cfbf663aae1416","phases\u002F13-tools-and-protocols\u002F22-skills-and-agent-sdks\u002Foutputs\u002Fskill-contract-reviewer",14055,"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-15 00:28:09",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add rohitg00\u002Fai-engineering-from-scratch --skill skill-contract-reviewer",{"tool":63,"command":64},"bunx","bunx skills add rohitg00\u002Fai-engineering-from-scratch --skill skill-contract-reviewer",{"tool":66,"command":67},"pnpm","pnpm dlx skills add rohitg00\u002Fai-engineering-from-scratch --skill skill-contract-reviewer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fphases\u002F13-tools-and-protocols\u002F22-skills-and-agent-sdks\u002Foutputs\u002Fskill-contract-reviewer\u002FSKILL.md",true,[71,77,83,87,91],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"assets\u002Ftask-shapes.json","ASSET","资产文件",634,"https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fphases\u002F13-tools-and-protocols\u002F22-skills-and-agent-sdks\u002Foutputs\u002Fskill-contract-reviewer\u002Fassets\u002Ftask-shapes.json",{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fcontract.md","REFERENCE","参考文档",1039,"https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fphases\u002F13-tools-and-protocols\u002F22-skills-and-agent-sdks\u002Foutputs\u002Fskill-contract-reviewer\u002Freferences\u002Fcontract.md",{"path":84,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fdecision-model.md",1059,"https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fphases\u002F13-tools-and-protocols\u002F22-skills-and-agent-sdks\u002Foutputs\u002Fskill-contract-reviewer\u002Freferences\u002Fdecision-model.md",{"path":88,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fworkflow.md",9936,"https:\u002F\u002Fgithub.com\u002Fbluealpha-labs\u002Fbluealpha-mcp-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fbluealpha-marketing-plugin\u002Fskills\u002Fmmm-health-check\u002Freferences\u002Fworkflow.md",{"path":92,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":95,"sourceHtmlUrl":96},"scripts\u002Fcheck_skill.py","SCRIPT","脚本",7058,"https:\u002F\u002Fgithub.com\u002Frohitg00\u002Fai-engineering-from-scratch\u002Fblob\u002Fmain\u002Fphases\u002F13-tools-and-protocols\u002F22-skills-and-agent-sdks\u002Foutputs\u002Fskill-contract-reviewer\u002Fscripts\u002Fcheck_skill.py",[98,133,166,193,222,243],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":41},"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",[],[105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132],"write","write manual","manual","technical-writing","claim","writing","documentation","audit","offline","add","long","technical","use","document","pin","version","build","manuals","specifications","json","report","kit","listing","request","at","source","for","section",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":146,"publishedAt":41},"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",[139,140,143],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":141,"categoryName":142,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000038","人力资源",{"categoryNo":144,"categoryName":145,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000039","教师与教育",[147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,131],"start","learning","start learning","SET","ai-engineering","time","up","learn","ai engineering","create","plan","me","course","learner","curriculum","study","trigger","interviews","my",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":41},"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",[],[173,174,175,176,177,178,179,180,181,182,114,183,184,159,185,186,187,188,189,190,191,192],"motion","motion figure","Animation","show","move","respond","palette","diagram","widgets","how","make","figures","SVG","three","system","triggers","interactive","with","animations","lessons",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":202,"publishedAt":41},"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",[199,200,201],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":141,"categoryName":142,"taxonomyType":26,"taxonomyTypeDesc":27},{"categoryNo":144,"categoryName":145,"taxonomyType":26,"taxonomyTypeDesc":27},[203,204,205,206,207,208,209,154,210,211,212,155,213,214,215,216,217,218,219,220,221],"mcpa certification","certification","lesson","practical","model","domains","exam","workflow","code","model context protocol","native","next","run","take","chatgpt","full","context","ai-native","when",{"skillNo":223,"name":224,"nameZh":6,"description":225,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":226,"categories":227,"keywords":229,"publishedAt":41},"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",[228],{"categoryNo":144,"categoryName":145,"taxonomyType":26,"taxonomyTypeDesc":27},[205,230,231,176,232,207,233,234,235,236,237,211,238,239,158,214,240,241,242,184],"screen","lesson screen","3D","open","host","Blueprint","predictions","show me","architecture","browser","terminal","fly","events",{"skillNo":244,"name":154,"nameZh":6,"description":245,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":246,"categories":247,"keywords":251,"publishedAt":41},"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",[248,249,250],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":141,"categoryName":142,"taxonomyType":26,"taxonomyTypeDesc":27},{"categoryNo":144,"categoryName":145,"taxonomyType":26,"taxonomyTypeDesc":27},[154,205,151,252,155,158,253,214,240,159,161,163,254,255,148,189,256,257,129,131,132,258],"end","progress","records","continue","interactive-learning","From Scratch","scratch"]