Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add WaterplanAI/agentic-config --skill ac-tools-gcp-setupgit clone --depth 1 https://github.com/WaterplanAI/agentic-configWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/waterplanai/agentic-config/ac-tools-gcp-setup)<a href="https://agentmods.dev/skills/waterplanai/agentic-config/ac-tools-gcp-setup"><img src="https://agentmods.dev/badge/skills/waterplanai/agentic-config/ac-tools-gcp-setup/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/waterplanai/agentic-config/ac-tools-gcp-setup"><img src="https://agentmods.dev/badge/skills/waterplanai/agentic-config/ac-tools-gcp-setup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 8 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 216 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 214 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 471 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 712 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- medium Rogue Agent · line 8 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Excessive Agency · line 187 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
- medium MCP Rug Pull · line 370 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
- low Privilege Escalation · line 530 Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.Fix: Request only the minimum permissions required. Document why each permission is needed. Remove broad permissions like '*' or 'all'.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00033 | $0.08006 |
| Opus 5 | $0.00016 | $0.04003 |
| Sonnet 5 | $0.00007 | $0.01601 |
| Haiku 4.5 | $0.00003 | $0.00801 |
Grade A, and why
ac-tools-gcp-setup scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 717 lines — stays where its author put it; the contents beside it link to each section on GitHub.
GCP Setup — Cloud Build + Cloud Run
Interactive skill for bootstrapping GCP infrastructure for Cloud Build + Cloud Run projects. Handles everything from gcloud auth login to verified production deploy.
Security First
Every phase validates security posture. The skill enforces:
- Dedicated runtime service account (never default compute SA)
- Per-secret IAM bindings (never project-level secretAccessor)
- Approval-gated Cloud Build triggers
- Non-root container execution
- Optional app-level OAuth with configurable domain restriction
- Same-origin CORS in production
- Secrets in Secret Manager only (never env vars, never in images)
Tool Paths
All tools are relative to this skill directory:
SKILL_DIR="."
Workflow
Phase 0: Config Detection
Detect and load configuration before any infrastructure operations.
0a: User-Level Customization (BLOCKING)
Check ~/.agents/customization/gcp-setup/index.md for saved preferences.
If missing, use AskUserQuestion to collect:
- Company domain (e.g.,
example.com) - Company name (e.g.,
Example Corp) - GitHub organization (e.g.,
ExampleOrg) - Preferred GCP region (e.g.,
us-central1)
Save to ~/.agents/customization/gcp-setup/index.md:
# GCP Setup Preferences
- domain: example.com
- company: Example Corp
- github_org: ExampleOrg
- region: us-central1
If values already exist, present them as defaults. If user provides different values, update index.md.
0b: Project-Level Config (BLOCKING)
Detect .gcp-setup.yml in the project root.
If exists: Load and present current config to user. AskUserQuestion: "Config found. Proceed with these settings, or modify?"
If missing: Auto-detect everything possible, then confirm. Typeform-style: one question at a time, smart defaults, minimal friction.
Step 1: Silent auto-detection (no user interaction — run all probes first)
# GitHub repo from git remote
GITHUB_REMOTE=$(git remote get-url origin || true)
GITHUB_SLUG=$(printf "%s\n" "$GITHUB_REMOTE" | sed -E 's#.*[:/]([^/]+/[^/.]+)(\.git)?$#\1#')
DIR_NAME=$(basename "$(pwd)")
# Runtime + framework
RUNTIME=""
[[ -f package.json ]] && RUNTIME="nodejs"
[[ -f requirements.txt || -f pyproject.toml ]] && RUNTIME="python"
[[ -f go.mod ]] && RUNTIME="go"
FRAMEWORK=""
[[ -f package.json ]] && grep -q '"express"' package.json && FRAMEWORK="express"
for file in requirements.txt pyproject.toml; do
[[ -f "$file" ]] && grep -q 'fastapi' "$file" && FRAMEWORK="fastapi"
done
# Feature detection from code/dependencies
HAS_OAUTH=$(grep -rl -m 1 "passport\|GoogleStrategy\|google-auth-library\|authlib" \
--include="*.ts" --include="*.js" --include="*.py" \
--exclude-dir=node_modules --exclude-dir=.git --exclude-dir=vendor . | head -1)
HAS_FIRESTORE=$(grep -rl -m 1 "@google-cloud/firestore\|google.cloud.firestore" \
--include="*.ts" --include="*.js" --include="*.py" --include="*.go" \
--exclude-dir=node_modules --exclude-dir=.git --exclude-dir=vendor . | head -1)
# Build configs, Dockerfile, health endpoint
CLOUDBUILD_FILES=$(compgen -G "cloudbuild*.yaml"; compgen -G "cloudbuild*.yml")
DOCKERFILE=$(find . -maxdepth 2 -name Dockerfile -print | head -1)
HEALTH_EP=$(grep -roh '"/health[z]*"\|"/api/health"' \
--include="*.ts" --include="*.js" --include="*.py" . | head -1 | tr -d '"')
# Secret manifest from .env.example
ENV_EXAMPLE=""
for candidate in .env.example .env.sample env.example; do
[[ -f "$candidate" ]] && ENV_EXAMPLE="$candidate" && break
done
# GCP projects (for matching)
if GCLOUD_BIN=$(command -v gcloud); then
GCP_PROJECTS=$("$GCLOUD_BIN" projects list --format="value(projectId)")
else
GCP_PROJECTS=""
fi
What ships with it
28 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/provisioner.md 2.8 KB
- agents/security-auditor.md 2.8 KB
- assets/agents.template.md 2.1 KB
- assets/cloudbuild-template.yaml 3.3 KB
- assets/dockerfile-go.template 803 B
- assets/dockerfile-node.template 1.5 KB
- assets/dockerfile-python.template 1.3 KB
- assets/dockerignore-template 460 B
- assets/env-example 584 B
- assets/gcp-setup-example.yml 3.1 KB
- assets/managing-secrets-and-envs.template.md 5.6 KB
- assets/pr-template.md 731 B
- assets/readme.template.md 1.4 KB
- cookbook/auth-proxy.md 8.0 KB
- cookbook/authjs-setup.md 10 KB
- cookbook/build-setup.md 8.1 KB
- cookbook/environments.md 6.5 KB
- cookbook/iap-setup.md 9.2 KB
- cookbook/oauth-setup.md 13 KB
- cookbook/prerequisites.md 1.7 KB
- cookbook/security-model.md 5.7 KB
- cookbook/troubleshooting.md 6.3 KB
- tools/config.sh 4.7 KB runs code
- tools/diagnose.sh 5.2 KB runs code
- tools/preflight.sh 3.8 KB runs code
- tools/provision.sh 13 KB runs code
- tools/secrets.sh 9.2 KB runs code
- tools/verify.sh 14 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 717 lines · 33 tokens per session scan A 5319c7730cef
ac-tools-gcp-setup is a skill published in the GitHub repository WaterplanAI/agentic-config (30 stars, last pushed 1mo ago), licensed MIT. It adds 33 tokens to every session and 8,006 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
vercel-deploy
Deploy applications and websites to Vercel. Use this skill when the user requests deployment actions such as "Deploy my app", "Deploy this to production", "Create a preview deployment", "Deploy and give me the link", or "Push this live". No authentication required - returns preview URL and claimable deployment link.
cost-optimization
Optimize cloud costs across AWS, Azure, GCP, and OCI through resource rightsizing, tagging strategies, reserved instances, and spending analysis. Use when reducing cloud expenses, analyzing infrastructure costs, or implementing cost governance policies.
istio-traffic-management
Configure Istio traffic management including routing, load balancing, circuit breakers, and canary deployments. Use when implementing service mesh traffic policies, progressive delivery, or resilience patterns.
linkerd-patterns
Implement Linkerd service mesh patterns for lightweight, security-focused service mesh deployments. Use when setting up Linkerd, configuring traffic policies, or implementing zero-trust networking with minimal overhead.
remote-compute-modal
Run GPU jobs on the user's own Modal account via host.compute.create('byoc:modal', ...). Covers the create→submit→waitfornotification flow, the computeprovider kernel for env setup, image/volume resolution, and the two approval cards. Load once you've decided to dispatch to Modal.
compute-env-setup
Set up a compute environment on a remote provider so Claude Science jobs can run there. Covers direct SSH/conda hosts, Slurm clusters, container-via-bridge runners, and managed-API providers (Modal, GCP, RunPod). Use when standing up a new provider, porting an env to a different backend, adding a tool that needs its…