[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H4516E220H330NHPHF2X0B":3,"skill-same:01M6H4516E220H330NHPHF2X0B":106},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M6H4516E220H330NHPHF2X0B","mcp-artifact",null,"Validate, diagnose, and understand MCP server declarations and runtime behavior across Claude Code, Cursor, Codex, and Copilot CLI — transports, declaration format, and vendor support.","eyelock\u002Fassistants","eyelock","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1277325?v=4","01M6H423MGYJ0P316VZ2MMH75N","David Collie","01M6H423RR18QA9N8S2F3J8S8X",1,"MIT","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\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,36,37,38,39,40,41,42,43],"mcp artifact","artifact","MCP","server","understand","runtime","across","vendor","cursor","behavior","format","copilot cli","code","diagnose","copilot","validate","support","mcp server","codex","cli","2026-11-10 10:12:30",false,"---\nname: mcp-artifact\ndescription: Validate, diagnose, and understand MCP server declarations and runtime behavior across Claude Code, Cursor, Codex, and Copilot CLI — transports, declaration format, and vendor support.\n---\n\nUse this skill when working with MCP server declarations — validating configuration, diagnosing startup or connection failures, or understanding what each vendor supports.\n\n**Declaration format (shared across vendors):**\n```json\n{\n  \"mcpServers\": {\n    \"server-name\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@scope\u002Fserver\"],\n      \"env\": {\"KEY\": \"value\"}\n    }\n  }\n}\n```\n\n**Transport types:**\n- `stdio`: local process, command + args. Most widely supported. Copilot also accepts `local`\n  as an alias — emit `\"type\": \"stdio\"`, which every vendor understands.\n- `HTTP\u002FSSE`: remote server via URL. Claude Code, Cursor, and Copilot CLI support this; Codex does not.\n- `streamable HTTP`: Cursor extension with OAuth support; Copilot's `http` type is also\n  streamable HTTP.\n\n**Copilot-only key:** `tools` (e.g. `[\"*\"]`) filters which of a server's tools are exposed.\nOther vendors ignore it.\n\n**Diagnostic approach for MCP failures:**\n1. Check declaration file exists in the right location for the vendor (paths differ — see references\u002F)\n2. Check the server process starts: run the command manually\n3. Check transport: stdio servers write to stderr for debug output\n4. Check vendor support: some transports and features are vendor-specific\n5. Use MCP Inspector for local stdio debugging (`make mcp` in eyelock\u002Fmcp-toolkit)\n\n**Plugin vs project declaration:** file location differs by vendor — see references\u002F. In Claude Code, `--plugin-dir` does NOT auto-activate MCP; requires `\u002Fplugin enable`. In Copilot CLI, an installed plugin is a snapshot — reinstall after editing `.mcp.json`, or iterate with `copilot --plugin-dir .\u002Fmy-plugin`.\n\n**Conflict resolution:** Claude, Cursor, and Copilot all resolve duplicate server names\nlast-wins. Copilot's order is user config → plugins (install order) → `--additional-mcp-config`,\nand it warns when a later plugin displaces an earlier server.\n\nFor MCP spec details (tools, resources, prompts, sampling, elicitation, pagination, cancellation), see references\u002Fmcp-spec.md. For implementation patterns, see references\u002Fmcp-toolkit.md.\n","Use this skill when working with MCP server declarations — validating configuration, diagnosing startup or connection failures, or understanding what each vendor supports.\n\n**Declaration format (shared across vendors):**\n```json\n{\n  \"mcpServers\": {\n    \"server-name\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@scope\u002Fserver\"],\n      \"env\": {\"KEY\": \"value\"}\n    }\n  }\n}\n```\n\n**Transport types:**\n- `stdio`: local process, command + args. Most widely supported. Copilot also accepts `local`\n  as an alias — emit `\"type\": \"stdio\"`, which every vendor understands.\n- `HTTP\u002FSSE`: remote server via URL. Claude Code, Cursor, and Copilot CLI support this; Codex does not.\n- `streamable HTTP`: Cursor extension with OAuth support; Copilot's `http` type is also\n  streamable HTTP.\n\n**Copilot-only key:** `tools` (e.g. `[\"*\"]`) filters which of a server's tools are exposed.\nOther vendors ignore it.\n\n**Diagnostic approach for MCP failures:**\n1. Check declaration file exists in the right location for the vendor (paths differ — see references\u002F)\n2. Check the server process starts: run the command manually\n3. Check transport: stdio servers write to stderr for debug output\n4. Check vendor support: some transports and features are vendor-specific\n5. Use MCP Inspector for local stdio debugging (`make mcp` in eyelock\u002Fmcp-toolkit)\n\n**Plugin vs project declaration:** file location differs by vendor — see references\u002F. In Claude Code, `--plugin-dir` does NOT auto-activate MCP; requires `\u002Fplugin enable`. In Copilot CLI, an installed plugin is a snapshot — reinstall after editing `.mcp.json`, or iterate with `copilot --plugin-dir .\u002Fmy-plugin`.\n\n**Conflict resolution:** Claude, Cursor, and Copilot all resolve duplicate server names\nlast-wins. Copilot's order is user config → plugins (install order) → `--additional-mcp-config`,\nand it warns when a later plugin displaces an earlier server.\n\nFor MCP spec details (tools, resources, prompts, sampling, elicitation, pagination, cancellation), see references\u002Fmcp-spec.md. For implementation patterns, see references\u002Fmcp-toolkit.md.\n",{"name":5,"description":7},"develop","5f79513fe27520bf03af784e8df568a04931c48d","plugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact",0,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants","https:\u002F\u002Feyelock.github.io\u002Fassistants\u002F","https:\u002F\u002Fgithub.com\u002Feyelock","http:\u002F\u002Fwww.eyelock.net\u002Fblog","2026-11-11 07:41:09",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add eyelock\u002Fassistants --skill mcp-artifact",{"tool":64,"command":65},"bunx","bunx skills add eyelock\u002Fassistants --skill mcp-artifact",{"tool":67,"command":68},"pnpm","pnpm dlx skills add eyelock\u002Fassistants --skill mcp-artifact","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\u002FSKILL.md",true,[72,78,82,86,90,94,98,102],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"evals\u002Feval_queries.json","REFERENCE","参考文档",983,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\u002Fevals\u002Feval_queries.json",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"evals\u002Fevals.json",3212,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\u002Fevals\u002Fevals.json",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fclaude.md",1214,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\u002Freferences\u002Fclaude.md",{"path":87,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fcodex.md",607,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\u002Freferences\u002Fcodex.md",{"path":91,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fcopilot.md",3457,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\u002Freferences\u002Fcopilot.md",{"path":95,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fcursor.md",949,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\u002Freferences\u002Fcursor.md",{"path":99,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fmcp-spec.md",1344,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\u002Freferences\u002Fmcp-spec.md",{"path":103,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fmcp-toolkit.md",1314,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fmcp-artifact\u002Freferences\u002Fmcp-toolkit.md",[107,113,140,157,170,183],{"skillNo":108,"name":109,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":44},"01M6H46CHAJFE20J3Q118P9PW9","doctor","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fwheelhouse\u002Fskills\u002Fdoctor\u002FSKILL.md",[],[109],{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":44},"01M6H45X8QJZTQAPN56WZ8V111","add-seat","Add a named seat to a Wheelhouse - a crew member, a standing role (such as a dispatcher) or a worker - as a ynh harness with its charter, standing orders and only the tools its job needs, named from the Wheelhouse's roster. Use when asked to add, create or set up a seat, role, worker or agent in a Wheelhouse (a release manager, a PR watcher, a dispatcher, a designer, more workers), or to give a role a name, or to start on a Wheelhouse's team (its starter team), one role at a time. Also use to trial, make official or drop a seat.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fwheelhouse\u002Fskills\u002Fadd-seat\u002FSKILL.md",[],[120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],"add","add seat","harness","SET","roster","use","release manager","workers","team","with","create","watcher","starter","when","more","worker","up","only","pr","as",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":44},"01M6H4BWCVR2YJVP8RW878NYDP","voice","How voices work - what a voice skill contains, how to write a new one, and how several voices compose into one reply. Use whenever drafting a reply in a named voice, or when asked to create or change a voice.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice\u002FSKILL.md",[],[142,130,147,148,149,150,125,151,152,153,154,155,133,156],"how to","work","change","voice skill","compose","how","write","reply","new","drafting",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":44},"01M6H4BRVA87C6T495HCFNDQ7Z","voice-warm","A friendly voice that acknowledges the person and their effort. Compose with direct for friendly but brief.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice-warm\u002FSKILL.md",[],[164,142,165,129,166,151,167,168,169],"voice warm","person","brief","direct","for","but",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":176,"publishedAt":44},"01M6H4BNFQ64X65YZDM9QMD61B","voice-formal","A careful, complete voice for people outside the team - customers, partners, senior stakeholders.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice-formal\u002FSKILL.md",[],[177,142,128,178,179,180,181,182,168],"voice formal","complete","senior","careful","partners","people",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":44},"01M6H4BHXE6KSNBY92TBFZY7QD","voice-direct","A plain, brief voice that leads with the answer. The default when no voice is named.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice-direct\u002FSKILL.md",[],[190,167,142,129,166,191,192,193,133,194],"voice direct","leads","answer","default","plain"]