AI Agent Hub
Back to skills
📁

Excel Data Masking

Office Efficiency Updated 2026.08.30

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.