← All skills
drawdown-circuit-breaker
Use when deciding whether new trade risk is allowed today, based on realized P&L, losing-streak cooldowns, and weekly/monthly drawdown limits.
About this skill
Use when deciding whether new trade risk is allowed today, based on realized P&L, losing-streak cooldowns, and weekly/monthly drawdown limits.
SKILL.md
drawdown-circuit-breaker.SKILL.mdPlace it in your Syntic skills folder. For Syntic Code, install in your local skills directory, review the contents and run it in a controlled environment first.
--- name: drawdown-circuit-breaker description: Use when deciding whether new trade risk is allowed today, based on realized P&L, losing-streak cooldowns, and weekly/monthly drawdown limits. category: Risk version: 1.0.0 tools: [] --- # Drawdown Circuit Breaker Decide whether the trader should take new trade risk today, based on account-level realized P&L and recent terminal trade outcomes. This is a recommendation and recordkeeping tool — it does not replace human judgment and cannot enforce broker-side blocks. ## Inputs needed Ask the user for (or read from any trade history/notes already in the conversation): account size in dollars, realized P&L today / week-to-date / month-to-date, and the sequence of recent closed trades (win or loss, exit timestamp). With no history available, default to `TRADING_ALLOWED` — don't block a user who has no track record yet. ## Default rules | Rule | Default | Triggered state | Release | |---|---|---|---| | Max daily loss | 2.0% of account | HALTED | Next weekday | | Losing-streak cooldown | 2 consecutive terminal losing trades | COOLDOWN | 24 hours after the latest loss exit | | Weekly drawdown halt | 5.0% of account | HALTED | Next Monday | | Monthly drawdown halt | 8.0% of account | HALTED | First day of next month | Use the trader's local market timezone (America/New_York for US equities) for day/week/month boundaries. Day, week, and month boundaries should be computed against a stated "as-of" point — if the user gives a date only, treat it as covering the full trading day; if they give a specific timestamp, exclude any trade events after that moment. All four thresholds are overridable if the user specifies different values (e.g. a tighter 1.5% daily loss limit, a 3-loss cooldown trigger, a 48-hour cooldown, or different weekly/monthly percentages). ## Evaluation logic 1. Compute realized P&L today, week-to-date, and month-to-date as a percentage of account size. 2. Count consecutive losing trade closes (a win resets the streak). 3. Check each rule against its threshold; if more than one triggers, report all of them rather than just the first match. 4. Where rules disagree in severity, the more restrictive of COOLDOWN/HALTED governs — a triggered monthly halt overrides a merely-active cooldown, for example. 5. If the trade history supplied is incomplete or ambiguous (missing exit timestamps, unclear win/loss outcome), degrade the result to a lower-confidence read rather than guessing — say plainly which figures are uncertain. ## Recommendation states | Recommendation | Meaning | |---|---| | TRADING_ALLOWED | No rule is active; new trade risk may proceed | | COOLDOWN | Do not open new positions; manage existing positions and review recent losses | | HALTED | Stop new entries entirely and focus on review until the halt expires | Existing position management stays a human decision — the circuit breaker exists to prevent new risk escalation after realized damage, not to force liquidation. ## Output Report: the recommendation; which rule(s) triggered, with threshold vs. observed value and when the trigger releases; current realized P&L (today/WTD/MTD); consecutive-loss count and the timestamp of the last loss exit; the account size and thresholds used; and a one-line rationale a trader could act on without re-deriving the math (e.g. "2 consecutive losing closes triggered a cooldown; avoid new entries until it expires"). ## Key principles 1. **Realized damage only** — use recorded realized P&L, not unrealized P&L or cumulative thesis-level fields, for daily calculations. Unrealized drawdown on open positions is a different, separate concern. 2. **Survival first** — the point is to prevent escalation after losses, not to predict markets or grade trade quality. 3. **Advisory, not automatic execution** — informs the decision; never places, cancels, or blocks broker orders. 4. **Graceful degradation** — no trade history defaults to allowed, so a new trader isn't blocked by an absence of data; incomplete or malformed data should lower confidence in the read, not crash the evaluation or force an unwarranted halt. 5. **Complements, doesn't duplicate, position-level gating** — this evaluates account-level damage; a separate pre-trade checklist (entry plan, stop, size) should still gate any individual order even when the circuit breaker itself reads clear.
Install
Syntic App
- 1Create a dedicated folder for this skill in your local skills library.
- 2Place SKILL.md into that folder.
- 3Restart Syntic and invoke this skill on matching tasks.
Syntic Code (CLI)
- 1Save SKILL.md in your local Syntic Code skills directory.
- 2Keep related files in the same skill folder.
- 3Run in a safe environment and validate outputs.