# How to Build the google/skills Project from Source: Complete Setup Guide

> Build the google/skills project from source with this guide. Clone the repo, initialize submodules, and use npx skills to register skills. Get your AI agent harness set up.

- Repository: [Google/skills](https://github.com/google/skills)
- Tags: how-to-guide
- Published: 2026-08-14

---

**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)](https://github.com/google/skills/blob/main/README.md):

- **Skill Content** — Thousands of Markdown [`SKILL.md`](https://github.com/google/skills/blob/main/SKILL.md) files located in `skills/<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:

```bash
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)](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:

```bash
git submodule update --init --recursive

```

This command pulls the plugin code referenced in [`.gitmodules`](https://github.com/google/skills/blob/main/.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)](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:

```bash

# 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:

```bash
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)](https://github.com/google/skills/blob/main/README.md).

### 5. Verify Installation

Confirm that skills are registered locally:

```bash
npx skills list

```

### 6. (Optional) Install Plugin-Based MCP Servers

For agent harnesses that support plugins, point them at submodule paths:

**Antigravity CLI (`agy`):**

```bash
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)](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:

```bash
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`](https://github.com/google/skills/blob/main/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/skills` repo acts as a discovery layer without duplicating large plugin binaries.
- **Pinned releases:** [`.gitmodules`](https://github.com/google/skills/blob/main/.gitmodules) locks 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

```bash
git clone https://github.com/google/skills.git
cd skills
git submodule update --init --recursive

```

### Install a Single Skill

```bash
npx skills add google/skills --skill "gke-basics"

```

### Load MCP Server with Antigravity

```bash
agy plugin install https://github.com/google/skills/plugins/cloud/data-agent-kit/spanner
agy plugin list

```

### Execute Skill via Gemini CLI

```bash
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)](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)](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)](https://github.com/google/skills/blob/main/plugins/cloud/data-agent-kit/README.md) | Plugin submodule architecture documentation |
| [`.gitmodules`](https://github.com/google/skills/blob/main/.gitmodules) | Submodule definitions with pinned versions |
| `skills/**/SKILL.md` | Individual skill definitions (e.g., [`skills/cloud/gke-basics/SKILL.md`](https://github.com/google/skills/blob/main/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 --recursive` pulls MCP server dependencies
- **Install Node ≥ 18** if running `npx skills` locally
- **Register skills:** Use `npx skills add google/skills` or target specific skills with `--skill`
- **Load plugins:** Point agent harnesses like `agy` at 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`](https://github.com/google/skills/blob/main/.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`](https://github.com/google/skills/blob/main/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)](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.