From documents
Creates, edits, analyzes Excel spreadsheets (.xlsx, .xlsm, .csv, .tsv) with formulas, formatting, pandas data ops, and visualization. Ensures zero errors, preserves dynamics.
npx claudepluginhub henkisdabro/wookstar-claude-plugins --plugin documentsThis skill uses the workspace's default tool permissions.
- Every Excel model MUST be delivered with ZERO formula errors (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)
Creates, edits, analyzes XLSX spreadsheets (.xlsm, .csv, .tsv) with formulas, formatting, data visualization, and recalculation while preserving structure.
Creates, edits, analyzes spreadsheets (.xlsx, .xlsm, .csv, .tsv) with formulas, formatting, data analysis, visualization. Applies financial model standards for colors, numbers, error-free formulas.
Processes Excel spreadsheets (.xlsx, .xlsm, CSV, TSV): create, edit, analyze data, formulas (error-free), charts, pivot tables, formatting, validation.
Share bugs, ideas, or general feedback.
For financial models, DCFs, and valuations - read references/financial-model-standards.md for colour coding, number formatting, formula construction rules, and documentation requirements.
A user may ask you to create, edit, or analyse the contents of an .xlsx file. You have different tools and workflows available for different tasks.
LibreOffice Required for Formula Recalculation: You can assume LibreOffice is installed for recalculating formula values using the recalc.py script. The script automatically configures LibreOffice on first run.
For data analysis, visualisation, and basic operations, use pandas which provides powerful data manipulation capabilities:
import pandas as pd
# Read Excel
df = pd.read_excel('file.xlsx') # Default: first sheet
all_sheets = pd.read_excel('file.xlsx', sheet_name=None) # All sheets as dict
# Analyse
df.head() # Preview data
df.info() # Column info
df.describe() # Statistics
# Write Excel
df.to_excel('output.xlsx', index=False)
Always use Excel formulas instead of calculating values in Python and hardcoding them. This ensures the spreadsheet remains dynamic and updateable.
# Bad: Calculating in Python and hardcoding result
total = df['Sales'].sum()
sheet['B10'] = total # Hardcodes 5000
# Bad: Computing growth rate in Python
growth = (df.iloc[-1]['Revenue'] - df.iloc[0]['Revenue']) / df.iloc[0]['Revenue']
sheet['C5'] = growth # Hardcodes 0.15
# Bad: Python calculation for average
avg = sum(values) / len(values)
sheet['D20'] = avg # Hardcodes 42.5
# Good: Let Excel calculate the sum
sheet['B10'] = '=SUM(B2:B9)'
# Good: Growth rate as Excel formula
sheet['C5'] = '=(C4-C2)/C2'
# Good: Average using Excel function
sheet['D20'] = '=AVERAGE(D2:D19)'
This applies to ALL calculations - totals, percentages, ratios, differences, etc. The spreadsheet should be able to recalculate when source data changes.
python recalc.py output.xlsx
status is errors_found, check error_summary for specific error types and locations#REF!: Invalid cell references#DIV/0!: Division by zero#VALUE!: Wrong data type in formula#NAME?: Unrecognised formula nameFor detailed code examples (creating/editing files), read references/openpyxl-patterns.md.
Excel files created or modified by openpyxl contain formulas as strings but not calculated values. Use the provided recalc.py script to recalculate:
python recalc.py <excel_file> [timeout_seconds]
Example:
python recalc.py output.xlsx 30
The script:
For the formula verification checklist and recalc.py output interpretation, read references/formula-verification.md.
IMPORTANT: When generating Python code for Excel operations:
For Excel files themselves:
references/financial-model-standards.md - Colour coding, number formatting, formula construction rules, documentation requirements for financial modelsreferences/openpyxl-patterns.md - Code examples for creating/editing files, library selection guide, openpyxl and pandas tipsreferences/formula-verification.md - Verification checklist, common pitfalls, recalc.py output interpretation