Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/joncovington/meicagent/execute-entrygit clone --depth 1 https://github.com/joncovington/MEICAgentWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.01700 |
| Opus 5 | $0.00000 | $0.00850 |
| Sonnet 5 | $0.00000 | $0.00340 |
| Haiku 4.5 | $0.00000 | $0.00170 |
Grade A, and why
execute-entry scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Execute a new MEICAgent iron condor entry. Only invoke when the entry decision (Step 6) is yes.
Requires: strategy strikes, wing width, and quotes already evaluated this iteration.
-
Strike overlap check — fetch open trades for this symbol only (
python src/db.py get_open_trades --symbol <symbol>) and collect all strikes currently held across this symbol's open ICs. Confirm that none of the four proposed strikes (short put, long put, short call, long call) appears in that set. A matching strike would either net out an existing leg (partial close) or result in more than one contract at the same strike — both are disallowed. Strikes on other symbols are never compared (they're on different underlyings and different price scales). If any overlap is found, abort immediately without submitting an order. -
Price check — get the current underlying price:
python src/tt.py get_quote --symbol <symbol>
If the underlying has moved more than 0.5 points since the get_strategies call, re-fetch strikes:
python src/tt.py get_strategies --symbol <symbol> --short_delta <delta_target> --wing_width <width> --around_price <last>
- Fetch live quotes — get the current bid/ask/mid for all four legs:
python src/tt.py get_option_chain --symbol <symbol> --expiration <date> --include_quotes --around_price <last>
From the response, extract for each of the four legs: bid, ask, mid. Compute:
ic_mid= short_put_mid + short_call_mid − long_put_mid − long_call_midic_natural_bid= short_put_bid + short_call_bid − long_put_ask − long_call_askavg_spread_per_leg= mean of (ask − bid) across all four legs
Abort if ic_mid ≤ 0 or ic_natural_bid ≤ 0.
-
Apply price strategy — based on
entry_price_strategyconfig:mid(default): Attempt a Day limit atic_midif conditions are favorable; fall back toic_natural_bidotherwise.Gate — skip mid attempt and go straight to natural_bid if any of:
avg_spread_per_leg>mid_spread_gate(default 0.10) — spread too wide for a mid fill- Session is
open_volatile(9:45–10:15, elevated gamma) — mid orders stale too fast - Session is
late(after 14:45) — time pressure outweighs credit improvement ic_mid − ic_natural_bid< 0.03 — spread so tight the improvement isn't worth the wait
If gate passes:
- Submit a Day limit at
ic_mid(round to nearest $0.01). Go to Step 5 (dry run), then Step 6 (submit). - After submitting, wait
mid_improve_wait_seconds(default 45s) polling working orders. - If filled within the wait: proceed to Step 7 (save trade).
- If unfilled: cancel the working order, then resubmit at
ic_natural_bidas a Day limit. Proceed to Step 5 and Step 6 for the fallback order.
If gate fails: use
ic_natural_biddirectly as a Day limit.natural_bid: submit the order atic_natural_bidas a Day limit.ioc_step: try IOC orders atic_natural_bid+ each increment inioc_step_increments, waitingioc_step_wait_secondsper attempt. If none fill, fall back toic_natural_bidas a Day limit.day_improve: submit a Day limit atic_natural_bid+day_improve_amount. Waitday_improve_wait_seconds. If unfilled, cancel and resubmit atic_natural_bid.auto: choose strategy based on session window, spread width, and IV rank:open_volatileorlate: usenatural_bidprimeormidday,avg_spread_per_leg≤ 0.07: usemidprimeormidday,avg_spread_per_leg> 0.07: useday_improveafternoon: useday_improveif IV rank > 0.40, elsenatural_bid
-
Dry run — submit a dry-run order at the chosen limit price and check for errors, buying-power warnings, or rejections. Abort without submitting if the dry run fails.
python src/tt.py execute_trade --order '<JSON order spec>'
(Default is dry run; omit --live to validate only.)
5a. Pre-submit requote — immediately before adding --live, re-fetch the current bid/ask for all four legs:
python src/tt.py get_option_chain --symbol <symbol> --expiration <date> --include_quotes --around_price <last>
Recompute ic_natural_bid from the fresh quotes. If either of these conditions holds, abort the live submission and re-evaluate next iteration:
ic_natural_bid≤ 0 (credit has flipped to a debit — would trigger Spread Checker rejection)ic_natural_bid<planned_limit_price−pre_submit_requote_threshold(price has dropped more than $0.03 from the dry-run price)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 93 lines · 0 tokens per session scan A 3f75dae624f7
execute-entry is a command published in the GitHub repository joncovington/MEICAgent (4 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,700 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
scan
Universal scan — auto-detects asset class (stock / crypto / index / FX / commodity) and runs the matching protocol. With no args, regenerates scanned/INDEX.md.
ingest
Ingest new framework knowledge into docs/ and recalibrate guide/. The ONLY command authorized to write inside docs/.
help
Show available commands for this app.
discover
Run a Finviz screener aligned with the framework + current macro regime. Saves a dated candidate list to scanned/SCREENS/.
rescan
Refresh existing scan, rotating prior snapshot to archive/. Args: or "macro.
scan-earnings
Earnings setup analysis for ticker. 8-point checklist + pre-print read.