--- name: edit-docx-agreement description: >- Make bespoke edits to a DOCX agreement generated by OpenAgreements (or any existing DOCX), using Safe Docx MCP tools for surgical, formatting-preserving edits and tracked-changes outputs. license: MIT compatibility: >- Works with any agent. Requires a separately configured Safe Docx MCP server for document editing. OpenAgreements fill capabilities require the OpenAgreements remote MCP or local CLI. metadata: author: open-agreements version: "0.2.0" --- # edit-docx-agreement Use this skill when a user asks for **custom edits that are not exposed as template fields** in an OpenAgreements-generated (or any existing) DOCX agreement. > **Interactivity note**: Always ask the user for missing inputs (file path, change intent, output preferences). ## Security model This skill bridges two separate systems: - **OpenAgreements** (remote MCP or local CLI) — for template filling. Follows the OpenAgreements zero-download security model. - **Safe Docx** (local MCP server) — for surgical DOCX editing. Requires separate setup. This is **not** part of the OpenAgreements skill set and has its own trust/security model. The agent must have Safe Docx MCP tools available to perform edits. If Safe Docx tools are not detected, inform the user and provide setup guidance (see Connectors). ## Decision rule: refill vs edit vs both 1. **Field-only changes** (e.g., party name, date, amount, valuation cap): Re-run OpenAgreements `fill_template` with the updated field values. No Safe Docx needed. 2. **Boilerplate-only changes** (e.g., custom clause, modified standard language): Use Safe Docx MCP tools to surgically edit the existing DOCX. 3. **Mixed changes** (field updates + bespoke edits): Re-fill via OpenAgreements first (to get a clean base with updated fields), save the output locally, then use Safe Docx to apply bespoke edits on the fresh file. ## Execution ### Step 0: Confirm you have a local .docx file path - If OpenAgreements was run via remote MCP, the fill response returns a download URL (with `expires_at`). Save the DOCX to a local path immediately. - If the download link has expired, re-run `fill_template` to get a fresh URL. - If OpenAgreements was run via local CLI, use the output file path directly. ### Step 1: Verify Safe Docx MCP is available Check whether Safe Docx tools (e.g., `read_file`, `replace_text`, `apply_plan`) are available in the current session. - **If available**: proceed to Step 2. - **If not available**: inform the user that Safe Docx MCP is required for bespoke edits and provide setup instructions from the Connectors file. Stop here until the user configures it. ### Step 2: Apply the decision rule Follow the routing logic above (field-only / boilerplate-only / mixed). For Safe Docx edits: - Use `read_file` to locate target paragraphs - Use `replace_text` or `insert_paragraph` for surgical changes - Use `apply_plan` for batch edits (fails safely if any step is invalid) - Re-read edited paragraphs to verify changes ### Step 3: Deliver reviewable outputs Use Safe Docx `download` to save: - A **tracked-changes** DOCX for legal review - A **clean** DOCX for signing (optional but recommended) Summarize edits for the user (paragraph IDs, before/after text). ## Licensing note Some templates (notably YC SAFEs) are licensed under CC-BY-ND-4.0. You can fill them for your own use but must not redistribute modified versions of the template itself. The filled output may constitute an "adapted work" — do not redistribute your filled output publicly without reviewing the license terms. See `docs/licensing.md` for details. This tool does not provide legal advice — consult an attorney.