GCP Skill Registry
The GCP Skill Registry lets you store and serve skills through Google Cloud’s Vertex AI Agent Platform. Once imported, skills can be referenced from any scion-agent.yaml using the gcp-skill:// URI scheme — no Scion Hub required.
This tutorial walks through setting up the registry, importing skills from a GitHub repository, and verifying the results using the helper scripts in scripts/skill-bank/gcp/.
Prerequisites
Section titled “Prerequisites”- A GCP project with the Agent Platform API (
aiplatform.googleapis.com) enabled - Python 3.8+
- Application Default Credentials configured
- The scripts from
scripts/skill-bank/gcp/in your local checkout
Enable the API
Section titled “Enable the API”gcloud services enable aiplatform.googleapis.com --project=YOUR_PROJECT_IDAuthenticate
Section titled “Authenticate”gcloud auth application-default loginOr, for a service account:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.jsonYour account needs the roles/aiplatform.user IAM role on the project.
Install dependencies
Section titled “Install dependencies”The scripts require a few Python packages:
pip install -r scripts/skill-bank/gcp/requirements.txtThis installs:
google-auth— GCP authenticationgoogle-auth-httplib2— HTTP transport for authrequests— HTTP clientpyyaml— YAML parsing forSKILL.mdfrontmatter
Configure the registry
Section titled “Configure the registry”Edit scripts/skill-bank/gcp/config.py to point at your project and region:
PROJECT_ID = "your-gcp-project-id"LOCATION = "us-central1"API_BASE = f"https://{LOCATION}-aiplatform.googleapis.com/v1beta1"SKILLS_PARENT = f"projects/{PROJECT_ID}/locations/{LOCATION}"SKILLS_URL = f"{API_BASE}/{SKILLS_PARENT}/skills"Change PROJECT_ID to your GCP project and LOCATION to your preferred region (e.g. us-central1, europe-west1).
Verify registry access
Section titled “Verify registry access”The Skill Registry is a project-level service — there is no separate creation step. Run create_registry.py to confirm the API is enabled and accessible:
python3 scripts/skill-bank/gcp/create_registry.pyExpected output:
Project: your-gcp-project-idLocation: us-central1Endpoint: https://us-central1-aiplatform.googleapis.com/v1beta1/projects/your-gcp-project-id/locations/us-central1/skills
Registry is accessible. 0 skill(s) found.If you see a 403 or 404 error, double-check that the API is enabled and your credentials have the roles/aiplatform.user role.
Import skills from a GitHub repository
Section titled “Import skills from a GitHub repository”The import_skills.py script clones a skill repository, discovers all valid skill directories, and uploads each one to the registry:
python3 scripts/skill-bank/gcp/import_skills.pyExample output:
Cloning https://github.com/mattpocock/skills.git...
Found 24 skills to import.
Importing engineering/api-design... OK Importing engineering/code-review... OK Importing engineering/debugging... OK Importing misc/markdown-formatting... OK Importing productivity/time-management... ALREADY EXISTS (skipped) ...
Results: 22 imported, 2 already existed, 0 failedTotal skills in repo: 24How skill discovery works
Section titled “How skill discovery works”The script walks the cloned repository looking for directories that contain a SKILL.md file. Each SKILL.md must have YAML frontmatter with name and description fields:
---name: code-reviewdescription: Guidelines for thorough code reviews.---
# Code Review
Review checklist and best practices...The entire skill directory (including any supporting files) is zipped and uploaded to the registry. Skills that already exist in the registry are skipped (HTTP 409).
Verify the import
Section titled “Verify the import”List all skills in the registry to confirm the import succeeded:
python3 scripts/skill-bank/gcp/list_skills.pyExample output:
Listing skills in your-gcp-project-id / us-central1
Name Display Name State------------------------------------------------------------------------------------------api-design api-design ACTIVEcode-review code-review ACTIVEdebugging debugging ACTIVEmarkdown-formatting markdown-formatting ACTIVEtime-management time-management ACTIVE
Total: 5 skill(s)Using imported skills in templates
Section titled “Using imported skills in templates”Once skills are in the GCP registry, reference them from a scion-agent.yaml using the gcp-skill:// URI scheme:
schema_version: "1"name: my-agent
skills: - uri: gcp-skill://my-registry/code-review - uri: gcp-skill://my-registry/api-design@1.0.0 optional: trueThe gcp-skill:// scheme follows the format gcp-skill://<alias>/<skillId>@<version>, where:
alias— the registry alias configured in your skill federation settingsskillId— the skill name as registered in GCPversion— an optional version specifier (defaults to latest)
For the federation setup that connects your Scion Hub to a GCP registry, see Skill Registry & Federation.
See also
Section titled “See also”- Skills — Authoring & Publishing — the full skills guide, including URI formats and scopes.
- Skill Registry & Federation — Hub-side registry administration and external registry federation.