Edit, query, and transform Word documents with the SuperDoc CLI v1 operation surface. Use when the user asks to read, search, modify, comment, or review changes in .docx files.
npx skills add https://github.com/lawve-ai/awesome-legal-skills --skill docx-processing-superdoc
Use SuperDoc CLI for DOCX work. Use v1 commands (canonical operations and their helper wrappers).
Do not default to legacy commands unless explicitly needed for v0-style bulk workflows.
Use superdoc if installed, or npx @superdoc-dev/cli@latest as a fallback.
For unknown commands or flags, inspect runtime metadata first:
superdoc describe
superdoc describe command find
superdoc describe command "comments add"
Use describe command for per-command args and constraints.
superdoc open ./contract.docx
superdoc query match --select-json '{"type":"text","pattern":"termination"}' --require exactlyOne
superdoc replace --target-json '{"kind":"text","blockId":"p1","range":{"start":0,"end":11}}' --text "expiration"
superdoc save --in-place
superdoc close
query match (not find) to discover mutation targets — it returns exact addresses with cardinality guarantees.open, commands run against the active/default session when <doc> is omitted.superdoc session list|set-default|save|close for explicit session control.close on dirty state requires --discard or a prior save.superdoc get-text ./proposal.docx
superdoc get-markdown ./proposal.docx
superdoc info ./proposal.docx
superdoc replace ./proposal.docx \
--target-json '{"kind":"text","blockId":"p1","range":{"start":0,"end":5}}' \
--text "Updated" \
--out ./proposal.updated.docx
<doc> provided), mutating commands require --out unless using --dry-run.--dry-run to preview any mutation without applying it.--expected-revision <n> with stateful mutations for optimistic concurrency checks.find --type text --pattern "..." or find --query-json '{...}'query match --select-json '{...}' --require exactlyOneblocks list, get-node, get-node-by-idget-text, get-markdown, get-htmlreplace --target-json '{...}' --text "..."insert --block-id <id> --offset <n> --value "..."delete --target-json '{...}'blocks delete, blocks delete-rangemutations apply --steps-json '[...]' --atomic true --change-mode directcreate paragraph --text "..." (with optional --at-json)create heading --input-json '{"level":<n>,"text":"..."}'format apply --block-id <id> --start <n> --end <n> --inline-json '{"bold":true}'format bold, format italic, format underline, format strikethroughlists list, lists getlists insert --node-id <id> --position after --text "..."lists indent, lists outdent, lists set-level, lists set-type, lists convert-to-textcomments add, comments replycomments get, comments listcomments edit, comments resolve, comments move, comments set-internalcomments delete (canonical) or comments remove (alias)track-changes list, track-changes gettrack-changes accept, track-changes reject, track-changes accept-all, track-changes reject-allhistory get, history undo, history redocall <operationId> --input-json '{...}' (JSON output only — --pretty is not supported)Not all --*-file variants are available on every command. Use describe command <name> to check.
Always supported alongside their -json counterpart (use one, not both):
| Flag pair | Available on |
|-----------|-------------|
| --query-json / --query-file | find, lists list |
| --address-json / --address-file | get-node, lists get |
| --input-json / --input-file | call, create paragraph |
| --at-json / --at-file | create paragraph |
--target-json is widely available on mutation commands but has no --target-file counterpart. Use flat flags (--block-id, --start, --end) as an alternative to --target-json.
--pretty for human-readable output (not supported by call).--output <json|pretty>, --session <id>, --timeout-ms <n>.<doc> can be - to read DOCX bytes from stdin.Legacy v0.x bridge commands still exist:
superdoc search <pattern> <files...>
superdoc replace-legacy <find> <to> <files...>
superdoc read <file>
Use these only when you specifically need v0-style behavior (especially multi-file glob search/replace).
For new automations, prefer v1 operations.
Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
Take lawve-ai/docx-processing-superdoc from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.