google/skills API Examples: Complete Guide with Code Samples for Google Cloud Services
Yes, the google/skills repository provides extensive practical examples for working with Google Cloud APIs, organized as markdown-based Skill definitions with reference implementations in Python, Java, Go, REST, and Terraform.
The google/skills repository serves as a curated knowledge base where each Skill contains working code samples, authentication patterns, and Infrastructure-as-Code templates. Every Skill follows a consistent structure: a central SKILL.md file explaining concepts and prerequisites, plus language-specific reference files in references/*.md containing copy-paste-ready snippets.
What the google/skills API Provides
Each Skill in the repository represents a complete learning path for a Google Cloud service. According to the source code analysis, the repository covers Ads, Analytics, Spanner, Workload Manager, Cloud Storage, and other products.
The core components include:
-
Skill definitions (
SKILL.md) — High-level documentation listing concepts, OAuth scopes, and step-by-step workflows. Located at paths likeskills/ads/google-ads-api-quickstart/SKILL.md. -
Reference implementations (
references/*.md) — Concrete code snippets organized by language or usage style (REST, Terraform, CLI). -
Authentication patterns — Standardized examples using
gcloud auth application-default loginor service-account keys. -
Infrastructure-as-Code — Terraform modules for provisioning required resources.
Google Ads API Examples
Creating a Campaign via REST
The REST reference file at skills/ads/google-ads-api-quickstart/references/rest.md demonstrates direct HTTP calls using cURL:
curl -X POST "https://googleads.googleapis.com/v13/customers/INSERT_CUSTOMER_ID/campaigns:mutate" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"operations": [{
"create": {
"name": "Example Campaign",
"advertisingChannelType": "SEARCH",
"status": "PAUSED",
"campaignBudget": "customers/INSERT_CUSTOMER_ID/campaignBudgets/INSERT_BUDGET_ID"
}
}]
}'
Listing Campaigns with Python
The Python client library example in skills/ads/google-ads-api-quickstart/references/python.md uses the official google-ads package:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
service = client.get_service("GoogleAdsService")
query = """
SELECT campaign.id, campaign.name
FROM campaign
ORDER BY campaign.id
"""
response = service.search(customer_id="INSERT_CUSTOMER_ID", query=query)
for row in response:
print(f"Campaign {row.campaign.id}: {row.campaign.name}")
Cloud Spanner API Examples
Provisioning with Terraform
The skills/cloud/spanner-basics/references/terraform-usage.md file contains complete Infrastructure-as-Code for creating instances and databases:
resource "google_spanner_instance" "example" {
name = "example-instance"
config = "regional-us-central1"
display_name = "Example Spanner Instance"
node_count = 1
}
resource "google_spanner_database" "example" {
name = "example-database"
instance = google_spanner_instance.example.name
ddl = [
"CREATE TABLE Users (UserId STRING(36) NOT NULL, Name STRING(100)) PRIMARY KEY (UserId)"
]
}
Google Analytics Data API Examples
Running Reports in Python
Located in skills/analytics/google-analytics-data-api-basics/references/python.md, this example demonstrates the BetaAnalyticsDataClient:
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import RunReportRequest
client = BetaAnalyticsDataClient()
request = RunReportRequest(
property="properties/INSERT_PROPERTY_ID",
dimensions=[{"name": "city"}],
metrics=[{"name": "activeUsers"}],
date_ranges=[{"start_date": "2024-01-01", "end_date": "2024-01-31"}],
)
response = client.run_report(request)
for row in response.rows:
print(f"{row.dimension_values[0].value}: {row.metric_values[0].value}")
Cloud Storage API Examples
Direct HTTP Access with cURL
The skills/cloud/google-cloud-storage-basics/references/cli-api-usage.md file shows how to handle nextPageToken for pagination and includes this list-objects example:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://storage.googleapis.com/storage/v1/b/PROJECT_ID/o?prefix=example-folder/"
Key Source Files in the google/skills Repository
| File Path | Purpose |
|---|---|
skills/ads/google-ads-api-quickstart/SKILL.md |
Google Ads API quickstart guide with OAuth scopes and developer token instructions |
skills/ads/google-ads-api-quickstart/references/rest.md |
cURL examples for campaigns, budgets, and mutations |
skills/ads/google-ads-api-quickstart/references/python.md |
Python client library samples for resource management |
skills/analytics/google-analytics-data-api-basics/SKILL.md |
Analytics Data API overview with metrics and dimensions reference |
skills/analytics/google-analytics-data-api-basics/references/python.md |
BetaAnalyticsDataClient usage and report parsing |
skills/cloud/spanner-basics/SKILL.md |
Spanner schema design and best practices |
skills/cloud/spanner-basics/references/terraform-usage.md |
google_spanner_instance and google_spanner_database resources |
skills/cloud/google-cloud-storage-basics/references/cli-api-usage.md |
HTTP API calls with pagination handling |
Authentication Pattern Across All Examples
Every google/skills API example follows the same authentication model:
-
For local development: Run
gcloud auth application-default loginto generate access tokens automatically via$(gcloud auth print-access-token). -
For production: Use service-account keys with
GoogleCredentials.get_application_default()as shown in the Analytics Data API Python snippet. -
For REST calls: Pass the Bearer token in the
Authorizationheader explicitly.
Summary
- The google/skills API organizes examples as Skills with
SKILL.mdconcept guides andreferences/*.mdimplementation files. - Google Ads API examples cover REST/cURL mutations and Python client library queries.
- Cloud Spanner provides Terraform modules for complete infrastructure provisioning.
- Analytics Data API demonstrates
BetaAnalyticsDataClientfor metric reporting. - Cloud Storage includes pagination-aware HTTP examples.
- All examples use consistent OAuth 2.0 authentication patterns via Application Default Credentials.
Frequently Asked Questions
How do I find the right example for a specific Google Cloud service?
Navigate to the skills/ directory and locate the service folder—examples are grouped by product area (ads, analytics, cloud) with descriptive names like google-ads-api-quickstart or spanner-basics. Each folder contains a SKILL.md that links to all language-specific reference files.
Are the google/skills examples production-ready?
The examples demonstrate core API patterns with proper authentication and error-handling structures. For production, review the pagination loops in cli-api-usage.md and add your own retry logic, monitoring, and credential management beyond the sample code provided.
What languages does the google/skills API support?
Reference files exist for Python, Java, Go, .NET, PHP, Ruby, Node.js, plus REST/cURL for direct HTTP access and Terraform for infrastructure provisioning. Not every Skill includes every language; check the references/ folder contents for your target service.
How do I authenticate the examples without hardcoding credentials?
All examples expect Application Default Credentials. Run gcloud auth application-default login before executing Python samples, or use $(gcloud auth print-access-token) in shell commands to inject short-lived tokens automatically.
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 →