Use for creating, editing, extracting, converting, and reviewing Word documents.
kortix marketplace install kortix-starter:docxskills/design-foundations/SKILL.md for color palette, typeface selection, and layout principles (single accent color with neutral tones, no decorative graphics, WCAG-compliant contrast). Use widely available sans-serif typefaces like Arial or Calibri as your baseline.| Objective | Technique | Reference |
|---|---|---|
| Create a document from scratch | docx npm module (JavaScript) | See CREATION.md |
| Edit an existing file | Unpack to XML, modify, repack | See EDITING.md |
| Pull out text | anydoc document.docx -o output.md | For redline content use pandoc document.docx -o output.md --track-changes=all |
| Handle legacy .doc format | soffice --headless --convert-to docx file.doc | Convert before any XML work |
| Rebuild from a PDF | Run pdf2docx, then patch issues | See below |
| Export pages as images | soffice to PDF, then pdftoppm | See below |
| Flatten tracked changes | python3 skills/docx/scripts/accept_changes.py in.docx out.docx | Requires LibreOffice |
anydoc, pandoc, soffice, and pdftoppm are installed in the sandbox. Python packages such as lxml, python-docx, and pdf2docx are pre-installed — run scripts with python3. Use uv run --with <package> only for a package that is not pre-installed.# to a Heading style, **bold** to a bold run, *italic* to an italic run, and > to a block-quote style. Never leave raw #, **, >, or - characters in the document body — literal markdown is the clearest tell that a file was generated. Apply named paragraph styles (Heading 1, Normal) rather than hand-setting fonts, so the document's theme and any brand template stay intact.REF, PAGEREF, TOC, DATE, DOCPROPERTY, NUMPAGES, LINK) must stay as fields. Re-typing "Section 2.1" or a linked figure as flat text severs every downstream reference. Don't renumber legal clauses (1.1, (a), (i)) without instruction — referenced numbering will desync.$1.2bn vs $1.2B vs $1.2MM), comma separators, decimal precision per column, and negatives in parentheses for finance (($1,234), not -$1,234). In legal text, follow the spelled-out-then-numeral convention already in use (Thirty (30) days)."the Agreement" and "the agreement" mean different things. Scan the definitions section and inline ("Defined Term") / "Defined Term" means … patterns, then preserve their exact capitalization, pluralization, quote style (curly vs straight), and emphasis (bold/underline) in any new text you generate.PRIVILEGED & CONFIDENTIAL, ATTORNEY WORK PRODUCT) in the page header, and never add new ones unless asked. Leave deliberate blanks and notes ([•], [TBD], [NTD: …], [XX]) untouched — on a "finalize" request, flag what's still missing rather than guessing a value.pdf2docx to get a baseline .docx, then correct any artifacts. Never skip the automated conversion and attempt to rebuild manually.
pdf2docx is pre-installed — run the conversion code with python3.from pdf2docx import Converter
parser = Converter("source.pdf")
parser.convert("converted.docx")
parser.close()
soffice --headless --convert-to pdf document.docx
pdftoppm -jpeg -r 150 document.pdf page
ls page-*.jpg # always ls to discover actual filenames — zero-padding varies by page count
The role-to-grant policy, extra-scrutiny cases, the approval handshake, and how an applied grant gets logged.
Get a complete picture of any company or person before outreach. This skill always works with web search, and gets significantly better with enrichment and CRM data.
Daily runbook for budget pacing, CPA/ROAS drift, underperformer detection, and anomaly flags across Google Ads and Meta Ads, plus how to rank and word optimization recommendations.
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
Extract-and-match runbook for incoming vendor invoices: line-item extraction, PO/prior-invoice matching, duplicate + overcharge detection, and the ledger + approval hand-off.
Search, dedupe against the seen-mentions ledger, classify sentiment and notability, and post a digest with suggested response drafts — the daily brand-monitor runbook.