gitops-cicd

A guide to automatically building and deploying Control Plane applications from source-code repositories. CI/CD means automated testing, building, and delivery; GitOps means treating configuration in Git as the desired system state.

In plain words
What is it for?
Use it with GitHub Actions, GitLab CI, Bitbucket, or CircleCI to build images, push them, apply manifests, and verify deployments.
Why use it?
It makes deployments repeatable and explains how to authenticate pipelines, build images without a Docker service, and apply configuration safely.

Skill for Claude CodeCodex

Part of the cpln plugin — 30 skills, 2 commands, 2 agents, 1 hook, 1 MCP server shipped together

Install

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.

agentmods
npx agentmods add skills/controlplane-com/ai-plugin/gitops-cicd
Any agent
npx skills add controlplane-com/ai-plugin --skill gitops-cicd
Clone the repo
git clone --depth 1 https://github.com/controlplane-com/ai-plugin

Made for: Claude Code, Codex.

Or install cpln, the plugin that ships this one along with the rest of its 30 skills, 2 commands, 2 agents, 1 hook, 1 MCP server.

Per session 60 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,249 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00060 $0.03249
Opus 5 $0.00030 $0.01625
Sonnet 5 $0.00012 $0.00650
Haiku 4.5 $0.00006 $0.00325

Measured 2d ago against content hash 48c589ebe569, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

gitops-cicd 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 2d 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.

plugins/cpln/skills/gitops-cicd/SKILL.md · 165 lines

How it starts

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

GitOps & CI/CD

Tool availability: some MCP tools named here live in the full toolset profile — if one is not advertised on this connection, tell the user to reconnect the MCP server with ?toolsets=full (or use the cpln CLI fallback). Reads work on every profile via the generic list_resources / get_resource tools; delete_resource is on every profile except readonly.

In pipelines the CLI is the primary interface: authenticate with a service-account key in CPLN_TOKEN (no profile needed), push an image, cpln apply --ready the manifests. MCP tools do the work around the pipeline — mcp__cpln__get_resource_schema before authoring manifests, mcp__cpln__list_deployments to confirm a deploy landed. The usual failure is image builds: cpln image build runs the build locally through Docker, so a runner without a daemon needs a different flow — a daemonless builder, or --remote to build on Control Plane. Pick by runner capability, not by habit.

Service-account authentication

cpln serviceaccount create --name ci-deployer --org ORG
cpln serviceaccount add-key ci-deployer --description "ci key" --org ORG   # --description is required

The JSON response's key value is the credential — store it as a masked/secret variable in the CI platform. MCP: mcp__cpln__add_key_to_service_account does both steps (and creates the service account if missing).

Grant least privilege (access-control skill): pushing images needs create on the image kind; cpln apply needs create/edit on every kind the manifests contain. cpln group add-member superusers --serviceaccount ci-deployer works but grants full org access — prefer a scoped policy (mcp__cpln__create_policy).

Set in the platform's variable settings, never inline in scripts:

Variable Role
CPLN_TOKEN Service-account key (secret/masked)
CPLN_ORG Target org
CPLN_GVC Target GVC, when the pipeline targets one
CPLN_SKIP_UPDATE_CHECK=1 Silence CLI update checks in logs

Read the full file on GitHub · 165 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. 2d ago First seen · 165 lines · 60 tokens per session scan A 48c589ebe569

Subscribe to this mod's changes

gitops-cicd is a skill published in the GitHub repository controlplane-com/ai-plugin (10 stars, last pushed 9d ago), licensed MIT. It adds 60 tokens to every session and 3,249 once invoked, about $0.0003 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-31.