xlsx_mastery
Comprehensive guide to designing, creating, calculating, formatting, and charting professional Excel spreadsheets (.xlsx) in Python using openpyxl.
Skill by ParisNeo
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/parisneo-xlsx-mastery
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: spreadsheets
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/xlsx-mastery
What's inside
- Skill name
xlsx_mastery- Description
- Comprehensive guide to designing, creating, calculating, formatting, and charting professional Excel spreadsheets (.xlsx) in Python using openpyxl.
- License
- Apache-2.0
- Instructions
- 239 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# Professional Spreadsheet & Financial Model Engineering with Python
This skill teaches how to build clean, formula-driven, auditable Excel workbooks (`.xlsx`) using `openpyxl`, with corporate design standards, dynamic formulas, conditional formatting, and charts.
---
## 🎨 Part 1: High-Level Spreadsheet Design & Financial Standards
A production spreadsheet is a software artifact. It must be clean, readable, self-documenting, and free of hardcoded formula inputs.
### 1. Financial Color-Coding Conventions (FAST Standard)
* **Blue text on Soft Gray / White background** (`#0000FF` on `#F2F4F8`): **User Input / Hardcoded Assumptions**.
* **Black text on White** (`#000000`): **Formulas & Calculations**.
* **Green text** (`#008000`): **External Workbook / Database Link**.
* **Dark Header Fills** (Navy `#1F4E79`, Charcoal `#262626`): **Table headers with White Bold Text**.
* **Total / Summary Rows**: Double bottom border (`accounting underline`) and top thin border.
### 2. Number Formatting Matrix
Never leave raw unformatted numbers. Always assign explicit number formats:
- **Currency**: `"$#,##0"` (Standard) or `"$#,##0.00"` (Cents required)
- **Accounting (Zero as Dash)**: `_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)`
- **Percentage**: `"0.0%"` or `"0.00%"`
- **Integer Quantities**: `"#,##0"`
- **Dates**: `"YYYY-MM-DD"` or `"DD-MMM-YYYY"`
### 3. Layout Architecture
- **Tab 1: `Summary / Dashboard`**: High-level KPI summary cards, KPI trends, dynamic executive charts.
- **Tab 2: `Assumptions`**: Input variables (growth rates, cost factors, tax percentages) with named ranges.
- **Tab 3: `Model / Calculations`**: Formulaic time-series projection (Monthly / Quarterly / Annual).
- **Freeze Panes**: Always freeze top header rows and left identification columns so data stays anchored on scroll.
- **Gridlines**: Always ensure `ws.views.sheetView[0].showGridLines = True` is set explicitly.
---
## 💻 Part 2: Building Professional Workbooks with openpyxl
### Required Dependency
```bash
pip install openpyxl
```
### Complete Dashboard & Financial Model Template
```python
import openpyxl
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.utils import get_column_letter
from openpyxl.chart import BarChart, Reference, Series
def create_financial_model(output_path: str = "financial_model.xlsx"):
wb = openpyxl.Workbook()
# ── 1. Tab 1: Executive Summary & Dashboard ──
ws = wb.active
ws.title = "Financial Summary"
ws.views.sheetView[0].showGridLines = True
# Palette Constants
NAVY_FILL = PatternFill(start_color="1F4E79", end_color="1F4E79", fill_type="solid")
ACCENT_FILL = PatternFill(start_color="D9E1F2", end_color="D9E1F2", fill_type="solid")
ZEBRA_FILL = PatternFill(start_color="F9FAFB", end_color="F9FAFB", fill_type="solid")
WHITE_BOLD = Font(name="Calibri", size=11, bold=True, color="FFFFFF")
TITLE_FONT = Font(name="Calibri", size=16, bold=True, color="1F4E79")
SECTION_FONT = Font(name="Calibri", size=12, bold=True, color="1F4E79")
BOLD_FONT = Font(name="Calibri", size=10.5, bold=True)
REGULAR_FONT = Font(name="Calibri", size=10.5)
THIN_BORDER_SIDE = Side(style='thin', color='D3D3D3')
THIN_BORDER = Border(left=THIN_BORDER_SIDE, right=THIN_BORDER_SIDE, top=THIN_BORDER_SIDE, bottom=THIN_BORDER_SIDE)
DOUBLE_BOTTOM = Border(top=Side(style='thin', color='000000'), bottom=Side(style='double', color='000000'))
# Title Block
ws["B2"] = "Quarterly Revenue & Margin Projections"
ws["B2"].font = TITLE_FONT
ws["B3"] = "Forecast Model — Fiscal Year 2026"
ws["B3"].font = Font(name="Calibri", size=11, italic=True, color="595959")
# KPI Card 1: Total Revenue
ws["B5"] = "Projected FY26 Revenue"
ws["B5"].font = Font(size=9, color="595959")
ws["B6"] = "=SUM(C11:F11)"
ws["B6"].font = Font(size=16, bold=True, color="1F4E79")
ws["B6"].number_format = "$#,##0"
ws["B5"].fill = ACCENT_FILL
ws["B6"].fill = ACCENT_FILL
# KPI Card 2: Net Margin Average
ws["D5"] = "Average Net Margin"
ws["D5"].font = Font(size=9, color="595959")
ws["D6"] = "=AVERAGE(C14:F14)"
ws["D6"].font = Font(size=16, bold=True, color="1F4E79")
ws["D6"].number_format = "0.0%"
ws["D5"].fill = ACCENT_FILL
ws["D6"].fill = ACCENT_FILL
# Data Table Headers
headers = ["Financial Metric", "Q1 2026", "Q2 2026", "Q3 2026", "Q4 2026", "FY2026 Total"]
start_row = 10
for col_idx, h in enumerate(headers, start=2):
cell = ws.cell(row=start_row, column=col_idx, value=h)
cell.font = WHITE_BOLD
cell.fill = NAVY_FILL
cell.alignment = Alignment(horizontal="left" if col_idx == 2 else "right", vertical="center")
# Financial Rows Setup
row_specs = [
("Revenue", [1200000, 1350000, 1500000, 1800000], "$#,##0", False),
("Cost of Goods Sold (COGS)", [480000, 520000, 580000, 690000], "$#,##0", False),
("Gross Profit", ["=C11-C12", "=D11-D12", "=E11-E12", "=F11-F12"], "$#,##0", True),
("Gross Margin %", ["=C13/C11", "=D13/D11", "=E13/E11", "=F13/F11"], "0.0%", False),
("Operating Expenses (OPEX)", [320000, 340000, 370000, 410000], "$#,##0", False),
("Operating Income (EBIT)", ["=C13-C15", "=D13-D15", "=E13-E15", "=F13-F15"], "$#,##0", True),
("Net Income", ["=C16*0.75", "=D16*0.75", "=E16*0.75", "=F16*0.75"], "$#,##0", True),
]
for idx, (label, values, num_fmt, is_total) in enumerate(row_specs, start=11):
# LabelFrom ParisNeo/lollms_client, Apache-2.0.
More from ParisNeo/lollms_client
- 0.629score
lcp_tool_building
ParisNeo
Practical how-to for authoring LCP tools: tool function anatomy, docstring-driven schemas, requesting execution privileges via the confirm handler, and…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
file_organization
ParisNeo
Four-phase autonomous methodology for scanning directories, building classes.md and mapping.yaml, inspecting ambiguous files with sub-agents, requesting user…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
lcp_tool_creation
ParisNeo
Step-by-step guide to writing LCP tools: schema-driven docstrings, return contracts, requesting privileges via the confirmation handler, and asking the user…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
file_organization
ParisNeo
Four-phase autonomous methodology for scanning directories, building classes.md and mapping.yaml, inspecting ambiguous files, requesting user confirmation…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
handbag_agent_architecture
ParisNeo
Definitive architectural doctrine for building sovereign agent Handbags, crafting SOUL.md personalities, injecting app-level tools and skills, and inspecting…
SkillAFreshness: A★ 13Claude Code +9 - 0.625score
Lollms Artifacts and Surgical Patching
ParisNeo
Teaches the model how to formulate strategic <coding_plan> blocks, apply indentation-agnostic Aider search/replace patches, manage Git-like version logs, and…
SkillAFreshness: A★ 13Claude Code +9 - 0.624score
document_analysis_and_extraction
ParisNeo
In-depth workflow for extracting text, tables, schemas, and applying corrections or comments to PDF, Word, Excel, and PowerPoint documents.
SkillAFreshness: A★ 13Claude Code +9 - 0.624score
bibliography_and_research
ParisNeo
Methodology for searching academic papers, extracting citations, structuring bibliographies, and synthesizing research findings.
SkillAFreshness: A★ 13Claude Code +9 - 0.624score
fullstack_development
ParisNeo
Architecture, conventions, and implementation workflows for full-stack systems, backend APIs, modern frontends, and database migrations.
SkillAFreshness: A★ 13Claude Code +9 - 0.621score
desktop_automation
ParisNeo
Vision-driven desktop automation loop for inspecting screens, locating UI elements, typing, and clicking.
SkillAFreshness: A★ 13Claude Code +9 - 0.621score
git_workflow_mastery
ParisNeo
Safe, professional Git workflow guidelines, branch isolation, and uncommitted change protection.
SkillAFreshness: A★ 13Claude Code +9 - 0.621score
deep_websearch_and_extraction
ParisNeo
Protocol for multi-source web searches, page content scraping, evidence corroboration, and factual synthesis.
SkillAFreshness: A★ 13Claude Code +9
Signals
- Stars
- 13
- Forks
- 5
- Open issues
- 0
- Last commit (this folder)
- Sep 20, 2026 (1 month ago)
- Last release
- Mar 5, 2025 (1 year ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/ParisNeo/lollms_client
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ParisNeo
- 0.629score
file_organization
ParisNeo
Four-phase autonomous methodology for scanning directories, building classes.md and mapping.yaml, inspecting ambiguous files, requesting user confirmation…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
lcp_tool_creation
ParisNeo
Step-by-step guide to writing LCP tools: schema-driven docstrings, return contracts, requesting privileges via the confirmation handler, and asking the user…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
handbag_agent_architecture
ParisNeo
Definitive architectural doctrine for building sovereign agent Handbags, crafting SOUL.md personalities, injecting app-level tools and skills, and inspecting…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
file_organization
ParisNeo
Four-phase autonomous methodology for scanning directories, building classes.md and mapping.yaml, inspecting ambiguous files with sub-agents, requesting user…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
lcp_tool_building
ParisNeo
Practical how-to for authoring LCP tools: tool function anatomy, docstring-driven schemas, requesting execution privileges via the confirm handler, and…
SkillAFreshness: A★ 13Claude Code +9 - 0.625score
Lollms Artifacts and Surgical Patching
ParisNeo
Teaches the model how to formulate strategic <coding_plan> blocks, apply indentation-agnostic Aider search/replace patches, manage Git-like version logs, and…
SkillAFreshness: A★ 13Claude Code +9
Cite this page
xlsx_mastery skill. Agent Mart. https://agentmart.dev/skills/parisneo-xlsx-mastery (last updated 2026-10-24)