xlsx
Skill8 starsChanged 3 months agoApache-2.0View on GitHub
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. This skill should be used when Cline needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv) for creating new spreadsheets with formulas and formatting, reading or analyzing data, modifying existing spreadsheets while preserving formulas, or performing data analysis and visualization in spreadsheets.
- Installs packages
We split this skill into the rules it gives an agent
20 rules. 4 are common, 11 are distinctive, and 5 are very specific to this project.
4
Common
Most of the 188 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
Use pandas for quick data analysis or openpyxl with data_only=True for calculated values.
- Distinctive: line 27
Use openpyxl for formula and formatting support.
- Distinctive: line 30
Use openpyxl to load, modify, and save while preserving structure.
- Distinctive: line 33
Use pandas for analysis, then openpyxl for formatted output.
- Very specific: line 119
If you open a file with data_only=True and save it, formulas are permanently replaced with their calculated values.
- Distinctive: line 123
Always use Excel formulas instead of calculating values in Python and hardcoding them.
- Common: line 159
Place ALL assumptions in separate cells (growth rates, margins, multiples)
- Very specific: line 160
Use cell references, not hardcoded values: =B5*(1+$B$6) not =B5*1.05
- Distinctive: line 161
Document hardcoded values with comments: "Source: Company 10-K, FY2024, Page 45"
- Distinctive: line 202
Before delivering any spreadsheet:
- Distinctive: line 216
Library selection: Default to pandas for data tasks, openpyxl for formatting/formulas
- Distinctive: line 217
Always use formulas: Never hardcode calculated values — the spreadsheet must remain dynamic
- Distinctive: line 218
Verify before delivery: Run formula checks and validate data types
- Distinctive: line 219
Preserve existing work: When editing, study existing conventions before modifying
- Distinctive: line 220
Recalculate after changes: If LibreOffice is available, use it to recalculate formula values after openpyxl edits
- Very specific: line 221
Large files: Use read_only=True for reading large files, write_only=True for creating them
- Common: line 225
Write concise, minimal Python code
- Common: line 226
Avoid verbose variable names and redundant operations
- Common: line 227
Avoid unnecessary print statements
- Very specific: line 228
Use context managers (with statements) for file operations
“Common” is measured: kept by at least 6 in 10 of the 188 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
XLSX Creation, Editing, and Analysis
Overview
This skill enables Cline to create, edit, and analyze Excel spreadsheets using Python libraries. Different workflows are available depending on the task: pandas for data analysis and bulk operations, openpyxl for formulas, formatting, and Excel-specific features.
When to Use This Skill
- Creating new spreadsheets with formulas, charts, and formatting
- Reading or analyzing data from existing Excel files
- Modifying spreadsheets while preserving formulas and formatting
- Building financial models with proper conventions
- Data transformation and visualization in spreadsheet format
- Converting data between formats (CSV, TSV → XLSX)
Workflow Decision Tree
Reading/Analyzing Data
Use pandas for quick data analysis or openpyxl with data_only=True for calculated values.
Creating New Spreadsheet
Use openpyxl for formula and formatting support.
Editing Existing Spreadsheet
Use openpyxl to load, modify, and save while preserving structure.
Data Analysis & Visualization
Use pandas for analysis, then openpyxl for formatted output.
Reading and Analyzing Data
Quick Data Analysis with pandas
import pandas as pd
df = pd.read_excel('file.xlsx') # Default: first sheet
all_sheets = pd.read_excel('file.xlsx', sheet_name=None) # All sheets
df.head() # Preview data
df.info() # Column info
df.describe() # StatisticsReading with openpyxl
from openpyxl import load_workbook
wb = load_workbook('file.xlsx', data_only=True) # Read calculated values
wb = load_workbook('file.xlsx') # Read formulas (default)
for sheet_name in wb.sheetnames:
sheet = wb[sheet_name]
for row in sheet.iter_rows(values_only=True):
print(row)Creating New Spreadsheets
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
wb = Workbook()
sheet = wb.active
sheet.title = "Summary"
# Add headers
headers = ['Item', 'Q1', 'Q2', 'Q3', 'Q4', 'Total']
for col, header in enumerate(headers, 1):
cell = sheet.cell(row=1, column=col, value=header)
cell.font = Font(bold=True)
# Add data and formulas
data = [['Revenue', 100, 120, 130, 150], ['Expenses', 80, 85, 90, 95]]
for row_idx, row_data in enumerate(data, 2):
for col_idx, value in enumerate(row_data, 1):
sheet.cell(row=row_idx, column=col_idx, value=value)
# Formula for total using SUM
sheet.cell(row=row_idx, column=6, value=f'=SUM(B{row_idx}:E{row_idx})')
# Formatting
sheet.column_dimensions['A'].width = 20
for col in 'BCDEF':
sheet.column_dimensions[col].width = 12
wb.save('report.xlsx')Editing Existing Spreadsheets
from openpyxl import load_workbook
wb = load_workbook('existing.xlsx')
sheet = wb.active
# Modify cells
sheet['A1'] = 'Updated Header'
# Insert rows/columns
sheet.insert_rows(2)
sheet.delete_cols(3)
# Add new sheet
new_sheet = wb.create_sheet('Analysis')
new_sheet['A1'] = 'New Data'
wb.save('modified.xlsx')⚠️ Warning: data_only=True
If you open a file with data_only=True and save it, formulas are permanently replaced with their calculated values. Only use data_only=True for reading.
CRITICAL: Use Formulas, Not Hardcoded Values
Always use Excel formulas instead of calculating values in Python and hardcoding them.
❌ WRONG — Hardcoding
total = df['Sales'].sum()
sheet['B10'] = total # Hardcodes 5000✅ CORRECT — Excel Formula
sheet['B10'] = '=SUM(B2:B9)' # Dynamic, recalculatesFinancial Model Standards
Color Coding Conventions
| Color | RGB | Usage |
| Blue text | (0,0,255) | Hardcoded inputs, assumptions |
| Black text | (0,0,0) | All formulas and calculations |
| Green text | (0,128,0) | Cross-sheet links within workbook |
| Red text | (255,0,0) | External links to other files |
| Yellow background | (255,255,0) | Key assumptions needing attention |
Number Formatting
- Years: Format as text strings ("2024" not 2,024)
- Currency:
$#,##0with units in headers ("Revenue ($mm)") - Zeros: Display as "-" using number formatting
- Percentages: Default 0.0% format
- Multiples: 0.0x format (EV/EBITDA, P/E)
- Negatives: Parentheses (123) not minus -123
Formula Construction
- Place ALL assumptions in separate cells (growth rates, margins, multiples)
- Use cell references, not hardcoded values:
=B5*(1+$B$6)not=B5*1.05 - Document hardcoded values with comments: "Source: Company 10-K, FY2024, Page 45"
Adding Charts
from openpyxl.chart import BarChart, Reference
chart = BarChart()
chart.title = "Quarterly Revenue"
chart.type = "col"
data = Reference(sheet, min_col=2, min_row=1, max_col=5, max_row=3)
cats = Reference(sheet, min_col=1, min_row=2, max_row=3)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
sheet.add_chart(chart, "A8")Data Transforms with pandas
import pandas as pd
# Pivot table
df = pd.read_excel('raw_data.xlsx')
pivot = df.pivot_table(values='Revenue', index='Region', columns='Quarter', aggfunc='sum')
pivot.to_excel('pivot_output.xlsx')
# Merge multiple sheets
sheets = pd.read_excel('multi.xlsx', sheet_name=None)
combined = pd.concat(sheets.values(), ignore_index=True)
combined.to_excel('combined.xlsx', index=False)
# Filter and export
filtered = df[df['Status'] == 'Active'][['Name', 'Email', 'Revenue']]
filtered.to_excel('active_clients.xlsx', index=False)Formula Verification Checklist
Before delivering any spreadsheet:
- Test 2-3 sample formula references for correct values
- Verify column mapping (column 64 = BL, not BK)
- Remember row offset: DataFrame row 5 = Excel row 6 (1-indexed)
- Check for NaN with
pd.notna()before writing - Prevent division by zero in formulas
- Verify all cell references point to intended cells
- Use
Sheet1!A1format for cross-sheet references - Test with edge cases (zero, negative, very large values)
Cline Workflow Notes
- Install location: Copy this skill directory to
.cline/skills/xlsx/(project-level) or~/.cline/skills/xlsx/(global) - Library selection: Default to pandas for data tasks, openpyxl for formatting/formulas
- Always use formulas: Never hardcode calculated values — the spreadsheet must remain dynamic
- Verify before delivery: Run formula checks and validate data types
- Preserve existing work: When editing, study existing conventions before modifying
- Recalculate after changes: If LibreOffice is available, use it to recalculate formula values after openpyxl edits
- Large files: Use
read_only=Truefor reading large files,write_only=Truefor creating them
Code Style
- Write concise, minimal Python code
- Avoid verbose variable names and redundant operations
- Avoid unnecessary print statements
- Use context managers (
withstatements) for file operations
Dependencies
pip install openpyxl pandas
# Optional for advanced features:
pip install xlsxwriter xlrdOther versions194 projects use a version of this.
Word for word · 0
None found.
Edited · 57
- anthropics/claude-agent-sdk-demos★ 2.8k10% same
- OpenCoworkAI/open-cowork★ 2.2k10% same
- freestylefly/wesight★ 94110% same
- Chen-zexi/open-ptc-agent★ 72910% same
- zephyrwang6/myskill★ 33910% same
- xuzeyu91/WebCode★ 27810% same
- pheuter/claude-agent-desktop★ 21110% same
- ImGoodBai/goodable★ 19510% same
- kivo360/OmoiOS★ 8110% same
- panaversity/claude-code-skills-lab★ 5710% same
47 more not listed
Wrote their own version · 137
- anthropics/skills★ 186ksame name
- spinabot/brigade★ 11ksame name
- netease-youdao/LobsterAI★ 6.2ksame name
- nextlevelbuilder/goclaw★ 3.7ksame name
- jjyaoao/HelloAgents★ 3.2ksame name
- K-Dense-AI/claude-scientific-writer★ 2.4ksame name
- wanxingai/LightAgent★ 1.2ksame name
- ChenglinPoly/infiAgent★ 1.2ksame name
- polyuiislab/infiAgent★ 1.2ksame name
- melandlabs/openloomi★ 1ksame name
127 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use Video Generation, VLM and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
huang-x-hSkillVideo Generation
Implement AI-powered video generation capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to generate videos from text prompts or images, create video content programmatically, or build applications that produce video outputs. Supports asynchronous task management with status polling and result retrieval.
Also in 6 projects that use this
huang-x-hSkillVLM
Implement vision-based AI chat capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to analyze images, describe visual content, or create applications that combine image understanding with conversational AI. Supports image URLs and base64 encoded images for multimodal interactions.
Also in 6 projects that use this
dav-niu474Skillgift-evaluator
The PRIMARY tool for Spring Festival gift analysis and social interaction generation. Use this skill when users upload photos of gifts (alcohol, tea, supplements, etc.) to inquire about their value, authenticity, or how to respond socially. Integrates visual perception, market valuation, and HTML card generation.
Also in 5 projects that use this
dav-niu474SkillPodcast Generate
Generate podcast episodes from user-provided content or by searching the web for specified topics. If user uploads a text file/article, creates a dual-host dialogue podcast (or single-host upon request). If no content is provided, searches the web for information about the user-specified topic and generates a podcast. Duration scales with content size (3-20 minutes, ~240 chars/min). Uses z-ai-web-dev-sdk for LLM script generation and TTS audio synthesis. Outputs both a podcast script (Markdown) and a complete audio file (WAV).
Also in 5 projects that use this
SeifBenayedSkillfile-reading
Use this skill when a file has been uploaded but its content is NOT in your context — only its path at /mnt/user-data/uploads/ is listed in an uploaded_files block. This skill is a router: it tells you which tool to use for each file type (pdf, docx, xlsx, csv, json, images, archives, ebooks) so you read the right amount the right way instead of blindly running cat on a binary. Triggers: any mention of /mnt/user-data/uploads/, an uploaded_files section, a file_path tag, or a user asking about an uploaded file you have not yet read. Do NOT use this skill if the file content is already visible in your context inside a documents block — you already have it.
Also in 5 projects that use this
SeifBenayedSkillpdf-reading
Use this skill when you need to read, inspect, or extract content from PDF files — especially when file content is NOT in your context and you need to read it from disk. Covers content inventory, text extraction, page rasterization for visual inspection, embedded image/attachment/table/form-field extraction, and choosing the right reading strategy for different document types (text-heavy, scanned, slide-decks, forms, data-heavy). Do NOT use this skill for PDF creation, form filling, merging, splitting, watermarking, or encryption — use the pdf skill instead.
Also in 6 projects that use this
- +1 more from huang-x-h
- +5 more from dav-niu474
In this repository49 other files it gives its agents.
- a-b-testingSkill
- api-devSkill
- article-extractorSkill
- audio-genSkill
- blog-writerSkill
- brainstormingSkill
- brand-guidelinesSkill
- canvas-designSkill
- changelog-generatorSkill
- code-refactorerSkill
- competitive-ads-extractorSkill
- content-research-writerSkill
- database-managerSkill
- docker-deploySkill
- docxSkill
- domain-name-brainstormerSkill
- email-campaignsSkill
- finishing-a-development-branchSkill
- game-devSkill
- git-pushingSkill
- git-workflowSkill
- godot-helperSkill
- image-enhancerSkill
- ios-simulator-skillSkill
- langsmith-fetchSkill
- lead-research-assistantSkill
- lean-ctxSkill
- mcp-builderSkill
- meeting-insights-analyzerSkill
- pdfSkill
- playwright-skillSkill
- pptxSkill
- react-nextjs-builderSkill
- review-implementingSkill
- seo-optimizerSkill
- ship-learn-nextSkill
- skill-creatorSkill
- skill-builderSkill
- social-media-managerSkill
- staff-engineer-reviewSkill
- tailored-resume-generatorSkill
- test-driven-developmentSkill
- test-fixingSkill
- twitter-algorithm-optimizerSkill
- using-git-worktreesSkill
- video-framesSkill
- webapp-testingSkill
- youtube-transcriptSkill
- your-skill-nameSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

