# Portfolio Pulse

> Weekly check-up on the user's saved holdings and profile, with price trend context, macro readings, ETF look-through, and recent company news for held names. Use when the user wants a standing portfolio-aware pulse without re-explaining holdings.

- Skill: `llmquant/portfolio-pulse` (Agent Skill)
- Install (CLI): `npx skillmds@latest add llmquant/portfolio-pulse`
- Raw SKILL.md: https://api.skillmd.com/api/skills/llmquant/portfolio-pulse/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: llmquant (https://skillmd.com/u/llmquant)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/llmquant/portfolio-pulse

---


# Portfolio Pulse

Runs a weekly check-up against the user's own saved holdings and financial
profile. It adds trend context, macro context, ETF look-through, and company
news for held names.

This skill is orchestration only. For analysis method, install
[`LLMQuant/skills`](https://github.com/LLMQuant/skills).

## Model baseline

Use DeepSeek as the default Hermes model. The default weekly pulse should be
short enough for DeepSeek V4 Flash.

## Data boundary

`personal_holdings` and `personal_profile` are read-only tools. They return
what the user saved in LLMQuant Dashboard -> Profile. This skill never writes
portfolio data and never connects to brokerage accounts.

## What it does

1. Pull saved holdings and profile.
2. Add recent trend context for held tickers.
3. Add ETF summary context for held ETFs.
4. Add portfolio-relevant macro readings.
5. Add recent company news for held tickers.

## MCP tools used

| Tool | Purpose | Credit / call |
|---|---|---|
| `personal_holdings` | User-saved positions | 0 |
| `personal_profile` | User-saved financial background | 0 |
| `equity_historical_prices` | Daily trend context for held tickers | 0 |
| `etf_lookup` | ETF identity and top holdings summary | 0 |
| `macro_indicator_snapshot` | Portfolio-relevant macro readings | 0 |
| `news_browse` | Recent company news for held tickers | 2 |
| `etf_holdings` | Optional full ETF holdings look-through | 1 |
| `sec_filing_read` | Optional filing deep dive for one holding | 1 |

## Cron

```bash
hermes cron create "0 19 * * 0" "Run portfolio-pulse with my saved holdings/profile, trend context, macro context, ETF look-through, and recent company news. No advice or recommendations." \
  --skill portfolio-pulse \
  --name "portfolio-pulse" \
  --deliver telegram
```

On some Hermes versions (as of v0.18.x), cron evaluates in host-local time.
Confirm next-run time after scheduling.

## Cost of watching

Keep runs lean: check remaining credits before heavy calls, prefer a small
set of held names, and skip optional ETF look-through and filing deep dives
when credits are low. Most of this skill's tools are read-only and free.

## Output contract

Every pulse should include:

- holdings count and as-of source;
- top price moves among held names;
- recent company news for held names, or "no recent company news found";
- macro context that could matter to the portfolio;
- no buy/sell/hold recommendation;
- credits used and remaining credits if available.

## Customize

- Cadence: weekly by default; daily is affordable but may be too noisy.
- News scope: cap held-name news to the top 5 positions unless the user asks
  for broader coverage.
- Deep dives: turn on `etf_holdings` only for ETFs where the summary is not
  enough; turn on `sec_filing_read` only for a specific flagged risk.
- Scope: this skill is for saved holdings. Watchlist-only names belong in
  `morning-brief` or `earnings-watch`.

