{"id":49201067,"url":"https://github.com/skydoves/android-skills-mcp","last_synced_at":"2026-04-23T14:05:24.478Z","repository":{"id":351574075,"uuid":"1211363745","full_name":"skydoves/android-skills-mcp","owner":"skydoves","description":"An MCP server and CLI packager for official Android skills.","archived":false,"fork":false,"pushed_at":"2026-04-15T15:10:46.000Z","size":739,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-15T16:38:34.688Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://skydoves.github.io/android-skills-mcp/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skydoves.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"skydoves","custom":["https://www.android.skydoves.me/","https://kotlin.skydoves.me/","https://github.com/doveletter"]}},"created_at":"2026-04-15T10:14:57.000Z","updated_at":"2026-04-15T16:38:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/skydoves/android-skills-mcp","commit_stats":null,"previous_names":["skydoves/android-skills-mcp"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/skydoves/android-skills-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skydoves%2Fandroid-skills-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skydoves%2Fandroid-skills-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skydoves%2Fandroid-skills-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skydoves%2Fandroid-skills-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skydoves","download_url":"https://codeload.github.com/skydoves/android-skills-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skydoves%2Fandroid-skills-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32183381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T11:42:27.955Z","status":"ssl_error","status_checked_at":"2026-04-23T11:42:18.877Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-23T14:05:23.719Z","updated_at":"2026-04-23T14:05:24.469Z","avatar_url":"https://github.com/skydoves.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003eAndroid Skills MCP\u003c/h1\u003e\u003c/br\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://nodejs.org\"\u003e\u003cimg alt=\"Node\" src=\"https://img.shields.io/badge/Node-20%2B-brightgreen.svg\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/android/skills\"\u003e\u003cimg alt=\"Built on android/skills\" src=\"https://img.shields.io/badge/built%20on-android%2Fskills-3DDC84.svg\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/skydoves\"\u003e\u003cimg alt=\"Profile\" src=\"https://skydoves.github.io/badges/skydoves.svg\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nAndroid Skills MCP wraps Google's [`android/skills`](https://github.com/android/skills) 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/android-skills-mcp](https://skydoves.github.io/android-skills-mcp/)**.\n\n## Packages\n\nThis is a pnpm workspace with three packages:\n\n- **[`android-skills-mcp`](packages/mcp)** is an MCP server. It speaks stdio, ships three tools (`list_skills`, `search_skills`, `get_skill`), and exposes every skill as a `skill://` resource. Any MCP client (Claude Code, Cursor, Codex CLI, Windsurf) can discover and pull the right skill on demand.\n- **[`android-skills-pack`](packages/pack)** 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/core`](packages/core)** is the shared library used by both. It parses `SKILL.md` frontmatter with `gray-matter`, validates against the [agentskills.io](https://agentskills.io/specification) 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/mcp.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/skills/\u003cname\u003e/SKILL.md` | Near 1:1 copy with references kept as separate files. |\n| `cursor` | `.cursor/rules/\u003cname\u003e.mdc` | `description` plus `alwaysApply: false` frontmatter; references inlined. |\n| `copilot` | `.github/instructions/\u003cname\u003e.instructions.md` | `applyTo: \"**\"` frontmatter. |\n| `gemini` | `.gemini/styleguide.md` | Single concatenated file with `## \u003cskill\u003e` sections. |\n| `junie` | `.junie/skills/\u003cname\u003e/SKILL.md` | JetBrains Junie supports the agentskills.io spec natively. |\n| `continue` | `.continue/rules/\u003cname\u003e.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/\n├── packages/\n│   ├── core/   @android-skills/core   parser, schema, search index\n│   ├── mcp/    android-skills-mcp     MCP server (stdio)\n│   └── pack/   android-skills-pack    packager CLI\n├── scripts/    sync-skills.mjs, build-skills-index.mjs\n└── skills/     upstream android/skills clone (gitignored)\n```\n\nThe `skills/` directory is a plain clone of `android/skills` and is gitignored. You only need it for development. Both published packages bundle a parsed snapshot of the skills inside `dist/skills.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://github.com/skydoves/android-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/initialized\"}' \\\n  '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}' \\\n  | node packages/mcp/dist/bin.js\n```\n\n\n## Find this repository useful? :heart:\nSupport it by joining __[stargazers](https://github.com/skydoves/android-skills-mcp/stargazers)__ for this repository. :star: \u003cbr\u003e\nAlso __[follow](https://github.com/skydoves)__ 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/skills`](https://github.com/android/skills) 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://www.apache.org/licenses/LICENSE-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","funding_links":["https://github.com/sponsors/skydoves","https://www.android.skydoves.me/","https://kotlin.skydoves.me/","https://github.com/doveletter"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskydoves%2Fandroid-skills-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskydoves%2Fandroid-skills-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskydoves%2Fandroid-skills-mcp/lists"}