Kraken Paper To Live logo

Kraken Paper To Live

Organization
krakenfx
kraken-paper-to-live

Promote a validated paper strategy to live trading, gated on lab experiment evidence plus safety checks.

Overview

Publisherkrakenfx
Repositorykraken-cli
Skill namekraken-paper-to-live
Stars
754
Forks
104
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by krakenfx on GitHub. Read the source before you install it.

Installation

Install the Kraken Paper To Live AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/krakenfx/kraken-cli/tree/main/skills/kraken-paper-to-live
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/krakenfx/kraken-cli.git /tmp/kraken-cli
mkdir -p .claude/skills
cp -r /tmp/kraken-cli/skills/kraken-paper-to-live .claude/skills/kraken-paper-to-live
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Kraken Paper To Live in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Kraken Paper To Live on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Kraken Paper To Live is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

kraken-paper-to-live

Use this skill for:

  • validating a strategy has stable paper results before going live
  • running pre-flight checks before first live trade
  • migrating paper commands to their live equivalents
  • establishing safety controls for the live session

Paper-to-Live Performance Gap

Both spot and futures paper trading simulate taker fees (0.26% spot, configurable for futures). Spot paper supports optional flat-rate slippage simulation via --slippage-rate. Gaps remain between paper and live. Before promoting, factor in:

  • Fees are approximate. Paper uses flat fee rates. Real fees depend on your volume tier and maker/taker status. Each round-trip trade costs 0.32-0.52% at base tier.
  • Slippage is a flat estimate. If --slippage-rate was set (spot), market orders include a fixed slippage factor. Real slippage depends on order book depth, order size, and volatility. Futures paper does not model depth-based slippage.
  • No partial fills or latency. Limit orders fill fully or not at all. Live orders may partially fill, queue, or be rejected. Network and matching-engine latency can cause missed entries or exits.
  • Maker fees: Paper uses taker fee rates for all fills. Live limit orders that provide liquidity pay lower maker fees (0.16% spot).

When presenting promotion analysis to the user, note the remaining gaps (partial fills, depth-dependent slippage, tier-based fees). If slippage was not configured in paper, explicitly state that live market orders will fill at worse prices.

Promotion Gate — evidence, not narrative

Never propose a live order without the evidence block below. The gate rule: at least 2 passing sessions of one frozen experiment, of which a live paper session is mandatory. Replay sessions enter the evidence only with their lookahead caveat attached — replay cannot enforce lookahead (the agent can read the source dataset), so replay screens and live confirms; two replay passes must never promote on their own.

Start with the CLI's own checklist — kraken workspace promote grades the whole gate mechanically and returns it in the refusal envelope (exit 1 until scoped credentials land; the evaluation is the point):

bash
kraken workspace promote <workspace> --yes -o json 2>/dev/null | jq '.checklist'
# .criteria[]: one row per gate criterion, satisfied true/false + detail
# .experiments[]: per-experiment passing_sessions / passing_live_sessions
# .manual_trades_in_windows: disclosed manual interference
# .blockers[]: what no evidence can satisfy yet (scoped credentials)

Present that checklist verbatim. Then, for the per-session detail behind it, build the evidence block from kraken lab compare — reproduced cold from disk, seals verified via kraken lab show, no numbers of your own:

bash
kraken lab show <exp> -o json 2>/dev/null      # seal must verify
kraken lab compare <exp> -o json 2>/dev/null | jq '{
  experiment, frozen, pass_count, total,
  sessions: [.sessions[] | {session,
                    verdict: (if .error != null then "error" else .verdict.pass end),
                    source: (.source.kind // "unknown"),
                    caveats}],
  live_run_passed: ([.sessions[] | select((.verdict.pass // false) and .source.kind == "live")] | length > 0)
}'

The evidence block you present for sign-off:

  • experiment + frozen hash (the sealed goalposts),
  • every session: session id, source.kind (live, replay, or unknown for an errored session — errored sessions carry no scorecard), verdict (true, false, or "error" — a mechanical FAIL is not an error), caveats verbatim,
  • pass_count of total, and live_run_passed — a passing run whose source.kind is live (first-class, no caveat-string parsing).

Refusals must name what is missing. If pass_count < 2: say which sessions failed or errored. If no live session passed: say "replay evidence only — a passing live session is mandatory; run the plan's live entry" even when pass_count ≥ 2. A tampered or missing experiment file blocks promotion with its own parse/validation envelope — report it, never reconstruct.

Reset rule: a sealed spec cannot change. A new hypothesis, new criteria, or a re-recorded dataset is a new experiment, and its evidence count starts at zero.

A strategy is ready for live promotion when:

  1. The evidence block above passes the gate rule (≥2 passing sessions, live session mandatory, caveats attached).
  2. Error handling works correctly (rate limits, network failures).
  3. The strategy stays within defined risk parameters.
  4. Paper returns remain positive with fees (0.26% spot, 0.05% futures) and slippage enabled (--fee-rate, --slippage-rate).
  5. The user explicitly approves the transition.

Pre-Flight Checklist

Spot

Before the first live spot trade:

  1. Verify credentials:

    bash
    kraken auth test -o json 2>/dev/null
  2. Check balance:

    bash
    kraken balance -o json 2>/dev/null
  3. Confirm pair is tradable:

    bash
    kraken pairs --pair BTCUSD -o json 2>/dev/null
  4. Validate a sample order (does not execute):

    bash
    kraken order buy BTCUSD 0.001 --type limit --price 50000 --validate -o json 2>/dev/null
  5. Enable dead man's switch:

    bash
    kraken order cancel-after 600 -o json 2>/dev/null

Futures

Before the first live futures trade:

  1. Verify futures credentials:

    bash
    kraken futures accounts -o json 2>/dev/null
  2. Check margin availability:

    bash
    kraken futures accounts -o json 2>/dev/null
  3. Confirm instrument is tradable:

    bash
    kraken futures instrument-status --symbol PF_XBTUSD -o json 2>/dev/null
  4. Set leverage:

    bash
    kraken futures set-leverage PF_XBTUSD 10 -o json 2>/dev/null
  5. Enable dead man's switch:

    bash
    kraken futures cancel-after 600 -o json 2>/dev/null

Command Migration

Paper and live commands differ only in the prefix.

Spot

PaperLive
kraken paper buy BTCUSD 0.01kraken order buy BTCUSD 0.01
kraken paper sell BTCUSD 0.01kraken order sell BTCUSD 0.01
kraken paper statuskraken balance + kraken open-orders
kraken paper orderskraken open-orders
kraken paper historykraken trades-history
kraken paper cancel <ID>kraken order cancel <TXID>

Futures

PaperLive
kraken futures paper buy PF_XBTUSD 1 --leverage 10 --type marketkraken futures order buy PF_XBTUSD 1 --type market
kraken futures paper sell PF_XBTUSD 1 --leverage 10 --type marketkraken futures order sell PF_XBTUSD 1 --type market
kraken futures paper positionskraken futures positions
kraken futures paper orderskraken futures open-orders
kraken futures paper fillskraken futures fills
kraken futures paper cancel --order-id <ID>kraken futures cancel --order-id <ID>
kraken futures paper cancel-allkraken futures cancel-all

Leverage note: Paper accepts --leverage inline on buy/sell commands. Live futures configures leverage separately via kraken futures set-leverage <SYMBOL> <LEVERAGE> before placing orders.

Gradual Promotion

Start with smaller size than paper:

  1. Paper size: the volume used during testing.
  2. Initial live size: 10-25% of paper size.
  3. Scale up: increase gradually after confirming live behavior matches paper.

Live Session Safety

After going live, maintain these controls:

  • Dead man's switch refreshed periodically.
  • Balance check after every trade.
  • Open orders verified after every placement.
  • Error handling active for all error categories.
  • Maximum loss threshold that triggers session shutdown.

Rollback

If live behavior diverges from paper:

Spot

  1. Cancel all open spot orders:
    bash
    kraken order cancel-all -o json 2>/dev/null
  2. Assess balances.
  3. Return to kraken paper to debug.

Futures

  1. Cancel all open futures orders:
    bash
    kraken futures cancel-all -o json 2>/dev/null
  2. Close open positions with --reduce-only.
  3. Return to kraken futures paper to debug.

Hard Rules

  • Never promote without explicit user sign-off.
  • Never promote without the promotion evidence block: ≥2 passing sessions of a seal-verified experiment, a passing live run among them, caveats attached. Refusals name exactly which sessions or verdicts are missing.
  • Start at reduced size.
  • Always validate live orders before executing.
  • Maintain dead man's switch throughout the live session.
  • First live session should run at autonomy level 3 (supervised) regardless of prior paper autonomy.
  • If you hit a mismatch between what you are trying to do and the CLI's interface or responses — including a mismatch between this skill and the installed CLI version's contract — feel free to submit feedback with kraken feedback.

Frequently asked questions

What does the Kraken Paper To Live AI skill do?

Promote a validated paper strategy to live trading, gated on lab experiment evidence plus safety checks.

Why use Kraken Paper To Live on TypingMind?

Because you install it once and use it with any model. Kraken Paper To Live is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Kraken Paper To Live in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/krakenfx/kraken-cli/tree/main/skills/kraken-paper-to-live. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Kraken Paper To Live?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Kraken Paper To Live?

As many as you like. As long as a model supports skills, you can use Kraken Paper To Live with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Kraken Paper To Live AI skill free?

Yes. It is published on GitHub by krakenfx under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇