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 OpenLAIR/OpenSkill --skill evo-xlsx-recover-datagit clone --depth 1 https://github.com/OpenLAIR/OpenSkillWrote 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/openlair/openskill/evo-xlsx-recover-data)<a href="https://agentmods.dev/skills/openlair/openskill/evo-xlsx-recover-data"><img src="https://agentmods.dev/badge/skills/openlair/openskill/evo-xlsx-recover-data/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/openlair/openskill/evo-xlsx-recover-data"><img src="https://agentmods.dev/badge/skills/openlair/openskill/evo-xlsx-recover-data.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.00053 | $0.00824 |
| Opus 5.5 | $0.00021 | $0.00330 |
| Sonnet 5.5 | $0.00011 | $0.00165 |
| Haiku 4.5 | $0.00005 | $0.00082 |
Grade A, and why
evo-xlsx-recover-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 1mo 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 — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.
evo-xlsx-recover-data
Purpose
Recover missing values (marked as "???") in a multi-sheet NASA budget Excel workbook. The workbook has 4 interdependent sheets:
- Budget by Directorate - Raw dollar values ($M) per category per year (FY2015-FY2024)
- YoY Changes (%) - Year-over-year percentage changes
- Directorate Shares (%) - Each category as % of yearly total
- Growth Analysis - Summary statistics (CAGR, averages, deltas) for FY2019-2024
Key Formulas
- Row Sum: Total = sum of all category columns
- YoY%: ((current - previous) / previous) * 100, rounded to 2dp
- Share%: (category / total) * 100, rounded to 2dp
- CAGR%: ((end/start)^(1/n) - 1) * 100, rounded to 2dp, n=5 for FY2019-FY2024
- Average Budget: mean of FY2019-FY2023 (5 years), rounded to 1dp
- 5-Year Change: FY2024 - FY2019, integer
Rounding Rules
- Budget amounts: integer (no decimals)
- YoY/Share/CAGR percentages: 2 decimal places
- Average budgets: 1 decimal place
- Dollar change/delta: integer
Sheet Layout Details
- Budget: rows 4-13 (FY2015-2024), cols B(2)-K(11), K=Total
- YoY: rows 4-12 (2016-2024), cols B-K. YoY row N maps to budget rows N and N+1
- Shares: rows 4-13 (2015-2024), cols B-J (no Total column)
- Growth: row 4=CAGR, row 5=FY2019, row 6=FY2024, row 7=Change, row 8=Avg. Cols B-J
Dependency Resolution Strategy
The recover_all() function uses iterative constraint propagation:
- Solve Budget sheet row sums (Total column vs category columns)
- Use YoY percentages to recover Budget values and vice versa
- Use Share percentages to recover Budget values and vice versa
- Cross-sheet sync: Growth Analysis ↔ Budget sheet (FY2019=row8, FY2024=row13)
- Compute CAGR, 5-Year Change, and Average Budget in Growth Analysis
- Repeat until no more progress (handles cascading dependencies)
- Final pass: recompute all Growth Analysis averages for consistency
Robustness Features
- Handles merged cells safely (skips MergedCell objects)
- Floating-point tolerance checks using math.isclose()
- Type inference: preserves int vs float based on context
- Multiple missing values in same row/column: only solves when exactly 1 unknown
- Iterates up to 50 passes to handle deep dependency chains
- Graceful handling of edge cases (division by zero, negative CAGR inputs)
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.
- 1mo ago First seen · 65 lines · 53 tokens per session scan A 356b4bf17870
evo-xlsx-recover-data is a skill published in the GitHub repository OpenLAIR/OpenSkill (97 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 53 tokens to every session and 824 once invoked, about $0.0002 per session on Opus 5.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-09-11.
evo-xlsx-recover-data compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| evo-xlsx-recover-dataOpenLAIR/OpenSkill | Skill | 97 | 1mo ago | Apache-2.0 | A | 53 | Claude Code, Codex |
| data-formatsA-EVO-Lab/a-evolve | Skill | 842 | yesterday | none | A | 34 | Claude Code, Codex |
| xlsxYunjueTech/Yunjue-Agent | Skill | 545 | 8mo ago | Apache-2.0 | A | 68 | Claude Code, Codex |
| xlsxRaidriar7170/hermes-skilleval | Skill | 29 | 1mo ago | MIT | A | 96 | Claude Code, Codex |
| xlsxRaidriar7170/hermes-skilleval | Skill | 29 | 1mo ago | MIT | A | 96 | Claude Code, Codex |
| vulnerability-csv-reportingDANG-ai/SKILLER | Skill | 8 | 2mo ago | none | A | 52 | Claude Code, Codex |
| xlsxDANG-ai/SKILLER | Skill | 8 | 2mo ago | none | A | 96 | Claude Code, Codex |