AlphaDesk — Investment Portfolio Daily Analyzer
Hand it a screenshot, CSV, or broker MCP feed. It hands back a 9-section daily report with concrete P0/P1/P2 actions, risk dashboard, and a devil's-advocate review — in under 6 minutes for the standard mode.
Who this is for
You have a brokerage account (FUTU / Moomoo / IBKR / Robinhood / 雪球 / 老虎 / 富途 / etc.). You want a professional second opinion every day without hiring an analyst — concrete reasoning about what to hold, trim, hedge, or ignore, with explicit risk numbers and an explicit devil's-advocate take.
This skill gives Claude the structure to do that consistently — same 9 sections every report, same red-line guardrails, same anti-bloat protections so the framework itself doesn't become a governance pet project.
What you get
▍0 算法准确率回顾 (Did yesterday's call work?)
▍1 Executive Summary (3-sentence top-of-mind)
▍2 Regime + 宏观仪表盘 (HSI / SPY / sector temperature)
▍3 持仓快照 (positions table)
▍4 重仓股深度研究 (1-3 stocks deep, depending on mode)
▍5 推荐标的研究 (only if action triggered)
▍6 Smart Money + 资金流 (institutional vs retail flow)
▍7 风控仪表盘 (concentration / leverage / risk level)
▍8 P0 / P1 / P2 执行策略 (with exact qty + reason + 24h enforcement)
▍9 事件日历 + 反向推演 (calendar + Devil's Advocate)
Three modes — picked by your phrasing
| Mode | Triggers | Tool calls | Time | When to use |
|---|---|---|---|---|
| Quick | "快速日报" / "晨报" / "给我看看" | ≤10 | 1-2 min | Daily morning glance |
| Standard (default) | "今日日报" / "详细" / unspecified | 18-30 | 4-6 min | End-of-day comprehensive |
| Deep | "深度日报" / "重仓深度" / "财报深度" / "月度复盘" | 30-50 | 10-15 min | Earnings / major news / monthly review |
Three ways to feed your data — pick one
Option A — Screenshot (zero setup, fastest)
Send Claude your broker app's holdings screenshot. Claude reads it, structures the positions, and runs the 9-section analysis. Best for first-time use.
Option B — CSV export (most reproducible)
Most brokers and trackers (雪球, 富途, IBKR Flex Query, Robinhood export)
produce a CSV with at minimum: code, name, qty, avg_cost, market_value.
Drop it at $ALPHADESK_ROOT/personal-holdings.csv and Claude will pick it up
each session.
Option C — Broker MCP (live, automated)
If your broker exposes an MCP (FUTU OpenD, Moomoo, others), connect it once
and Claude pulls live positions / cash / leverage every session. See
docs/data-sources.md.
You do NOT need to choose all three or fill out 7 config files. One data source is enough. The advanced templates in
templates/advanced/are for users who actually have multiple brokers + cross-account reconciliation needs — most users skip them.
Quick start (single-account, 5 minutes)
# 1. Pick a project root
export ALPHADESK_ROOT="$HOME/Desktop/my-portfolio"
mkdir -p "$ALPHADESK_ROOT" && cd "$ALPHADESK_ROOT"
# 2. Install minimal scaffolding
cp -r ~/Desktop/alphadesk-skill/templates/basic/* "$ALPHADESK_ROOT/"
cp -r ~/Desktop/alphadesk-skill/tools "$ALPHADESK_ROOT/"
# 3. Initialize git baseline (so you can roll back any decision)
git init -b main && git add -A && git commit -m "baseline" && git tag baseline
# 4. Drop in your data — pick ONE:
# A) screenshot.png in the directory
# B) personal-holdings.csv in the directory
# C) broker MCP (separate setup)
# 5. Open Claude, say:
# "今日日报" (Standard mode)
# or paste your screenshot
Claude will run the session-start protocol automatically and generate
daily-reports/YYYY-MM/daily_YYYYMMDD.html.
Hard constraints (red lines)
These are not made-up. Each comes from a real failure in the private
predecessor. See docs/lessons-learned.md for the
case files.
| Red line | Why it exists |
|---|---|
| Every portfolio-level metric declares its data source | Concentration / leverage / VaR computed from broker view ≠ from personal CSV. Mixing them produces fictional numbers. |
| Report gate runs BEFORE HTML write, not after | A gate that runs after the file exists is theater. Schema fail = abort, not "fix later". |
| P0 decisions have 24h forced-execution rule | Either execute (real or sim) or explicitly cancel. Otherwise next day's report banner turns red. Prevents "P0 monitoring" sham. |
| No new framework layer without ≥3 evidence samples | The single biggest failure mode: each "report bug" triggers a new red-line / new tool / new protocol. After 8 months it's 64% governance. Don't. |
| Session breadcrumbs on disk, not in chat | Conversation summaries lie. tools/sstate.py writes a journal that survives context compaction, new chats, even Claude restarts. |
| No emotional language in reports | Words like "便宜" / "贵" / "still losing money" don't belong. State the number, state the rule, state the action. |
Session-start protocol (Claude runs this automatically)
# Disk-truth check (before any analysis)
python3 tools/sstate.py show # what was just done?
python3 tools/sstate.py inventory # what reports exist today?
# Phase progress (only if you're tracking evidence-first)
python3 tools/evidence_log.py status
This recovers state even if your previous chat ended hours ago.
Sub-documents
| Doc | What it covers |
|---|---|
README.md | Full user guide: install → daily use → customization |
docs/data-sources.md | Screenshot / CSV / MCP — how to plug in your data |
docs/workflow.md | The 9 sections in detail + report_gate flow |
docs/architecture.md | Pipeline (data → reconciliation → gate → render → log) |
docs/governance.md | Why this skill stays small + anti-bloat self-check |
docs/lessons-learned.md | Failure cases that drove each red line |
docs/advanced.md | Multi-account reconciliation, friend-held collateral isolation, three-book contract |
When NOT to use this
- You want a stock-picking bot — this is for analysis, not auto-trading. Final decision is yours; this skill never places real orders without your explicit confirmation.
- You want backtesting / quant research — use
vectorbt/backtrader/qlib. This is daily tracking + decision support. - You only check holdings monthly — overkill. Use a spreadsheet.
- You want institutional compliance theater (4-eyes / IPS / Brinson / TCA)
— deliberately removed. Single-user mode = those produce paperwork, not
alpha. See
docs/lessons-learned.md§4.
Triggers — when Claude should auto-load this
Auto-load on:
- 日报 / 持仓日报 / portfolio report / daily report
- 持仓分析 / 持仓快照 / holdings analysis
- 重仓深度 / 月度复盘 / earnings deep-dive
- 卖一半评估 / 加仓评估 / P0 决策 / position sizing
- 风控仪表盘 / 集中度 / leverage / 止损线
- Smart Money / 资金流向 / institutional flow
- Devil's Advocate / 反向推演 / 反方论证
Skip if:
- Pure single-stock fundamental research → use a research skill
- Trade execution / automation → not this skill's job
Version
AlphaDesk v1.0 (2026-05-28). Distilled from a private predecessor
that ran 8 months / 11 versions / 64% governance overhead. The cuts and the
reasons are in docs/lessons-learned.md.