← KeelCONTENT HISTORY
WHAT CHANGED
added
Update to Keel
Snapshot Oct 27, 2026 · 00:58 UTC · version 1.0.0
Package or technical metadata updated
Package or technical metadata updated
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Save Keel and check future changes in Following.
Up to 10 plugins free · no card required.
All fields and original values.
Is v2 template
Before
Oct 24, 2026 · 13:41 UTC
Not present
After
Oct 27, 2026 · 00:58 UTC
false
Compare saved observations
Download comparison JSONFull technical diff · 1 changed fields
added /is_v2_template
BEFORE
Field was absent
AFTER
false
Full snapshot data
{
"canonical_app_id": "asdk_app_6abdbe58e6a481919a03773b4c124fe0",
"connector_id": "asdk_app_6abdbe58e6a481919a03773b4c124fe0",
"created_at": "2026-10-02T02:02:25.813222Z",
"discoverability": "LISTED",
"id": "plugin_asdk_app_6abdbe58e6a481919a03773b4c124fe0",
"is_template": false,
"is_template_instance": false,
"is_v2_template": false,
"name": "keel",
"release": {
"app_ids": [
"asdk_app_6abdbe58e6a481919a03773b4c124fe0"
],
"app_manifest": {
"apps": {
"keel": {
"id": "asdk_app_6abdbe58e6a481919a03773b4c124fe0",
"required": true
}
}
},
"app_templates": [],
"description": "Keel turns your ideas into systematic strategies for Hyperliquid crypto perpetual futures (perps). Connect it to ChatGPT, describe a strategy, and ChatGPT builds it from Keel's strategy components, backtests it on real Hyperliquid history with fees and slippage, and explains the results.\n\nWith Keel in ChatGPT you can:\n- Build and edit strategies by describing them\n- Backtest them and compare runs side by side\n- Start from a verified strategy in the Keel library\n- Keep notes on strategies and share a result by link\n- See how the strategies you run in Keel are doing\n\nEverything you create stays in your Keel workspace. Nothing is public unless you share it.\n\nKeel in ChatGPT is for strategy research and backtesting. It does not place trades, submit orders, move funds or connect wallets — no order executes inside ChatGPT. What it writes is limited to your own Keel workspace: strategy drafts, backtest runs, notes and share links. Running a strategy with real capital is set up and approved by you in the Keel web app, outside ChatGPT. Backtests are simulations on historical data, not predictions or financial advice; trading perpetual futures carries a substantial risk of loss.\n\nKeel measures the strategies you design. It does not give investment advice or recommendations, and backtest results do not predict future returns.",
"display_name": "Keel",
"id": "pluginrel_72b0ae8b1f148191bdcea5d6ce685dce",
"interface": {
"brand_color": null,
"capabilities": [],
"category": "Finance",
"composer_icon_dark_url": null,
"composer_icon_url": "https://files.openai.com/content?id=file_0000000076a882309711546e0da2c0f7",
"default_prompt": "Build a momentum strategy across the top 20 Hyperliquid perps and backtest it",
"default_prompts": [
"Build a momentum strategy across the top 20 Hyperliquid perps and backtest it",
"Start from a strategy in the Keel library and run it on the top 10 perps",
"Compare my last two backtests. What changed?"
],
"developer_name": "Keel Software, Inc.",
"logo_url": "https://files.openai.com/content?id=file_00000000d93082308b598ef8016ddeef",
"logo_url_dark": null,
"long_description": "Keel turns your ideas into systematic strategies for Hyperliquid crypto perpetual futures (perps). Connect it to ChatGPT, describe a strategy, and ChatGPT builds it from Keel's strategy components, backtests it on real Hyperliquid history with fees and slippage, and explains the results.\n\nWith Keel in ChatGPT you can:\n- Build and edit strategies by describing them\n- Backtest them and compare runs side by side\n- Start from a verified strategy in the Keel library\n- Keep notes on strategies and share a result by link\n- See how the strategies you run in Keel are doing\n\nEverything you create stays in your Keel workspace. Nothing is public unless you share it.\n\nKeel in ChatGPT is for strategy research and backtesting. It does not place trades, submit orders, move funds or connect wallets — no order executes inside ChatGPT. What it writes is limited to your own Keel workspace: strategy drafts, backtest runs, notes and share links. Running a strategy with real capital is set up and approved by you in the Keel web app, outside ChatGPT. Backtests are simulations on historical data, not predictions or financial advice; trading perpetual futures carries a substantial risk of loss.\n\nKeel measures the strategies you design. It does not give investment advice or recommendations, and backtest results do not predict future returns.",
"plugin_category_id": "finance",
"privacy_policy_url": "https://usekeel.io/privacy",
"screenshot_urls": [],
"short_description": "Hyperliquid strategy builder",
"terms_of_service_url": "https://usekeel.io/terms",
"website_url": "https://usekeel.io"
},
"keywords": [],
"mcp_servers": [
{
"key": "keel",
"metadata": {
"url": "https://mcp.usekeel.io/mcp"
}
}
],
"onboarding_skill_name": null,
"requires_local_executor": false,
"skills": [
{
"description": "Run a backtest on an existing strategy and read it: confirm the strategy, run on the strategy's default window unless the user named one, watch to terminal, present the run's view, and interpret the mechanism behind the result. Use when the user says \"run a backtest\", \"test this\", \"how does it perform\", \"what's the Sharpe\", or names a strategy and asks about performance. Not for robustness checks (overfit-check) or for editing the strategy.\n",
"interface": {
"brand_color": null,
"default_prompt": null,
"display_name": "backtest-and-analyze",
"icon_large_url": null,
"icon_small_url": null,
"iconography": "chart",
"short_description": "Run a backtest on an existing strategy and read it: confirm the strategy, run on the strategy's default window unless the user named one, watch to terminal, present the run's view, and interpret the mechanism behind the result. Use when the user says \"run a backtest\", \"test this\", \"how does it perform\", \"what's the Sharpe\", or names a strategy and asks about performance. Not for robustness checks (overfit-check) or for editing the strategy.\n"
},
"name": "backtest-and-analyze",
"plugin_release_skill_id": "pluginrsk_6abf0ac2f4d88191a5a49774f1c3dabc"
},
{
"description": "Find the Keel component(s) that implement a concept the user names: search by concept, batch the candidates' schemas, show what precedes and follows the best one. Use when the user asks \"what component does X\", \"is there a way to Z\", \"find a component for Y\", or names a trading concept and wants what implements it. Not for composing a strategy (strategy-creation) or for one already-named component (keel_components_get).\n",
"interface": {
"brand_color": null,
"default_prompt": null,
"display_name": "component-discovery",
"icon_large_url": null,
"icon_small_url": null,
"iconography": "search",
"short_description": "Find the Keel component(s) that implement a concept the user names: search by concept, batch the candidates' schemas, show what precedes and follows the best one. Use when the user asks \"what component does X\", \"is there a way to Z\", \"find a component for Y\", or names a trading concept and wants what implements it. Not for composing a strategy (strategy-creation) or for one already-named component (keel_components_get).\n"
},
"name": "component-discovery",
"plugin_release_skill_id": "pluginrsk_6abf0ac3d1008191a1d0cfc7717b25f5"
},
{
"description": "Probe whether a backtest result is robust or curve-fit: re-run the strategy on disjoint windows and regimes the user agrees to, optionally perturb the sensitive parameters, compare the runs once, and give one verdict (ROBUST / MIXED / OVERFIT). Use when the user asks \"is this real?\", \"is this overfit?\", \"out-of-sample\", \"walk-forward\", or asks for a robustness check; the check is most informative on an unusually strong in-sample result (Sharpe above 3.0, return above 500%). Not a substitute for the first backtest (backtest-and-analyze).\n",
"interface": {
"brand_color": null,
"default_prompt": null,
"display_name": "overfit-check",
"icon_large_url": null,
"icon_small_url": null,
"iconography": "chart",
"short_description": "Probe whether a backtest result is robust or curve-fit: re-run the strategy on disjoint windows and regimes the user agrees to, optionally perturb the sensitive parameters, compare the runs once, and give one verdict (ROBUST / MIXED / OVERFIT). Use when the user asks \"is this real?\", \"is this overfit?\", \"out-of-sample\", \"walk-forward\", or asks for a robustness check; the check is most informative on an unusually strong in-sample result (Sharpe above 3.0, return above 500%). Not a substitute for the first backtest (backtest-and-analyze).\n"
},
"name": "overfit-check",
"plugin_release_skill_id": "pluginrsk_6abf0ac3b2748191a1bd3cb778659cae"
},
{
"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",
"interface": {
"brand_color": null,
"default_prompt": null,
"display_name": "portfolio-review",
"icon_large_url": null,
"icon_small_url": null,
"iconography": "chart",
"short_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"
},
"name": "portfolio-review",
"plugin_release_skill_id": "pluginrsk_6abf0ac2d164819188528ef6eeb60017"
},
{
"description": "Triage repeated keel_* tool failures: capture the errors, read keel_account_status and keel_connection_check, classify by the error's code (auth, scope, quota, sync, validation rule, handoff), and propose one specific next step. Use when the user says \"this keeps failing\", \"what's wrong\", \"debug this\", or pastes an error. Not for a single failure — the originating tool's error already says what to do.\n",
"interface": {
"brand_color": null,
"default_prompt": null,
"display_name": "recover-from-error",
"icon_large_url": null,
"icon_small_url": null,
"iconography": "radar",
"short_description": "Triage repeated keel_* tool failures: capture the errors, read keel_account_status and keel_connection_check, classify by the error's code (auth, scope, quota, sync, validation rule, handoff), and propose one specific next step. Use when the user says \"this keeps failing\", \"what's wrong\", \"debug this\", or pastes an error. Not for a single failure — the originating tool's error already says what to do.\n"
},
"name": "recover-from-error",
"plugin_release_skill_id": "pluginrsk_6abf0ac2fe488191b35bba67de950e06"
},
{
"description": "Author a new Keel strategy from a natural-language thesis: fix path, universe and polarity; search every concept; batch-verify component types; draft the declarations and one Pipeline; dry-run until clean; save; and, when the user wants one, backtest and read the result. Use when the user says \"create / build / make me a strategy\", \"new strategy that ...\", or describes a trading idea and wants it implemented. Not for editing an existing strategy (strategy-fork-and-iterate) or for looking up one component (component-discovery).\n",
"interface": {
"brand_color": null,
"default_prompt": null,
"display_name": "strategy-creation",
"icon_large_url": null,
"icon_small_url": null,
"iconography": "code",
"short_description": "Author a new Keel strategy from a natural-language thesis: fix path, universe and polarity; search every concept; batch-verify component types; draft the declarations and one Pipeline; dry-run until clean; save; and, when the user wants one, backtest and read the result. Use when the user says \"create / build / make me a strategy\", \"new strategy that ...\", or describes a trading idea and wants it implemented. Not for editing an existing strategy (strategy-fork-and-iterate) or for looking up one component (component-discovery).\n"
},
"name": "strategy-creation",
"plugin_release_skill_id": "pluginrsk_6abf0ac31530819189937fb19dc964e6"
},
{
"description": "Change an existing strategy with one focused edit: the user's own strategy takes the change as its next version (earlier versions and their backtests stay in its history); a shared link or a Keel Library entry is forked first. Read the whole source, choose the smallest edit that meets the intent, dry-run, save once per user-visible step, explain the change view. Use when the user names a strategy and asks for a change, or says \"fork\", \"based on\", \"like that but ...\", \"import this share link\", \"start from the library\". Not for authoring from scratch (strategy-creation) or for merely reading a strategy (keel_strategy_get).\n",
"interface": {
"brand_color": null,
"default_prompt": null,
"display_name": "strategy-fork-and-iterate",
"icon_large_url": null,
"icon_small_url": null,
"iconography": "code",
"short_description": "Change an existing strategy with one focused edit: the user's own strategy takes the change as its next version (earlier versions and their backtests stay in its history); a shared link or a Keel Library entry is forked first. Read the whole source, choose the smallest edit that meets the intent, dry-run, save once per user-visible step, explain the change view. Use when the user names a strategy and asks for a change, or says \"fork\", \"based on\", \"like that but ...\", \"import this share link\", \"start from the library\". Not for authoring from scratch (strategy-creation) or for merely reading a strategy (keel_strategy_get).\n"
},
"name": "strategy-fork-and-iterate",
"plugin_release_skill_id": "pluginrsk_6abf0ac3cfc48191af760343b3e62a5c"
}
],
"version": "1.0.0"
},
"scope": "GLOBAL",
"share_url": "https://chatgpt.com/plugins/plugin_asdk_app_6abdbe58e6a481919a03773b4c124fe0?open_in_app",
"status": "ENABLED"
}SHA-256 of public snapshot: f1d000fb7821cdd19a3c4aa1b68a76929d9cdf032f5f70c481f5f24793fcacb4