terradart: Skill for Claude Code

.agents/skills/terradart-add-beta-resource/SKILL.md

terradart-add-beta-resource is a skill for Claude Code, Codex from nozomi-koborinai/terradart. It costs 59 tokens per session (1,187 once invoked), scanned A, original, Apache-2.0.

A workflow for adding a Google Cloud resource that exists only in the beta version of the Terraform provider to TerraDart’s beta package. It filters provider fixtures, updates the beta override, regenerates code, and pins the provider version.

In plain words
What is it for?
Use it when a newer provider adds a resource absent from the stable provider, to confirm it is truly beta-only, update the filtered fixture, regenerate the package, and verify the provider pin.
Why use it?
It keeps beta-only resources separate from generally available resources and avoids copying generated files by hand.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents); mentions AGENTS.md.

This is nozomi-koborinai/terradart's own configuration. It tells Claude Code and Codex how to work on terradart 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 terradart configures →

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is --output ../terradart_google_beta/lib/src \.

Reuse

Borrowing it

Nothing to install: this file belongs to nozomi-koborinai/terradart. 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/nozomi-koborinai/terradart/main/.agents/skills/terradart-add-beta-resource/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/nozomi-koborinai/terradart

Made for: Claude Code, Codex.

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 terradart-add-beta-resource

README.md
[![agentmods](https://agentmods.dev/badge/skills/nozomi-koborinai/terradart/terradart-add-beta-resource/github.svg)](https://agentmods.dev/skills/nozomi-koborinai/terradart/terradart-add-beta-resource)
Your own site
<a href="https://agentmods.dev/skills/nozomi-koborinai/terradart/terradart-add-beta-resource"><img src="https://agentmods.dev/badge/skills/nozomi-koborinai/terradart/terradart-add-beta-resource/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 terradart-add-beta-resource

Your own site · 80×15
<a href="https://agentmods.dev/skills/nozomi-koborinai/terradart/terradart-add-beta-resource"><img src="https://agentmods.dev/badge/skills/nozomi-koborinai/terradart/terradart-add-beta-resource.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 59 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,187 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00059 $0.01187
Opus 5 $0.00030 $0.00593
Sonnet 5 $0.00012 $0.00237
Haiku 4.5 $0.00006 $0.00119

Measured 6d ago against content hash 7b7448dd36c5, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

terradart-add-beta-resource 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 6d 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.

.agents/skills/terradart-add-beta-resource/SKILL.md · 57 lines

How it starts

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

Add a beta-only curated resource

Read CONTEXT.md for vocabulary. The beta lane's coordinates live in tool/providers.yaml; its philosophy (filled at the current pin, filtered fixture, no backlog/wave lane) is in AGENTS.md's Current-phase section. Do not hand-edit files under packages/terradart_google_beta/lib/src/ or the source_beta/ fixture — regenerate both.

The beta-only catalog at the current provider pin is filled. Add a resource only when a later pin introduces a new beta-only type (issue / maintainer ask) — do not sweep overlapping GA names into this package. GA resources belong in terradart_google — check the GA schema fixture first; a resource present there is NOT beta-only.

Workflow

Task progress:

  • 1. Confirm beta-only. The type must be absent from the GA fixture (packages/terradart_codegen/test/fixtures/wrap/source/schema.json) and present in the google-beta provider. If it exists in GA, stop — curate it in terradart_google instead (terradart-add-curated-resource).
  • 2. Re-extract the fixture with the new type added via union — the current set comes from the fixture itself (schema.json keys are the single source of truth; no name list is maintained anywhere else):
    dart tool/extract_schema_subset.dart \
      --provider=hashicorp/google-beta --version=<provider_version.txt> \
      --resources-from=packages/terradart_codegen/test/fixtures/wrap/source_beta/schema.json \
      --resources=<new_type> \
      --out=packages/terradart_codegen/test/fixtures/wrap/source_beta
    
    Requires terraform on PATH and terraform-registry network access (no cloud credentials). If either is missing in your environment, stop and report — never hand-write schema JSON.
  • 3. Write the override at packages/terradart_codegen/lib/src/codegen/wrapper_overrides/google_beta/yaml/<type>.yaml. Same axes and rules as GA overrides (Generation Policy binds you: thin overrides, human decisions only, IAM binding/policy curatedDoc authoritative-semantics rule). There is no MM enrichment on this lane (mm: false) — deriveEnums has nothing to derive; hand enums go in prelude.
  • 4. Barrels manifest: if the override's outputDir introduces a new barrel, add it to barrels_google_beta.yaml with a doc: (fail-closed — wrap errors without it).
  • 5. Regenerate (the --resource-provider pin is mandatory — beta shares the GA google_* type prefix):
    cd packages/terradart_codegen
    dart run bin/terradart.dart wrap \
      --provider hashicorp/google-beta \
      --source test/fixtures/wrap/source_beta \
      --output ../terradart_google_beta/lib/src \
      --overrides-root lib/src/codegen/wrapper_overrides/google_beta/yaml \
      --barrels-manifest lib/src/codegen/barrels/barrels_google_beta.yaml \
      --resource-provider google-beta
    
  • 6. Cost-classify the type (policy, apply or not): gcp-cost tools (dart tool/gcp_cost_call.dart in cloud-agent sessions) → record evidence in tool/apply_cost_denylist.yaml per its header format. When unsure, leave unclassified and say so.
  • 7. Example coverage: extend examples/beta_leftover_quickstart (or a focused beta example) so the factory appears in a synth, or record a reasoned tool/example_debt.yaml line. dart tool/example_synth_gates.dart reads both GA and beta catalogs — an uncovered new factory fails CI.
  • 8. Ledger check: any new beta example must be listed in tool/apply_smoke_skip.yaml under the google-beta-lane section (beta apply policy is not designed; synth + terraform validate only).
  • 9. Package test: extend packages/terradart_google_beta/test/synth_test.dart when the new factory has synth-visible behavior worth pinning (provider pin, sealed slots, sensitive fields).
  • 10. CHANGELOG: add the factory to packages/terradart_google_beta/CHANGELOG.md under the next version heading.

Read the full file on GitHub · 57 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. 6d ago Changed · -2 lines 7b7448dd36c5
  2. 12d ago First seen · 59 lines · 59 tokens per session scan A 4ca5a668d823

Subscribe to this mod's changes

terradart-add-beta-resource is a skill published in the GitHub repository nozomi-koborinai/terradart (46 stars, last pushed 3d ago), licensed Apache-2.0. It adds 59 tokens to every session and 1,187 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-30.

Related

Other skills, from other repositories

gcp-cloud-run

Production-ready Cloud Run on GCP: containerized services, Cloud Run Functions, cold start optimization, Pub/Sub integration, Cloud SQL, Secret Manager, concurrency tuning. Covers sharp edges and gotchas.

martineserios/thebrana · 45 tokens

at_client_skills-sdk

Use this skill when a developer is building a Dart or Flutter app that depends on atclient or atclientflutter from pub.dev, stores or shares data via the Atsign Protocol, needs onboarding (CRAM new-atsign, atKeys file, keychain, APKAM) or APKAM enrollment, or asks about AtCollection , CItem , Query , sub-collections…

atsign-foundation/at_client_sdk · 232 tokens

firebase-auth

Use when setting up auth, managing auth state, implementing email/password or social sign-in, handling auth errors, or managing users.

evanca/flutter-ai-rules · 29 tokens

firebase-cloud-functions

Use when calling callable functions (httpsCallable), passing data to server-side logic, handling function errors/timeouts, configuring regions, or testing with the Emulator Suite.

evanca/flutter-ai-rules · 36 tokens

firebase-data-connect

Use when setting up Data Connect, writing GraphQL queries/mutations, configuring generated SDKs, handling offline, or applying security rules.

evanca/flutter-ai-rules · 31 tokens

flutter-mcp-toolkit-custom-tools

Use this skill when the agent exposes app-specific surfaces by registering custom MCP tools and resources inside the Flutter app (mcptoolkit dynamic registry — AgentCallEntry, bootstrapFlutter additionalEntries / addEntries). Covers tool vs resource vs evaluate-expression, Map-based handlers, schema strictness…

Arenukvern/mcp_flutter · 86 tokens