強制 first-principles 機率分布 + EV 計算。用於檢查當前組合在指定時間窗的預期報酬,禁止用 default bell shape 或質性語言。Usage - /ev-check [30d|7d|14d] [optional scenario theme]

MITAuto-check passed

Install Ev Check

skills CLI
$ npx skills add PatrickSUDO/fadacai-portfolio --skill ev-check -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install PatrickSUDO/fadacai-portfolio ev-check --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/PatrickSUDO/fadacai-portfolio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ev-check .claude/skills/ev-check && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ev-check
GitHub stars
142
Token cost
~1.4k tokens
SKILL.md length
460 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

強制 first-principles 機率分布 + EV 計算。用於檢查當前組合在指定時間窗的預期報酬,禁止用 default bell shape 或質性語言。Usage - /ev-check [30d|7d|14d] [optional scenario theme]

  • Works in 7 steps: 收集 raw 輸入 → 整理成 9 項 Input Enumeration → 呼叫 probability-honesty-checker subagent → …
  • SKILL.md covers Arguments, Workflow, 何時被其他 skill 呼叫 and Output Format, plus 1 more section
  • Calls python3

What it does

Ev Check is an agent skill from PatrickSUDO/fadacai-portfolio. 強制 first-principles 機率分布 + EV 計算。用於檢查當前組合在指定時間窗的預期報酬,禁止用 default bell shape 或質性語言。Usage - /ev-check [30d|7d|14d] [optional scenario theme]

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Model Context Protocol. The repository describes itself as: Claude Code 投資研究與組合管理框架:skills + MCP + 第一性原理紀律 + thesis ledger. The licence is MIT.

Example prompts

  • “/ev-check”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. 收集 raw 輸入
  2. 整理成 9 項 Input Enumeration
  3. 呼叫 probability-honesty-checker subagent
  4. 4: EV 怎麼用才不算濫用(2026-09-23 用戶 push back「跟 SGOV 比很不公平」,三條修正)
  5. 5: EV ledger 事前登錄(強制,agent 輸出後執行)
  6. 顯示 agent 完整輸出
  7. 用戶 push back 處理

What it can do on your machine

Read from SKILL.md and the folder at commit b34fa31. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ev Check loads about 1.4k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 460 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~37
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from PatrickSUDO/fadacai-portfolio at commit b34fa31, republished under its MIT licence (© PatrickSUDO). 460 words, ~1,379 tokens.

Download SKILL.mdSave it as .claude/skills/ev-check/SKILL.md (or your agent's skills folder).
name
ev-check
description
強制 first-principles 機率分布 + EV 計算。用於檢查當前組合在指定時間窗的預期報酬,禁止用 default bell shape 或質性語言。Usage - /ev-check [30d|7d|14d] [optional scenario theme]
user_invocable
true
model
opus
effort
high

EV / Probability Distribution Honesty Check

對當前持倉執行嚴謹的機率分布與 expected value 計算。強制 first-principles,不接受偷懶輸出。

此 skill 可獨立呼叫做 ad-hoc check,或被其他 skill(briefing / portfolio-review / stock-analysis / todo)在輸出 Verdict / 機率分布前 mandatory 呼叫。

Arguments

  • /ev-check → 預設 30 天 horizon
  • /ev-check 7d / /ev-check 14d / /ev-check 30d → 自選時間窗
  • /ev-check 30d nvda-bear → 用戶指定情境主題(agent 會以此為主要 catalyst 反推)
  • /ev-check 30d 比選 ... → 名額比選模式。比選集合不是 briefing 點名的那幾檔,而是 plan.md 候補表整層 L1 全掃(2026-09-21 用戶質問「選 HWM 不選 ATI 什麼理由」,當次只比了 briefing 框的 HWM/CRDO,ATI 漏掉)。作法:先列 L1 每一檔的「進場分支是否成立(價格線/走強線)、分析師覆蓋 N、與空名額同鏈的上下游關係」做一張淘汰表,明寫每檔為何進或不進 EV 計算;只對淘汰表存活者跑 agent。淘汰表要出現在輸出裡,用戶事後問任何一檔都要能指出被淘汰的那一行。落選者同一次撤提名警報(shadow_signals.py record --kind cf-bench-loser 已自動撤該標的 price_above/rolling_high 線;輸出列「已撤警報」欄,見 feedback/alert-hygiene.md)。

Workflow

Step 1: 收集 raw 輸入

呼叫以下 MCP 取數據(可平行):

  1. mcp__firstrade-server__get_account_position — 持倉
  2. mcp__firstrade-server__get_account_balance — 帳戶總值 + 現金
  3. mcp__technical-mcp__get_batch_indicators(所有持倉, period=3mo) — RSI / momentum / trend
  4. mcp__technical-mcp__get_sector_rotation(period=3mo) — leading / lagging
  5. mcp__yfinance-advanced__get_stock_info(top 11 by MV) — 52w high/low、fundamentals
  6. mcp__fmp-mcp__getEarningsCalendar(today, today+horizon) — binary catalysts in window
  7. (平行 agent)mcp__eodhd-mcp__get_sentiment_trend(top 8 by MV, days=30) — 7d/30d sentiment
  8. Read briefing-out/cache/macro-snapshot.json — macro state(fed_funds / 2s10s / HY OAS / VIX / CPI / regime_tag);status == "skipped" 或缺失 → 1i 標 unavailable 並註明
Step 2: 整理成 9 項 Input Enumeration

按 probability-honesty-checker agent 的 Step 1 contract,整理:

  • 1a. RSI 分布(每個 bucket 檔數 + % of port)
  • 1b. 距 52w 高位置(中位數、最大、最小)
  • 1c. 已實現波動(5d / 2d / 最大單日)
  • 1d. Binary catalysts table(catalyst / 日期 / 影響持倉 % / base rate)
  • 1e. 集中度(top 1、top 5、最大板塊)
  • 1f. 板塊輪動曝險(leading 持倉 % / lagging 持倉 %)
  • 1g. Sentiment 健康度(display-only,不進機率;2026-09-11 影子測試無擇時訊號)
  • 1h. Thesis 健康度(從 plan.md + 近期新聞)
  • 1i. Macro state(從 macro-snapshot.json:fed_funds + 30d change / 2s10s + regime / hy_oas + regime + pct_1y / vix + regime / cpi_yoy + trend / regime_tag;agent 缺 1i 會回 INVALID INPUT)

不齊全 → 不能進下一步,必須補齊。

Step 3: 呼叫 probability-honesty-checker subagent
Agent(
  subagent_type: "probability-honesty-checker",
  description: "EV check for [horizon]",
  prompt: """
  執行 6 步強制流程計算當前組合 [horizon] 機率分布與 EV。

  時間窗: [horizon]
  情境主題(如有): [user-specified]

  ## Step 1 輸入資料(8 項齊全):
  [貼上 Step 2 整理好的資料]

  ## 額外 context:
  [plan.md 摘要 / 用戶提到的特定 catalyst / 最近 N 天的事件]

  請按你的 6 步流程輸出:
  1. Input Enumeration(confirm 我給的齊全)
  2. 形狀反推
  3. Conditional Probabilities
  4. Aggregated Scenario Probabilities
  5. EV Calculation
  6. Self-Audit Checklist
  + 給主 skill 的精簡輸出
  """
)
Step 3.4: EV 怎麼用才不算濫用(2026-09-23 用戶 push back「跟 SGOV 比很不公平」,三條修正)
  1. 基準看情境,不是永遠 SGOV。 組合滿編(砍一進一)時,新倉的比較對象是最弱在倉那檔的 EV(機會成本閘門原文),SGOV 只在「另一個選擇真的是現金」(R24 閒置、名額空著)時才是基準。拿 SGOV 判換手決策 = 用錯閘門。
  2. EV 必附誤差帶,差距在帶內不得當裁決依據。 ev_ledger.py stats 2026-09-23:已驗收 15 筆,平均絕對誤差 10.0pp、平均偏差 −8.9pp(歷史偏樂觀)、Brier 技能分數 <0。輸出格式一律「EV −1.7%(±10pp)」;兩個選項 EV 差 <10pp 視為無法區分,裁決改看其他維度(相關度、thesis 成立機率、加權下行、載具)。n≥30 獨立樣本後依實測誤差重訂帶寬。
  3. 有出場閘門的部位另算「規則管理版 EV」。 365d 買抱不動的 EV 會把最壞 regime 整段吃進去;實際部位有 R23 線 / thesis gate / R14 後的機械出場,左尾被截斷。做法:對 thesis 破的 regime 把報酬改為「閘門觸發時的截斷損失」(財報 gate 通常 −15%~−20%)重算 Σ,兩版並列,標明哪一版對應用戶實際的持有方式。

Why: NET 9/23 案——報告以「365d EV −9.6% 輸 SGOV 13.5pp」判不建倉,但 ①當時 18/18 滿編、真正對手是 MYRG;②5.7pp(FSLY)的差距在 10pp 誤差內;③用戶的部位有 10/29 硬閘門,截斷後 EV 約 −5%。用戶「感覺就不成立」是對的:原則沒錯(風險資產期望值須高於無風險利率),錯在用錯基準與把 ±10pp 的數字當精準門檻。

Show full SKILL.md (153 more words)Show less
Step 3.5: EV ledger 事前登錄(強制,agent 輸出後執行)
python3 tools/ev_ledger.py add --ticker PORTFOLIO --slug <主題>-<horizon> \
  --horizon-days <N> --spot <帳戶即時總值> \
  --p-bull XX --p-base XX --p-bear XX --ev-pct <X.XX> \
  --source ev-check --model <本次模型>

機率/EV 直接抄 agent 輸出;spot 用帳戶即時總值(resolve 時對 research/equity-marks.json 最近標記)。到期由 briefing resolve-due 驗收,校準由 /trade-review 讀 stats。

Step 4: 顯示 agent 完整輸出

不刪減、不簡化、不重寫。直接呈現 agent 的 6 步流程 + 精簡輸出。

主 skill 看到的格式:

# EV Check — [horizon]

[Agent 完整 6 步輸出]

---

## ✅ 給用戶的精簡結論

機率分布:樂觀 X% / 基準 X% / 悲觀 X%
EV ([horizon]) = X.XX%
主導因素:[1 句]
Step 5: 用戶 push back 處理

如果用戶質疑「你真的有算嗎」「這是 default 嗎」:

  • 不要辯解、不要重組原數字
  • 重跑 Step 3(重新呼叫 agent,明確要求 audit checklist 全勾)
  • 如果發現原本確實偷懶(例如 sum 沒到 100%、機率是 default mirror、EV 寫質性語言)→ 老實承認 + 顯示新算

何時被其他 skill 呼叫

以下 skill 在輸出 Verdict / 機率分布 / EV / Quick Take 之前 必須 呼叫此 skill(或直接 invoke probability-honesty-checker agent):

  • /briefing(任何 tier)→ Quick Take 前
  • /portfolio-review → Section K 第一性檢查前
  • /stock-analysis → 個股 Verdict 前
  • /todo → 行動清單第一性檢查前

呼叫方式可選:

  • 走 ev-check skill(完整流程,給用戶看的格式)
  • 直接 invoke probability-honesty-checker agent(內部使用,省一層 wrapping)

Output Format

繁體中文。所有數字 explicit。絕不出現:「略偏正」「略偏負」「中性偏多」「應該會」「不確定性高」等質性語言 — 全部換成數字區間或機率。

失敗模式與防呆

Claude 主程序常見偷懶此 skill 阻擋方式
套 30/45/25 defaultAgent Step 2 強制顯示「形狀規則應用」對照表,不對照不能進 Step 3
寫「略偏負」結論Agent Step 5 強制顯式 Σ 計算,數字必須出現
跳過 Step 1 直接給機率Agent 收到不完整 input 回「INVALID INPUT」拒絕計算
Sum ≠ 100%Agent Step 4 顯式 sum check
中點手動偏移Agent Step 5 強制 (max+min)/2 算術平均

© PatrickSUDO, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/ev-check of PatrickSUDO/fadacai-portfolio.

Open the folder on GitHubat commit b34fa31

Compare with similar skills

Ev Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ev Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ev Check this skillPatrickSUDO/fadacai-portfolio142—~1.4kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills8.4k6 repos~3.2kAutomated safety check: NotesApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Stitch to Remotion Walkthrough Videos

    google-labs-code/stitch-skills

    Official

    Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.

    8.4k GitHub starsUsed in 6 repos~3.2k tokens
    Media & CreativeAuto-check: notes
  • MCP Development

    coollabsio/coolify

    A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 1 repo~949 tokens
    Frontend & DesignAuto-check passed

More from PatrickSUDO/fadacai-portfolio

All 10 skills in this repo
  • Portfolio Review

    PatrickSUDO/fadacai-portfolio

    Fetch live brokerage positions and generate a comprehensive portfolio report with sector allocation, P&L analysis, options summary, and risk assessment.

    142 GitHub stars~6.9k tokensUpdated yesterday
    Auto-check passed
  • Event Vol Scan

    PatrickSUDO/fadacai-portfolio

    財報/重大事件(CPI/FOMC)前的末日 buy call 與雙買 straddle 機會掃描。Usage - /event-vol-scan [days] [TICKER ...](預設窗 14 天,掃持倉 + L1 候補 + SPY/QQQ 宏觀事件)

    142 GitHub stars~891 tokensUpdated yesterday
    Auto-check passed
  • MCP Health

    PatrickSUDO/fadacai-portfolio

    Test all MCP server connections and report health status. An agent skill from PatrickSUDO/fadacai-portfolio.

    142 GitHub stars~569 tokensUpdated yesterday
    Auto-check passed
  • Options Strategy

    PatrickSUDO/fadacai-portfolio

    Calculate and compare options strategies (sell put, covered call, LEAPS, naked call) for a given ticker.

    142 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Todo

    PatrickSUDO/fadacai-portfolio

    生成下一個交易日的優先行動清單。當用戶問「明天開盤要做什麼」、「今天要操作什麼」、「給我待辦」、「接下來要做什麼」、「有什麼需要處理」等問題時立刻使用此 skill。也適用於盤中(「現在有什麼要做」)和盤後(「今天還有什麼沒做」)場景。不要等用戶說 /todo 才觸發,只要問的是「下一步行動」的問題就應該用。

    142 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Trade Journal

    PatrickSUDO/fadacai-portfolio

    Record trades, track execution vs plan, and review trade history.

    142 GitHub stars~900 tokensUpdated yesterday
    Auto-check passed

Questions about Ev Check

What does Ev Check do?

強制 first-principles 機率分布 + EV 計算。用於檢查當前組合在指定時間窗的預期報酬,禁止用 default bell shape 或質性語言。Usage - /ev-check [30d|7d|14d] [optional scenario theme]. Ev Check is an agent skill from PatrickSUDO/fadacai-portfolio.

How do I install Ev Check in Claude Code?

Run `npx skills add PatrickSUDO/fadacai-portfolio --skill ev-check -a claude-code`. Or copy the skill folder (.agents/skills/ev-check in PatrickSUDO/fadacai-portfolio) into .claude/skills/ev-check in your project. Claude Code loads it when a task matches its description.

How do I install Ev Check in Codex?

Run `npx skills add PatrickSUDO/fadacai-portfolio --skill ev-check -a codex`. Or copy the skill folder (.agents/skills/ev-check in PatrickSUDO/fadacai-portfolio) into .agents/skills/ev-check in your project. Codex loads it when a task matches its description.

Can I use Ev Check in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PatrickSUDO/fadacai-portfolio --skill ev-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ev-check, .gemini/skills/ev-check, .github/skills/ev-check and .opencode/skills/ev-check in your project.

What does Ev Check need to run?

Going by SKILL.md and its folder, Ev Check needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Ev Check access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ev Check safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ev Check use?

Ev Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ev Check use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ev Check?

Skills that share tags, products or a category with Ev Check: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ev Check?

PatrickSUDO (a GitHub user) maintains it in PatrickSUDO/fadacai-portfolio, which has 142 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.

Source: PatrickSUDO/fadacai-portfolio on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.