Introduction¶
When performing engineering costing, auditing, or cost comparison, the Breakdown Item Bill of Quantities (BOQ) pricing tables are often scattered across multiple Excel workbooks. Header rows are inconsistent, cells are merged, and column naming varies (e.g., “Comprehensive Unit Price” and “Unit Price” are used interchangeably). Manual copying and pasting is slow and prone to missing tables or rows. The following introduces the SkillHub community Skill “Zhonggong Costing House Breakdown Item List Cleaning” (@user_de9e9350/boq-cleaner), which scans pricing tables in batches by folder within an Agent conversation, identifies target worksheets, extracts fixed fields, validates them, and merges them into a standardized table with data sources.
What is This¶
Zhonggong Costing House Breakdown Item List Cleaning (Coordinates @user_de9e9350/boq-cleaner, Version 1.0.1, Category data-analysis, Source community, Publisher user_de9e9350) is designed for the single task of “cleaning and merging data from Breakdown Item Bill of Quantities pricing tables across multiple Excel files.” The Skill uses the standard SKILL.md format and does not require an API Key (requires_api_key=false).
On SkillHub, this Skill has a rating of 100000 and 1512 downloads (data sourced from SkillHub page metadata as of writing).
Core Functionality¶
According to the Skill documentation, the capabilities can be summarized as follows (all are behaviors explicitly stated in the documentation, not extrapolated inferences):
- Batch Scanning: Processes
.xlsxand.xlsfiles within the specified folder, skipping temporary files such as~$. - Worksheet Identification: By default, searches for the keyword “分部分项” (Breakdown Items) in worksheet names or within the first 10 rows of content (customizable via
sheet_key_word, e.g., “清单” / List). - Eight Mandatory Columns: Identifies Serial Number, Item Code, Item Name, Item Features, Unit of Measurement, Quantity, Unit Price, and Total Price within the first
header_rowsrows (default 20 rows); supports keyword aliases from the documentation (e.g., “综合单价” / Comprehensive Unit Price, “工程数量” / Engineering Quantity). If any of the eight columns are missing, the table is skipped. - Row-level Filtering: Determines valid list rows based on the Serial Number column (rules such as integers, decimals, or strings parseable as positive numbers are detailed in the Skill documentation).
- Cleaning and Validation: Forward-fills merged cells, ensures key fields are not empty, and checks that Quantity/Unit Price/Total Price are non-negative; optionally validates if Total Price equals Quantity × Unit Price.
- Merged Output: Vertically merges all valid tables, adds a “Data Source” column (Workbook Name); outputs
.xlsxwith header styles, numeric formatting, and a “Cleaning Summary” worksheet; optionally generates a<output_file>_log.txtlog.
The implementation relies on Python, specifically using pandas and openpyxl as stated in the documentation.
Installation and Enablement¶
Install SkillHub CLI¶
If the CLI is not installed on your machine, you can first check the version:
command -v skillhub && skillhub --version
If not installed, follow the SkillHub Installation Instructions to perform a full installation:
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
Install This Skill¶
The installation prompt provided on the official page is: Install @user_de9e9350/boq-cleaner following https://skillhub.cn/install/skillhub.md.
The installation command shown in CLI search results is:
skillhub install boq-cleaner --namespace user_de9e9350 --dir <your Agent skills directory>
--dir must point to the skills directory actually read by the current Agent; otherwise, installing to the default ./skills/ might not be recognized. Common paths (excerpted from SkillHub installation documentation):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/or.agents/skills/under the project
After installation, restart or refresh the Agent according to your client’s requirements to enable the Skill.
Typical Usage¶
This Skill is triggered via natural language; trigger words provided in the documentation include: Clean list, Merge pricing tables, Breakdown item data cleaning, Bill of Quantities organization, BOQ data cleaning.
Basic Request¶
Simply specify the input folder and output file path to the Agent. Example from documentation:
Please use the boq-cleaner skill to clean and merge the Breakdown Item Bill of Quantities in the following folder:
Input: C:/Users/18357/Desktop/数据清洗Skill测试表格/
Output: C:/Users/18357/Desktop/清洗结果.xlsx
Equivalent information can also be written as:
Please help me clean and merge these Bill of Quantities files:
Input folder: C:/Users/18357/Desktop/项目A/
Output file: C:/Users/18357/Desktop/项目A-合并清单.xlsx
The Agent follows the Skill workflow to scan the directory, identify worksheets, extract the eight columns, clean and merge them, and write the result file.
Adjustable Parameters (Just specify in conversation)¶
| Parameter | Description | Default Value |
|---|---|---|
input_folder |
Folder containing Excel files | Required |
output_file |
Output .xlsx path |
Required |
sheet_key_word |
Worksheet matching keyword | 分部分项 |
header_rows |
Number of header search rows | 20 |
Advanced options (configuration items in documentation): skip_negative_values, fill_merged_cells, validate_formula, output_log, etc., can be specified in the request regarding whether to enable them.
Custom Worksheet Example¶
Use the boq-cleaner skill to process these files, the worksheet keyword is "清单",
Input: C:/Users/18357/Desktop/数据/
Output: C:/Users/18357/Desktop/结果.xlsx
Applicable Scenarios and Notes¶
Who it is for: Cost engineers, auditors, and cost analysts who need to aggregate multiple pricing tables into a standardized list; scenarios where users want to specify directories via conversation to reduce manual header organization and row filtering.
Limitations and Notes (all from Skill documentation):
- Only supports
.xlsx/.xls; encrypted or corrupted files will be skipped and recorded in the log. - Only the first worksheet matching the keyword is taken from each workbook; scenarios with multiple sheets of the same name require pre-splitting or adjusting file structure.
- Headers must be within the default first 20 rows and all eight columns must be present, otherwise the entire table is skipped.
- Be mindful of memory when processing large batches of files; it is recommended to back up original files before processing.
- The runtime environment must support
pandasandopenpyxl; to troubleshoot, check if a cleaning log was generated. The documentation also mentions that some run artifacts can be viewed in~/.workbuddy/skills/boq-cleaner/(paths subject to the Skill documentation).
Conclusion¶
“Zhonggong Costing House Breakdown Item List Cleaning” organizes breakdown pricing tables from “multiple files, multiple headers” into a single Excel file with data sources and a summary page. It is suitable for completing batch processing by specifying input and output directories via natural language within an Agent. See SkillHub for installation and details:
- Page: https://www.skillhub.cn/skills/user_de9e9350/boq-cleaner
- API Endpoint: https://api.skillhub.cn/user_de9e9350/boq-cleaner