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 MarkusZoppelt/portfolio_rs --skill portfolio-rsgit clone --depth 1 https://github.com/MarkusZoppelt/portfolio_rsWrote 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/markuszoppelt/portfolio_rs/portfolio-rs)<a href="https://agentmods.dev/skills/markuszoppelt/portfolio_rs/portfolio-rs"><img src="https://agentmods.dev/badge/skills/markuszoppelt/portfolio_rs/portfolio-rs/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/markuszoppelt/portfolio_rs/portfolio-rs"><img src="https://agentmods.dev/badge/skills/markuszoppelt/portfolio_rs/portfolio-rs.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00662 |
| Opus 5 | $0.00026 | $0.00331 |
| Sonnet 5 | $0.00011 | $0.00132 |
| Haiku 4.5 | $0.00005 | $0.00066 |
Grade A, and why
portfolio-rs 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 11d 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 — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
portfolio_rs Finance Skill
Use portfolio_rs commands as the source of truth. Do not parse raw portfolio JSON unless a command cannot answer the question.
Startup
- Read workspace instructions if present:
AGENTS.md,CLAUDE.md, or equivalent. - Read
INVESTMENT_POLICY.mdif present. - Run
portfolio_rs doctor .. - Run
portfolio_rs context positions.json --format json. - If
portfolio/policy.tomlexists, runportfolio_rs review positions.json --policy portfolio/policy.toml --format json.
If a policy file is missing, suggest:
portfolio_rs policy init --strategy balanced-growth .
portfolio_rs policy validate portfolio/policy.toml
Safety
- Do not place trades.
- Do not interact with brokers or exchanges.
- Do not provide regulated financial advice.
- Use
--dry-runbefore any file mutation. - Never write decrypted
.gpgcontents to disk in plaintext. - Do not commit private finance files.
- Do not scrape portfolio data for external services. All analysis stays local.
Read-Only Commands
portfolio_rs context positions.json --format markdown
portfolio_rs review positions.json --policy portfolio/policy.toml
portfolio_rs simulate positions.json --policy portfolio/policy.toml
portfolio_rs doctor .
portfolio_rs validate positions.json
Structured Output (for agents/scripts)
portfolio_rs context positions.json --format json
portfolio_rs review positions.json --policy portfolio/policy.toml --format json
portfolio_rs simulate positions.json --policy portfolio/policy.toml --format json
Durable Memory
portfolio_rs decision draft --title "Rebalance Stocks" --dry-run
portfolio_rs report weekly --dry-run
Workspace Layout
.
AGENTS.md <- Local workspace instructions
CLAUDE.md <- Pointer for Claude Code
INVESTMENT_POLICY.md <- User-owned financial constitution
portfolio/
policy.toml <- Machine-readable policy
diary/ <- Market observations
decisions/ <- Structured decision records
theses/ <- Investment theses
reports/ <- Generated reports
watchlist.json <- Assets being watched
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.
- 11d ago First seen · 91 lines · 53 tokens per session scan A cc938ed7ec5e
portfolio-rs is a skill published in the GitHub repository MarkusZoppelt/portfolio_rs (94 stars, last pushed 3d ago), licensed MIT. It adds 53 tokens to every session and 662 once invoked, about $0.0003 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-30.
Other skills, from other repositories
finance-cleanup
Use when the user wants to clean up transactions, fix categories, find missing recurring charges, or do general transaction hygiene in Copilot Money.
finance-pulse
Use when the user asks how they're doing financially, wants a spending check-in, asks about free money or discretionary budget, or says 'pulse'. Read-only — never writes to Copilot Money.
finance-trip
Use when the user wants to track trip expenses, tag travel transactions, find late-posting charges from a trip, or get a trip spending summary. Example: 'tag my Tahiti trip expenses' or 'how much did I spend in Whistler?'.
finance
Use for open-ended financial questions: 'can I afford X?', 'should I buy X?', 'how much can I spend on Y?', or any affordability, budgeting, or financial planning question. Also use when the user asks a financial question that doesn't fit /finance-cleanup, /finance-pulse, or /finance-trip.
openrouter-usage
Query OpenRouter API costs, credits, and usage breakdown by model, provider, and date for the last 30 days. Triggers on API spending, check costs, openrouter usage, how much have I spent.
transaction-syncing
Refresh investment activities and card/bank expenses into familyoffice.db, then review spending. Investment activities come from the DB transactions table (SnapTrade); debit-card and bank spending comes from the DB banktransactions table (SimpleFIN), auto-categorized. Sync-first so nothing is stale. USE WHEN user…