Skip to content
Back to skills

Ibkr Evaluate Order

ASecurity

Evaluate a proposed single-leg order through full pre-trade validation. Use when the user requests to buy or sell a specific instrument and you need to assess portfolio impact, concentration, and profile compliance before any approval or execution. Call ibkr-place-order after this skill to execute an approved order.

  • 4 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 12, 2026
businessrailssecurity

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill ibkr-evaluate-order --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ibkr Evaluate Order?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ibkr Evaluate Order
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-ibkr-evaluate-order/badge)](https://www.skillsdirectory.com/skills/aibot88-ibkr-evaluate-order)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ibkr-evaluate-order
description: Evaluate a proposed single-leg order through full pre-trade validation. Use when the user requests to buy or sell a specific instrument and you need to assess portfolio impact, concentration, and profile compliance before any approval or execution. Call ibkr-place-order after this skill to execute an approved order.
---

# IBKR Evaluate Order

Evaluate and validate a single-leg order without placing it. Produces a constraint-adjusted order preview with portfolio impact, concentration change, and profile compliance.

## When to Use

- User says "buy X shares of Y" or "sell Y" and you need to validate before execution
- Comparing multiple order scenarios before committing
- Use after `ibkr-portfolio-snapshot` for context
- Follow up with `ibkr-place-order` once the user approves

## Workflow

### Phase 1 — Trading Status Check

1. Call `ibkr_get_trading_status` — read `dryRun`, `ordersEnabled`, `tradingMode`, `blockReason`
2. If `dryRun=true` or `tradingMode=paper`, note it in the output (the user may want to change it before evaluating)
3. If `ordersEnabled=false`, stop here and report the block to the user
   - `blockReason` alone is informational and does NOT block evaluation when `ordersEnabled=true` and `dryRun=false`
   - A safety-lock blockReason (e.g., "Safety lock engaged after environment switch") is cleared automatically when the user intentionally unlocks via `ibkr_admin_update_trading_control`

### Phase 2 — Instrument Qualification

4. Call `ibkr_resolve_contract` to fully qualify the instrument (symbol + securityType + exchange + currency)

### Phase 3 — Pre-Trade Validation

5. Call `ibkr_preview_order` with the full `OrderSpec` — get estimated price, notional, commission, warnings
6. Call `ibkr_assess_order_impact` — get concentration change, buying-power usage, margin impact
7. Call `ibkr_validate_against_profile` — confirm the order is within profile limits

### Phase 4 — Constraint Presentation

8. Present the evaluated order with a clear summary table:

**Instrument:** `<symbol>` | `<securityType>` | `<exchange>` / `<currency>`
**Side:** `<BUY|SELL>` | **Qty:** `<qty>` | **Order Type:** `<orderType>`
**Est. Price:** `<price>` | **Est. Notional:** `<notional>`

**Portfolio Impact:**
| Metric | Value |
|--------|-------|
| Concentration before | `<pct>%` |
| Concentration after | `<pct>%` |
| Buying power used | `<pct>%` |
| Margin utilisation | `<pct>%` |

**Profile Check:** `<passed|failed>` | Violations: `<list or "None">`
**Warnings:** `<list or "None">`

9. If the qty needed adjustment to satisfy profile limits or the minimum remaining position constraint, note the adjusted qty and why.

10. Call `question` to confirm: "Ready to submit for Telegram approval?" with options "Yes, submit" and "No, cancel" (only proceed if they confirm)

## Guardrails

- **This skill is read-only with respect to execution.** Do not call `ibkr_place_order`, `ibkr_request_trade_approval`, or any execution tool inside this skill.
- Use a unique `clientOrderId` for every evaluation (e.g. `{symbol}-{side}-{timestamp}`).
- If `ordersEnabled=false` or `blockReason` is set, stop and report the block reason — do not proceed to evaluation.
- If `dryRun=true` or `tradingMode=paper`, note it but still run the full validation (the user may choose to enable live trading before execution).

## OrderSpec Reference

```
{
  "instrument": { "symbol": "<SYMBOL>", "securityType": "STK", "exchange": "SMART", "currency": "USD" },
  "side": "BUY" | "SELL",
  "quantity": <positive number>,
  "orderType": "MKT" | "LMT" | "STP" | "STP_LMT",
  "limitPrice": <number, required for LMT/STP_LMT>,
  "tif": "DAY" | "GTC" | "IOC",
  "outsideRth": false,
  "clientOrderId": "<unique-id>",
  "transmit": true
}
```

## Resources

- `ibkr_get_trading_status`
- `ibkr_resolve_contract`
- `ibkr_preview_order`
- `ibkr_assess_order_impact`
- `ibkr_validate_against_profile`

Files in this skill

  • SKILL.md3.9 KB
  • source.json849 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.