Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add YuYY2004/excel-skills --skill excel-filtergit clone --depth 1 https://github.com/YuYY2004/excel-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/yuyy2004/excel-skills/excel-filter)<a href="https://agentmods.dev/skills/yuyy2004/excel-skills/excel-filter"><img src="https://agentmods.dev/badge/skills/yuyy2004/excel-skills/excel-filter/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/yuyy2004/excel-skills/excel-filter"><img src="https://agentmods.dev/badge/skills/yuyy2004/excel-skills/excel-filter.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00177 | $0.03473 |
| Opus 5 | $0.00088 | $0.01736 |
| Sonnet 5 | $0.00035 | $0.00695 |
| Haiku 4.5 | $0.00018 | $0.00347 |
Grade A, and why
excel-filter scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 307 lines — stays where its author put it; the contents beside it link to each section on GitHub.
This skill follows [[excel-safe-workflow]] four-step method. Filtering logic uses pandas (fast), deletion uses XML direct ops (fast + format-preserving). 本技能遵循 [[excel-safe-workflow]] 四步法。筛选逻辑用 pandas(快),删除用 XML 直接操作(快+格式无损)。
Excel Filter / Excel 筛选
Two Modes / 两种模式
| 模式 | 含义 | 用户说 |
|---|---|---|
| keep(保留) | 保留符合条件的行,删除其余 | "只要2020年后的""保留已授权的" |
| remove(删除) | 删除符合条件的行,保留其余 | "删掉空白的""去掉无效数据" |
默认是 keep 模式。
第零步:需求解析
条件类型识别
| 用户说 | 条件类型 | pandas 表达式 |
|---|---|---|
| "申请日大于2020年" | 大于 | df[col] > '2020-01-01' |
| "申请日=2020年" | 等于 | df[col] == '2020' |
| "标题包含石墨烯" | 包含 | df[col].str.contains('石墨烯', na=False) |
| "申请人包含 华为 或 腾讯" | 包含(或) | `df[col].str.contains('华为 |
| "申请日在2020到2023之间" | 范围 | (df[col] >= '2020-01-01') & (df[col] <= '2023-12-31') |
| "申请人等于华为 且 已授权" | 多条件与 | (df[a]=='华为') & (df[b]=='已授权') |
| "关键列为空" | 空值 | df[col].isna() |
| "关键列不为空" | 非空 | df[col].notna() |
解析示例
| 用户说 | 提取 |
|---|---|
| "只要2020年后的专利申请" | keep模式, 申请日 ≥ 2020 |
| "删掉申请人是空白的数据" | remove模式, 申请人 is null |
| "提取已授权且申请日>2022的" | keep模式, 当前法律状态=授权 AND 申请日>2022 |
第一步:勘察
import os, sys
sys.stdout.reconfigure(encoding='utf-8')
from openpyxl import load_workbook
FILE = '目标文件.xlsx'
size_mb = os.path.getsize(FILE) / 1024 / 1024
print(f'文件大小: {size_mb:.1f} MB')
wb = load_workbook(FILE, read_only=True)
ws = wb.active
print(f'工作表: {ws.title}, 行: {ws.max_row}, 列: {ws.max_column}')
# 表头
print('\n=== 表头 ===')
for col_idx in range(1, min(ws.max_column + 1, 30)):
h = ws.cell(row=1, column=col_idx).value
if h:
col_letter = chr(64 + col_idx) if col_idx <= 26 else f'col{col_idx}'
print(f' 列{col_idx} [{col_letter}]: {h}')
# 数据样本
print('\n=== 数据样本(前5行) ===')
for row_idx in range(2, min(7, ws.max_row + 1)):
vals = []
for col_idx in range(1, min(6, ws.max_column + 1)):
v = str(ws.cell(row=row_idx, column=col_idx).value or '')[:40]
vals.append(v)
print(f' 行{row_idx}: {" | ".join(vals)}')
wb.close()
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 307 lines · 177 tokens per session scan A 906b806c26c6
excel-filter is a skill published in the GitHub repository YuYY2004/excel-skills (2 stars, last pushed 1mo ago), licensed MIT. It adds 177 tokens to every session and 3,473 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
spreadsheets
Use when creating, reading, or fixing spreadsheets (.xlsx, .csv). Covers formulas, formatting, charts, data cleaning, and handling the messy real-world files that are not actually tabular.
Excel工具
A guide for using Excel tools to read, write, and recalculate spreadsheet files. It includes a rule for treating the first row as data when a spreadsheet has no column headings.
huashu-data-pro
All-in-one data analysis and productivity assistant. Covers end-to-end workflows for data processing, analytical insights, report writing, PPT creation, and data visualisation. Always approaches tasks from an expert perspective — thinks one step ahead for the user. Proactively confirms with the user when uncertain.…
xlsx
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or…
thinkcell
Generate, update, and automate think-cell charts and elements in PowerPoint and Excel. Use ANY time the user mentions think-cell, thinkcell, or .ppttc files, or asks to create/update PowerPoint charts following think-cell conventions (waterfall, Mekko, stacked column, Gantt, Harvey ball, scatter/bubble, etc.) …
bug-report-writer
Converts rough notes, casual descriptions, console errors, or quick observations into professional, complete bug reports — exported as a formatted Excel (.xlsx) file ready for Excel, Google Sheets, Jira, or Azure DevOps. Use this skill whenever the user mentions: "write a bug report", "log a bug", "report this issue"…