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 thettwe/nyann --skill iac-applygit clone --depth 1 https://github.com/thettwe/nyannWrote 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/thettwe/nyann/iac-apply)<a href="https://agentmods.dev/skills/thettwe/nyann/iac-apply"><img src="https://agentmods.dev/badge/skills/thettwe/nyann/iac-apply.svg" alt="Measured on agentmods" height="20"></a>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.00355 | $0.02632 |
| Opus 5 | $0.00178 | $0.01316 |
| Sonnet 5 | $0.00071 | $0.00526 |
| Haiku 4.5 | $0.00036 | $0.00263 |
Grade A, and why
iac-apply 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 4d 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 — 199 lines — stays where its author put it; the contents beside it link to each section on GitHub.
iac-apply
Wraps bin/iac-apply.sh. This is the highest-stakes mutator in
nyann — it can change real cloud infrastructure. Read this end to end
before invoking. The gate ladder below is enforced in the script, not
just prose; your job is to drive the flags in the right order and never
shortcut a confirmation.
The script mirrors bin/undo.sh's preview-before-mutate contract:
apply is never the default. Without --apply it previews and exits
0. --dry-run always wins over --apply. A destructive plan needs a
second explicit confirmation on top of --apply. The output is a JSON
object on stdout (status: preview|applied|skipped|refused, plus
tool, unit, summary, destructive, optional record_path,
exit_code, message).
0. This skill is opt-in — confirm intent first
Never invoke an apply because a plan looked ready. Only proceed when the
user has clearly asked to apply/deploy/provision on an infra repo (see
DISAMBIGUATION). If they only wanted to see the diff, route to
/nyann:plan. Confirm there's an infra signal (a tool name, an
"infra"/"deploy" intent, or a detected .iac.tool) before doing
anything.
1. Always preview the plan first — show it back
Always obtain an IacPlan before applying — iac-apply.sh computes
one internally (or reads --plan <iacplan.json> if you already ran
/nyann:plan and saved it). Either way, run a preview pass first and
show the add/change/destroy summary to the user:
bin/iac-apply.sh --target <cwd> [--unit <repo-rel-path>] # no --apply → preview
This emits status:"preview", exits 0, and mutates nothing. Render
.summary (e.g. "+3 add, ~1 change, -2 destroy"), .destructive,
and .destructive_known exactly as the iac-plan skill does. If the
preview's plan came back status:"skipped" (CLI/backend/creds absent),
the apply emits status:"skipped" exit 0 — surface .message, and
stop: there is nothing to apply. If the plan was status:"refused"
(unknown tool / --unit traversal), apply emits status:"refused"
exit 1 — relay .message and fix the input.
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.
- 4d ago First seen · 199 lines · 355 tokens per session scan A 95b99ecb196a
iac-apply is a skill published in the GitHub repository thettwe/nyann (6 stars, last pushed 8d ago), licensed MIT. It adds 355 tokens to every session and 2,632 once invoked, about $0.0018 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-09-03.
Other skills, from other repositories
deploy-to-connect
Deploy or publish Python and R content to a Posit Connect server using rsconnect-python or the R rsconnect package. Handles interactive apps and dashboards, web APIs, rendered documents, and prepared bundles/manifests. Use whenever the user asks to deploy, publish, or redeploy content to Posit Connect, or mentions…
cloud-administration
Administers the cloud the company runs on rather than the one it sells — tenant and subscription structure, the SaaS estate and who owns each app, identity as the real perimeter, cloud spend that arrives as a surprise, and what the provider does not do for you. Use this to structure subscriptions or tenants, get…
network-administration
Designs and operates the corporate network — segmentation, remote access, wireless, DNS and addressing, and diagnosing network problems. Use this to segment a network, set up or fix remote access, diagnose intermittent connectivity, plan addressing or DNS, or assess whether the network's trust assumptions still hold.
telephony-and-conferencing
Runs voice and meeting infrastructure — phone systems and numbers, emergency calling obligations, conference rooms and their AV, call recording and its retention consequences, and the porting that makes provider changes go badly. Use this to replace a phone system, fix rooms nobody can start a meeting in, meet…
virtualization-operations
Runs the hypervisor layer beneath the servers — host capacity and consolidation ratios, VM sprawl, snapshot discipline, resilience and live migration, and licensing that counts cores rather than instances. Use this to size or expand a cluster, work out why VMs are slow when the hosts look idle, clean up sprawl, set…
business-continuity-and-resilience
Plans for operating through disruption — impact analysis, recovery objectives, continuity plans, and the exercises that prove they work. Use this to run a business impact analysis, set RTO and RPO, write or test a continuity plan, prepare for a supplier or site failure, or answer a customer's resilience questionnaire.