← Hey-Traders! Quant TradingCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Hey-Traders! Quant Trading
Snapshot Sep 30, 2026 · 23:15 UTC · version 1.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Operate supported research and simulation workflows in the HeyTraders web app through its page-defined heytraders_cli WebMCP tool. Use when the user asks to open, navigate, inspect, or manipulate HeyTraders charts; check HeyTraders login; work with indicators, drawings, panes, OHLCV, market research, backtests, portfolios, or simulated paper strategies; or explicitly invokes the HeyTraders Codex plugin.",
"included_files": [
{
"relative_path": "references/command-reference.md",
"size_in_bytes": 1712
},
{
"relative_path": "references/runtime-contract.md",
"size_in_bytes": 3119
},
{
"relative_path": "scripts/heytraders-cli.mjs",
"size_in_bytes": 3233
}
],
"name": "heytraders-browser",
"skill_md_contents": "---\nname: heytraders-browser\ndescription: Operate supported research and simulation workflows in the HeyTraders web app through its page-defined heytraders_cli WebMCP tool. Use when the user asks to open, navigate, inspect, or manipulate HeyTraders charts; check HeyTraders login; work with indicators, drawings, panes, OHLCV, market research, backtests, portfolios, or simulated paper strategies; or explicitly invokes the HeyTraders Codex plugin.\n---\n\n# HeyTraders Browser\n\nUse the Codex in-app Browser and the live page's generic HeyTraders request router. Prefer the page-defined `heytraders_cli` WebMCP tool. When the selected Browser runtime does not advertise WebMCP, use this skill's bundled CLI adapter; both transports call the same `window.__bridge.request` entrypoint. The live webpage owns the command contract; this public skill owns the narrower research, backtesting, and simulated-paper workflow.\n\n## Required workflow\n\n1. Read and follow the bundled Browser control skill before browser work.\n2. Select or open the canonical origin `https://hey-traders.com/`. Reuse the user's existing in-app-browser tab when it is on that origin. The bundled adapter accepts only this origin.\n3. Inspect the tab's advertised capabilities.\n - If `webmcp` is available, fetch its tools and call only the listed `heytraders_cli` tool.\n - If `webmcp` is absent, import `scripts/heytraders-cli.mjs` with its absolute installed path, create one CLI handle with `createHeyTradersCli(tab)`, and reuse `cli.call(command, args)`.\n4. Execute a known in-scope command directly when its current live contract is already available in this task. Otherwise use `help` to discover command families and `describe <command>` to obtain the selected command's schema. Discovery does not expand the public scope below. Refresh discovery after schema errors or a changed page contract; a new help/describe round trip is not required before every call.\n5. Put the selector-only canonical command in `command` and all operands in `args`. Build arguments from the live schema; do not repeat operands positionally or wrap args in `params` or `payload`. A field named `payload` is valid only when that command's schema declares it. Follow deeper domain discovery only when the live result calls for it. Do not preload or reproduce live contracts in prompt text.\n6. After SPA navigation, fetch WebMCP tools again if a previous tool handle becomes stale.\n\n## Hard boundaries\n\n- Never call individual `window.__bridge` members, inspect the bridge object ad hoc, or hand-write page-evaluation bridge code. The bundled adapter is the only non-WebMCP transport and calls only the generic request entrypoint.\n- Never substitute the OS shell `heytraders-cli`, standalone Playwright, or a second browser session for the selected Codex in-app-browser tab.\n- Never read or expose credentials, cookies, tokens, localStorage, or sessionStorage.\n- Never type login credentials. Login is always a user handoff.\n- Do not invent route IDs, docs slugs, indicator IDs, drawing types, pane IDs, container IDs, or chart actions. Discover them from live results.\n- The public plugin is limited to navigation, documentation, read-only market and account information, chart operations, backtests, and simulated paper strategies.\n- Never use a command to place, modify, cancel, or monitor a real order; operate a strategy in live mode; connect or configure an exchange, venue, or wallet; or manage exchange credentials or permissions. Do not navigate to or operate those transaction flows. If a user requests one, explain that it is unavailable through the public plugin and stop that workflow.\n- Treat excluded commands returned by `help`, `describe`, or any deeper discovery result as unavailable. Do not retrieve their detailed schemas or call them. A mixed-mode strategy command may be described and used only when its contract requires an explicit mode and the request can be fixed to `paper`; its historical command name does not authorize live mode.\n- Treat chart mutations, backtests, and simulated-paper starts or stops as explicit operations. Do not combine unrelated mutations into one call unless the user requested that exact batch.\n- Keep market and portfolio analysis descriptive. Separate sourced observations from interpretation, disclose material data gaps, and leave every financial decision to the user.\n\n## User-action handoff\n\nWhen an in-scope command returns `userActionRequired` or an equivalent user-action-required state, explain the visible handoff and stop automating that action. Resume only after the user confirms completion, then rediscover or re-read the relevant state through the live catalog. Never infer that closing a dialog means the operation succeeded. Do not resume an excluded transaction or connection workflow after a handoff.\n\n## Chart workflow\n\nUse the live chart help and descriptions to discover the current state-query, capability-discovery, and chart-action commands. Read the current state before choosing target identifiers, execute only a described in-scope action, then re-read state and visible UI.\n\nRaw Pine source is intentionally absent when the live capability registry marks it unsupported. Do not bypass that restriction.\n\n## Backtest and paper operations\n\nFor backtests and simulated-paper operations, use the current live command contract. Before starting or changing a paper strategy, verify from the described input contract that its mode is explicitly fixed to `paper` or `simulated` and cannot route orders to a real venue. A canonical action whose historical name contains `live` remains out of scope for every non-paper mode. Verify the returned mode again after the operation. If either side is ambiguous, do not call it.\n\nReuse a request identifier for a retry only when the schema explicitly accepts that identifier and the application documents its retry semantics. Never invent an identifier field or reuse an identifier with different input. After a lost response or unknown outcome, inspect the backtest or simulated-paper state before deciding any further action; do not automatically start it again. Follow the active Browser's rules for every allowed operation. Presentation placement, admission, and idempotency belong to the application Gateways.\n\n## Bundled adapter\n\nUse the adapter only when the tab does not advertise WebMCP:\n\n```js\nconst { createHeyTradersCli } = await import(\"<absolute installed skill path>/scripts/heytraders-cli.mjs\");\nconst heytradersCli = await createHeyTradersCli(tab);\nawait heytradersCli.call(\"help\");\n```\n\nThe adapter requires a numeric safe-integer facade version of 5 or newer. A `heytraders-bridge-upgrade-required` result means the version is missing, invalid, or too old; do not fall back to legacy flat members. The adapter sends each call once and does not retry or promise to cancel an application operation when the Browser call stops waiting.\n\n## References\n\n- Read [command-reference.md](references/command-reference.md) for CLI wrapper syntax.\n- Read [runtime-contract.md](references/runtime-contract.md) when diagnosing readiness, login, or navigation.\n"
}SHA-256 of public snapshot: 9bdd778e6b25f17df913bb434241f86d3c6a825a12f396580c401d4a1ab9d3b4