databy datadrivenconstruction
Excel Processing for Construction
datadrivenconstruction/xlsx-construction
Excel/spreadsheet processing for construction: estimates, schedules, tracking logs, quantity takeoffs. Formulas, formatting, analysis.
What it changes
Passed 19 of 22 test cases with the skill, and 8 of 22 without it.
Without skill36%
With skill86%
Checks it passed that the model alone missed
- Sets total column width to 14.
- Sets description column width to 40.
- Uses 'openpyxl' as the ExcelWriter engine.
and 10 more in the full report
12 fixed7 passed either way2 still failing1 broke
- Pass-rate lift
- +50 pp
- Tokens
- +70%
- Agent turns
- 0%
- Response time
- -19%
Model gemini-3.6-flashMeasured 8/23/2026v119 of 22 cases passed with skill
See it in action
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
PromptIn a processed QTO summary worksheet, which specific columns are formatted with numeric decimal format '#,##0.00'?
What was checked, without and with the skill| Checked | Without skill | With skill |
|---|
| Applies decimal formatting to Total Volume, Total Area, and Total Length columns (C, D, and E). | Missed | Passed |
|---|
What's inside
The instructions your model reads when the skill loads.
SKILL.md259 linessingle file
Excel Processing for Construction
Overview
Adapted from Anthropic's XLSX skill for construction spreadsheet workflows.
Construction Use Cases
1. Cost Estimate Template
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, Border, Side, PatternFill
from openpyxl.utils import get_column_letter
def create_estimate_template(output_path: str, project_name: str):
"""Create construction cost estimate template."""
wb = Workbook()
ws = wb.active
ws.title = "Cost Estimate"
# Styles
header_font = Font(bold=True, size=12)
currency_format = '$#,##0.00'
thin_border = Border(
left=Side(style='thin'),
right=Side(style='thin'),
top=Side(style='thin'),
bottom=Side(style='thin')
)
header_fill = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid")
# Project header
ws['A1'] = "CONSTRUCTION COST ESTIMATE"
ws['A1'].font = Font(bold=True, size=16)
ws['A2'] = f"Project: {project_name}"
ws['A3'] = "Date:"
ws['B3'] = "=TODAY()"
# Column headers (row 5)
Track record
Benchmark
19 / 22
test cases passed, vs 8 / 22 without
Adoption
- Users
- 0
- Times used
- 0
Safety and source details
SkillSafety
✓ 3 of 3 passed✓Code scan15 of 15 checks clean
0 critical · 0 warning · 0 info — scanner v4 — 8/3/2026
View 15 scanner checks
live_secretremote_code_executionreverse_shelldata_exfiltrationssrf_metadataagent_snoopinganti_refusaldestructive_commandsobfuscated_unicodeunicode_homoglyphopaque_blobsuspicious_urltool_overreachtrigger_abuseprompt_injection_phrasing
✓IntentSafe
LLM judge · does the skill do what it claims
✓ContentClean
LLM judge · policy & harmful-content review
Source
Importeddatadrivenconstruction / ddc_skills_for_ai_agents_in_construction
4_DDC_Curated/Document-Generation/xlsx-construction/SKILL.md
View on GitHub ↗License MITImported 8/3/2026Version v1