con un clic
portfolio-update
Fetches live prices for equities and forex for investment portfolio.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Fetches live prices for equities and forex for investment portfolio.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
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.
Basado en la clasificación ocupacional SOC
| 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).