[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DJEPBTRQ9B0DFHW9SFEACS":3,"skill-same:01M6DJEPBTRQ9B0DFHW9SFEACS":104},{"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":23,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6DJEPBTRQ9B0DFHW9SFEACS","review-mcp-drift",null,"Compare two MCP capability snapshots canonically and emit deterministic evidence for capability and supply-chain drift.","dasobral\u002Fskills","dasobral","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F108470360?v=4","01M6DJBRR588S4TSNFT0ZYY6BV","Daniel SB","01M6DJBRWBDEBPCQ874SWDZWZR",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Freview-mcp-drift\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35],"MCP","review","drift","review mcp drift","agentic","supply-chain","evidence","snapshots","gate","trust","deterministic","chain","2026-11-10 10:12:30",false,"---\nname: review-mcp-drift\ndescription: Compare two MCP capability snapshots canonically and emit deterministic evidence for capability and supply-chain drift.\nlicense: MIT\nmetadata:\n  plugin: agentic-trust-gate\n  version: \"0.1.0\"\n---\n\n# Review MCP Drift\n\nCompare evidence, not presentation order. The workflow does not authorize an\nMCP server; runtime allowlists, permissions, authentication policy, and sandbox\ncontrols remain independent enforcement.\n\n## Workflow\n\n1. Capture sanitized MCP snapshots. Exclude tokens, environment values, request\n   bodies, user content, and credentials.\n2. Run\n   `python3 scripts\u002Freview_mcp_drift.py BEFORE.json AFTER.json > capability-delta.json`.\n3. Review the union of canonical tool names. The scanner covers server\n   instructions, tool descriptions, schema annotations\u002Fdefaults, and every remote\n   descriptor leaf. Findings contain exact JSON Pointer locations and content\n   hashes, never raw instruction text.\n4. Treat added\u002Fremoved capabilities as `review-required`; policy marks destructive\n   additions, destructive escalation, scope expansion, auth endpoint changes,\n   shadowing, hidden instructions, token passthrough, and remote mutability as\n   `deny`\u002F`block`; other remote descriptor drift is `review-required`\u002F`review`.\n5. Read `evidence_state` independently from `decision`. A complete observation\n   can still produce a deny decision.\n6. Validate retained output with\n   `python3 scripts\u002Freview_mcp_drift.py --validate capability-delta.json`.\n\nTreat `unknown` and `evidence-gap` as unresolved, never as approval. The contract\nis `references\u002Fschemas\u002Fcapability-delta.schema.json`.\nAll input\u002Foutput artifacts use Draft 2020-12 validation first. Missing\n`jsonschema==4.26.0` yields an `evidence-gap` and setup guidance.\n","# Review MCP Drift\n\nCompare evidence, not presentation order. The workflow does not authorize an\nMCP server; runtime allowlists, permissions, authentication policy, and sandbox\ncontrols remain independent enforcement.\n\n## Workflow\n\n1. Capture sanitized MCP snapshots. Exclude tokens, environment values, request\n   bodies, user content, and credentials.\n2. Run\n   `python3 scripts\u002Freview_mcp_drift.py BEFORE.json AFTER.json > capability-delta.json`.\n3. Review the union of canonical tool names. The scanner covers server\n   instructions, tool descriptions, schema annotations\u002Fdefaults, and every remote\n   descriptor leaf. Findings contain exact JSON Pointer locations and content\n   hashes, never raw instruction text.\n4. Treat added\u002Fremoved capabilities as `review-required`; policy marks destructive\n   additions, destructive escalation, scope expansion, auth endpoint changes,\n   shadowing, hidden instructions, token passthrough, and remote mutability as\n   `deny`\u002F`block`; other remote descriptor drift is `review-required`\u002F`review`.\n5. Read `evidence_state` independently from `decision`. A complete observation\n   can still produce a deny decision.\n6. Validate retained output with\n   `python3 scripts\u002Freview_mcp_drift.py --validate capability-delta.json`.\n\nTreat `unknown` and `evidence-gap` as unresolved, never as approval. The contract\nis `references\u002Fschemas\u002Fcapability-delta.schema.json`.\nAll input\u002Foutput artifacts use Draft 2020-12 validation first. Missing\n`jsonschema==4.26.0` yields an `evidence-gap` and setup guidance.\n",{"name":5,"license":15,"metadata":41,"description":7},{"plugin":42,"version":43},"agentic-trust-gate","0.1.0","main","1e047a4b00be0c07efa464cd97f36fa39d4b1718","skills\u002Freview-mcp-drift","https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills","https:\u002F\u002Fgithub.com\u002Fdasobral","https:\u002F\u002Forcid.org\u002Fmy-orcid?orcid=0000-0001-9559-3651","Software Engineer with a Ph. D. in Physics","2026-08-15 21:49:02",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add dasobral\u002Fskills --skill review-mcp-drift",{"tool":58,"command":59},"bunx","bunx skills add dasobral\u002Fskills --skill review-mcp-drift",{"tool":61,"command":62},"pnpm","pnpm dlx skills add dasobral\u002Fskills --skill review-mcp-drift","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Freview-mcp-drift\u002FSKILL.md",true,[66,72,78,84,88,92,96,100],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"generate.py","SCRIPT","脚本",15873,"https:\u002F\u002Fgithub.com\u002Fcateyephotos\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills.pre-symlink-1776435493\u002Fcreate-pdf-fixture\u002Fgenerate.py",{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"pyproject.toml","OTHER","其他",311,"https:\u002F\u002Fgithub.com\u002Fcateyephotos\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills.pre-symlink-1776435493\u002Fcreate-pdf-fixture\u002Fpyproject.toml",{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fexamples\u002Fcapability-delta.json","REFERENCE","参考文档",1344,"https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Freview-mcp-drift\u002Freferences\u002Fexamples\u002Fcapability-delta.json",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fschemas\u002Fcapability-delta.schema.json",3786,"https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Freview-mcp-drift\u002Freferences\u002Fschemas\u002Fcapability-delta.schema.json",{"path":89,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fschemas\u002Fmcp-snapshot.schema.json",1156,"https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Freview-mcp-drift\u002Freferences\u002Fschemas\u002Fmcp-snapshot.schema.json",{"path":93,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":94,"sourceHtmlUrl":95},"run.sh",1053,"https:\u002F\u002Fgithub.com\u002Fcateyephotos\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills.pre-symlink-1776435493\u002Fcreate-pdf-fixture\u002Frun.sh",{"path":97,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":98,"sourceHtmlUrl":99},"sanity.sh",269,"https:\u002F\u002Fgithub.com\u002Fcateyephotos\u002Fagent-skills\u002Fblob\u002Fmain\u002Fskills.pre-symlink-1776435493\u002Fcreate-pdf-fixture\u002Fsanity.sh",{"path":101,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Freview_mcp_drift.py",19195,"https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Freview-mcp-drift\u002Fscripts\u002Freview_mcp_drift.py",[105,117,151,171,204,228],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":112,"publishedAt":36},"01M6DJFKJASZX8BMFGRQBEKFY9","fixture-skill","Fixture skill used to prove trust inventory coverage.","https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Ftools\u002Fskills-export\u002Ftests\u002Ffixtures\u002Fworkflows\u002Fagent-security\u002Frepository\u002F.cursor\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[111],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[113,114,33,115,116],"fixture","fixture skill","coverage","inventory",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":134,"publishedAt":36},"01M6DJFG24D9X2WAP411JJP71W","write-conformant-code","Write code in any language that matches project conventions exactly. Reads CODING_REQUIREMENTS.md, prior review output, or built-in defaults before writing. Part of Codecraft pipeline: analyze → write → review → audit. Use when implementing features, functions, or any code that should fit seamlessly into an existing codebase.","https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fwrite-conformant-code\u002FSKILL.md",[123,126,131],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":127,"categoryName":128,"taxonomyType":129,"taxonomyTypeDesc":130},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":132,"categoryName":133,"taxonomyType":129,"taxonomyTypeDesc":130},"01JBSEEDCAT000000000000036","内容创作者",[135,136,137,138,139,25,140,141,142,143,144,145,146,147,148,149,150],"code","write","write conformant code","conventions","writing","fit","project conventions","requirements","audit","pipeline","analyze","coding","project","use","functions","language",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":160,"publishedAt":36},"01M6DJFDDCWB5VMAYE79YTZB40","test-crypto-interoperability","Record reproducible cryptographic interoperability cases, including negotiation, fallback, sizes, latency, fragmentation, and negative tests.","https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Ftest-crypto-interoperability\u002FSKILL.md",[157],{"categoryNo":158,"categoryName":159,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[161,162,163,164,165,166,167,168,169,170],"test","interoperability","crypto","test crypto interoperability","negotiation","Reproducible","fallback","record","latency","tests",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":186,"publishedAt":36},"01M6DJF68YHCTQA473PSH24HSK","scientific-platform-architect","Design scientific computing platforms combining HPC kernels with modern infrastructure. Enforces compute-layer separation (Rust\u002FPyTorch\u002FPython), emulator-first thinking, and right-sized infrastructure. Use for MCMC pipelines, neural emulators, platform design, or scientific code review.","https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fscientific-platform-architect\u002FSKILL.md",[177,180,183],{"categoryNo":178,"categoryName":179,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":181,"categoryName":182,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":184,"categoryName":185,"taxonomyType":129,"taxonomyTypeDesc":130},"01JBSEEDCAT000000000000032","设计师",[187,188,189,190,191,192,193,194,195,148,196,197,135,198,199,200,201,25,202,203],"platform","scientific platform architect","architect","emulators","scientific computing","pytorch","thinking","Neural","pipelines","platform design","first","infrastructure","compute","rust","python","design","code review",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":208,"categories":209,"keywords":211,"publishedAt":36},"01M6DJF2D8ZNG4439WQ21CQ75D","rust-systems","Rust systems engineering for daemons, HTTP APIs, and AOS components. Enforces Tokio\u002FAxum async-first, LiteLLM-compatible OpenAI APIs, workspace layouts, tracing, and systemd-compatible daemon design. Part of AOS Stack plugin. Use for .rs files, Cargo.toml, daemons, or Rust orchestrator services.","https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Frust-systems\u002FSKILL.md",[210],{"categoryNo":181,"categoryName":182,"taxonomyType":21,"taxonomyTypeDesc":22},[212,213,200,214,148,215,216,217,218,197,219,220,221,222,223,224,202,225,226,227],"rust systems","systems","openai","orchestrator","litellm","workspace","stack","services","tracing","async","plugin","http","components","cargo","toml","files",{"skillNo":229,"name":230,"nameZh":6,"description":231,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":232,"categories":233,"keywords":235,"publishedAt":36},"01M6DJEYP0JJX0XJPJYR36VRTW","run-agent-attack-replay","Aggregate isolated agent attack trials with deterministic side-effect assertions, Wilson intervals, and preserved trace evidence.","https:\u002F\u002Fgithub.com\u002Fdasobral\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Frun-agent-attack-replay\u002FSKILL.md",[234],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[236,237,238,34,30,239,240],"run","replay","run agent attack replay","effect","trace"]