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 aaif/community-events --skill aaif-clean-datagit clone --depth 1 https://github.com/aaif/community-eventsWrote 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/aaif/community-events/aaif-clean-data)<a href="https://agentmods.dev/skills/aaif/community-events/aaif-clean-data"><img src="https://agentmods.dev/badge/skills/aaif/community-events/aaif-clean-data.svg" alt="Measured on agentmods" 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.00100 | $0.03735 |
| Opus 5 | $0.00050 | $0.01868 |
| Sonnet 5 | $0.00020 | $0.00747 |
| Haiku 4.5 | $0.00010 | $0.00374 |
Grade A, and why
aaif-clean-data 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 7d 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 — 241 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Clean AAIF Intake Data
Normalize the intake data without silently changing it: detect issues, propose
fixes with a before→after diff, and only write when the user approves. Fixes are
applied to the source tab Form Responses (id 1cWkjCI5AGK9RX_fs23P5jRA4I2nixgnHuapvwHseZ5o)
so the cleaned values flow through to the computed role tabs. Every applied change
is noted per row in an Autofixes column on Form Responses (created on first
use) — provenance for what the cleanup touched.
Prereq: the gws CLI must be installed and authenticated (gws-cli-access memory).
See aaif-intake-ops-sheet memory for the sheet's structure. All reads/writes go
by header name, never column letter.
The modes (engine: scripts/clean.py)
-
Scan (default, read-only) — detect & propose:
python3 ${CLAUDE_SKILL_DIR}/scripts/clean.py scan # human-readable python3 ${CLAUDE_SKILL_DIR}/scripts/clean.py scan --json # structuredMechanical fixes proposed automatically: trim/collapse whitespace, re-case clearly all-upper/all-lower names & cities, canonicalize LinkedIn URLs (
https://www.linkedin.com/in/..., strip tracking params & trailing slash). Flags raised (need judgment):City="Other", missing/invalid email, duplicate email, LinkedIn that isn't a profile URL, missing name. -
Apply (writes, on approval only) — feed an approved change list:
python3 ${CLAUDE_SKILL_DIR}/scripts/clean.py apply changes.jsonchanges.jsonis[{"row": <source row>, "header": "<column>", "value": "<new>"}]. It is gitignored (the repo is public) but still PII — names, emails, cities of real applicants — so delete it after the run; never attach or paste it. Writes those cells inForm Responsesand appends a note per row to theAutofixescolumn, formatted<phrase> -> <new value>(;joins phrases within one run,|joins runs). The value is carried so a second edit to the same field isn't deduped away as a repeat of the first; separators are stripped out of it, because a phrase that can't be split back out re-appends every run.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 7d ago First seen · 241 lines · 100 tokens per session scan A a0181075d055
aaif-clean-data is a skill published in the GitHub repository aaif/community-events (9 stars, last pushed 3d ago), licensed MIT. It adds 100 tokens to every session and 3,735 once invoked, about $0.0005 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
dcf-model
Build discounted cash flow valuation workbooks in Excel.
audit-xls
Audit a spreadsheet for formula accuracy, errors, and common mistakes. Scopes to a selected range, a single sheet, or the entire model (including financial-model integrity checks like BS balance, cash tie-out, and logic sanity). Triggers on "audit this sheet", "check my formulas", "find formula errors", "QA this…
google-drive-sheets
Find, read, export, edit, and manage the user's Google Drive, Docs, Sheets, and Slides through per-user OAuth.
feishu
Work with Feishu or Lark bots, docs, sheets, bitables, approval flows, and OpenAPI/MCP setup without hardcoding credentials.
skill-doc-delivery
Convert markdown to DOCX, PPTX, XLSX, PDF office documents — use when you need exportable deliverables.
large-file-parquet-analysis-and-highlight
A workflow for processing large Excel workbooks by counting their rows, converting them to Parquet when needed, and finding maximum values. Parquet is a data-file format designed for efficient reading.