[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1652":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":16,"lastSyncTime":29,"discoverSource":30},1652,"android-skills-mcp","skydoves\u002Fandroid-skills-mcp","skydoves","An MCP server and CLI packager for official Android skills.","https:\u002F\u002Fskydoves.github.io\u002Fandroid-skills-mcp\u002F",null,"TypeScript",204,10,5,0,2,3,18,6,3.12,"Other",false,"main",true,[],"2026-06-12 02:00:31","\u003Ch1 align=\"center\">Android Skills MCP\u003C\u002Fh1>\u003C\u002Fbr>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0\">\u003Cimg alt=\"License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg\"\u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fnodejs.org\">\u003Cimg alt=\"Node\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode-20%2B-brightgreen.svg\"\u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fandroid\u002Fskills\">\u003Cimg alt=\"Built on android\u002Fskills\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuilt%20on-android%2Fskills-3DDC84.svg\"\u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fskydoves\">\u003Cimg alt=\"Profile\" src=\"https:\u002F\u002Fskydoves.github.io\u002Fbadges\u002Fskydoves.svg\"\u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\nAndroid Skills MCP wraps Google's [`android\u002Fskills`](https:\u002F\u002Fgithub.com\u002Fandroid\u002Fskills) library so any AI coding assistant can use it without copy and paste. The repository ships two tools that share a common parser and a bundled snapshot of the upstream skills, so both work offline through `npx`.\n\nYou get an MCP server that exposes the skill library to any MCP capable client, and a packager CLI that converts each `SKILL.md` into the native rules format of every major AI coding assistant.\n\nFull documentation lives at **[skydoves.github.io\u002Fandroid-skills-mcp](https:\u002F\u002Fskydoves.github.io\u002Fandroid-skills-mcp\u002F)**.\n\n## Packages\n\nThis is a pnpm workspace with three packages:\n\n- **[`android-skills-mcp`](packages\u002Fmcp)** is an MCP server. It speaks stdio, ships three tools (`list_skills`, `search_skills`, `get_skill`), and exposes every skill as a `skill:\u002F\u002F` resource. Any MCP client (Claude Code, Cursor, Codex CLI, Windsurf) can discover and pull the right skill on demand.\n- **[`android-skills-pack`](packages\u002Fpack)** is a CLI. It converts the upstream `SKILL.md` files into seven native rules formats (Claude Code, Cursor, GitHub Copilot, Gemini Code Assist, JetBrains Junie, Continue.dev, Aider) and writes them into your project.\n- **[`@android-skills\u002Fcore`](packages\u002Fcore)** is the shared library used by both. It parses `SKILL.md` frontmatter with `gray-matter`, validates against the [agentskills.io](https:\u002F\u002Fagentskills.io\u002Fspecification) spec via `zod`, and builds a BM25 index with `minisearch`.\n\n## How to install the MCP server\n\nYou need this once per machine. Every project you open afterwards can use the skills.\n\n### Claude Code\n\n```bash\nclaude mcp add android-skills -- npx -y android-skills-mcp\n```\n\n### Cursor\n\nAdd an entry to `.cursor\u002Fmcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"android-skills\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"android-skills-mcp\"]\n    }\n  }\n}\n```\n\n### Other MCP clients\n\nAnywhere you can register an MCP server with a stdio command, run:\n\n```\nnpx -y android-skills-mcp\n```\n\nThe bundled snapshot loads in under 200 ms, so the cost of spawning the server per session is negligible.\n\n## How to install skills as files\n\nIf you prefer rules files committed to your repository over an MCP server, the packager CLI writes them directly. You can pick a single target or `all`:\n\n```bash\nnpx android-skills-pack install --target cursor\nnpx android-skills-pack install --target claude-code\nnpx android-skills-pack install --target copilot\nnpx android-skills-pack install --target all\n```\n\nYou can also filter to a specific skill:\n\n```bash\nnpx android-skills-pack install --target cursor --skill edge-to-edge\nnpx android-skills-pack install --target claude-code --skill edge-to-edge,r8-analyzer\n```\n\nThe full list of supported targets:\n\n| Target | Output | Notes |\n|---|---|---|\n| `claude-code` | `.claude\u002Fskills\u002F\u003Cname>\u002FSKILL.md` | Near 1:1 copy with references kept as separate files. |\n| `cursor` | `.cursor\u002Frules\u002F\u003Cname>.mdc` | `description` plus `alwaysApply: false` frontmatter; references inlined. |\n| `copilot` | `.github\u002Finstructions\u002F\u003Cname>.instructions.md` | `applyTo: \"**\"` frontmatter. |\n| `gemini` | `.gemini\u002Fstyleguide.md` | Single concatenated file with `## \u003Cskill>` sections. |\n| `junie` | `.junie\u002Fskills\u002F\u003Cname>\u002FSKILL.md` | JetBrains Junie supports the agentskills.io spec natively. |\n| `continue` | `.continue\u002Frules\u002F\u003Cname>.md` | `name`, `description`, `alwaysApply` frontmatter. |\n| `aider` | `CONVENTIONS.md` (repo root) | Single file. Add `read: CONVENTIONS.md` to `.aider.conf.yml`. |\n\n## Repository layout\n\n```\nandroid-mcp\u002F\n├── packages\u002F\n│   ├── core\u002F   @android-skills\u002Fcore   parser, schema, search index\n│   ├── mcp\u002F    android-skills-mcp     MCP server (stdio)\n│   └── pack\u002F   android-skills-pack    packager CLI\n├── scripts\u002F    sync-skills.mjs, build-skills-index.mjs\n└── skills\u002F     upstream android\u002Fskills clone (gitignored)\n```\n\nThe `skills\u002F` directory is a plain clone of `android\u002Fskills` and is gitignored. You only need it for development. Both published packages bundle a parsed snapshot of the skills inside `dist\u002Fskills.json`, so end users never need the upstream repository.\n\n## Development\n\nClone, install, and run the test suite:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fskydoves\u002Fandroid-skills-mcp.git\ncd android-mcp\npnpm install\npnpm sync:skills\npnpm build\npnpm test\n```\n\nThe build runs in topological order: `core` first, then `mcp` and `pack` in parallel. Each package has its own `vitest` suite. The full test count is 64 across the three packages.\n\nYou can smoke test the MCP server over stdio without any client:\n\n```bash\nprintf '%s\\n' \\\n  '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2024-11-05\",\"capabilities\":{},\"clientInfo\":{\"name\":\"smoke\",\"version\":\"0\"}}}' \\\n  '{\"jsonrpc\":\"2.0\",\"method\":\"notifications\u002Finitialized\"}' \\\n  '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools\u002Flist\"}' \\\n  | node packages\u002Fmcp\u002Fdist\u002Fbin.js\n```\n\n\n## Find this repository useful? :heart:\nSupport it by joining __[stargazers](https:\u002F\u002Fgithub.com\u002Fskydoves\u002Fandroid-skills-mcp\u002Fstargazers)__ for this repository. :star: \u003Cbr>\nAlso __[follow](https:\u002F\u002Fgithub.com\u002Fskydoves)__ me for my next creations! 🤩\n\n## Trademarks\n\nAndroid is a trademark of Google LLC. This project is not affiliated with, endorsed by, or sponsored by Google LLC. The skill content bundled in this project is redistributed from [`android\u002Fskills`](https:\u002F\u002Fgithub.com\u002Fandroid\u002Fskills) under the terms of its Apache 2.0 license. See [NOTICE](NOTICE) for complete attribution.\n\nClaude, Cursor, GitHub Copilot, Gemini Code Assist, JetBrains Junie, Continue, and Aider are trademarks of their respective owners. This project mentions them to describe compatibility with their public extension mechanisms.\n\n## License\n\n```\nDesigned and developed by 2026 skydoves (Jaewoong Eum)\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","Android Skills MCP 是一个为官方 Android 技能提供MCP服务器和CLI打包工具的项目。它主要包含两个工具：一个是MCP服务器，能够通过标准输入输出与任何支持MCP协议的客户端（如Claude Code、Cursor等）通信，并将技能库作为资源暴露；另一个是CLI工具，可以将`SKILL.md`文件转换成多种主流AI编码助手支持的规则格式。该项目基于TypeScript开发，利用了`gray-matter`进行前端解析，`zod`进行规范验证以及`minisearch`构建BM25索引。适用于需要集成或使用Google发布的Android开发技能到不同AI编码助手中的场景，帮助开发者更高效地访问和应用这些技能。","2026-06-11 02:45:14","CREATED_QUERY"]