{"id":81165,"plugin_id":"plugin_asdk_app_6ad19721a54c81919eeb84fd352caaed","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-04T18:11:40.280Z","digest":"9958a1c3a3d956e5b45b5fc51d5b3357df24b5335f36eef43a9271029a8b6091","against":null,"payload":{"description":"Daily macro market overview with top assets, prices, volume, and sentiment","included_files":[],"name":"briefing","skill_md_contents":"---\nname: briefing\ndescription: \"Daily macro market overview with top assets, prices, volume, and sentiment\"\n---\n\n## OpenAI connection notes\n\nTool identifiers below are raw operation names. The host may add a namespace;\nuse the matching advertised Global MCP tool. Resolve `<resolved-package-root>`\nto this plugin's installed directory before using paths. Workflow names identify\npackaged skills; they are not literal Claude slash commands.\n\nOriginal procedure tool scope: `pricing___get_candles`, `pricing___get_latest_market_caps`, `pricing___get_latest_prices`, `news___getDailySummaries`, `prediction-markets___GetMarketRecap`, `prediction-markets___GetPredictionMarkets`.\n\n# briefing workflow\n\n> See [CONNECTORS.md](../../CONNECTORS.md) for tool details.\n\n## Usage\n\nbriefing workflow\n\n## Flow\n\n0. **Read preferences (optional)**: if `<resolved-package-root>/settings/preferences.local.md` exists, read `Top N` and use it as the market-cap limit in steps 1-2 below. Rules:\n   - No file, or key absent -> default **20**.\n   - Non-numeric / unparseable value (e.g. `abc`) -> fall back to **20** (do not error).\n   - Value above **50** -> clamp to **50** (the documented max) and note the clamp to the user.\n   - `Top N` is the only preference key currently consumed; other keys in the example file are placeholders (not yet wired).\n\n1. **Top N by market cap (current)** (always pass `order:\"DESC\"` explicitly):\n   `pricing___get_latest_market_caps({ limit: {TopN}, order: \"DESC\" })` \n2. **Top N by market cap (24h ago)** - for cap delta:\n   `pricing___get_latest_market_caps({ limit: {TopN}, order: \"DESC\", asOf: \"{24h_ago_ISO}\" })` \n3. **Current prices** (realtime): `pricing___get_latest_prices({ sourceId: 2000, pairCodes: top20_pairs })`  (sourceId 2000 = Lukka Prime Intraday)\n4. **24h candles for top 5**: Per asset, `pricing___get_candles({ sourceId: 4002, pairCode, interval: 86400000, from: 24h_ago, to: now })`  (sourceId 4002 = Coinbase Pro, schema default)\n   - Extract `openPrice`/`closePrice` for 24h change: `(close - open) / open * 100`\n   - Extract `volume` for 24h volume\n5. **Prediction market sentiment**: `prediction-markets___GetPredictionMarkets({ search: \"bitcoin\", sort_by: \"total_volume_usd_1hr\", sort_dir: \"desc\", limit: \"5\" })` \n6. **Market recap**: `prediction-markets___GetMarketRecap({})` \n7. **News Digest** (today's or most recent): `news___getDailySummaries({ limit: 1 })` \n   - If today is Monday, summary covers Saturday + Sunday (weekend digest).\n   - Summaries available from 2026-04-08.\n\n> Implied rates and volatility surface are available via `Lukka-Analytics` server. Optionally include if user requests rate/vol context.\n\n## Output\n\n### Market Briefing - {date}\n\n**Top 5 by Market Cap** (full analytics)\n\n| # | Asset | Price (USD) | 24h Change | 24h Volume | Market Cap | Cap Change 24h |\n|---|-------|------------|------------|------------|------------|----------------|\n| 1 | XBT | $XX,XXX | +X.X% | $X.XB | $X.XT | +X.X% |\n\n- 24h Change = from candles `(closePrice - openPrice) / openPrice * 100`\n- 24h Volume = from candles `volume` field\n- Cap Change 24h = `(current_cap - cap_24h_ago) / cap_24h_ago * 100` (from step 1 vs step 2)\n\n**Rank 6-20** (snapshot only - no candle data fetched for these)\n\n| # | Asset | Price (USD) | Market Cap |\n|---|-------|------------|------------|\n| 6 | ... | $X,XXX | $X.XB |\n\n**24h Highlights** (derived from top 5 candles only)\n- Top gainer: {asset} (+X.X%)\n- Top loser: {asset} (-X.X%)\n- Volume leader: {asset} ($X.XB)\n\n**Market Sentiment** (Prediction Markets)\n- {event}: {probability}%\n  - Probability = `yes.latest_price * 100` for binary markets\n\n**News Digest**\n- Overall sentiment: {overallSentiment}\n- Articles today: {articleCount}\n- Top headlines: {notableEvents[0..2] titles}\n- Key themes: {keyThemes[0..2]}\n\n## Pagination\n\n`get_latest_market_caps` returns up to `limit` rows per call. If you need beyond top 100, use cursor-based pagination: pass `cursor` from previous response's `nextCursor` field. For this command, limit:20 is sufficient.\n\n## Scheduling\n\nIdeal as a daily command at 8:00 AM. Re-run manually, or drive it on a recurring schedule with whatever task-scheduling mechanism your ChatGPT Work or Codex setup provides.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}