# Complete List of Allowed Tools for Patent-Disclosure-Skill Version 4.2.0

> Discover the 25+ allowed tools for patent-disclosure-skill version 4.2.0. This comprehensive list supports document conversion, CAD processing, and more.

- Repository: [handsomestWei/patent-disclosure-skill](https://github.com/handsomestWei/patent-disclosure-skill)
- Tags: api-reference
- Published: 2026-09-06

---

**The patent-disclosure-skill version 4.2.0 provides 25+ officially supported command-line tools located in `skills/patent-disclosure/tools/` that handle document conversion, CAD processing, mathematical formula rendering, and patent classification workflows.**

The handsomestWei/patent-disclosure-skill repository (v4.2.0) bundles a comprehensive suite of standalone Python utilities designed to automate the patent disclosure workflow. These allowed tools function as the official command-line interface, covering everything from raw CAD data acquisition and structure validation to final document generation in Microsoft Word format.

## Document Generation and Conversion Tools

The skill includes a complete pipeline for converting between Markdown, Word, and PowerPoint formats. These tools ensure that invention sketches and technical disclosures can flow seamlessly between editing environments.

**[`md_to_docx.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/md_to_docx.py)** renders Markdown-based disclosure drafts into Microsoft Word (.docx) files while preserving headings, tables, and image embeds. This is the primary output generator for final patent submissions.

```bash
python -m skills.patent-disclosure.tools.md_to_docx input.md output.docx

```

**[`docx_to_md.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/docx_to_md.py)** performs the reverse operation, extracting Word disclosure drafts back into Markdown for version-control editing. **`[`pptx_to_md.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/pptx_to_md.py)`** converts PowerPoint presentation slides (commonly used for invention sketches) into Markdown sections ready for the disclosure note.

For mathematical content, **[`math_to_omml.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/math_to_omml.py)** translates LaTeX math expressions into Office Math Markup Language (OMML) so they render correctly inside generated Word documents. When OMML is not desired, **[`math_render.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/math_render.py)** renders LaTeX blocks as SVG images. The **[`latex_delimiters.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/latex_delimiters.py)** utility normalizes LaTeX delimiters (`$…$`, `\(...\)`, `\[...\]`) before feeding them to other math-related tools.

## CAD Processing and Structure Visualization Tools

Version 4.2.0 includes specialized utilities for handling patent drawings extracted from CAD files. These tools ensure that line-art meets formal patent office requirements.

**[`structure_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_gate.py)** filters and validates line-art drawings extracted from CAD files, ensuring they meet the formal requirements for "structure" sections. **[`structure_lineart_compose.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_compose.py)** merges multiple line-art assets into a single composite figure, handling layout, scaling, and labeling. For annotations, **[`structure_callout_overlay.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_callout_overlay.py)** generates call-out overlays (numbered boxes and arrows) on structure drawings, easing the reference between description and illustration.

**[`design_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/design_lineart_gate.py)** performs similar validation specifically for design patents, checking ornamental drawings against patent-office format rules.

The CAD infrastructure tools include **[`cad_scan.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/cad_scan.py)**, which scans directories of CAD files building a manifest of available components, and **[`cad_formats.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/cad_formats.py)**, which maps supported file extensions (STEP, IGES, STL) to their respective import pipelines. To manage dependencies, **[`cad_venv.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/cad_venv.py)** and **[`bootstrap_cad_venv.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/bootstrap_cad_venv.py)** create isolated Python virtual environments containing heavy CAD-processing dependencies like OpenCascade.

## Patent Classification and Data Acquisition Tools

**[`patent_type.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/patent_type.py)** determines the patent type (invention, utility model, or design) from a publication number or metadata—a prerequisite for downstream templating. This logic is implemented in [`skills/patent-disclosure/tools/patent_type.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/skills/patent-disclosure/tools/patent_type.py) and serves as the entry point for automated patent categorization.

**[`browser.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/browser.py)** provides a minimal headless-browser wrapper (based on Selenium) used to fetch remote patent PDFs or supplementary material. For diagram capture, **[`svg_screenshot.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/svg_screenshot.py)** captures SVG diagrams as PNG/JPEG screenshots, useful for embedding visualized claim trees or flowcharts in the final disclosure.

The workflow orchestration tools include **[`step_to_views.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/step_to_views.py)**, which orchestrates the step-wise generation of "views" (e.g., CAD extracts, annotated figures) for a given patent application, and **[`run_step_to_views.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/run_step_to_views.py)**, a wrapper script that runs the entire step-to-views pipeline in one call while handling intermediate artifacts automatically.

## Formula and Chemical Notation Processing

For patents containing chemical or mathematical formulas, version 4.2.0 provides a specialized processing chain.

**[`formula_chem.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/formula_chem.py)** parses chemical notation (SMILES, InChI) feeding into the CAD-generation workflow. **[`formula_units.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/formula_units.py)** parses chemical/physical units within formulas, normalizing them for downstream rendering. The **[`formula_paradigms.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/formula_paradigms.py)** tool provides a catalogue of common formula patterns (e.g., reaction equations) to aid automatic detection.

For safety and validation, **[`formula_eval.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/formula_eval.py)** safely evaluates arithmetic parts of formulas (such as calculating stoichiometric coefficients) without executing arbitrary code. **[`check_formula_plan.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/check_formula_plan.py)** verifies that planned formula extraction steps are feasible given the current input assets.

## Workflow and Infrastructure Utilities

Supporting the main pipeline are several critical infrastructure tools. **[`stdio_utf8.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/stdio_utf8.py)** ensures that all standard I/O streams use UTF-8 encoding—required for correct handling of Chinese characters and special symbols—and is imported automatically by most tools.

**[`iteration_dialog_log.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/iteration_dialog_log.py)** generates a log of the interactive dialogue between the user and the skill, useful for auditing and reproducibility. **[`image_gen.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/image_gen.py)** serves as a general-purpose image generation helper (e.g., QR codes, placeholders) used by several other tools. For documentation purposes, **[`gen_demo_snap_step.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/gen_demo_snap_step.py)** produces a demonstrative "snapshot" of a single pipeline step.

Dependencies are managed through **[`requirements-step.txt`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/requirements-step.txt)**, which lists the Python packages that must be installed before any step-wise tool can run:

```bash
pip install -r skills/patent-disclosure/tools/requirements-step.txt

```

## Summary

- The patent-disclosure-skill v4.2.0 officially supports 25+ command-line tools located in `skills/patent-disclosure/tools/`.
- Document conversion is handled by [`md_to_docx.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/md_to_docx.py), [`docx_to_md.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/docx_to_md.py), and [`pptx_to_md.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/pptx_to_md.py), with mathematical support via [`math_to_omml.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/math_to_omml.py) and [`math_render.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/math_render.py).
- CAD and structure visualization tools include [`structure_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_gate.py), [`structure_lineart_compose.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_compose.py), and [`cad_scan.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/cad_scan.py) for processing patent drawings.
- Patent classification relies on [`patent_type.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/patent_type.py), while [`browser.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/browser.py) enables remote PDF acquisition.
- Chemical and mathematical formulas are processed by [`formula_chem.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/formula_chem.py), [`formula_eval.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/formula_eval.py), and related utilities.
- All tools are documented in the repository's [`SKILL.md`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/SKILL.md) and individual [`README.md`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/README.md) files, with dependencies specified in [`requirements-step.txt`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/requirements-step.txt).

## Frequently Asked Questions

### How do I invoke the allowed tools in patent-disclosure-skill v4.2.0?

Each tool is a standalone Python script invoked via the module execution syntax. For example, use `python -m skills.patent-disclosure.tools.patent_type` to determine patent classification, or `python -m skills.patent-disclosure.tools.md_to_docx` to convert Markdown to Word format. The full command structure for each tool is documented in [`skills/patent-disclosure/tools/README.md`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/skills/patent-disclosure/tools/README.md).

### Which tool converts Markdown patent disclosures to Microsoft Word format?

**[`md_to_docx.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/md_to_docx.py)** performs this conversion while preserving document structure. Located in [`skills/patent-disclosure/tools/md_to_docx.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/skills/patent-disclosure/tools/md_to_docx.py), it renders the Markdown-based disclosure draft into a .docx file, maintaining headings, tables, and embedded images. The reverse operation uses **[`docx_to_md.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/docx_to_md.py)** to extract Word documents back into Markdown for version control.

### Are there tools for handling CAD files in patent disclosures?

Yes. **[`cad_scan.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/cad_scan.py)** builds manifests of CAD components, while **[`structure_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/structure_lineart_gate.py)** validates line-art drawings against formal requirements. For design patents specifically, **[`design_lineart_gate.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/design_lineart_gate.py)** checks ornamental drawings against patent-office rules. These tools support STEP, IGES, and STL formats as mapped by [`cad_formats.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/cad_formats.py).

### How does the skill handle mathematical formulas in generated documents?

The skill provides dual pathways: **[`math_to_omml.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/math_to_omml.py)** converts LaTeX expressions to Office Math Markup Language for native Word rendering, while **[`math_render.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/math_render.py)** generates SVG image fallbacks. The **[`latex_delimiters.py`](https://github.com/handsomestWei/patent-disclosure-skill/blob/main/latex_delimiters.py)** utility standardizes LaTeX syntax before processing, ensuring consistent handling of mathematical content across different document stages.