Port import skill to MCP-first conventions - #6
Open
chrisghill wants to merge 3 commits into
Open
Conversation
Re-lands the /massdriver:import workflow from add-import-skill, rewritten against main's MCP-first rewrite. That branch predates the MCP server, so the mechanics were rebuilt rather than rebased: * Control-plane operations move to MCP tools: mass component add -> add_component, mass instance version --release-channel -> update_instance with latest+dev, mass instance deploy --plan -> create_deployment with action: PLAN + get_deployment_logs, mass environment default -> set_environment_default. Adds get_viewer auth check and the OCI repo/grant step add_component now requires. * Drops reading ~/.config/massdriver/config.yaml for the state backend credentials, which main now forbids outright. TF_HTTP_USERNAME/PASSWORD come from already-exported env vars or from the user. * Corrects the backend guidance: TF_HTTP_* only applies when the http backend is selected, so the procedure writes a throwaway backend_import.tf rather than assuming no backend block works. * Takes the state URL from get_instance's statePaths[].stateUrl instead of hand-building the /state/<id>/<step> URL. * New: tofu import is Bash, so the safety hook does not guard it -- calls for explicit confirmation before writing to a production instance's state. Adds the local provider-credential step tofu import actually needs, state recovery via tofu state rm / orphan_instance, and the resource type instructions field for Path C. * Agent frontmatter matches current convention (skills: massdriver, no tools or model keys); drops v2 wording and the massdriver/-prefix rule. Version 4.2.0 -> 4.3.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The README is user-facing — no agent reads it (the only mentions inside the plugin are agents pointing users at it when MCP auth fails), so naming individual MCP tools throughout was noise. * Command "What it does" lists now describe outcomes instead of annotating each step with the tool that performs it. * "How It Works" was an inventory of the MCP tool surface; it now covers what the plugin does for you -- blueprint-once semantics, log streaming, safe dry runs, development release isolation, day 2, environment waves. * Tool names are kept in Safety Guardrails, where they are load-bearing: those are the exact strings users see in permission prompts, so knowing approve_deployment is hard-blocked and get_*/list_* are auto-approved explains behavior they will actually observe. * The MCP-first paragraph read as a prerequisite warning. It is now a lede about what the plugin does for you, with the MCP server as the reason Docker is required rather than the headline. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
"Citizen developer" is the established industry term for the audience the architect agent targets -- non-infra folks shipping an app with an LLM's help. Straight terminology swap across the architect agent, its command, and the README; no behavior or guidance changes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Re-lands the
/massdriver:importworkflow fromadd-import-skill, rewritten against main's MCP-first conventions, and rewrites the README for users rather than as a tool inventory.Import skill, ported to MCP-first
The original branch predates the MCP server, so the mechanics were rebuilt rather than rebased:
mass component add→add_component,mass instance version --release-channel→update_instancewithlatest+dev,mass instance deploy --plan→create_deploymentwithaction: PLAN+get_deployment_logs,mass environment default→set_environment_default. Adds aget_viewerauth check and the OCI repo/grant step thatadd_componentnow requires.~/.config/massdriver/config.yamlfor state backend credentials, which main now forbids outright.TF_HTTP_USERNAME/TF_HTTP_PASSWORDcome from already-exported env vars or from the user.TF_HTTP_*only applies when the http backend is selected, so the procedure writes a throwawaybackend_import.tfrather than assuming no backend block works.get_instance'sstatePaths[].stateUrlinstead of hand-building the/state/<id>/<step>URL.tofu importruns through Bash, so the safety hook does not guard it; the workflow now requires explicit confirmation before writing to a production instance's state. Also adds the local provider-credential steptofu importactually needs, state recovery viatofu state rm/orphan_instance, and the resource typeinstructionsfield for Path C.skills: massdriver, notoolsormodelkeys); drops v2 wording and themassdriver/-prefix rule.Version 4.2.0 → 4.3.0.
README rewrite
The README is user-facing — no agent reads it — so naming individual MCP tools throughout was noise.
approve_deploymentis hard-blocked andget_*/list_*are auto-approved explains behavior they'll actually observe.Terminology: "citizen engineer" → "citizen developer"
"Citizen developer" is the established industry term for the audience the architect agent targets. Straight swap across the architect agent, its command, and the README; no behavior or guidance changes.
🤖 Generated with Claude Code