Excel Data Masking
Paste the following prompt into your AI chat to install this skill:
Please install @gaopengskill/excel-mask according to https://skillhub.cn/install/skillhub.md.
About this skill
Problem
When sharing reports, test samples, or cross-team handoff files, spreadsheets may contain names, accounts, or department fields that should not leave the original environment. Simple find-and-replace is risky because .xlsx is a ZIP container: text, formulas, chart references, and sheet names can be spread across multiple OOXML parts, while filenames or directory names may also expose sensitive context.
How It Works
The skill limits masking to a two-column dictionary of original names and replacement names, without fuzzy matching or content review. The core script scripts/mask_xlsx.py runs on Python 3.8+ standard libraries, checks only the supplied data and dictionary paths, and launches once per task. It targets .xlsx/.xlsm files, replaces double-quoted string constants in formulas, and renames sheet labels only when the full sheet name exactly matches the dictionary, keeping workbook and chart references valid. It checks residue; exit code 5 means the masking safety gate failed.
Boundaries
It does not support .xls, encrypted, or password-protected files, and it does not intelligently infer sensitive content. The XLSX container is rebuilt, so byte-for-byte equality is not guaranteed. If file or directory names contain sensitive information, rename them to neutral names first.
Use Cases
- Before sending a test workbook to an external team, replace client names and account fields using a two-column dictionary.
- Before delivery, check whether formula string constants in an .xlsm report still contain internal project codes.
- Convert a demo workbook into a sample by renaming only sheet labels that exactly match the dictionary to neutral names.
- Before outsourcing, replace supplier contact fields in an .xlsx file using the dictionary and confirm no residue is reported.
Best For
- Software engineers handing data packages to outsourced teams who need to replace sensitive fields without altering business content.
- Product operations staff preparing test samples who need to replace client names, accounts, and department names from a dictionary.
- Pre-sales consultants preparing external demos who need to remove internal project codes from formula string constants in .xlsm files.
- Test engineers handling cross-team reports who need to preserve structure and check whether masking residue remains.
Related Skills
Turns files, references, or chat context into styled single-page HTML reports with built-in templates and preset themes.
An engineering-oriented email automation solution for batch sending, Jinja2 templates, attachments, scheduled sending, inbox monitoring, and rule-based auto-reply.
An engineering workflow for creating, editing, reviewing, analyzing, and image-converting .docx files using pandoc, docx-js, OOXML, and LibreOffice.
Pre-submission scanner for Word/PDF blind-bid files that checks margins, fonts, page numbers, and metadata against tender requirements and flags residual bidder identities.