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,285 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 →

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,285 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.01285
Opus 5.5 $0.00024 $0.00514
Sonnet 5.5 $0.00012 $0.00257
Haiku 4.5 $0.00006 $0.00128

Measured 1mo ago against content hash 3c56cc8cc999, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, 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 1mo 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 · 50 lines

How it starts

The opening of the file, as written. The whole thing — 50 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 — scaffold it with dart run bin/terradart.dart wrap-init --provider hashicorp/google-beta ... (from packages/terradart_codegen), which fills deriveNestedTypes, deriveOutputGetters, deriveEnums and deriveExactlyOne; every beta override must keep all four (yaml_loader_test.dart). Same axes and rules as GA overrides (Generation Policy binds you: thin overrides, human decisions only, IAM binding/policy curatedDoc authoritative-semantics rule). Enums and sealed exactly_one_of slots derive from the resource's Magic Modules YAML — do not hand-write them 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 through the lane runner, which first re-syncs the lane's Magic Modules YAML (network: api.github.com + raw.githubusercontent.com; GITHUB_TOKEN / GH_TOKEN raises the rate limit) because the fixture's resource set changed, then wraps with the --resource-provider google-beta pin and --mm-hints:
    dart tool/wrap_lanes.dart --lane google-beta --gate regen
    
    It writes source_beta/mm/<type>.yaml (when the type's generated Go source names an mmv1 file) and source_beta/mm_sources.yaml — commit both, never hand-edit them. The migration manifest regenerates with the wrappers; CI's beta wrap_check lane and tool/agent_verify.sh fail on a stale manifest or a stale MM sync.
  • 6. Gated example check: if applying the type needs an entitlement, an organization or real external inputs, bills while it exists, or leaves behind something that cannot be deleted (or a name that stays reserved), say so in the example README's ## Before you apply section (see AGENTS.md Example verification).
  • 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 (apply-time reasons — cost, entitlements, an organization — are not acceptable; see AGENTS.md Example verification). dart tool/example_synth_gates.dart reads both GA and beta catalogs — an uncovered new factory fails CI.
  • 8. 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).
  • 9. CHANGELOG: add the factory to packages/terradart_google_beta/CHANGELOG.md under the next version heading.

Read the full file on GitHub · 50 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. 1mo ago Changed · -8 lines 3c56cc8cc999
  2. 1mo ago Changed · -1 lines d1d04743197e
  3. 1mo ago Changed · +2 lines ace6255b5475
  4. 1mo ago Changed · -2 lines 7b7448dd36c5
  5. 2mo 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 (52 stars, last pushed today), licensed Apache-2.0. It adds 59 tokens to every session and 1,285 once invoked, about $0.0002 per session on Opus 5.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

terraform-infrastructure-as-code

Comprehensive Terraform Infrastructure as Code skill covering resources, modules, state management, workspaces, providers, and advanced patterns for cloud-agnostic infrastructure deployment.

manutej/luxor-claude-marketplace · 36 tokens

Terraform Infrastructure as Code

Production-grade Terraform development with HCL best practices, module design, state management, multi-cloud patterns, and AI-enhanced infrastructure as code for scalable cloud deployments.

bobmatnyc/mcp-skillset · 36 tokens

writing-blogs

Writes, structures, and formats SEO-optimized blog posts for the Appwrite blog following established conventions for voice, tone, frontmatter, and post structure. Use when the user asks to write, draft, create, or outline a blog post, or when working with files in src/content/blog/posts/.

appwrite/appwrite · 64 tokens

create-announcement

Coordinates the three artifacts that ship a new Appwrite feature announcement: docs updates under src/content/docs/, an announcement blog post under blog/announcing- /, and a changelog entry under src/content/changelog/entries/. Use when the user asks to announce, launch, or ship a feature, product, SDK, runtime…

appwrite/appwrite · 0 tokens

auditing-seo

Audits Appwrite blog posts for SEO, AEO, content structure, links, metadata, and search intent. Use when the user asks for an SEO audit, SEO review, search optimization check, or pre-publishing SEO assessment.

appwrite/appwrite · 52 tokens

reviewing-blogs

Reviews and critiques blog posts in src/content/blog/posts/ against Appwrite's established standards for voice, tone, structure, SEO, formatting, and accuracy. Use when the user asks to review, audit, critique, or improve an existing blog post.

appwrite/appwrite · 55 tokens