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 agentmods add skills/cozystack/ccp/cluster-installnpx skills add cozystack/ccp --skill cluster-installgit clone --depth 1 https://github.com/cozystack/ccpWhat 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 | $0.00236 | $0.19654 |
| Opus 5 | $0.00118 | $0.09827 |
| Sonnet 5 | $0.00047 | $0.03931 |
| Haiku 4.5 | $0.00024 | $0.01965 |
Grade A, and why
cluster-install scanned grade A with 1 finding 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 yesterday.
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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
# %{exitcode} requires curl 7.75+; older curl prints the template literal — How it starts
The opening of the file, as written. The whole thing — 1,114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
cozystack:cluster-install
Work in reasoning mode. Use the phrasing cozystack:cluster-install (not "the skill") in user-facing messages. Announce phase transitions: cozystack:cluster-install Phase N — <name>.
Note on language in this SKILL.md — every operator-facing prompt below is written in English for clarity. At runtime the skill matches the operator's natural language detected from prior conversation messages (or read from
<config-dir>/.state.yamloperator_languagewhen the wizard chain is in progress). Code identifiers, commands, file paths, and any text destined for GitHub stay canonical.
Entry point note: cozystack:wizard is the recommended way to reach this skill. The wizard runs node-bootstrap (talos-bootstrap / ubuntu-bootstrap) before handing off here when needed. This skill is also callable directly when the operator already has a ready cluster with prepared nodes.
Source of truth, in priority order:
- Live cluster state —
kubectl --context $CTX .... - Upstream chart values:
~/git/github.com/cozystack/cozystack/packages/core/{installer,platform}/values.yamland the variant overlays. - Install guide for the major matching
--installer-version:https://cozystack.io/docs/v<X.Y>/install/kubernetes/generic/(ortalos/,air-gapped, etc.). - Ansible reference:
~/git/github.com/cozystack/ansible-cozystack/roles/cozystack/{defaults,tasks}/main.yml.
Never guess versions, IPs, label values, or CIDRs — read them from the cluster or ask.
Core principles
- Match the operator's natural language. Read from
<config-dir>/.state.yamloperator_language(set bycozystack:wizardPhase 0) or detect from prior messages when invoked directly. Use it in prompts, AskUserQuestion options, summaries, and gates. Code identifiers, commands, file paths, and GitHub-public text stay in their canonical form. - One valid path → just do it. After the operator approved the consolidated plan in Phase 5 (STOP GATE 2), the skill runs helm install + Platform Package apply + Tenant patch + HR wait + verification back-to-back without re-prompting. Approval gates remain only for (a) multi-option questions in Phase 4 (storage layout, network values, publishing host), (b) destructive operations (Phase 5.5 per-node storage provisioning — each
zpool createis a real choice with data implications), (c) STOP GATEs 1/2/3 themselves. No "are you ready to continue?" between phases that have one valid outcome. - Front-load the interview. Every question the skill might ask in any phase is collected upfront in Phase 4. That includes per-node storage devices (Phase 5.5), per-node provisioning approvals (Phase 5.5), extractedprism opt-out (Phase 5.6), Tenant ingress patch confirmation (Phase 8, inline), and HR stuck-state recovery preferences (Phase 8). Phase 2 cluster lookup + Phase 0
intent_hintsfrom<config-dir>/.state.yamlmust fill every slot they can before any question fires. Phase 4 presents one consolidated summary with every slot filled (defaults marked) and quick-edit affordances. Phases 5.5 onward execute against the collected answers — no re-prompts mid-flow except destructive STOP GATEs that have to ask by their nature (e.g.zpool destroyon an existing pool the operator chose to wipe). - Layer-pure operator output. The skill never says "returning control to wizard", "the wizard will dispatch next", or any other orchestration commentary in the operator-facing summary. Whoever invoked the skill (a human running
/cozystack:cluster-installdirectly, or the wizard's dispatch loop) figures out what's next on their own. Internal SKILL.md references tocozystack:wizardare fine for documentation;wizarddoes not appear in any text shown to the operator. - The user is click-ops. Show what you're about to do, in plain language, before doing it. Wait for
Continue. - Three non-negotiable gates: cluster fits, values gathered, all HRs Ready. None can be skipped.
- Read-only lookups (
get,describe, logs, ephemeral debug pods) need no approval. Mutating actions (apply,patch,helm install,label) need explicit user approval each time. - Errors are not the user's fault. When a check fails, explain what's wrong, why it matters, and offer concrete next steps (with commands). Don't leave the user staring at a Helm stack trace.
- On a fatal failure that looks upstream: stop, assemble a diagnostic bundle (
references/issue-templates.md), draft an issue body, hand it to the user.
What ships with it
9 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.
- references/helmrelease-monitoring.md 4.4 KB
- references/issue-templates.md 5.4 KB
- references/known-failures.md 16 KB
- references/node-checks.md 11 KB
- references/provider-pitfalls.md 12 KB
- references/requirements.md 5.1 KB
- references/storage-backends.md 11 KB
- references/values-template.md 13 KB
- references/variants.md 3.7 KB
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.
- yesterday First seen · 1,114 lines · 236 tokens per session scan A 4442500f5211
cluster-install is a skill published in the GitHub repository cozystack/ccp (4 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 236 tokens to every session and 19,654 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…