Onyx Patterns

Weekly action recos

Two or three concrete to-dos for the coming week — derived from your detector findings and journal, phrased as imperatives with a measurable trigger. The checklist version of the weekly narrative.

What it is

The weekly narrative card (TRA-229) tells the story across all 28 detectors plus your journal. The recos card pulls the actionable layer out of that story and renders it as a short numbered list — exactly two or three items, each with one measurable trigger. Reading the narrative answers “what's going on”; reading the recos answers “what do I actually do about it”.

The split is intentional. The narrative is prose: discursive, contextual, useful for a long Sunday review. The recos are a checklist: short, scannable, useful Monday morning when you don't have time for prose. The model is instructed to phrase every item with a measurable trigger — “No new trades within 20 minutes of any closed loss” — and to drop any item that can only be expressed as a generic intention (“be more disciplined”, “stay patient”). If the model can't measure it, it doesn't ship.

Pro Plus only. Free and Pro users see the card chrome + a teaser with the upgrade overlay, exactly like the narrative card. The actual Anthropic call only fires for Pro Plus accounts, so the Anthropic budget stays bounded to paying users.

Formula
Cache key: `recos_<ISO-year>-W<ISO-week>` per user — same ISO-week rotation as the narrative card. One regeneration per user per week, automatically rolling on the ISO-Monday.
 
Inputs to the prompt: the same payload as the narrative (`_build_narrative_payload`) — every pattern card + the last 7 days of journal entries (capped at 14 rows, 400 chars per free-text field). The system prompt differs: it constrains the output to a strict 2–3 numbered Markdown list with one imperative action per item plus a one-sentence Why: suffix.
 
Model: `claude-sonnet-4-6` (same as the narrative; consistent quality bar, no per-call model plumbing). Smaller output than the narrative (~200 tokens) keeps the per-call cost around €0.004. At 1 call/user/week the entire surface stays inside a €15/month budget for a 1 000-user cohort.
 
Compliance preamble. Every call carries the same investment-advice disclaimer. The model is explicitly told: actions are self-correction prompts, not order instructions.
Example

Same trader as in the weekly-narrative example: 6 weeks of EURUSD + DAX trades, journal entries on 4 of the last 7 days. Engine findings: Revenge-Trading (47.9 % of losses followed by a new trade within 20 min), Friday Drift (avg-R drops from 1.2R Mon–Thu to 0.4R Fri), Stop-Loss Drift (EURUSD SL-distance widened 30 % in two weeks vs the prior baseline).

Result**The card reads:** > 1. **No new trades within 20 minutes of any closed loss.** Wall-clock rule, not a feeling. > **Why:** revenge pattern fires on 47.9 % of losses — half your losing days carry a second, larger loss. > > 2. **Re-tighten EURUSD SL to the 14-day ATR multiplier you started with.** > **Why:** SL has widened 30 % in two weeks without a documented strategy change — the recent losses are 30 % larger than the strategy was calibrated for. > > 3. **On Fridays before the EU close, halve your normal position size.** > **Why:** average R on Fridays is one-third of your Monday–Thursday baseline; smaller size keeps the bad day from blowing the week.
How to read it

Read the recos as a starting checklist, not commandments. Each item is the model's best guess at the highest-leverage action given your data this week. You decide whether the action fits your strategy.

Quality check per item: - Imperative? Each item must tell you what TO do or NOT do — no phrases like “consider”, “try to”, “be mindful”. Vague items are a prompt regression; flag them as bug reports. - Measurable trigger? Each item must include a number or condition you can verify after the fact: “within 20 minutes”, “halve size”, “mood < 3”. If you can't check whether you followed it, you can't learn from it. - Brief Why? The one-line Why: suffix should cite a number from the underlying finding — “revenge pattern fires on 47.9 % of losses” — not a generic motivation. If the Why is generic, the action probably is too.

Trend over weeks beats any single week. A recos card that repeats the same action three weeks in a row is the model telling you the behaviour isn't changing. That's the leak. A different action every week means the model is reacting to noise — in that case the underlying detectors aren't surfacing a stable pattern yet, and the right move is to keep journaling.

When you disagree with an item: that's still useful. The disagreement points at the gap between what the detectors see and what you know about your strategy. Note the disagreement in your journal — next week's recos will see that note and adapt.

Where TradeOnyx uses it

How to read the card — visual elements top to bottom:

1. Kicker + title — always visible regardless of tier. The kicker (“Onyx-Engine · This Week, Concretely”) signals the surface; the title sets the promise. 2. Subtitle — one-sentence promise of the read. Useful for paywalled users deciding whether to upgrade. 3. The 2–3 numbered actions — only for Pro Plus. Each rendered with the action in bold and the Why: suffix in a single line below. The ordered list has generous space-y so each item is its own scannable block. 4. Cache-age hint — small grey line below the list: “Generated for 2026-W19, 2 day(s) ago. Refreshes every ISO week.” 5. AI disclaimer — italic grey footer, same compliance copy as the narrative.

When in your weekly review loop to use it: the recos card is the Monday-morning surface. Read the narrative on Sunday evening (the long version), then read the recos card on Monday morning as the imperative summary you actually act on this week. Tape the three items somewhere you'll see them mid-day — your phone lock-screen, a Post-it on the second monitor — so the trigger fires when it's relevant, not just when you open the dashboard.

Tier: Pro Plus. Free and Pro users see the chrome + three placeholder rows with the upgrade overlay. The Anthropic call never fires for non-Pro Plus accounts.

Locale: card respects the dashboard language switch. The German version uses natural trader-language (“du”, not “Sie”). Compliance disclaimer is identical across both locales.

Related reading