Agent skill
xlsx-to-python-recommended-stack
Sub-skill of xlsx-to-python: Recommended Stack (+2).
Install this agent skill to your Project
npx add-skill https://github.com/vamseeachanta/workspace-hub/tree/main/.claude/skills/_archive/data/office/xlsx-to-python/recommended-stack
SKILL.md
Recommended Stack (+2)
Recommended Stack
| Library | Purpose | Install | Status |
|---|---|---|---|
| openpyxl | Cell values + formula strings + named ranges | uv add openpyxl |
Active, stable |
| formulas | Formula parsing, AST, dependency graph, evaluation | uv add formulas |
Active (v1.3.3) |
| networkx | Dependency graph analysis (topological sort) | uv add networkx |
Active, stable |
| oletools | VBA macro source code extraction from .xlsm/.xls | uv add oletools |
Active, stable |
Alternative Libraries (evaluated, not primary)
| Library | What It Does | Why Not Primary | When to Use |
|---|---|---|---|
| pycel | Compiles Excel to executable Python + graph viz | Broader scope than needed; heavier dependency | When you need full workbook simulation |
| xlcalculator | Converts Excel formulas to Python + evaluates | Inactive (no releases in 12+ months); modernized koala2 | Reference for formula-to-Python translation patterns |
| graphedexcel | Cell dependency graph visualization (networkx + matplotlib) | Viz-only; no formula parsing | Quick visual audit of spreadsheet complexity |
| excel-dependency-graph | Directed graph of formula dependencies | Lightweight but limited features | Simple dependency mapping without evaluation |
| formula-dependency-excel | Cell dependency extraction | Minimal; proof-of-concept level | Quick prototyping |
Key Insight from formulas Library
The formulas library can compile an entire Excel workbook into a Python
DispatchPipe — a callable function with defined inputs and outputs. This is
the most mature approach for complex workbooks:
import formulas
# Load and compile the workbook
xl_model = formulas.ExcelModel().loads("calculation.xlsx").finish()
# Get the dependency-ordered calculation dispatcher
solution = xl_model.calculate()
# Access any cell's computed value
value = solution.get("'Sheet1'!B10")
# Compile a reusable function with fixed I/O
func = xl_model.compile(
inputs=["'Inputs'!B2:B10"],
outputs=["'Results'!C5:C8"]
)
result = func({"'Inputs'!B2:B10": input_array})
When to use formulas vs raw openpyxl:
| Scenario | Use |
|---|---|
| Simple formulas (arithmetic, basic functions) | openpyxl + custom parser |
| Complex formulas (VLOOKUP, INDEX/MATCH, nested IF) | formulas library |
| Need dependency graph visualization | formulas + plot extra, or graphedexcel |
| Need to evaluate formulas without Excel | formulas or pycel |
| Need only formula strings + cell refs | openpyxl alone |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
gsd-complete-milestone
Archive completed milestone and prepare for next version
gsd-reapply-patches
Reapply local modifications after a GSD update
gsd-verify-work
Validate built features through conversational UAT
gsd-thread
Manage persistent context threads for cross-session work
clinical-trial-protocol
Generate clinical trial protocols for medical devices or drugs through a modular, waypoint-based architecture with research-only and full protocol modes.
single-cell-rna-qc
Performs quality control on single-cell RNA-seq data (.h5ad or .h5 files) using scverse best practices with MAD-based filtering and comprehensive visualizations.
Didn't find tool you were looking for?