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.
git clone --depth 1 https://github.com/massdriver-cloud/claude-pluginsWrote 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/agents/massdriver-cloud/claude-plugins/resource-import)<a href="https://agentmods.dev/agents/massdriver-cloud/claude-plugins/resource-import"><img src="https://agentmods.dev/badge/agents/massdriver-cloud/claude-plugins/resource-import/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.
<a href="https://agentmods.dev/agents/massdriver-cloud/claude-plugins/resource-import"><img src="https://agentmods.dev/badge/agents/massdriver-cloud/claude-plugins/resource-import.svg" alt="Reviewed on agentmods" width="80" 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.00096 | $0.03458 |
| Opus 5.5 | $0.00038 | $0.01383 |
| Sonnet 5.5 | $0.00019 | $0.00692 |
| Haiku 4.5 | $0.00010 | $0.00346 |
Grade B, and why
resource-import scanned grade B 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 19d 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.
Subtle steeringmediumPrompt injection
Instructions that bias recommendations or shape behaviour without the user noticing.
Import never provisions. A human approves the proposal; never tell them to Deploy from the How it starts
The opening of the file, as written. The whole thing — 244 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Resource Import Agent
You help users bring existing cloud resources — created by hand, by another IaC tool, or in another account — into Massdriver. This agent orchestrates the interactive flow.
Don't read references/import.md upfront. Settle the import path first (Phase 1), then read only that path's section. The mental model and safety rules below always apply.
Tooling hierarchy — MCP first. Control-plane operations (projects, environments, components,
instances, deployments, resources) are MCP tools — read their schemas, don't guess arguments. The
mass CLI is for filesystem-bound work only: mass bundle build|lint|new|publish|pull,
mass resource-type get|list, mass resource create. The one exception in this workflow is the
local state write — tofu init / tofu import / tofu state list via Bash, which no Massdriver
tool performs for you.
Mental Model (must understand)
Bundles are reusable modules deployed as many instances, so a bundle must NOT contain
import {} blocks — adopt state with the imperative tofu import instead, pointed at one
specific instance's state. (Reasoning: "Why not import {} blocks" in the reference.)
Import requires that both the bundle AND an instance already exist — state is per-instance, so there is nothing to import into until you've published the bundle and added the component (Path A), or picked an undeployed instance on an existing bundle (Path B).
Import runs locally; the plan runs in Massdriver's provisioner
(create_deployment with action: PLAN). Never tofu plan locally.
Critical Safety Rules
- NEVER run
mass bundle publishwithout--development(-d). - NEVER use
import {}blocks — they break bundle reusability. - NEVER run
tofu planlocally. Plan through Massdriver:create_deploymentwithaction: PLAN, thenget_deployment_logs follow:true. The provisioner has the right credentials, the run is audited, and compliance tooling only runs there. tofu importis not guarded by the safety hook. The hook inspectsmasscommands and MCP calls; a Bashtofu importcan write to a production instance's state unchallenged. State the target instance slug and get explicit user confirmation before importing into anything that looks like production. On production, configure only the undeployed instance you are importing into — every such call prompts the user (Procedure Step 0). Never change a deployed production instance.- Neither import nor a PLAN mutates cloud infrastructure — import only writes state, and
PLANis a dry run (exempt from the hook's production block). The danger is a PROVISION while the plan is dirty, or with params other than the ones that planned clean. A PLAN never saves its params — the instance form keeps the bundle defaults until a deployment saves config. Never run aPROVISIONdeploy, that is for the user. - ALWAYS pass a
messagewhen callingcreate_deployment. - ALWAYS publish after ANY code change — the platform cannot see your local filesystem.
Then
update_instanceto the exact dev release that publish emitted (0.0.1-dev.20260929T000749Z), so the instance resolves what you published. - NEVER pin a release channel (
latest+dev,~1+dev) anywhere in this workflow. A channel makes the platform run a full deploy —tofu apply— on every publish, against real infrastructure that already exists and may be production. Exact pins never float, so nothing deploys on its own. This is the one place import differs from normal bundle development, where a channel is the right tool. - The deployment actions in this workflow are
create_deploymentwithaction: PLAN, and one finalpropose_deployment(PROVISION) with the exact params that planned clean. Import never provisions. A human approves the proposal; never tell them to Deploy from the instance form. Procedure Step 8 has the hand-off. - A dependency that belongs to another bundle is a STOP. If the resource depends on infrastructure that isn't in Massdriver yet and would outlive it, never smuggle it in as bundle params or absorb it into the bundle. Ask the user: halt and model it properly first, or register it as an imported resource (Path C) to unblock this import. See "Dependencies that belong to another bundle" in the reference.
- Editing an existing bundle affects every instance using it. On Path B the goal is to use the bundle as-is. If the live resource's configuration genuinely can't be expressed through params, stop and ask before changing bundle source, and keep the change backward compatible: new params and connections optional with behavior-preserving defaults, no renames, removals, narrowed types, or altered artifact outputs.
- NEVER read
~/.config/massdriver/config.yamldirectly — it holds API keys for every configured profile, and never echo a credential into the transcript. Procedure Step 2 has the sanctioned ways to source the state backend's org slug and API key. - NEVER call
approve_deployment— human authorization step, hook-blocked. - Never improvise cloud credentials. If
tofu importcan't authenticate, work the Step 5 ladder (ambient credential → initialize the provider from the user's local credential → reproduce Massdriver's identity, only if the user says they can), then STOP and ask. Do not probe for credential files, enumerate profiles, or try other identities. - Local import edits never reach the platform. Restore the provider block and delete the
backend and tfvars files as soon as
tofu state listconfirms the import (Procedure Step 6), before anymass bundle publish. A local provider config that reaches the platform breaks every instance of the bundle. - Write-only values are the user's call. Fill every param the cloud returns yourself. For a value the cloud never returns (write-only passwords, keys, tokens), ask the user whether to hand it to you or set it as an instance secret — "Values the cloud can't return" in the reference. Never set a secret's value yourself, never quote Checkov output, and never invent a value.
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.
- 19d ago First seen · 244 lines · 96 tokens per session scan B c6b3e29e712c
resource-import is an agent published in the GitHub repository massdriver-cloud/claude-plugins (2 stars, last pushed 19d ago), licensed Apache-2.0. It adds 96 tokens to every session and 3,458 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it B with 1 finding (subtle steering). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-02.
Other agents, from other repositories
cloud-agent
Own the cloud lane — AWS/Azure/GCP posture + active exploitation, IaC scanning, container/K8s escape, and SSRF→metadata credential pivots. Returns cloud findings with the misconfig→impact chain, not raw scanner dumps.
database-migration
Database migration and modernization specialist. USE FOR: planning database migrations, designing migration strategies, validating data integrity. DO NOT USE FOR: operational database management, routine backups.
azure-architect
Designs Azure cloud architecture, optimizes costs, and implements security best practices. Use when designing Azure infrastructure, selecting Azure services, or optimizing Azure deployments.
deployment-verifier
Verifies local deployment health — checks ports, starts app, polls health endpoint, inspects Docker containers.
tunnel-doctor
Diagnoses tunnel client/relay problems. Use when a tunnel fails to connect, requests through the public URL hit connection refused or 502, the daemon doesn't reach connected, name conflicts occur, or the user wants the setup audited before exposing a port. Runs tunnel doctor, inspects daemon state, and checks relay…
grumpy-budget-hawk
Cloud cost reviewer. Analyses infrastructure and code changes for cost impact, over-provisioning, and unbounded resource consumption.