一键导入
portfolio-update
Fetches live prices for equities and forex for investment portfolio.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Fetches live prices for equities and forex for investment portfolio.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Build today's mapped ZEP time-log plan from Google Calendar, preview it against ZEP, and enter it through guarded Playwright automation only after explicit approval.
Help users create structured decision matrices by suggesting criteria, options, and weights — output as comparison tables
Backup CLAUDE.md, TASKS.md, and memory/ to a private Git repo using `bash .claude/skills/memory-backup/backup.sh`.
Pull recent Notion Journal entries into memory/journals/YYYY/month_YYYY-MM_text.txt.
Sync work context from external sources, update tasks and memory, and report changes
Process pasted meeting notes, infer context, extract candidate tasks and memory updates, and ask for confirmation before making changes.
| name | portfolio-update |
| description | Fetches live prices for equities and forex for investment portfolio. |
| tools | ["Bash"] |
PORTFOLIO_FILE: Find the equities holdings file (search by name, then ask user):
*investment*portfolio* or *equity*portfolio*Refresh your equities holdings table in PORTFOLIO_FILE by fetching the latest Yahoo Finance prices for each ticker plus MYR/USD forex rate.
PYTHON=./.claude/skills/portfolio-update/equity-price-fetcher.py
python3 $PYTHON "XXX|YYY|ZZZ" # fetches all at once
python3 $PYTHON --forex=USDMYR=X # MYR/USD rate
If PORTFOLIO_FILE doesn't exist, create a template with your tickers:
| Symbol | Shares | Cost Price | Live Price | RM Cost Basis | Live Value (USD) | Live Value (RM)* | Unrealized |
|--------|--------|------------|------------|---------------|------------------|------------------|------------|
Fill in your tickers, shares, and cost prices. Then run the update skill to fetch live prices:
PYTHON=./.claude/skills/portfolio-update/equity-price-fetcher.py
python3 $PYTHON "XXX|YYY|ZZZ" # batch fetch all at once
python3 $PYTHON --forex=USDMYR=X # get MYR/USD rate
PYTHON=./.claude/skills/portfolio-update/equity-price-fetcher.py
python3 $PYTHON XXX --period 5d # latest price
python3 $PYTHON YYY --period 6mo # historical
python3 $PYTHON --forex=USDMYR=X # MYR/USD rate
The holdings table in PORTFOLIO_FILE must be in this table format:
| Symbol | Shares | Cost Price | Live Price | RM Cost Basis | Live Value (USD) | Live Value (RM)* | Unrealized |
|---|---|---|---|---|---|---|---|
| XXX | 10 | $50.00 | $52.30 | RM 2,615 | $523 | RM 2,040 | RM +230 |
| YYY | 5 | $200.00 | $198.50 | RM 993 | $992.5 | RM 3,871 | RM -7.5 |
| ZZZ | 20 | $15.00 | $16.10 | RM 483 | $322 | RM 1,256 | RM +22 |
| Total | RM 4,091 | $1,837.5 | RM 7,167 | RM +244.5 ✅ |
The update script reads this table, fetches live prices for each symbol via the equity-price-fetcher.py in the skill directory, and rewrites the Holdings section with current values (price, RM value, unrealized P/L).