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 Caprista/KarvyLoop --skill expensegit clone --depth 1 https://github.com/Caprista/KarvyLoopWrote 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/caprista/karvyloop/expense)<a href="https://agentmods.dev/skills/caprista/karvyloop/expense"><img src="https://agentmods.dev/badge/skills/caprista/karvyloop/expense/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/caprista/karvyloop/expense"><img src="https://agentmods.dev/badge/skills/caprista/karvyloop/expense.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.00000 | $0.02086 |
| Opus 5.5 | $0.00000 | $0.00834 |
| Sonnet 5.5 | $0.00000 | $0.00417 |
| Haiku 4.5 | $0.00000 | $0.00209 |
Grade A, and why
expense 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 — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Expense receipt reading (system template)
A receipt is worth structuring only if the structure is trustworthy. The value here isn't "read some text off a picture" — it's turning a crumpled, mis-scanned slip into one line you can put in a claim without re-checking it by hand: right merchant, right date, right total, and — the part people skip — line items that actually add up to that total. This skill is a method, not a canned answer, and its scope is deliberately narrow: recognition and structuring, not judgment. It does not decide what your company will reimburse, does not submit anything, does not do your bookkeeping. It hands you a clean, checked record and a category hint — you stay the one who decides.
Honest input contract
This skill reads text or an image:
- Text — paste the receipt's text, or the export from a bill/e-invoice. Cleanest path, always works.
- Image — a photo or scan (jpg/png/…) is read via
read_file, which OCRs it on this machine through the optional OCR extra (pip install "karvyloop[ocr]"; first use downloads a model, nothing is uploaded). If that extra isn't installed and the running model can't see images, the honest move is to say so and ask you to paste the text — never to invent a receipt from a filename. A vision-capable model may read the image directly instead; either way the same method below applies to the text.
The accountability rule
I (atom) answer to the role; the role answers to you. A structured line with a
wrong total or an invented tax id is far worse than a field left blank and
flagged. Money and tax numbers are unforgiving. When in doubt, leave it null
and flag it — never a confident fabrication.
Procedure — do not skip steps
- Identify what the document is. receipt / invoice (发票, has a tax id and payee) / shopping list / itinerary / other. This decides which fields matter (an invoice's 税号 and 抬头; an itinerary's route and dates).
What ships with it
1 file 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.
- 1mo ago First seen · 126 lines · 0 tokens per session scan A 71eff85dd9d5
expense is a skill published in the GitHub repository Caprista/KarvyLoop (17 stars, last pushed 23d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,086 tokens. 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
risk-scoring
Score how concentrated and risky a portfolio is on a 0-100 scale from its position weights. Use when the user asks how risky their portfolio is, whether it is too concentrated, or for a diversification check.
valuation
Estimate whether a stock looks cheap or expensive using a price-to-earnings (P/E) based fair-value method. Use when the user asks if a stock is over- or under-valued, or for a fair-value / target price.
travel-expense-audit
A travel-expense review workflow that checks reimbursement claims against policy handbooks and rate tables. It covers items such as hotel, transport, and daily meal allowances.
agent-framework-py-release
Use when cutting a Python release for the microsoft/agent-framework monorepo. Triggers on "bump py versions", "cut a python release", "prepare release PR for python", "release py packages", "bump python to X.Y.Z", or similar requests to bump Python package versions and prepare a release PR. Handles all four lifecycle…
python-package-management
Guide for managing packages in the Agent Framework Python monorepo, including creating new connector packages, versioning, and the lazy-loading pattern. Use this when adding, modifying, or releasing packages.
foundry-hosted-agent-validation
Step-by-step process for validating a Python Foundry hosted agent sample (under python/samples/04-hosting/foundry-hosted-agents/) end to end — running it locally (native runtime and azd ai agent run) and after deploying it to an Azure AI Foundry project with azd. Use this when asked to validate a hosted agent sample.