010-archive/backups-20251108/skill-structure-cleanup-20251108-073936/plugins/productivity/004-jeremy-google-cloud-agent-sdk/skills/agent-sdk-master/SKILL.md
Automatic activation for ALL Google Cloud Agent Development Kit (ADK) and Agent Starter Pack operations - multi-agent systems, containerized deployment, RAG agents, and production orchestration. **TRIGGER PHRASES:** - "adk", "agent development kit", "agent starter pack", "multi-agent", "build agent" - "cloud run agent", "gke deployment", "agent engine", "containerized agent" - "rag agent", "react agent", "agent orchestration", "agent templates" **AUTO-INVOKES FOR:** - Agent creation and scaffolding - Multi-agent system design - Containerized agent deployment - RAG (Retrieval-Augmented Generation) implementation - CI/CD pipeline setup for agents - Agent evaluation and monitoring
npx skillsauth add intent-solutions-io/plugins-nixtla Google Cloud Agent SDK MasterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This Agent Skill provides comprehensive mastery of Google's Agent Development Kit (ADK) and Agent Starter Pack for building and deploying production-grade containerized agents.
Framework Overview:
Supported Agent Types:
Key Features:
Production Templates:
Infrastructure Automation:
1. Vertex AI Agent Engine
2. Cloud Run
3. Google Kubernetes Engine (GKE)
4. Local/Docker
Installation:
# Agent Starter Pack (recommended)
pip install agent-starter-pack
# or direct from GitHub
uvx agent-starter-pack create my-agent
# ADK only
pip install google-cloud-aiplatform[adk,agent_engines]>=1.111
Create Agent (ADK):
from google.cloud.aiplatform import agent
from vertexai.preview.agents import ADKAgent
# Simple ReAct agent
@agent.adk_agent
class MyAgent(ADKAgent):
def __init__(self):
super().__init__(
model="gemini-2.5-pro",
tools=[search_tool, code_exec_tool]
)
def run(self, query: str):
return self.generate(query)
# Multi-agent orchestration
class OrchestratorAgent(ADKAgent):
def __init__(self):
self.research_agent = ResearchAgent()
self.analysis_agent = AnalysisAgent()
self.writer_agent = WriterAgent()
def run(self, task: str):
research = self.research_agent.run(task)
analysis = self.analysis_agent.run(research)
output = self.writer_agent.run(analysis)
return output
Using Agent Starter Pack:
# Create project with template
uvx agent-starter-pack create my-rag-agent \
--template agentic_rag \
--deployment cloud_run
# Generates complete structure:
my-rag-agent/
├── src/
│ ├── agent.py # Agent implementation
│ ├── tools/ # Custom tools
│ └── config.py # Configuration
├── deployment/
│ ├── Dockerfile
│ ├── cloudbuild.yaml
│ └── terraform/
├── tests/
│ ├── unit_tests.py
│ └── integration_tests.py
└── .github/workflows/ # CI/CD pipelines
Deploy to Cloud Run:
# Using ADK CLI
adk deploy \
--target cloud_run \
--region us-central1 \
--service-account [email protected]
# Manual with Docker
docker build -t gcr.io/PROJECT/agent:latest .
docker push gcr.io/PROJECT/agent:latest
gcloud run deploy agent \
--image gcr.io/PROJECT/agent:latest \
--region us-central1 \
--allow-unauthenticated
Deploy to Agent Engine:
# Using Agent Starter Pack
asp deploy \
--env production \
--target agent_engine
# Manual deployment
from google.cloud.aiplatform import agent_engines
agent_engines.deploy_agent(
agent_id="my-agent",
project="PROJECT_ID",
location="us-central1"
)
Vector Search Integration:
from vertexai.preview.rag import VectorSearchTool
from google.cloud import aiplatform
# Set up vector search
vector_search = VectorSearchTool(
index_endpoint="projects/PROJECT/locations/LOCATION/indexEndpoints/INDEX_ID",
deployed_index_id="deployed_index"
)
# RAG agent with ADK
class RAGAgent(ADKAgent):
def __init__(self):
super().__init__(
model="gemini-2.5-pro",
tools=[vector_search, web_search_tool]
)
def run(self, query: str):
# Retrieves relevant docs automatically
response = self.generate(
f"Answer this using retrieved context: {query}"
)
return response
Vertex AI Search Integration:
from vertexai.preview.search import VertexAISearchTool
# Enterprise search integration
vertex_search = VertexAISearchTool(
data_store_id="DATA_STORE_ID",
project="PROJECT_ID"
)
agent = ADKAgent(
model="gemini-2.5-pro",
tools=[vertex_search]
)
GitHub Actions (auto-generated):
name: Deploy Agent
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Test Agent
run: pytest tests/
- name: Deploy to Cloud Run
run: |
gcloud run deploy agent \
--source . \
--region us-central1
Cloud Build Pipeline:
steps:
# Build container
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/$PROJECT_ID/agent', '.']
# Run tests
- name: 'gcr.io/$PROJECT_ID/agent'
args: ['pytest', 'tests/']
# Deploy to Cloud Run
- name: 'gcr.io/cloud-builders/gcloud'
args:
- 'run'
- 'deploy'
- 'agent'
- '--image=gcr.io/$PROJECT_ID/agent'
- '--region=us-central1'
Hierarchical Agents:
# Coordinator agent with specialized sub-agents
class ProjectManagerAgent(ADKAgent):
def __init__(self):
self.researcher = ResearchAgent()
self.analyst = AnalysisAgent()
self.writer = WriterAgent()
self.reviewer = ReviewAgent()
def run(self, project_brief: str):
# Coordinate multiple agents
research = self.researcher.run(project_brief)
analysis = self.analyst.run(research)
draft = self.writer.run(analysis)
final = self.reviewer.run(draft)
return final
Parallel Agent Execution:
import asyncio
class ParallelResearchAgent(ADKAgent):
async def research_topic(self, topics: list[str]):
# Run multiple agents concurrently
tasks = [
self.specialized_agent(topic)
for topic in topics
]
results = await asyncio.gather(*tasks)
return self.synthesize(results)
Built-in Evaluation:
from google.cloud.aiplatform import agent_evaluation
# Define evaluation metrics
eval_config = agent_evaluation.EvaluationConfig(
metrics=["accuracy", "relevance", "safety"],
test_dataset="gs://bucket/eval_data.jsonl"
)
# Run evaluation
results = agent.evaluate(eval_config)
print(f"Accuracy: {results.accuracy}")
print(f"Relevance: {results.relevance}")
Cloud Trace Integration:
from google.cloud import trace_v1
# Automatic tracing
@traced_agent
class MonitoredAgent(ADKAgent):
def run(self, query: str):
# All calls automatically traced
with self.trace_span("retrieval"):
docs = self.retrieve(query)
with self.trace_span("generation"):
response = self.generate(query, docs)
return response
1. Service Account Management:
# Create minimal-permission service account
gcloud iam service-accounts create agent-sa \
--display-name "Agent Service Account"
# Grant only required permissions
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:[email protected]" \
--role="roles/aiplatform.user"
2. Secret Management:
from google.cloud import secretmanager
def get_api_key():
client = secretmanager.SecretManagerServiceClient()
name = "projects/PROJECT/secrets/api-key/versions/latest"
response = client.access_secret_version(name=name)
return response.payload.data.decode('UTF-8')
3. VPC Service Controls:
# Enable VPC SC for data security
gcloud access-context-manager perimeters create agent-perimeter \
--resources=projects/PROJECT_ID \
--restricted-services=aiplatform.googleapis.com
Strategies:
Pricing Examples:
Production Agent System:
┌─────────────────┐
│ Load Balancer │
└────────┬────────┘
│
┌────▼────┐
│Cloud Run│ (Agent containers)
└────┬────┘
│
┌────▼──────────┐
│ Agent Engine │ (Orchestration)
└────┬──────────┘
│
┌────▼────────────────┐
│ Vertex AI Search │ (RAG)
│ Vector Search │
│ Gemini 2.5 Pro │
└─────────────────────┘
1. Start with Templates:
# Use Agent Starter Pack templates
uvx agent-starter-pack create my-agent --template agentic_rag
2. Local Development:
# Test locally first
adk serve --port 8080
curl http://localhost:8080/query -d '{"question": "test"}'
3. Gradual Deployment:
# Deploy to dev → staging → prod
asp deploy --env dev
# Test thoroughly
asp deploy --env staging
# Final production push
asp deploy --env production
4. Monitor Everything:
Core Resources:
Tutorials:
This skill automatically activates when you mention:
Google Cloud:
Third-party:
Track:
This skill makes Jeremy a Google Cloud agent architecture expert with instant access to ADK, Agent Starter Pack, and production deployment patterns.
tools
This skill enables Claude to create and execute load tests for performance validation. It is designed to generate load test scripts using tools like k6, JMeter, and Artillery, based on specified test scenarios. Use this skill when the user requests to create a "load test", conduct "performance testing", validate "application performance", or needs a "stress test" to identify breaking points in the application. The skill helps define performance thresholds and provides execution instructions.
testing
This skill enables Claude to collect comprehensive infrastructure performance metrics across compute, storage, network, containers, load balancers, and databases. It is triggered when the user requests "collect infrastructure metrics", "monitor server performance", "set up performance dashboards", or needs to analyze system resource utilization. The skill configures metrics collection, sets up aggregation, and helps create infrastructure dashboards for health monitoring and capacity tracking. It supports configuration for Prometheus, Datadog, and CloudWatch.
tools
This skill enables Claude to monitor and analyze application error rates to improve reliability. It is used when the user needs to track and understand errors occurring in their application, including HTTP errors, application exceptions, database errors, external API errors, background job errors, and client-side errors. Use this skill when the user asks to "monitor errors", "analyze error rates", "track application errors", or requests help with "error monitoring". It sets up comprehensive error tracking and alerting based on defined thresholds.
development
This skill automates the setup of distributed tracing for microservices. It helps developers implement end-to-end request visibility by configuring context propagation, span creation, trace collection, and analysis. Use this skill when the user requests to set up distributed tracing, implement observability, or troubleshoot performance issues in a microservices architecture. The skill is triggered by phrases such as "setup tracing", "implement distributed tracing", "configure opentelemetry", or "add observability to microservices".