Welcome to Limitless Trader Lab
Day 6 of 7 · Cohort intensive · 90–120 minutes
Wire Claude + dry-run.
By Day 5 your bot ran on deterministic rules. Today you wire Claude as the strategy brain, Claude calls the Trading + Strategy + Monitor skills with tool use, and run a 60-min dry-run with DRY_RUN=true. Production hardening: rotate PANEL_TOKEN, confirm cancel-button confirmations, trip the kill switch from your phone.
Today you’ll learn
You’ll learn how to wire Claude as the strategy brain on top of yesterday’s Strategy + Trading + Monitor skills, run a 60-minute LLM-driven dry-run on the host you deployed Day 2, and harden the panel for tomorrow’s live flip. This will help you arrive at Day 7 with one config flag (DRY_RUN=false) standing between you and a live trade, not a deploy, not a build, not a rebuild.
Section 01
Why wire Claude in.
Yesterday’s loop ran on deterministic rules: scan_watchlist, evaluate_signal, propose_action, all hard-coded. Today Claude becomes the brain. Claude reads the watchlist, calls Strategy, calls Monitor, calls Trading, decides what to log. Tool use is the bridge from “deterministic rules” to “LLM agent”. The deploy already happened on Day 2; the panel already exists from Day 3; the skills are already installed from Days 4–5. Today is the moment those four pieces become one.
Section 02
Wire Claude (30 min).
The Trading skill from Day 4, the Monitor + Strategy skills from Day 5, all already installed. Today you give Claude the orchestrator role: a single prompt that says “run the loop” and Claude calls the right skills in the right order with the right arguments. The skills don’t change. Claude becomes the conductor.
You are now: confirming all three skills load
New Claude conversation. Ask: “What skills do you have access to? List the tools each one provides.”
You should see Trading (4 tools), Monitor (4 tools), Strategy (3 tools). 11 tools total. If any are missing, the install path for that skill is wrong, re-check the bonus pack’s README before continuing.
You are now: pasting the orchestrator prompt
This is the system-style prompt that turns Claude into the loop runner. Paste it as the first message in a fresh Claude conversation.
Claude will list the tools, ack the loop pattern, and start. You can watch each iteration in the Claude tab and in the panel side-by-side.
Section 03
Dry-run for 60 min.
Sixty minutes of unattended Claude-driven loop. Watch every iteration in the panel, not in the Claude tab, not in the host logs. The panel is where the bot lives now. The host logs and the Claude tab are debug surfaces.
You are now: confirming DRY_RUN is on
Verify on the deployed host before you start.
If DRY_RUN is missing or anything other than “true”, set it now. The Trading skill defaults to live mode if the flag is unset. Tomorrow you flip it; today it stays on.
You are now: starting the loop
In Claude (with the orchestrator prompt already pasted), say “Run the loop for 60 minutes.” Open the panel on your phone in another tab. Open the Limitless UI in a third tab.
Each iteration: scan, evaluate, propose, log, sleep. Roughly 60 iterations over 60 minutes. The Claude tab narrates one short line per loop; the panel updates the audit feed within 5 seconds; Limitless UI shows zero new orders the whole hour.
You are now: reading the audit feed in the panel
Each Monitor.log_decision call appends one NDJSON line to /app/data/fills.ndjson (the same stream the panel reads). The panel renders it in the recent-decisions feed, newest first. Read at least 10 entries while the loop is running.
The log is the agent’s thought process, reading it is the actual skill. Days 7+ you spend most of your time on this view.
Section 04
Production hardening (30 min).
Tomorrow you flip DRY_RUN=false. Before that, the panel needs three checks: rotate the panel token, confirm the cancel button has a confirmation dialog, and trip the kill switch from your phone. None of this requires a redeploy, all three are env-var changes or panel state. Half an hour to verify the rails before the live trade.
You are now: rotating PANEL_TOKEN
Day 2’s token has been in your URL bar all week. Rotate it once before the live flip.
The old token is invalidated immediately. Update your phone bookmark with the new URL: https://<your-domain>/panel/?key=<new-token>.
You are now: confirming the kill-switch confirmation
The panel’s kill-switch toggle is a destructive action. Tripping it must require a confirm() dialog, the panel template ships with one; verify it’s wired.
Open the panel on your laptop. Tap a kill-switch toggle. Confirm a JS confirm() dialog pops up. If it doesn’t, the panel template has been edited, revert control_panel.html’s toggleKill() function from bonus/CONTROL_PANEL.md.
You are now: tripping the kill switch from your phone
Phone in hand. Tap the panel button. Confirm the dialog. Watch the agent halt within 60 seconds, both in the panel (status flips to TRIPPED) and in the audit feed (one halt event).
Clear the file (tap the button again, confirm). Watch the agent resume on the next iteration. Don’t graduate to Day 7 until you’ve seen the trip + clear cycle work end-to-end from your phone. This is the gesture you’ll use to graduate tomorrow.
Section 05
Today’s deliverable.
Two artifacts in one post: phone screenshot of the panel mid-dry-run with the audit feed visible, and a 5-line log excerpt from the LLM-driven loop. Plus a screenshot of Limitless UI showing zero new orders. The combination proves Claude orchestrated the loop, the panel observed it, and DRY_RUN held.
Day 6 · Deliverable
Post in #trader-lab.
Phone screenshot of the panel during the LLM dry-run, with the audit feed showing decisions from the past 60 minutes.
5-line excerpt from fills.ndjson showing tool-use decisions Claude made (paste in a code block).
Screenshot of Limitless UI showing no new orders, proves DRY_RUN is honored.
Caption: “[D6] Day 6 done. Claude wired as orchestrator. [N] iterations dry-run. PANEL_TOKEN rotated. Kill-switch trip+clear verified from phone. Snags: [none / brief].”
If the loop didn’t complete a clean 60 minutes (Claude got distracted, tools failed, the host blipped), post that too, the cohort learns more from where it broke than where it went smoothly.
Day 6 complete
LLM in the loop.
Claude orchestrated 60 minutes of dry-run iterations on the deployed host, every decision landed in the panel within 5 seconds, and the kill-switch trip+clear cycle worked from your phone. The exact baseline Day 7 flips live against is in place.
A working orchestrator prompt that turns Claude into the loop runner, with all 11 skill tools (Trading + Strategy + Monitor) callable from a single conversation.
A fills.ndjson on the deployed volume with 60+ Claude-driven decisions, surfaced live in the panel on your phone, the bot’s thought process you’ll read every morning from now on.
A rotated PANEL_TOKEN, confirmed cancel dialogs, and a verified phone-to-host kill switch, the rails Day 7’s live trade rides on.
Tomorrow: Go live. Flip DRY_RUN=false, place ONE real trade, trip + reset the kill-switch from your phone, graduate. Graduation call tomorrow 7pm local on Google Meet.
Day 7 unlocks tomorrow at 9am local · Graduation call: tomorrow 7pm local