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 mr-kelly/skills --skill kelly-portfolio-healthgit clone --depth 1 https://github.com/mr-kelly/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/mr-kelly/skills/kelly-portfolio-health)<a href="https://agentmods.dev/skills/mr-kelly/skills/kelly-portfolio-health"><img src="https://agentmods.dev/badge/skills/mr-kelly/skills/kelly-portfolio-health/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/mr-kelly/skills/kelly-portfolio-health"><img src="https://agentmods.dev/badge/skills/mr-kelly/skills/kelly-portfolio-health.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.00131 | $0.02573 |
| Opus 5 | $0.00066 | $0.01287 |
| Sonnet 5 | $0.00026 | $0.00515 |
| Haiku 4.5 | $0.00013 | $0.00257 |
Grade A, and why
kelly-portfolio-health 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 12d 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 — 216 lines — stays where its author put it; the contents beside it link to each section on GitHub.
RBF Portfolio Health Dashboard
Overview
Kelly Portfolio Health is a Busabase Cloud App-in-Skill. Its canonical product surface is the AirApp in Busabase, not a separate local-data product. The same Hono source supports an explicitly requested local preview with OAuth connection bootstrap. It gives a fund/credit-desk operator a read-mostly dashboard over a revenue-share / private-credit book: many small SME (small/medium enterprise) contracts, each an advance repaid as a share of the SME's future revenue up to a cap. The app aggregates the book into a top-line health summary, a repayment-progress-vs-time-elapsed view, an industry/city concentration breakdown, and a watchlist of contracts with a recent revenue decline. The only human action is lightweight: flag a contract for review, clear a flag, or leave a note — everything else is a read view.
This is deliberately generic and brand-free: no real company, fund, or SME name appears anywhere in the code, config, or seed data.
This is a direct-manipulation dashboard, not a review-then-approve queue:
there is no AI-authored draft to approve and no separate execute/decisions
step. Totals, repayment lag, concentration, and the watchlist are computed
by a documented, deterministic function
(content/kelly-portfolio-health-app/app/js/portfolio-model.js, ported from the retired
content/kelly-portfolio-health-app/server/insights.ts); the human flags/clears/annotates a contract
directly in the UI, writing straight onto the contract's own Busabase record
— the same way kelly-llm-gateway's rollout promote/rollback/hold and
kelly-lead-funnel's kanban stage moves work.
Default behavior is AirApp-first. Unless the user explicitly asks only for explanation, give the user the clickable AirApp URL. Start localhost only when local preview/debugging is explicitly requested; it uses the same Busabase resources and never offers another data provider. Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar.
What ships with it
56 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.
- agents/openai.yaml 289 B
- assets/screenshots/concentration-zh-CN.webp 130 B
- assets/screenshots/concentration.webp 130 B
- assets/screenshots/overview-zh-CN.webp 130 B
- assets/screenshots/overview.webp 130 B
- assets/screenshots/thumbs/concentration-zh-CN.webp 130 B
- assets/screenshots/thumbs/concentration.webp 130 B
- assets/screenshots/thumbs/overview-zh-CN.webp 130 B
- assets/screenshots/thumbs/overview.webp 130 B
- assets/screenshots/thumbs/watchlist-zh-CN.webp 130 B
- assets/screenshots/thumbs/watchlist.webp 130 B
- assets/screenshots/watchlist-zh-CN.webp 130 B
- assets/screenshots/watchlist.webp 131 B
- busabase.json 1.2 KB
- content/_folder.json 530 B
- content/contracts/base.json 3.2 KB
- content/contracts/records.ndjson 2.2 KB
- content/kelly-portfolio-health-app/_node.json 550 B
- content/kelly-portfolio-health-app/.busabaseignore 194 B
- content/kelly-portfolio-health-app/app/accent-theme.css 8.0 KB
- content/kelly-portfolio-health-app/app/accent-theme.js 7.3 KB runs code
- content/kelly-portfolio-health-app/app/app.js 27 KB runs code
- content/kelly-portfolio-health-app/app/i18n/messages.js 4.9 KB runs code
- content/kelly-portfolio-health-app/app/index.html 4.4 KB
- content/kelly-portfolio-health-app/app/js/busabase-client.js 226 B runs code
- content/kelly-portfolio-health-app/app/js/config.js 3.8 KB runs code
- content/kelly-portfolio-health-app/app/js/connect-gate.js 1.7 KB runs code
- content/kelly-portfolio-health-app/app/js/pagination.js 4.6 KB runs code
- content/kelly-portfolio-health-app/app/js/portfolio-model.js 9.7 KB runs code
- content/kelly-portfolio-health-app/app/js/providers/busabase-provider.js 8.4 KB runs code
- content/kelly-portfolio-health-app/app/js/providers/demo-provider.js 6.7 KB runs code
- content/kelly-portfolio-health-app/app/js/providers/index.js 270 B runs code
- content/kelly-portfolio-health-app/app/js/runtime.js 3.4 KB runs code
- content/kelly-portfolio-health-app/app/styles/base-ui.css 13 KB
- content/kelly-portfolio-health-app/app/styles/layers.css 33 B
- content/kelly-portfolio-health-app/app/styles/shell.css 27 KB
- content/kelly-portfolio-health-app/app/styles/workflow.css 1.7 KB
- content/kelly-portfolio-health-app/app/vendor/busabase-airapp-gate.css 6.1 KB
- content/kelly-portfolio-health-app/app/vendor/busabase-airapp-gate.js 11 KB runs code
- content/kelly-portfolio-health-app/app/vendor/busabase-airapp.js 552 KB runs code
- content/kelly-portfolio-health-app/app/vendor/busabase-sdk.js 787 KB runs code
- content/kelly-portfolio-health-app/package.json 1.1 KB
- content/kelly-portfolio-health-app/pnpm-lock.yaml 5.2 KB
- content/kelly-portfolio-health-app/pnpm-workspace.yaml 50 B
- content/kelly-portfolio-health-app/scripts/check.mjs 4.2 KB runs code
- content/kelly-portfolio-health-app/server.js 3.1 KB runs code
- content/kelly-portfolio-health-app/test/portfolio-model.test.mjs 7.2 KB runs code
- content/settings/base.json 818 B
- package.json 298 B
- pnpm-lock.yaml 4.3 KB
- pnpm-workspace.yaml 50 B
- README.md 3.6 KB
- references/portfolio-schema.md 5.1 KB
- scripts/publish_airapp.mjs 2.6 KB runs code
- scripts/setup.mjs 6.0 KB runs code
- scripts/sync-content.mjs 2.5 KB runs code
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.
- 12d ago First seen · 216 lines · 131 tokens per session scan A 232169f3a4e7
kelly-portfolio-health is a skill published in the GitHub repository mr-kelly/skills (5 stars, last pushed yesterday), licensed MIT. It adds 131 tokens to every session and 2,573 once invoked, about $0.0007 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
wrds
Connect to and query WRDS (Wharton Research Data Services) from any research project. Use this skill whenever the user needs to download, query, or explore data from WRDS — including Compustat, CRSP, FactSet, I/B/E/S, or any other WRDS-hosted database. Also trigger when the user mentions WRDS tables, WRDS libraries…
event-study-cars
Complete methodology for computing publication-quality cumulative abnormal returns with proper event-study test statistics, matching the robustness of Kaspereit's eventstudy2 for Stata. Covers dateline construction, event-date mapping, estimation and event windows, thin-trading adjustment, OLS with Theil prediction…
gmgn-swap
BEFORE RUNNING ANY COMMAND: Run gmgn-cli config --check. If exit code is 0, proceed normally. If exit code is 1, (1) run gmgn-cli config and show the output to the user; (2) once the user sends the API Key, run gmgn-cli config --apply to complete configuration and verification, then show the output to the user. If…
gmgn-token
Research any crypto or meme token by address — real-time price, market cap, liquidity, holder list, trader list, top Smart Money and KOL positions, security audit (honeypot, rug pull risk, dev wallet, renounced status), social links (Twitter/X, website) via GMGN API on Solana, BSC, Base, or Ethereum. Use when user…
gmgn-token-buy
Turn a token name into a vetted, sized buy order. Two things here are exclusive to this skill: resolving a NAME or symbol to the one right contract among its copycats, and sizing an order — amount, slippage, gas, position. No sibling does either. USE THIS SKILL WHEN a buy is being prepared, which shows up as a NAME or…
igce-builder-ffp
Trigger for: FFP IGCE, firm-fixed-price estimate, FFP cost model, proposed FFP rate validation, wrap-rate analysis, Agency BPA rate comparison, price-reasonableness memo, or fair-and-reasonable analysis. Build auditable Firm-Fixed-Price federal estimates using BLS OEWS wages, layered fringe/overhead/G&A/profit, GSA…