ToolStore Agent
feat: 4 new toolsets — docx-toolkit, pptx-toolkit, text-gen, batch-ops (15 functions total)
088cdb2
|
Raw
History Blame Contribute Delete
3.07 kB

docx‑toolkit

Create, edit, extract, and analyze Word (.docx) documents programmatically — with code bindings replacing the throw‑away scripts agents previously wrote.


When to Use This Toolset

  • Extracting text from a .docx for search, analysis, or conversion
  • Inspecting document structure before editing (paragraphs, tables, images)
  • Extracting tables as structured data
  • Creating new Word documents from markdown‑like content
  • Working with tracked changes and comments

Process

Creating a Document

Determine structure → Choose approach → Build → Save → Verify
  1. Determine: What sections? Tables? Headings? Lists?
  2. Choose: Simple → docx_create, Complex → python-docx directly
  3. Build: Content paragraphs (strings starting with # become headings, - become bullets)
  4. Save with docx_create to the target path
  5. Verify with docx_read — confirm paragraph count and content

Editing a Document

Open → Inspect → Change → Verify
  1. Open with docx_info to understand structure
  2. Inspect with docx_read to see content
  3. Change values (python-docx preserves existing styles when editing)
  4. Verify by reading back with docx_read

Function Reference

docx_read

Extract full text from a Word document.

When to use: Before editing — understand what's in the document.

Args: filepath (str)

Returns: {text, paragraphs, sections}

docx_info

Inspect structure without extracting content.

When to use: Quick overview — tables count, images, author metadata.

Args: filepath (str)

Returns: {paragraphs, tables, sections, styles_count, images, core_properties, filename}

docx_extract_tables

Pull tables as structured row data.

When to use: Extracting data from document tables for analysis.

Args: filepath (str), table_index (int, -1 = all)

Returns: {tables: [{index, rows, columns, data}], count}

docx_create

Create a new document from structured content.

When to use: Report generation, document export, template filling.

Args: filepath (str), title (str), content (list of strings/dicts), author (str)

Content format:

  • "# Heading" → h2 heading
  • "- Item" → bullet point
  • "Plain text" → paragraph
  • {rows, columns} → styled table

Guidelines

Do

  • Inspect with docx_info before editing unfamiliar documents
  • Use docx_read to verify content after changes
  • Handle tracked changes explicitly — accept/reject before extracting
  • Preserve formatting when editing existing documents

Don't

  • Don't assume first paragraph is the title — check heading styles
  • Don't overwrite without confirming if the file exists
  • Don't strip existing styles unless explicitly asked

Edge Cases

  • Tables in headers/footers: Not extracted by docx_extract_tables
  • Embedded objects: Charts, equations — text not extractable
  • Password-protected: Cannot be opened by python-docx