[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7D9PFMP9GSVSWRQP9A8RTCH":3,"skill-same:01M7D9PFMP9GSVSWRQP9A8RTCH":49},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":14,"repositoryHtmlUrl":31,"repositoryHomepageUrl":6,"ownerHtmlUrl":32,"ownerBlogUrl":33,"ownerDescription":6,"updatedAt":34,"install":35,"resources":48},"01M7D9PFMP9GSVSWRQP9A8RTCH","paradex-trade-analyst",null,"Analysis of a Paradex trade the user ALREADY MADE, against live Paradex market data. Invoked as `\u002Fparadex_trade_analyst \u003Cfill_id> \u003Cmarket side size price>`, which the trade history sends when a user asks to analyse a fill. Resolves the fill with the paradex-api skill's MCP tools, benchmarks the fill price against the mark and the book at the time, reports the position the fill left behind, and states funding paid or received over the holding period. Use when the user asks to analyse, benchmark or get market colour on a Paradex fill, or pastes Paradex fill JSON. A structure the user is considering rather than one they traded belongs to paradex-structure-analyst. Paradigm RFQ blocks belong to paradigm-block-analyst, and a block from the Option Monitor to paradex-block-analyst.","tradeparadigm\u002Fdt-apps","tradeparadigm","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72768132?v=4","01M7D9KY0PDJW6NWY8P936YNEX","Paradigm","01M7D9KY1BYPTKX9MGQHZKW4BP",0,"MIT","https:\u002F\u002Fgithub.com\u002Ftradeparadigm\u002Fdt-apps\u002Fblob\u002Fmain\u002Fapps\u002Fparadex\u002Fskills\u002Fparadex-trade-analyst\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: paradex-trade-analyst\ndescription: >\n  Analysis of a Paradex trade the user ALREADY MADE, against live Paradex\n  market data. Invoked as `\u002Fparadex_trade_analyst \u003Cfill_id> \u003Cmarket side size price>`,\n  which the trade history sends when a user asks to analyse a fill. Resolves\n  the fill with the paradex-api skill's MCP tools, benchmarks the fill price against the mark and the book\n  at the time, reports the position the fill left behind, and states funding\n  paid or received over the holding period. Use when the user asks to analyse,\n  benchmark or get market colour on a Paradex fill, or pastes Paradex fill\n  JSON. A structure the user is\n  considering rather than one they traded belongs to paradex-structure-analyst.\n  Paradigm RFQ blocks belong to paradigm-block-analyst, and a block from the\n  Option Monitor to paradex-block-analyst.\ncompatibility: >\n  Needs the paradex-api skill's `paradex__*` tools, which means a Paradex\n  credential enrolled. Names every read that failed.\nmetadata:\n  author: tradeparadigm\n  version: \"1.0\"\n---\n\n# Paradex trade analyst\n\nBenchmarks one filled Paradex trade against the market around it.\n\n## Input\n\n`\u002Fparadex_trade_analyst \u003Cfill_id> \u003Cmarket side size price>`. The first token\nis the fill id and is what resolves the trade. Everything after it is the\nlabel the user saw in the trade history, useful for reading back but never\nauthoritative.\n\nA message may also carry hidden context holding the source fills as JSON.\nWhen it does, those rows are the fill and no lookup is needed.\n\n## Step 1 — resolve the fill\n\nWith hidden context, use it. That is the normal path: the trade history sends\nthe whole row.\n\nWithout it, search for the fill with\n`paradex__paradex_account_fills(market_id, start_unix_ms, end_unix_ms)`, with\n`market_id` set to the label's market. There is no fill-id filter and no\nsingle-fill tool.\n\nStart with the last 24 hours and step the window back a day at a time.\nThe tool returns one page of at most 100 fills and no cursor. When a window\nreturns 100 rows with no match, halve it and search each half, until every\nwindow returns fewer than 100. Compare each row's `id` against the fill id as\nstrings. Stop at the exact match, and stop after ten days without one.\n\nReport and stop when no row matches. Never read a fill from the label, and\nnever accept a row whose `id` differs from the one asked for.\n\n## Step 2 — value it\n\n- Compare the fill price against the mark.\n  `paradex__paradex_market_summaries` is a live snapshot, so it answers for a\n  recent fill and not for an old one. For anything older, read\n  `paradex__paradex_klines` around the fill's timestamp and say which of the\n  two the comparison came from.\n- Compare against the book at that moment where the data reaches back far\n  enough, and say so when it does not.\n- State the difference in basis points of the mark, signed against the side:\n  a buy above the mark and a sell below it both read as paying away.\n\n## Step 3 — the position it left\n\nAggregate the fills of that market around the trade to say what position the\nuser held after it, and at what average entry. State it in contracts and in\nnotional.\n\n## Step 4 — funding\n\nSum funding over the holding period for that market and state it against the\nrealised move, so a profitable-looking hold that paid it all away in funding\nreads as one.\n\n## Step 5 — draw the payoff\n\nAfter the numbers, render the payoff so the user sees the shape of the position:\n\n```json\n{\n  \"id\": \"payoff-1\",\n  \"layout\": \"stack\",\n  \"children\": [\n    {\n      \"component\": \"options_payoff\",\n      \"props\": {\n        \"product\": \"BTC\",\n        \"spot\": 83356.2,\n        \"legs\": [\n          {\"optionType\": \"CALL\", \"side\": \"BUY\", \"strike\": 86000,\n           \"size\": 1, \"price\": 1234.5,\n           \"symbol\": \"BTC-USD-3OCT26-86000-C\"}\n        ]\n      }\n    }\n  ]\n}\n```\n\nWrite that object as the last thing in your reply, with your prose above it.\nThe terminal reads the outermost `{...}` of a message and renders it when it\ncarries `layout` and `children`, keeping the prose as the text of the bubble.\nAn object without both keys is not a spec and shows as raw JSON, which is what\na bare `{\"mode\": ..., \"component\": ..., \"props\": ...}` does.\n\nOne leg per fill. `optionType` and `strike` come from the market symbol,\n`side` and `size` from the fill, and `price` is the fill price as the premium\nper contract, always positive. `spot` is `underlying_price` from the\n`paradex__paradex_market_summaries` read of Step 2, which is the underlying's price now and\nnot the option's own mark. Skip this step when that read failed.\n\nSend the legs and nothing else. The chart works out the curve, the max loss,\nthe breakeven and the max profit from them, so a payoff number you calculated\nyourself has no field to go in and must not appear in the prose either.\n\nSkip this step when the host draws nothing back. Say the numbers either way.\n\n## Output\n\nLead with the numbers. Fill against mark in basis points, size, notional, the\nresulting position, then funding. Say what was unavailable rather than\nfilling it in.\n\nNever fabricate a mark, a book level or a funding number. A missing venue\nread is a missing line, and the line says which read failed.\n","# Paradex trade analyst\n\nBenchmarks one filled Paradex trade against the market around it.\n\n## Input\n\n`\u002Fparadex_trade_analyst \u003Cfill_id> \u003Cmarket side size price>`. The first token\nis the fill id and is what resolves the trade. Everything after it is the\nlabel the user saw in the trade history, useful for reading back but never\nauthoritative.\n\nA message may also carry hidden context holding the source fills as JSON.\nWhen it does, those rows are the fill and no lookup is needed.\n\n## Step 1 — resolve the fill\n\nWith hidden context, use it. That is the normal path: the trade history sends\nthe whole row.\n\nWithout it, search for the fill with\n`paradex__paradex_account_fills(market_id, start_unix_ms, end_unix_ms)`, with\n`market_id` set to the label's market. There is no fill-id filter and no\nsingle-fill tool.\n\nStart with the last 24 hours and step the window back a day at a time.\nThe tool returns one page of at most 100 fills and no cursor. When a window\nreturns 100 rows with no match, halve it and search each half, until every\nwindow returns fewer than 100. Compare each row's `id` against the fill id as\nstrings. Stop at the exact match, and stop after ten days without one.\n\nReport and stop when no row matches. Never read a fill from the label, and\nnever accept a row whose `id` differs from the one asked for.\n\n## Step 2 — value it\n\n- Compare the fill price against the mark.\n  `paradex__paradex_market_summaries` is a live snapshot, so it answers for a\n  recent fill and not for an old one. For anything older, read\n  `paradex__paradex_klines` around the fill's timestamp and say which of the\n  two the comparison came from.\n- Compare against the book at that moment where the data reaches back far\n  enough, and say so when it does not.\n- State the difference in basis points of the mark, signed against the side:\n  a buy above the mark and a sell below it both read as paying away.\n\n## Step 3 — the position it left\n\nAggregate the fills of that market around the trade to say what position the\nuser held after it, and at what average entry. State it in contracts and in\nnotional.\n\n## Step 4 — funding\n\nSum funding over the holding period for that market and state it against the\nrealised move, so a profitable-looking hold that paid it all away in funding\nreads as one.\n\n## Step 5 — draw the payoff\n\nAfter the numbers, render the payoff so the user sees the shape of the position:\n\n```json\n{\n  \"id\": \"payoff-1\",\n  \"layout\": \"stack\",\n  \"children\": [\n    {\n      \"component\": \"options_payoff\",\n      \"props\": {\n        \"product\": \"BTC\",\n        \"spot\": 83356.2,\n        \"legs\": [\n          {\"optionType\": \"CALL\", \"side\": \"BUY\", \"strike\": 86000,\n           \"size\": 1, \"price\": 1234.5,\n           \"symbol\": \"BTC-USD-3OCT26-86000-C\"}\n        ]\n      }\n    }\n  ]\n}\n```\n\nWrite that object as the last thing in your reply, with your prose above it.\nThe terminal reads the outermost `{...}` of a message and renders it when it\ncarries `layout` and `children`, keeping the prose as the text of the bubble.\nAn object without both keys is not a spec and shows as raw JSON, which is what\na bare `{\"mode\": ..., \"component\": ..., \"props\": ...}` does.\n\nOne leg per fill. `optionType` and `strike` come from the market symbol,\n`side` and `size` from the fill, and `price` is the fill price as the premium\nper contract, always positive. `spot` is `underlying_price` from the\n`paradex__paradex_market_summaries` read of Step 2, which is the underlying's price now and\nnot the option's own mark. Skip this step when that read failed.\n\nSend the legs and nothing else. The chart works out the curve, the max loss,\nthe breakeven and the max profit from them, so a payoff number you calculated\nyourself has no field to go in and must not appear in the prose either.\n\nSkip this step when the host draws nothing back. Say the numbers either way.\n\n## Output\n\nLead with the numbers. Fill against mark in basis points, size, notional, the\nresulting position, then funding. Say what was unavailable rather than\nfilling it in.\n\nNever fabricate a mark, a book level or a funding number. A missing venue\nread is a missing line, and the line says which read failed.\n",{"name":5,"metadata":24,"description":26,"compatibility":27},{"author":9,"version":25},"1.0","Analysis of a Paradex trade the user ALREADY MADE, against live Paradex market data. Invoked as `\u002Fparadex_trade_analyst \u003Cfill_id> \u003Cmarket side size price>`, which the trade history sends when a user asks to analyse a fill. Resolves the fill with the paradex-api skill's MCP tools, benchmarks the fill price against the mark and the book at the time, reports the position the fill left behind, and states funding paid or received over the holding period. Use when the user asks to analyse, benchmark or get market colour on a Paradex fill, or pastes Paradex fill JSON. A structure the user is considering rather than one they traded belongs to paradex-structure-analyst. Paradigm RFQ blocks belong to paradigm-block-analyst, and a block from the Option Monitor to paradex-block-analyst.\n","Needs the paradex-api skill's `paradex__*` tools, which means a Paradex credential enrolled. Names every read that failed.\n","main","4befefc366f86a32c20711cf3798aaf13df1cd59","apps\u002Fparadex\u002Fskills\u002Fparadex-trade-analyst","https:\u002F\u002Fgithub.com\u002Ftradeparadigm\u002Fdt-apps","https:\u002F\u002Fgithub.com\u002Ftradeparadigm","https:\u002F\u002Fparadigm.co\u002F","2026-11-13 17:14:22",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add tradeparadigm\u002Fdt-apps --skill paradex-trade-analyst",{"tool":41,"command":42},"bunx","bunx skills add tradeparadigm\u002Fdt-apps --skill paradex-trade-analyst",{"tool":44,"command":45},"pnpm","pnpm dlx skills add tradeparadigm\u002Fdt-apps --skill paradex-trade-analyst","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftradeparadigm\u002Fdt-apps\u002Fblob\u002Fmain\u002Fapps\u002Fparadex\u002Fskills\u002Fparadex-trade-analyst\u002FSKILL.md",true,[],[50,57,64,71,78,85],{"skillNo":51,"name":52,"nameZh":6,"description":53,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":54,"categories":55,"keywords":56,"publishedAt":19},"01M7D9RW0ZFXNH3MCGZE2B9WHY","example-api","A skill body that exists so the fixture is a complete app. It teaches nothing and is never published.","https:\u002F\u002Fgithub.com\u002Ftradeparadigm\u002Fdt-apps\u002Fblob\u002Fmain\u002Fscripts\u002Ftestdata\u002Fapps\u002Fexample\u002Fskills\u002Fexample-api\u002FSKILL.md",[],[],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":19},"01M7D9RN7GJCJR5QA2ZCE4MPTH","telegram-bot","Send messages, photos and files to Telegram through the user's own bot, using a bot token held by the DIME credential proxy. Covers finding the chats the bot can reach, posting to a private chat, group or channel, editing and deleting what it sent, and sending from a data feed. Use for ANY request to message, notify or alert the user on Telegram, \"send this to my Telegram\", \"post alerts to my channel\", or a 403 from the credential proxy on api.telegram.org.","https:\u002F\u002Fgithub.com\u002Ftradeparadigm\u002Fdt-apps\u002Fblob\u002Fmain\u002Fapps\u002Ftelegram\u002Fskills\u002Ftelegram-bot\u002FSKILL.md",[],[],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":19},"01M7D9R7K7RPTJ4T7DZRHXD156","paradigm-rfq-trader","Trigger institutional block trades via Paradigm's DRFQv2 flow. The workflow is venue-agnostic — resolve instruments, build the RFQ \u002F order payload, benchmark, run a confirmation gate, submit, verify settlement. Per-venue specifics (fair-value sources, naming conventions, edge syntax, settlement checks) live in references\u002Fvenues.md. In scope today: PRDX (Paradex, primary focus) and DBT (Deribit). Adding more DRFQv2 venues is a references\u002Fvenues.md edit, not a skill-body change. Covers takers (build, benchmark, cross) and makers (poll, price, manage). Every state-changing action goes through an explicit confirmation gate. Needs both Paradigm credentials enrolled. Use when the user asks to \"send a Paradigm block RFQ\", \"block-trade X BTC\", \"send a BTC straddle on Paradex \u002F Deribit\", \"quote rfq_X\", \"hit the best bid\", \"cancel rfq_X\". Does NOT cover pricing a structure without trading (its legs' current marks are paradigm-data-discovery's), small central-order-book trades, post-trade analysis (paradigm-block-analyst), historical tape (paradigm-data-discovery).","https:\u002F\u002Fgithub.com\u002Ftradeparadigm\u002Fdt-apps\u002Fblob\u002Fmain\u002Fapps\u002Fparadigm\u002Fskills\u002Fparadigm-rfq-trader\u002FSKILL.md",[],[],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":19},"01M7D9QV6WFQDW717AXTW7GJKE","paradigm-options-recap","Options market recap for a requested or default window, invoked via \u002Frecap. Parses \"\u002Frecap [asset] [options] [window]\" (e.g. \"\u002Frecap btc options 8h\") and builds the fixed four-section recap — Snapshot, Biggest Print, Block Flow, Vol Surface — from bounded raw exchange venue files and source tapes, never from Dime hot files, read with the pod's AWS access. Use when the user types \u002Frecap or asks for a market recap, an options flow summary, \"what happened in BTC options\" or \"last Xh of flow\". A single question is not a recap: the biggest print across venues is paradigm-data-discovery's (paradigm-api reads only Paradigm's own tape), and the vol surface, one IV or one venue's data is paradigm-data-discovery's, as are dataset inventory, schema and historical lookups. The output format is fixed — always the same four sections in the same order.","https:\u002F\u002Fgithub.com\u002Ftradeparadigm\u002Fdt-apps\u002Fblob\u002Fmain\u002Fapps\u002Fparadigm\u002Fskills\u002Fparadigm-options-recap\u002FSKILL.md",[],[],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":19},"01M7D9QJYMTHRTDVJFW3AC0HDN","paradigm-data-discovery","Catalog and query launcher for raw market data available to Dime in s3:\u002F\u002Fdt-exchange-venue-data, s3:\u002F\u002Fdt-paradigm-data, and s3:\u002F\u002Fdt-paradex-data, read with the pod's AWS access. Use for data inventory, coverage, schema and historical analysis, for current venue market data (marks, IV, greeks, OI, funding, spot) on Deribit, OKX, Bybit and Bullish, and for recent block trades when the user has no Paradigm credentials enrolled (with them, paradigm-api reads the live tape). Explains the per-venue raw files and lets the model choose the bounded reads needed for the question. Does not cover account state, positions, vaults, or order placement.","https:\u002F\u002Fgithub.com\u002Ftradeparadigm\u002Fdt-apps\u002Fblob\u002Fmain\u002Fapps\u002Fparadigm\u002Fskills\u002Fparadigm-data-discovery\u002FSKILL.md",[],[],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":19},"01M7D9Q3F60BDBMC8PEGH1VBZG","paradigm-block-analyst","Cross-venue analysis of Paradigm RFQ block trades using live market data from Deribit, OKX, and Bybit. Invoked as `\u002Fanalyze \u003Crfq_id> \u003Crfq description>`: resolves the rfq_id by searching the Paradigm trade tape via the paradigm-data-discovery skill (the daily execution partitions, keyed by RFQ_ID) for the cleared-block record, then fetches live marks, IVs, and greeks per venue, computes net greeks for multi-leg structures, benchmarks the fill vs mark, reports how much of the structure traded over 24h \u002F 7d \u002F 30d and where else it printed, reads whether the flow moved the vol surface, and outputs a concise analysis. Use when the user runs `\u002Fanalyze \u003Crfq_id> ...`, pastes a Paradigm block trade JSON, or asks to analyze, benchmark, or get market color on a Paradigm RFQ execution. Covers outright calls\u002Fputs (CL\u002FPL), strangles (SN), straddles (ST), butterflies (BF), condors (CO), calendars (CA), risk reversals (RR), covered calls, and custom multi-leg combos (CM). Also handles perp combos. Reads the Paradigm trade tape from S3 with the pod's AWS access.","https:\u002F\u002Fgithub.com\u002Ftradeparadigm\u002Fdt-apps\u002Fblob\u002Fmain\u002Fapps\u002Fparadigm\u002Fskills\u002Fparadigm-block-analyst\u002FSKILL.md",[],[]]