--- name: revit-mcp-write-safely description: Make controlled changes to a Revit model through an MCP server with write tools (Autodesk's Revit MCP Server Write-Tools or Experimental-Tools tech preview for Revit 2027.2+, or a community server) - backup, read-only dry run, change list approved by the user, small batches, verification and a change log. Use when the user asks the agent to change, create, rename, retype, recolour or delete anything in Revit ("cambia todas las ventanas", "renombra las vistas", "colorea los cuartos"), or before enabling write tools. --- # Revit changes through MCP, safely Since the Revit 2027.2 update (29 Sep 2026) Autodesk ships its Revit MCP Server as three tech-preview installers: Read-Tools, Write-Tools and Experimental-Tools. Autodesk's own advice: back up project files before using write tools. Community servers have offered write tools longer, with less control. This skill is the protocol. ## Preconditions (stop if any is missing) 1. Which server and version is connected: list its tools and say which ones write. If none write, use `revit-model-audit` instead. 2. The model is a **copy** or the user confirms a backup exists (local file saved with a new name, or for workshared models a detached test copy first). Ask; don't assume. 3. The user can undo in Revit and knows that one MCP call may be one or many transactions. ## Procedure 1. **Understand the request** in one sentence and list the element categories and parameters involved. 2. **Dry run (read only):** query the exact set that would change (ids, names, current values). Show a table with the count. If the count is 0 or surprising (e.g. 3 windows in a 10-storey building), stop and explain. 3. **Change list:** for each element: id, current value -> new value. For more than 50 elements show the first 20 and the total. Ask: "Apply these N changes?" Wait for a clear yes. 4. **Apply in small batches** (10-50 elements). After each batch, read back the values and compare. Stop at the first mismatch or error and report it. 5. **Verify** with a final read query and, if useful, an exported view or schedule (CSV/PNG) as evidence. 6. **Change log:** date, model name, request, tool calls used, elements changed (ids), before/after values, who approved. Offer to save it as a CSV next to the model. ## Typical safe requests - Swap a family type on selected instances; rename views or sheets with a pattern; set parameter values from a table the user provided; graphic overrides per element for a review view. ## Never - Never delete elements, purge, or modify worksharing/central files without an explicit, separate confirmation for that action. - Never apply a change list the user has not seen. - Never use write tools to "fix" a number so a schedule or a check passes. - Never claim an undo is possible for something already synchronised to central.