CtrlK
BlogDocsLog inGet started
Tessl Logo

trader-setup

One-time onboarding for the financial trader workflow — real-time alerts, position-aware relevance, decision journaling with outcome tracking. After successful setup this skill is excluded from selection until the marker file is deleted.

50

Quality

55%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/trader-setup/SKILL.md
SKILL.md
Quality
Evals
Security

Financial Trader — Commitment System Setup

You are configuring the commitments system for a financial trader. Their day involves:

  • Pre-market: research, reviewing overnight moves, updating thesis
  • Market hours: intense, real-time. Speed matters — seconds count for some signals
  • Post-market: journaling, reviewing positions, reading research, planning next day
  • Information velocity is extreme; contradictory signals are common

Companion skills

This bundle relies on these skills activating during conversation (keyword-triggered):

SkillActivates whenWhat it does
commitment-triageUser mentions obligations, deadlinesExtracts signals, creates/resolves commitments
commitment-digestUser asks "show commitments"Composes formatted summary
decision-captureUser makes a trade decision ("sold half my AAPL")Records decision with rationale for journaling
delegation-trackerUser delegates research tasksTracks delegation follow-ups

If any are missing from skills/, tell the user which ones are needed.

Step 1: Ask configuration questions

  1. Markets: Which markets/asset classes and market hours? (US equities, crypto, forex, options, futures)
  2. Position tracking: Do you want me to track your current positions? If so, where do you log them? (I'll read from a workspace file you maintain)
  3. Alert threshold: During market hours, should I alert immediately for position-relevant signals, or batch everything?
  4. Journal cadence: Do you journal daily (post-market) or weekly?
  5. Risk signals: Any specific tickers, sectors, or keywords that should always trigger immediate alerts?

Step 2: Declare the project and create workspace structure

Writing any file under projects/commitments/ is the declaration that the project exists — the engine auto-registers it and scopes missions to it. Start with:

memory_write(
  target: "projects/commitments/AGENTS.md",
  content: "# Commitments (Trader)\n\nThis project tracks trading signals, positions, and trade decisions.\n\n## Operating principles\n\n- Always read `positions.md` before scoring signal relevance — a headline is noise unless it matches a held position.\n- Position-relevant signals fire `immediacy=realtime` and broadcast immediately.\n- Market signals expire after 4h on trading days; research signals after 48h.\n- Contradictory signals on the same ticker flag as CONFLICT and surface together.\n- Trade decisions go in `projects/commitments/decisions/` with outcome tracking.\n",
  append: false
)

Then:

  1. Check if projects/commitments/README.md exists via memory_read. If it does, skip to creating trader-specific files.
  2. Write projects/commitments/README.md with the full schema — see commitment-setup skill for the complete content including immediacy levels, signal destinations, resolution paths, and trust calibration.
  3. Create placeholder READMEs in each subdirectory: open/, resolved/, signals/pending/, signals/expired/, decisions/, parked-ideas/.
  4. Create trader-specific files:
memory_write(target="projects/commitments/positions.md", content="# Current Positions\n\nMaintain your positions here. The agent reads this to score signal relevance.\n\n## Format\n\n- TICKER: SIZE, entry PRICE, thesis: BRIEF_THESIS\n\nExample:\n- AAPL: 500 shares, entry $175, thesis: AI integration undervalued\n- SPY Apr 520P: 10 contracts, thesis: hedging macro risk\n\n## Positions\n\n(Add your positions here)", append=false)
memory_write(target="projects/commitments/trade-journal/README.md", content="Daily trade journal entries. Each file: projects/commitments/decisions/<date>-<slug>.md with outcome tracking.", append=false)

Step 3: Create tuned missions

Triage mission — market-hours aware, position-sensitive

mission_create(
  name: "commitment-triage",
  goal: "Trader triage. Read projects/commitments/README.md for schema. Read projects/commitments/positions.md for current positions. Priority order: (1) Position-relevant signals — any signal mentioning a ticker in the positions list gets immediacy=realtime and urgency=critical. Broadcast immediately via message tool. (2) Contradictory signal detection — if two pending signals point in opposite directions on the same ticker or thesis, flag as CONFLICT and surface both together immediately. (3) Market signals expire after 4 hours during market days, 24 hours otherwise. Research/thesis signals expire after 48 hours. (4) Route market intelligence (analyst reports, macro data) to intelligence destination via MemoryDoc. (5) Check decisions older than 7 days without outcome — prompt for outcome assessment. (6) Append triage summary to projects/commitments/triage-log.md. (7) Alert on any position-relevant or conflicting signals.",
  cadence: "0 8,10,12,14,16,18 * * 1-5",
  project_id: "commitments"
)

Six runs on market days — every 2 hours from pre-market to post-market close.

Digest mission — pre-market brief and post-market journal prompt

mission_create(
  name: "commitment-digest",
  goal: "Trader digest. Read projects/commitments/README.md for schema. Read projects/commitments/positions.md for current positions. If this is a morning run: (1) POSITION STATUS — list each position with any relevant signals from the last 24h. (2) OPEN RESEARCH — commitments tagged 'research' or 'thesis'. (3) PENDING DECISIONS — items with resolution_path=needs_decision. (4) CONFLICTING SIGNALS — any unresolved conflicts. If this is an evening run: (1) Summarize today's decisions from projects/commitments/decisions/ with today's date. (2) For each decision, note if outcome data is available. (3) Prompt: 'Any trades to journal? Any thesis updates?' End with 'Did I miss anything?' Send via message tool.",
  cadence: "0 7,18 * * 1-5",
  project_id: "commitments"
)

Weekly review mission

mission_create(
  name: "trader-weekly-review",
  goal: "Weekly trading review. Read all files in projects/commitments/decisions/ from the past 7 days. For each decision: (1) What was decided and why. (2) If outcome data exists, was it positive or negative? (3) Which signals informed the decision — were those signal sources reliable? Also read projects/commitments/positions.md — for each position, has the original thesis changed based on this week's signals? Flag any position where contradictory evidence has accumulated. Write review summary to context/intel/weekly-review-<date>.md as durable intelligence. Send via message tool.",
  cadence: "0 10 * * 6",
  project_id: "commitments"
)

Step 4: Write calibration memories

memory_write(
  target: "projects/commitments/calibration.md",
  content: "# Trader Calibration\n\n- Always read projects/commitments/positions.md before scoring signal relevance — a headline about AAPL is noise unless you hold AAPL\n- Position-relevant signals get immediacy=realtime — broadcast immediately, do not wait for digest\n- Market signals expire after 4 hours on trading days; research signals after 48 hours\n- When two signals contradict on the same ticker or thesis, flag as CONFLICT — never surface them independently\n- Trade decisions go in projects/commitments/decisions/ with the standard schema, plus outcome tracking\n- Prompt for outcome assessment on decisions older than 7 days: 'You decided X a week ago. How did it play out?'\n- Pre-market brief leads with position-relevant signals; post-market prompt leads with today's decisions\n- Weekly review on Saturday assesses signal source reliability and thesis drift — write to context/intel/ as durable intelligence\n- The user maintains positions.md manually — do not modify it, only read it\n- Start conservative: surface everything, ask before acting on agent_can_handle items",
  append: false
)

Step 5: Confirm

Your trading commitment system is ready:

  • Triage runs every 2 hours on market days (8am–6pm) — position-aware, contradictory signal detection, 4h market signal expiration, realtime alerts for position-relevant signals
  • Pre-market brief at 7am — position-relevant signals, open research, pending decisions
  • Post-market journal at 6pm — today's decisions, outcome prompts
  • Weekly review Saturday 10am — decision outcomes, signal reliability, thesis drift
  • Update projects/commitments/positions.md with your holdings for position-aware scoring
  • Say "I sold half my AAPL because of the earnings miss" to journal a trade decision
  • Say "show commitments" for current status, or "any conflicts?" for contradictory signals

Step 6: Mark setup complete

After confirming with the user, write the setup completion marker so this skill stops competing for the activation budget on every subsequent message:

memory_write(
  target: "projects/commitments/.trader-setup-complete",
  content: "# Trader Setup Complete\n\nCompleted: <today's UTC date>\n\nMissions installed: trader-triage, trader-pre-market, trader-post-market, trader-weekly-review"
)

To re-trigger setup, delete projects/commitments/.trader-setup-complete first.

Repository
nearai/ironclaw
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.