resource-import

resource-import is an agent for Claude Code from massdriver-cloud/claude-plugins. It costs 96 tokens per session (3,458 once invoked), scanned B, original, Apache-2.0.

An interactive agent for bringing existing cloud resources into Massdriver, an infrastructure management platform. It can adopt resources into infrastructure-as-code bundles or register them without managing them.

In plain words
What is it for?
It is for importing hand-created or externally managed resources, adopting them into new or existing bundles, and registering external resources for connections.
Why use it?
It provides separate workflows for managing an existing resource and merely making it referenceable. This helps avoid changing or redeploying resources that already exist.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: names the AskUserQuestion tool; mentions Claude Code.

Part of the massdriver plugin — 1 skill, 5 commands, 4 agents, 1 hook, 1 MCP server shipped together

Good fit It is for importing hand-created or externally managed resources, adopting them into new or existing bundles, and registering external resources for connections.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/massdriver-cloud/claude-plugins/resource-import
Install

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.

Clone the repo
git clone --depth 1 https://github.com/massdriver-cloud/claude-plugins

Made for: Claude Code.

Or install massdriver, the plugin that ships this one along with the rest of its 1 skill, 5 commands, 4 agents, 1 hook, 1 MCP server.

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 resource-import

README.md
[![agentmods](https://agentmods.dev/badge/agents/massdriver-cloud/claude-plugins/resource-import/github.svg)](https://agentmods.dev/agents/massdriver-cloud/claude-plugins/resource-import)
Your own site
<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.

agentmods 80×15 button for resource-import

Your own site · 80×15
<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>
Per session 96 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,458 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
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.00096 $0.03458
Opus 5.5 $0.00038 $0.01383
Sonnet 5.5 $0.00019 $0.00692
Haiku 4.5 $0.00010 $0.00346

Measured 19d ago against content hash c6b3e29e712c, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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
massdriver/agents/resource-import.md · 244 lines

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

  1. NEVER run mass bundle publish without --development (-d).
  2. NEVER use import {} blocks — they break bundle reusability.
  3. NEVER run tofu plan locally. Plan through Massdriver: create_deployment with action: PLAN, then get_deployment_logs follow:true. The provisioner has the right credentials, the run is audited, and compliance tooling only runs there.
  4. tofu import is not guarded by the safety hook. The hook inspects mass commands and MCP calls; a Bash tofu import can 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.
  5. Neither import nor a PLAN mutates cloud infrastructure — import only writes state, and PLAN is 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 a PROVISION deploy, that is for the user.
  6. ALWAYS pass a message when calling create_deployment.
  7. ALWAYS publish after ANY code change — the platform cannot see your local filesystem. Then update_instance to the exact dev release that publish emitted (0.0.1-dev.20260929T000749Z), so the instance resolves what you published.
  8. 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.
  9. The deployment actions in this workflow are create_deployment with action: PLAN, and one final propose_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.
  10. 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.
  11. 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.
  12. NEVER read ~/.config/massdriver/config.yaml directly — 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.
  13. NEVER call approve_deployment — human authorization step, hook-blocked.
  14. Never improvise cloud credentials. If tofu import can'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.
  15. Local import edits never reach the platform. Restore the provider block and delete the backend and tfvars files as soon as tofu state list confirms the import (Procedure Step 6), before any mass bundle publish. A local provider config that reaches the platform breaks every instance of the bundle.
  16. 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.

Read the full file on GitHub · 244 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. 19d ago First seen · 244 lines · 96 tokens per session scan B c6b3e29e712c

Subscribe to this mod's changes

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.

Related

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.

TyrusRC/praetor · 53 tokens

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.

ivegamsft/basecoat · 37 tokens

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.

armanzeroeight/fastagent-plugins · 35 tokens

deployment-verifier

Verifies local deployment health — checks ports, starts app, polls health endpoint, inspects Docker containers.

asysta-act/agent-flow · 24 tokens

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…

anivaryam/anivaryam-plugins · 77 tokens

grumpy-budget-hawk

Cloud cost reviewer. Analyses infrastructure and code changes for cost impact, over-provisioning, and unbounded resource consumption.

JackScammell/Parliament-Of-Chaos · 31 tokens