| name | risk-model |
| description | Gate a proposed trade signal through hard risk limits and compute the position size those limits allow. Verdicts only ever say no or smaller — never more. Advisory only: it reports a size and never places, modifies, or manages orders. |
Risk model: the gate
This skill does not find trades. It takes a signal some other skill proposed (for
example an open-range-breakout evaluator), a snapshot of the account, and the user's
hard limits, and returns a verdict: allowed, reduced, or blocked, with the lot
size the limits permit and machine-readable reasons.
Use the bundled CLI as the source of truth. Never compute a position size in prose,
and never present a size the CLI did not output.
Run it
- Read
references/input-format.md for the snapshot JSON shape.
- Read
references/account-snapshot.md for how to gather the snapshot fields with
read-only broker tools.
- Write one input JSON with an explicit
as_of, then:
risk-assess --config risk.yaml --input snapshot.json --pretty
Interpret verdicts
allowed — the signal fits every limit; size_lots is the largest size that keeps
risk at or below risk_per_trade_pct, rounded down to the broker's lot step.
reduced — a cap intervened (daily_budget_capped, max_lot_capped); the size is
smaller than the per-trade risk would otherwise allow. Report the reason with it.
blocked — a hard rule failed (daily_loss_limit_reached,
max_trades_per_day_reached, max_concurrent_positions_reached,
risk_budget_below_minimum_lot, missing_symbol_specs). Do not present the setup
as tradeable; state the block and its reasons instead.
The reported risk.pct is the actual risk at the rounded size, which is always at or
below the configured percentage. Always relay the budget block so the user can see
how much daily risk budget remains.
Rules for the agent
- Never re-run with edited equity, P&L, or stop values to turn a
blocked into an
allowed. If the snapshot is wrong, re-gather it from the broker tools.
- Assess against a fresh snapshot every time. Taking a trade changes the account
state, so yesterday's verdict — or five minutes ago's — is not today's.
- A
blocked verdict is the answer, not an obstacle. There is deliberately no
override flag anywhere in this skill.
Boundaries
- Advisory only. This skill computes and reports a size; it never places, modifies,
or closes orders, and it never manages an open position.
- It bounds planned loss per trade and per day. It does not create an edge, does not
improve expectancy, and does not make a losing strategy profitable.
- Slippage, gaps, and weekend holds can realize more than the planned risk. The gate
bounds what you plan, not what the market does.
- News, holidays, spread, and correlation exposure remain separate checks that this
evaluator does not perform.