[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7EXHTNWDJ2FGFVVN6THS13M":3,"skill-same:01M7EXHTNWDJ2FGFVVN6THS13M":57},{"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":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":6,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M7EXHTNWDJ2FGFVVN6THS13M","build-mcpb",null,"This skill should be used when the user wants to \"package an MCP server\", \"bundle an MCP\", \"make an MCPB\", \"ship a local MCP server\", \"distribute a local MCP\", discusses \".mcpb files\", mentions bundling a Node or Python runtime with their MCP server, or needs an MCP server that interacts with the local filesystem, desktop apps, or OS and must be installable without the user having Node\u002FPython set up.","lza6\u002FArmor-piercing-system-prompts","lza6","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F128880206?v=4","01M7EB3K7WPX5T28EJ2NVHE6EG","Chinese-tingfeng","01M7EB3K97E1KQ16QWKJMFNGX8",11,"MIT","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fbuild-mcpb\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: build-mcpb\ndescription: This skill should be used when the user wants to \"package an MCP server\", \"bundle an MCP\", \"make an MCPB\", \"ship a local MCP server\", \"distribute a local MCP\", discusses \".mcpb files\", mentions bundling a Node or Python runtime with their MCP server, or needs an MCP server that interacts with the local filesystem, desktop apps, or OS and must be installable without the user having Node\u002FPython set up.\nversion: 0.1.0\n---\n\n# Build an MCPB (Bundled Local MCP Server)\n\nMCPB is a local MCP server **packaged with its runtime**. The user installs one file; it runs without needing Node, Python, or any toolchain on their machine. It's the sanctioned way to distribute local MCP servers.\n\n**Use MCPB when the server must run on the user's machine** — reading local files, driving a desktop app, talking to localhost services, OS-level APIs. If your server only hits cloud APIs, you almost certainly want a remote HTTP server instead (see `build-mcp-server`). Don't pay the MCPB packaging tax for something that could be a URL.\n\n---\n\n## What an MCPB bundle contains\n\n```\nmy-server.mcpb              (zip archive)\n├── manifest.json           ← identity, entry point, config schema, compatibility\n├── server\u002F                 ← your MCP server code\n│   ├── index.js\n│   └── node_modules\u002F       ← bundled dependencies (or vendored)\n└── icon.png\n```\n\nThe host reads `manifest.json`, launches `server.mcp_config.command` as a **stdio** MCP server, and pipes messages. From your code's perspective it's identical to a local stdio server — the only difference is packaging.\n\n---\n\n## Manifest\n\n```json\n{\n  \"$schema\": \"https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fmcpb\u002Fmain\u002Fschemas\u002Fmcpb-manifest-v0.4.schema.json\",\n  \"manifest_version\": \"0.4\",\n  \"name\": \"local-files\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Read, search, and watch files on the local filesystem.\",\n  \"author\": { \"name\": \"Your Name\" },\n  \"server\": {\n    \"type\": \"node\",\n    \"entry_point\": \"server\u002Findex.js\",\n    \"mcp_config\": {\n      \"command\": \"node\",\n      \"args\": [\"${__dirname}\u002Fserver\u002Findex.js\"],\n      \"env\": {\n        \"ROOT_DIR\": \"${user_config.rootDir}\"\n      }\n    }\n  },\n  \"user_config\": {\n    \"rootDir\": {\n      \"type\": \"directory\",\n      \"title\": \"Root directory\",\n      \"description\": \"Directory to expose. Defaults to ~\u002FDocuments.\",\n      \"default\": \"${HOME}\u002FDocuments\",\n      \"required\": true\n    }\n  },\n  \"compatibility\": {\n    \"claude_desktop\": \">=1.0.0\",\n    \"platforms\": [\"darwin\", \"win32\", \"linux\"]\n  }\n}\n```\n\n**`server.type`** — `node`, `python`, or `binary`. Informational; the actual launch comes from `mcp_config`.\n\n**`server.mcp_config`** — the literal command\u002Fargs\u002Fenv to spawn. Use `${__dirname}` for bundle-relative paths and `${user_config.\u003Ckey>}` to substitute install-time config. **There's no auto-prefix** — the env var names your server reads are exactly what you put in `env`.\n\n**`user_config`** — install-time settings surfaced in the host's UI. `type: \"directory\"` renders a native folder picker. `sensitive: true` stores in OS keychain. See `references\u002Fmanifest-schema.md` for all fields.\n\n---\n\n## Server code: same as local stdio\n\nThe server itself is a standard stdio MCP server. Nothing MCPB-specific in the tool logic.\n\n```typescript\nimport { McpServer } from \"@modelcontextprotocol\u002Fsdk\u002Fserver\u002Fmcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol\u002Fsdk\u002Fserver\u002Fstdio.js\";\nimport { z } from \"zod\";\nimport { readFile, readdir } from \"node:fs\u002Fpromises\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\n\n\u002F\u002F ROOT_DIR comes from what you put in manifest's server.mcp_config.env — no auto-prefix\nconst ROOT = (process.env.ROOT_DIR ?? join(homedir(), \"Documents\"));\n\nconst server = new McpServer({ name: \"local-files\", version: \"0.1.0\" });\n\nserver.registerTool(\n  \"list_files\",\n  {\n    description: \"List files in a directory under the configured root.\",\n    inputSchema: { path: z.string().default(\".\") },\n    annotations: { readOnlyHint: true },\n  },\n  async ({ path }) => {\n    const entries = await readdir(join(ROOT, path), { withFileTypes: true });\n    const list = entries.map(e => ({ name: e.name, dir: e.isDirectory() }));\n    return { content: [{ type: \"text\", text: JSON.stringify(list, null, 2) }] };\n  },\n);\n\nserver.registerTool(\n  \"read_file\",\n  {\n    description: \"Read a file's contents. Path is relative to the configured root.\",\n    inputSchema: { path: z.string() },\n    annotations: { readOnlyHint: true },\n  },\n  async ({ path }) => {\n    const text = await readFile(join(ROOT, path), \"utf8\");\n    return { content: [{ type: \"text\", text }] };\n  },\n);\n\nconst transport = new StdioServerTransport();\nawait server.connect(transport);\n```\n\n**Sandboxing is entirely your job.** There is no manifest-level sandbox — the process runs with full user privileges. Validate paths, refuse to escape `ROOT`, allowlist spawns. See `references\u002Flocal-security.md`.\n\nBefore hardcoding `ROOT` from a config env var, check if the host supports `roots\u002Flist` — the spec-native way to get user-approved directories. See `references\u002Flocal-security.md` for the pattern.\n\n---\n\n## Build pipeline\n\n### Node\n\n```bash\nnpm install\nnpx esbuild src\u002Findex.ts --bundle --platform=node --outfile=server\u002Findex.js\n# or: copy node_modules wholesale if native deps resist bundling\nnpx @anthropic-ai\u002Fmcpb pack\n```\n\n`mcpb pack` zips the directory and validates `manifest.json` against the schema.\n\n### Python\n\n```bash\npip install -t server\u002Fvendor -r requirements.txt\nnpx @anthropic-ai\u002Fmcpb pack\n```\n\nVendor dependencies into a subdirectory and prepend it to `sys.path` in your entry script. Native extensions (numpy, etc.) must be built for each target platform — avoid native deps if you can.\n\n---\n\n## MCPB has no sandbox — security is on you\n\nUnlike mobile app stores, MCPB does NOT enforce permissions. The manifest has no `permissions` block — the server runs with full user privileges. `references\u002Flocal-security.md` is mandatory reading, not optional. Every path must be validated, every spawn must be allowlisted, because nothing stops you at the platform level.\n\nIf you came here expecting filesystem\u002Fnetwork scoping from the manifest: it doesn't exist. Build it yourself in tool handlers.\n\nIf your server's only job is hitting a cloud API, stop — that's a remote server wearing an MCPB costume. The user gains nothing from running it locally, and you're taking on local-security burden for no reason.\n\n---\n\n## MCPB + UI widgets\n\nMCPB servers can serve UI resources exactly like remote MCP apps — the widget mechanism is transport-agnostic. A local file picker that browses the actual disk, a dialog that controls a native app, etc.\n\nWidget authoring is covered in the **`build-mcp-app`** skill; it works the same here. The only difference is where the server runs.\n\n---\n\n## Testing\n\n```bash\n# Interactive manifest creation (first time)\nnpx @anthropic-ai\u002Fmcpb init\n\n# Run the server directly over stdio, poke it with the inspector\nnpx @modelcontextprotocol\u002Finspector node server\u002Findex.js\n\n# Validate manifest against schema, then pack\nnpx @anthropic-ai\u002Fmcpb validate\nnpx @anthropic-ai\u002Fmcpb pack\n\n# Sign for distribution\nnpx @anthropic-ai\u002Fmcpb sign dist\u002Flocal-files.mcpb\n\n# Install: drag the .mcpb file onto Claude Desktop\n```\n\nTest on a machine **without** your dev toolchain before shipping. \"Works on my machine\" failures in MCPB almost always trace to a dependency that wasn't actually bundled.\n\n---\n\n## Reference files\n\n- `references\u002Fmanifest-schema.md` — full `manifest.json` field reference\n- `references\u002Flocal-security.md` — path traversal, sandboxing, least privilege\n","# Build an MCPB (Bundled Local MCP Server)\n\nMCPB is a local MCP server **packaged with its runtime**. The user installs one file; it runs without needing Node, Python, or any toolchain on their machine. It's the sanctioned way to distribute local MCP servers.\n\n**Use MCPB when the server must run on the user's machine** — reading local files, driving a desktop app, talking to localhost services, OS-level APIs. If your server only hits cloud APIs, you almost certainly want a remote HTTP server instead (see `build-mcp-server`). Don't pay the MCPB packaging tax for something that could be a URL.\n\n---\n\n## What an MCPB bundle contains\n\n```\nmy-server.mcpb              (zip archive)\n├── manifest.json           ← identity, entry point, config schema, compatibility\n├── server\u002F                 ← your MCP server code\n│   ├── index.js\n│   └── node_modules\u002F       ← bundled dependencies (or vendored)\n└── icon.png\n```\n\nThe host reads `manifest.json`, launches `server.mcp_config.command` as a **stdio** MCP server, and pipes messages. From your code's perspective it's identical to a local stdio server — the only difference is packaging.\n\n---\n\n## Manifest\n\n```json\n{\n  \"$schema\": \"https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fmcpb\u002Fmain\u002Fschemas\u002Fmcpb-manifest-v0.4.schema.json\",\n  \"manifest_version\": \"0.4\",\n  \"name\": \"local-files\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Read, search, and watch files on the local filesystem.\",\n  \"author\": { \"name\": \"Your Name\" },\n  \"server\": {\n    \"type\": \"node\",\n    \"entry_point\": \"server\u002Findex.js\",\n    \"mcp_config\": {\n      \"command\": \"node\",\n      \"args\": [\"${__dirname}\u002Fserver\u002Findex.js\"],\n      \"env\": {\n        \"ROOT_DIR\": \"${user_config.rootDir}\"\n      }\n    }\n  },\n  \"user_config\": {\n    \"rootDir\": {\n      \"type\": \"directory\",\n      \"title\": \"Root directory\",\n      \"description\": \"Directory to expose. Defaults to ~\u002FDocuments.\",\n      \"default\": \"${HOME}\u002FDocuments\",\n      \"required\": true\n    }\n  },\n  \"compatibility\": {\n    \"claude_desktop\": \">=1.0.0\",\n    \"platforms\": [\"darwin\", \"win32\", \"linux\"]\n  }\n}\n```\n\n**`server.type`** — `node`, `python`, or `binary`. Informational; the actual launch comes from `mcp_config`.\n\n**`server.mcp_config`** — the literal command\u002Fargs\u002Fenv to spawn. Use `${__dirname}` for bundle-relative paths and `${user_config.\u003Ckey>}` to substitute install-time config. **There's no auto-prefix** — the env var names your server reads are exactly what you put in `env`.\n\n**`user_config`** — install-time settings surfaced in the host's UI. `type: \"directory\"` renders a native folder picker. `sensitive: true` stores in OS keychain. See `references\u002Fmanifest-schema.md` for all fields.\n\n---\n\n## Server code: same as local stdio\n\nThe server itself is a standard stdio MCP server. Nothing MCPB-specific in the tool logic.\n\n```typescript\nimport { McpServer } from \"@modelcontextprotocol\u002Fsdk\u002Fserver\u002Fmcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol\u002Fsdk\u002Fserver\u002Fstdio.js\";\nimport { z } from \"zod\";\nimport { readFile, readdir } from \"node:fs\u002Fpromises\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\n\n\u002F\u002F ROOT_DIR comes from what you put in manifest's server.mcp_config.env — no auto-prefix\nconst ROOT = (process.env.ROOT_DIR ?? join(homedir(), \"Documents\"));\n\nconst server = new McpServer({ name: \"local-files\", version: \"0.1.0\" });\n\nserver.registerTool(\n  \"list_files\",\n  {\n    description: \"List files in a directory under the configured root.\",\n    inputSchema: { path: z.string().default(\".\") },\n    annotations: { readOnlyHint: true },\n  },\n  async ({ path }) => {\n    const entries = await readdir(join(ROOT, path), { withFileTypes: true });\n    const list = entries.map(e => ({ name: e.name, dir: e.isDirectory() }));\n    return { content: [{ type: \"text\", text: JSON.stringify(list, null, 2) }] };\n  },\n);\n\nserver.registerTool(\n  \"read_file\",\n  {\n    description: \"Read a file's contents. Path is relative to the configured root.\",\n    inputSchema: { path: z.string() },\n    annotations: { readOnlyHint: true },\n  },\n  async ({ path }) => {\n    const text = await readFile(join(ROOT, path), \"utf8\");\n    return { content: [{ type: \"text\", text }] };\n  },\n);\n\nconst transport = new StdioServerTransport();\nawait server.connect(transport);\n```\n\n**Sandboxing is entirely your job.** There is no manifest-level sandbox — the process runs with full user privileges. Validate paths, refuse to escape `ROOT`, allowlist spawns. See `references\u002Flocal-security.md`.\n\nBefore hardcoding `ROOT` from a config env var, check if the host supports `roots\u002Flist` — the spec-native way to get user-approved directories. See `references\u002Flocal-security.md` for the pattern.\n\n---\n\n## Build pipeline\n\n### Node\n\n```bash\nnpm install\nnpx esbuild src\u002Findex.ts --bundle --platform=node --outfile=server\u002Findex.js\n# or: copy node_modules wholesale if native deps resist bundling\nnpx @anthropic-ai\u002Fmcpb pack\n```\n\n`mcpb pack` zips the directory and validates `manifest.json` against the schema.\n\n### Python\n\n```bash\npip install -t server\u002Fvendor -r requirements.txt\nnpx @anthropic-ai\u002Fmcpb pack\n```\n\nVendor dependencies into a subdirectory and prepend it to `sys.path` in your entry script. Native extensions (numpy, etc.) must be built for each target platform — avoid native deps if you can.\n\n---\n\n## MCPB has no sandbox — security is on you\n\nUnlike mobile app stores, MCPB does NOT enforce permissions. The manifest has no `permissions` block — the server runs with full user privileges. `references\u002Flocal-security.md` is mandatory reading, not optional. Every path must be validated, every spawn must be allowlisted, because nothing stops you at the platform level.\n\nIf you came here expecting filesystem\u002Fnetwork scoping from the manifest: it doesn't exist. Build it yourself in tool handlers.\n\nIf your server's only job is hitting a cloud API, stop — that's a remote server wearing an MCPB costume. The user gains nothing from running it locally, and you're taking on local-security burden for no reason.\n\n---\n\n## MCPB + UI widgets\n\nMCPB servers can serve UI resources exactly like remote MCP apps — the widget mechanism is transport-agnostic. A local file picker that browses the actual disk, a dialog that controls a native app, etc.\n\nWidget authoring is covered in the **`build-mcp-app`** skill; it works the same here. The only difference is where the server runs.\n\n---\n\n## Testing\n\n```bash\n# Interactive manifest creation (first time)\nnpx @anthropic-ai\u002Fmcpb init\n\n# Run the server directly over stdio, poke it with the inspector\nnpx @modelcontextprotocol\u002Finspector node server\u002Findex.js\n\n# Validate manifest against schema, then pack\nnpx @anthropic-ai\u002Fmcpb validate\nnpx @anthropic-ai\u002Fmcpb pack\n\n# Sign for distribution\nnpx @anthropic-ai\u002Fmcpb sign dist\u002Flocal-files.mcpb\n\n# Install: drag the .mcpb file onto Claude Desktop\n```\n\nTest on a machine **without** your dev toolchain before shipping. \"Works on my machine\" failures in MCPB almost always trace to a dependency that wasn't actually bundled.\n\n---\n\n## Reference files\n\n- `references\u002Fmanifest-schema.md` — full `manifest.json` field reference\n- `references\u002Flocal-security.md` — path traversal, sandboxing, least privilege\n",{"name":5,"version":24,"description":7},"0.1.0","main","d69096e239f2a89aabc2cd078c47664a9d3b1e11","05-技能与代理开发\u002Fbuild-mcpb",3,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts","https:\u002F\u002Fgithub.com\u002Flza6","个人vx：Tf00798\r\n个人✈：@TFGY999","2026-10-08 14:29:22",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add lza6\u002FArmor-piercing-system-prompts --skill build-mcpb",{"tool":39,"command":40},"bunx","bunx skills add lza6\u002FArmor-piercing-system-prompts --skill build-mcpb",{"tool":42,"command":43},"pnpm","pnpm dlx skills add lza6\u002FArmor-piercing-system-prompts --skill build-mcpb","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fbuild-mcpb\u002FSKILL.md",true,[47,53],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"references\u002Flocal-security.md","REFERENCE","参考文档",5384,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fbuild-mcpb\u002Freferences\u002Flocal-security.md",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"references\u002Fmanifest-schema.md",5359,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fbuild-mcpb\u002Freferences\u002Fmanifest-schema.md",[58,65,72,79,87,94],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":64,"publishedAt":19},"01M7EXRM12046G0GM1WGMMFXCN","ci-cd-and-automation","Automates CI\u002FCD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fci-cd-and-automation\u002FSKILL.md",[],[],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":19},"01M7EXRFYYSJ3Y15AGPDDEWWQD","chrome-devtools","Uses Chrome DevTools via MCP for efficient debugging, troubleshooting and browser automation. Use when debugging web pages, automating browser interactions, analyzing performance, or inspecting network requests. This skill does not apply to `--slim` mode (MCP configuration).","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fchrome-devtools\u002FSKILL.md",[],[],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":19},"01M7EXR6EYPE4X5X1BTAE6QJRV","chrome-cdp","Drive a real Chrome via the Chrome DevTools Protocol (CDP). Ensures a\ndebuggable Chrome is running (launching it if needed) so the agent can\nnavigate, read page content, inspect the DOM, run JavaScript, and take\nscreenshots — without the user typing any launch command. Includes a\nfirst-class \"review a live running app\" flow: point Chrome at the app under\ndevelopment and inspect\u002Fscreenshot the REAL page (what a static-artifact tool\ncannot do). Backed by Glimpse and the chrome-devtools MCP server. Use when\nasked to \"use chrome\", \"open chrome\", \"drive my browser\", \"read the page in\nchrome\", \"review the running app\", \"screenshot the app\", or \"\u002Fchrome-cdp\".","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fchrome-cdp\u002FSKILL.md",[],[],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":83,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M7EXR1Y7E79KQKG4J798XGH6","check-identity-pack","Run an AFP 100-point or AUSTRAC safe-harbour identity check over a set of documents, and report exactly what's missing. Use when the user asks to check identity documents, verify someone's ID for onboarding, or assess whether a document pack satisfies Australian identity requirements.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fcheck-identity-pack\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":19},"01M7EXQXW7C7PGREJW9ZZTZ16H","changelog","Auto-generates a changelog from git commits, sprint data, and design documents. Produces both internal and player-facing versions.","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fchangelog\u002FSKILL.md",[],[],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":19},"01M7EXQMH2ZME3ANN8Q8MEWPFB","cellxgene-census","Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs\u002Fdownloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fcellxgene-census\u002FSKILL.md",[],[]]