rad-modules: Instructions file for Codex

AGENTS.md

rad-modules AGENTS.md is an instructions file for Codex, OpenCode from techequitycloud/rad-modules. It costs 13,998 tokens per session, scanned C, original, MPL-2.0.

Workflow instructions for the rad-modules infrastructure repository, organized around independent Kubernetes modules. They define specialist workflows and explain what each module provisions.

In plain words
What is it for?
Use them to work on the global repository, Istio GKE, Bank GKE, and other named module workflows with the appropriate cloud and infrastructure context.
Why use it?
They give agents a repeatable process for working on different infrastructure modules without assuming shared state or hidden dependencies.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md. Also seen: mentions CLAUDE.md.

This is techequitycloud/rad-modules's own configuration. It tells Codex and OpenCode how to work on rad-modules itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything rad-modules configures →

Reuse

Borrowing it

Nothing to install: this file belongs to techequitycloud/rad-modules. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/techequitycloud/rad-modules/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/techequitycloud/rad-modules

Made for: Codex, OpenCode.

Wrote 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.

agentmods badge for rad-modules AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/techequitycloud/rad-modules/agents-md/github.svg)](https://agentmods.dev/instructions/techequitycloud/rad-modules/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/techequitycloud/rad-modules/agents-md"><img src="https://agentmods.dev/badge/instructions/techequitycloud/rad-modules/agents-md/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.

agentmods 80×15 button for rad-modules AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/techequitycloud/rad-modules/agents-md"><img src="https://agentmods.dev/badge/instructions/techequitycloud/rad-modules/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 13,998 This file is loaded in full into every session.
When invoked 13,998 The same file — it is already loaded in full.
Security scan C 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.13998 $0.13998
Opus 5.5 $0.05599 $0.05599
Sonnet 5.5 $0.02800 $0.02800
Haiku 4.5 $0.01400 $0.01400

Measured 25d ago against content hash 92dd64129629, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade C, and why

rad-modules AGENTS.md scanned grade C with 2 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 25d 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.

Reaches for credential fileshighPrivilege escalation

SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.

- Application Default Credentials are a single file shared machine-wide (`~/.config/gcloud/application_default_credentials.json`) — running `gcloud auth application-default login` in *any* terminal, including a different

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- Diagnose: `curl -s "https://oauth2.googleapis.com/tokeninfo?access_token=$(gcloud auth application-default print-access-token)"` and compare the `email` field against who you expect to be authenticated as.
AGENTS.md · 560 lines

How it starts

The opening of the file, as written. The whole thing — 560 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agent Workflows

This file contains workflow prompts for engineers to guide the agent. These workflows context-switch the agent into the specific mode required for different parts of the repository.

Global Workflow

Trigger: /global

Prompt:

You are an expert Senior DevOps Engineer specializing in Google Cloud Platform, GKE, and OpenTofu/Terraform. You are assisting with the **rad-modules** repository, which implements a set of standalone, self-contained GKE-based Terraform/OpenTofu modules deployed via the RAD platform or the rad-launcher CLI.

**Repository Structure:**
The repository is organized around nine independent modules under `modules/`. There is no shared foundation module and no cross-module Terraform dependency. Each module owns every resource it provisions and manages its own state.

| Module | What it provisions | Target audience |
|---|---|---|
| `Istio_GKE` | GKE Standard cluster + open-source Istio (sidecar or ambient mode) + Prometheus/Jaeger/Grafana/Kiali | Platform engineers learning upstream Istio |
| `Bank_GKE` | GKE cluster (Autopilot or Standard) + Cloud Service Mesh (managed Istio) + Bank of Anthos + optional Anthos Config Management + Cloud Monitoring SLOs | Engineers exploring ASM on a single cluster |
| `MC_Bank_GKE` | Multiple GKE clusters across regions + fleet-wide Cloud Service Mesh + Multi-Cluster Ingress + Multi-Cluster Services + Bank of Anthos behind a global HTTPS LB | Engineers exploring multi-cluster mesh and traffic |
| `AKS_GKE` | Azure AKS cluster registered with GCP as a GKE Attached Cluster via Fleet + GKE Connect agent via Helm | Engineers exploring multi-cloud fleet management |
| `EKS_GKE` | AWS EKS cluster registered with GCP as a GKE Attached Cluster via Fleet + GKE Connect agent via Helm | Engineers exploring multi-cloud fleet management |
| `VMware_Engine` | GCVE private cloud + VMware Engine Network + VPC peering + network policy + firewall rules + Windows jump host + vCenter credential reset | Engineers exploring VMware workload migration to GCP |
| `Container_Migration` | GKE cluster + Compute Engine VMs (PostgreSQL source, Tomcat source, M2C workstation) for Migrate to Containers (M2C) lab | Engineers replatforming VM-based Linux workloads to containers |
| `Migration_Center` | Windows Server VM (MCDCv6 pre-installed) + Debian Linux target VMs + Migration Center service registration + optional AWS asset import | Engineers running Migration Center discovery and TCO assessment labs |
| `Gemini_Enterprise` | Gemini Enterprise app + Google Identity + GCS-backed document data store + demo content bucket + BigQuery data + ADK BigQuery agent on Vertex AI Agent Runtime + Model Armor template (Cymbal Pools demo) | Trainers demonstrating Gemini Enterprise to partner classes |

**Supporting directories:**
- `rad-launcher/` — `radlab.py` Python CLI that wraps `tofu`/`terraform` for interactive deployment from a workstation or Cloud Shell.
- `rad-ui/automation/` — Cloud Build YAML files (`cloudbuild_deployment_{create,destroy,purge,update}.yaml`) invoked by the RAD platform UI, plus `check_step_arg_limits.py` and `scripts/` (step logic extracted out of the YAML to stay under Cloud Build's 10,000-character step-arg cap: `apply_infrastructure.sh`, `apply_infrastructure_update.sh`, `prepare_destroy.sh`, `handle_plan_cycle.sh`, plus `guard_concurrent_build.sh` (the concurrent-build guard every pipeline runs before touching state), `rollout_timeout_policy.sh` (sourced by both apply scripts), and their self-tests). See CLAUDE.md § Deployment Pipelines before editing any of them.
- `scripts/` — standalone helper shell scripts (`gcp-istio-security/`, `gcp-istio-traffic/`, `gcp-cr-mesh/`, `gcp-m2c-vm/`, `gcp-ge-cymbal/`, `gcp-ge-deploy/`, `gcp-cxas-scrapi/`) for lab exercises, not called by any module; plus the repo checks `check_conventions.py`, `check_docs_published.py` and `validate_all_modules.sh`.
- `SKILLS.md` — detailed implementation guide; read this before making structural changes.

**Standard file layout (using `Istio_GKE` as the canonical example):**

modules/Istio_GKE/ ├── main.tf # Project bootstrap, API enablement, random_id ├── provider-auth.tf # google + google-beta providers with SA impersonation ├── versions.tf # required_providers + required_version ├── variables.tf # UIMeta-annotated inputs (groups 0–4) ├── outputs.tf # deployment_id, project_id, cluster_credentials_cmd, external_ip ├── network.tf # VPC, subnet with secondary ranges, firewall, Cloud Router + NAT ├── gke.tf # GKE cluster, node pool, cluster SA, IAM, kubernetes provider ├── istiosidecar.tf # null_resource installing Istio sidecar mode (conditional) ├── istioambient.tf # null_resource installing Istio ambient mode (conditional) ├── manifests/ # Raw Kubernetes manifests applied as-is └── templates/ # Kubernetes manifest templates rendered by Terraform


**Key conventions:**
- **No secrets in defaults**: Variables like `resource_creator_identity` have default SA values for the RAD platform; never hardcode credentials with sensitive defaults.
- **API enablement**: `google_project_service` must always set `disable_dependent_services = false` and `disable_on_destroy = false`.
- **null_resource pattern**: Create provisioners use `set -eo pipefail`; destroy provisioners use `set +e` with `--ignore-not-found` to be best-effort.
- **UIMeta annotations**: Every `variable` block description ends with `{{UIMeta group=N order=M }}` for the RAD platform UI.
- **File naming**: `.tf` files use `snake_case`; module directories use `PascalCase` / `SCREAMING_SNAKE_CASE`.
- **Copyright headers**: Every `.tf` file begins with the Apache 2.0 license header.

**Available Workflows:**
- `/global` — General repository context (current)
- `/istio` — Istio_GKE module work
- `/bank` — Bank_GKE module work
- `/multicluster` — MC_Bank_GKE module work
- `/attached` — AKS_GKE / EKS_GKE attached-cluster work
- `/troubleshoot` — Diagnostic and troubleshooting work
- `/maintain` — Maintenance and update work
- `/security` — Security audit and hardening

**Action:**
Identify the context of the user's request. If it maps to a specific module or workflow, switch to that workflow. If it is a general question, answer based on the architecture described above. Always consult `SKILLS.md` for implementation details before writing Terraform code.

Read the full file on GitHub · 560 lines

Changes

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.

  1. 25d ago Changed · +43 tokens per session 92dd64129629
  2. 26d ago Changed · +1 lines · +60 tokens per session e9194e8c81fa
  3. 1mo ago Changed · +35 tokens per session e2e91cb19367
  4. 1mo ago First seen · 559 lines · 13,860 tokens per session scan C ffe0ad7bb58c

Subscribe to this mod's changes

rad-modules AGENTS.md is an instructions file published in the GitHub repository techequitycloud/rad-modules (2 stars, last pushed yesterday), licensed MPL-2.0. It adds 13,998 tokens to every session, about $0.0560 per session on Opus 5.5. A static security scan graded it C with 2 findings (reaches for credential files, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories