How to Build the google/skills Project from Source: Complete Setup Guide
To build google/skills from source, clone the repository, initialize Git submodules for plugin dependencies, and use npx skills to register skills with your AI agent harness.
The google/skills repository is a curated collection of Agent Skills—Markdown-based knowledge modules that power AI-assisted coding agents like Claude Code, Codex, Antigravity, and Gemini CLI. Unlike traditional compiled projects, building from source means preparing a local checkout that mirrors the upstream repository and initializing plugin submodules so agent harnesses can discover and execute the skills.
What You're Actually Building
The google/skills project has three architectural layers, as defined in [README.md](https://github.com/google/skills/blob/main/README.md):
- Skill Content — Thousands of Markdown
SKILL.mdfiles located inskills/<category>/<skill-name>/that define prompts, reference links, and optional scripts. - Plugins (MCP servers) — Git submodules under
plugins/cloud/data-agent-kit/that package product-specific MCP servers and additional skill bundles. - Tooling / Marketplace — Metadata that lets agent harnesses fetch skills directly without manual build steps.
Because these assets are plain text, the build process focuses on repository preparation and submodule initialization rather than compilation.
Step-by-Step Build Instructions
1. Clone the Repository
Start with a standard Git clone:
git clone https://github.com/google/skills.git
cd skills
This creates your local copy of the skill definitions and plugin registry, as documented in [README.md](https://github.com/google/skills/blob/main/README.md).
2. Initialize All Plugin Submodules
The plugins/cloud/data-agent-kit directory contains Git submodules that pin each MCP server to a released tag. Run:
git submodule update --init --recursive
This command pulls the plugin code referenced in .gitmodules, including product-specific servers for Spanner, AlloyDB, BigQuery, and others, as detailed in [plugins/cloud/data-agent-kit/README.md](https://github.com/google/skills/blob/main/plugins/cloud/data-agent-kit/README.md).
3. (Optional) Install Node.js Runtime
The npx skills command used by most agent harnesses requires Node.js ≥ 18. Install it if you plan to run the local installer:
# macOS/Linux example with Node 20.12.0
curl -fsSL https://nodejs.org/dist/v20.12.0/node-v20.12.0-linux-x64.tar.xz | tar -xJ
export PATH=$PWD/node-v20.12.0-linux-x64/bin:$PATH
4. Register Skills with npx skills
The repository provides a single entry point for skill installation. Use it interactively or with specific skill names:
npx skills add google/skills # interactive selector
npx skills add google/skills --skill "gke-basics" # specific skill
This workflow originates from the central [README.md](https://github.com/google/skills/blob/main/README.md).
5. Verify Installation
Confirm that skills are registered locally:
npx skills list
6. (Optional) Install Plugin-Based MCP Servers
For agent harnesses that support plugins, point them at submodule paths:
Antigravity CLI (agy):
agy plugin install https://github.com/google/skills/plugins/cloud/data-agent-kit/spanner
agy plugin install https://github.com/google/skills/plugins/cloud/data-agent-kit/alloydb
Claude Code / Codex: These harnesses read the marketplace manifest automatically from the repository root—no additional command needed.
This plugin architecture is documented in [plugins/cloud/data-agent-kit/README.md](https://github.com/google/skills/blob/main/plugins/cloud/data-agent-kit/README.md).
7. Test with Your Agent
Run a quick sanity check. With Gemini CLI:
gemini ask "How do I enable the Cloud Storage API?"
The response should render from the locally installed google-cloud-storage-basics skill.
Understanding the Skill File Format
Each skill lives under skills/<category>/<skill-name>/SKILL.md and follows a YAML front-matter + Markdown schema:
| Field | Purpose |
|---|---|
name |
Human-readable identifier |
description |
One-sentence summary for selectors |
steps |
Ordered actions (CLI calls, API snippets, UI guidance) |
references |
Official documentation links for citation |
scripts (optional) |
Executable shell/Python snippets for sandboxed execution |
For example, skills/cloud/gke-basics/SKILL.md contains sections that install gcloud, set up clusters, and provide troubleshooting commands. These files are pure data interpreted at runtime by the agent harness.
Why Submodules? The Plugin Architecture
The plugins/cloud/data-agent-kit directory uses Git submodules for important reasons, per the source code analysis:
- Separation of concerns: Each product's skills and MCP server live in an independent repository with its own versioning.
- Catalog function: The central
google/skillsrepo acts as a discovery layer without duplicating large plugin binaries. - Pinned releases:
.gitmoduleslocks each submodule to a specific tag for reproducible builds.
Each submodule contains its own skill/ tree and an MCP server binary that exposes runtime APIs for dynamic information—such as listing Cloud Storage buckets in real time.
Complete Build Examples
Clone and Initialize Everything
git clone https://github.com/google/skills.git
cd skills
git submodule update --init --recursive
Install a Single Skill
npx skills add google/skills --skill "gke-basics"
Load MCP Server with Antigravity
agy plugin install https://github.com/google/skills/plugins/cloud/data-agent-kit/spanner
agy plugin list
Execute Skill via Gemini CLI
gemini ask "Create a GKE cluster named test-cluster in us-central1"
Key Source Files and Their Roles
| Path | Role |
|---|---|
[README.md](https://github.com/google/skills/blob/main/README.md) |
Central entry point; explains npx skills installation flow |
[CONTRIBUTING.md](https://github.com/google/skills/blob/main/CONTRIBUTING.md) |
Contribution policy and marketplace manifest schema |
[plugins/cloud/data-agent-kit/README.md](https://github.com/google/skills/blob/main/plugins/cloud/data-agent-kit/README.md) |
Plugin submodule architecture documentation |
.gitmodules |
Submodule definitions with pinned versions |
skills/**/SKILL.md |
Individual skill definitions (e.g., skills/cloud/gke-basics/SKILL.md) |
plugins/cloud/data-agent-kit/<product>/ |
MCP server source and product-specific bundles |
Summary
- Clone:
git clone https://github.com/google/skills.git - Initialize submodules:
git submodule update --init --recursivepulls MCP server dependencies - Install Node ≥ 18 if running
npx skillslocally - Register skills: Use
npx skills add google/skillsor target specific skills with--skill - Load plugins: Point agent harnesses like
agyat submodule paths for MCP server functionality
The google/skills project requires no compilation—building from source means preparing a complete, submodule-aware checkout that AI agents can query and execute.
Frequently Asked Questions
Do I need to compile anything to build google/skills?
No. The google/skills project contains no compiled binaries. Building from source means cloning the repository and initializing Git submodules so that Markdown skill files and MCP server plugins are available to your agent harness.
What are the plugin submodules for?
The submodules in plugins/cloud/data-agent-kit/ package MCP servers—runtime components that expose APIs for dynamic data like live Cloud Storage bucket listings. They are maintained as separate repositories and pinned to specific versions via .gitmodules to keep the main catalog lightweight yet functional.
Can I use skills without installing Node.js?
Yes. The npx skills command is optional. Agent harnesses like Claude Code, Codex, and Antigravity can read skills directly from a cloned repository. Node.js is only required if you want to run the interactive npx skills installer locally or use Gemini CLI integration.
Why does CONTRIBUTING.md say external PRs are not accepted?
The google/skills repository is maintained as a read-only mirror of Google's internal skill development pipeline. The [CONTRIBUTING.md](https://github.com/google/skills/blob/main/CONTRIBUTING.md) file documents the marketplace manifest schema for reference, but community contributions flow through Google's internal systems rather than GitHub pull requests.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →