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 seonglae/openportfolio --skill openportfolio-decisionsgit clone --depth 1 https://github.com/seonglae/openportfolioWrote 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/seonglae/openportfolio/openportfolio-decisions)<a href="https://agentmods.dev/skills/seonglae/openportfolio/openportfolio-decisions"><img src="https://agentmods.dev/badge/skills/seonglae/openportfolio/openportfolio-decisions/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/seonglae/openportfolio/openportfolio-decisions"><img src="https://agentmods.dev/badge/skills/seonglae/openportfolio/openportfolio-decisions.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.00068 | $0.00437 |
| Opus 5.5 | $0.00027 | $0.00175 |
| Sonnet 5.5 | $0.00014 | $0.00087 |
| Haiku 4.5 | $0.00007 | $0.00044 |
Grade A, and why
openportfolio-decisions 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 16d 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.
What it actually says
The deferred-decision queue
"Wait for the print, then decide" evaporates the moment it is said out loud. The queue keeps it: each decision has a trigger condition and stays on the board until it is closed with an outcome.
Needs the openportfolio MCP server. See the openportfolio-book skill for setup.
Opening one
open_decision takes a stable key you choose, a title, the triggerCondition that should bring it back, and optionally detail and dueAt (epoch milliseconds). Give it a dueAt whenever the trigger has a date: a decision with no date only comes back when someone remembers it. upcoming_catalysts from the openportfolio-book skill is where a scheduled trigger usually gets its date.
Working the queue
overdue_decisionslists open decisions past their date: the ones that were going to be revisited and were not.- For each, establish whether the trigger condition actually fired, reading the book and the flows first.
- If it fired,
close_decisionwith thekeyand a one-lineoutcomesaying what happened. Usestatus: "void"when the decision stopped mattering, and say why in the outcome, so an abandoned decision stays distinguishable from a settled one. - If it has not fired, leave it open and say why in your reply. Do not close a decision to clear the list.
list_decisions (optional status of open, done or void) shows the whole queue.
The outcome of a decision is a statement of what happened, not an instruction. Never record a quantity or a price to trade at.
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.
- 16d ago First seen · 26 lines · 68 tokens per session scan A a2853ddd6073
openportfolio-decisions is a skill published in the GitHub repository seonglae/openportfolio (3 stars, last pushed 2d ago), licensed Apache-2.0. It adds 68 tokens to every session and 437 once invoked, about $0.0003 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-30.
Other skills, from other repositories
research-stocks
Read current stock research, technical backtests, saved analyses or saved backtests. Use for a named ticker or watchlist research history; preserve source dates, model limitations and risk factors.
track-tariff-trends
Retrieve a country's average applied tariff over time — the MFN rate on all products, or the rate it applies on goods from one partner and/or in one product group — plus the optional US effective tariff rate. Use when the user asks how a country's tariffs have changed, or what it charges another country on average.…
get-prediction-markets
Retrieve active prediction-market contracts (Polymarket) with live yes-price probabilities, volume, and close dates, filterable by category or keyword. Use when the user asks what the market odds are on a geopolitical, economic, or election outcome.
tvchart
Drive a live TradingView Lightweight Charts widget end-to-end via PyWry MCP tools — symbol, interval, indicators, markers, price lines, layouts, state.
tbank-messenger
A chat connection for T-Bank, a Russian bank, that lets an agent read conversations, download attachments, and contact bank support. It works with chats inside the bank app, not SMS codes or push notifications.
aifi-daily-report
A tool for producing a Chinese end-of-day report on United States stock markets as a self-contained HTML file. HTML is the standard format used to display web pages.