← KeelCONTENT HISTORY

Update to Keel

Snapshot Oct 24, 2026 · 13:41 UTC · version 1.0.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Keel and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Summarise the strategies running on the user's account, read-only: positions, recent fills, drawdown against backtest expectations, and anything errored or stale. It changes nothing; starting or stopping a strategy happens in the Keel web app. Use when the user asks \"how are my strategies doing\", \"what's running\", \"portfolio status\", or asks about several running strategies at once. Not for backtesting a candidate (backtest-and-analyze).\n",
  "included_files": [],
  "name": "portfolio-review",
  "skill_md_contents": "---\nname: portfolio-review\ndescription: |\n  Summarise the strategies running on the user's account, read-only: positions, recent fills, drawdown against backtest expectations, and anything errored or stale. It changes nothing; starting or stopping a strategy happens in the Keel web app. Use when the user asks \"how are my strategies doing\", \"what's running\", \"portfolio status\", or asks about several running strategies at once. Not for backtesting a candidate (backtest-and-analyze).\nreferences:\n  - step: 2\n    topic: \"capability_boundaries\"\n    why: \"per-series freshness and bar-close semantics — what a recorded view can and cannot state\"\n  - step: 3\n    topic: \"trading_domain\"\n    why: \"leverage caps; why Sharpe over a short sample is noise\"\ntools:\n  - keel_live_monitor\n  - keel_app_link\n---\n\n# References\n\nReference topics this workflow cites (keel_help topics):\n\n- Step 2 — `capability_boundaries` — per-series freshness and bar-close semantics — what a recorded view can and cannot state\n- Step 3 — `trading_domain` — leverage caps; why Sharpe over a short sample is noise\n\n# Method\n\nEvery call here reads; none changes a running strategy.\n\n## Step 1 — Enumerate\n\n`keel_live_monitor(view=\"portfolio\")` with no `deployment_id` — the summary\nacross every running strategy (and account, unless the user named one). Read\nthe `freshness` block first: the portfolio view is recorded backend state and\ncan lag the web dashboard.\n\n## Step 2 — Read each strategy the user cares about\n\n- **Positions** — `keel_live_monitor(deployment_id=<id>, view=\"positions\")`,\n  an on-demand exchange snapshot of what one strategy holds now. For several\n  strategies, say when you only have the recorded summary.\n- **Recent fills** — the `trades` view for one strategy, with `limit=20`.\n- **Drawdown** — `view=\"equity\"` or `view=\"stats\"` for one strategy; set its\n  realized drawdown beside the drawdown its backtest showed.\n- **Totals** — account value, realized and unrealized P&L (both, always),\n  funding, fees, running and total strategy counts, from the portfolio view's\n  fields. Do not invent day / week / MTD returns from the summary; fetch a\n  specific view only if asked.\n\n## Step 3 — Flag what needs attention, first\n\n- Errored orders or executions in the last 24 h\n  (`view=\"executions\"`, `limit=5`).\n- Realized drawdown beyond the backtest's drawdown.\n- No rebalance in more than 2× the target interval (stale).\n- Net leverage above the user's stated risk preference (ask if unknown).\n\nErrors before metrics — never inside a metrics wall.\n\n## Step 4 — Report the data\n\nShow the data and name what it shows; recommend nothing unprompted. A\nquestion about starting, stopping or changing a strategy is answered with the\nevidence; the change itself happens in the Keel web app, and\n`keel_app_link` returns the page.\n\n# Decision points\n\n- A running strategy's Sharpe against its backtest Sharpe needs a sample:\n  under ~60 trading days it is noise — say so instead of comparing.\n- \"My main account\" means filter to it; do not roll everything up.\n- Unrealized is not realized; print both, the difference is real.\n\n# Output shape\n\n1. One-sentence summary of what is running (\"4 strategies running on\n   1 account; one has an errored order in the last 24 h\").\n2. Totals from the portfolio view's fields.\n3. Per-strategy table: name × realized P&L × age × status.\n4. Flagged items, if any.\n5. Top-3 positions only if fetched from `positions`; otherwise say not fetched.\n6. `hero_url` for the portfolio dashboard.\n\n# When NOT to use\n\n- Starting, stopping or changing a running strategy → the user does that in\n  the Keel web app (`keel_app_link`).\n- One strategy in depth → `keel_live_monitor(deployment_id,\nview=\"overview\")` and its read-only views; `recover-from-error` if the tools\n  themselves keep failing.\n- A candidate replacement → `backtest-and-analyze`.\n\n# Test prompts\n\n1. \"How are my strategies doing?\"\n2. \"Give me a status across everything that's running.\"\n3. \"What's running right now, and has anything errored?\"\n"
}

SHA-256 of public snapshot: a07c1daa90704a0e1c5b98f9e534dfcaf9176efc1ea5606261e4dc17a635c555