diff --git a/CHANGELOG.md b/CHANGELOG.md index 9553149..d5ff913 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Fixed +- **Reply template was being echoed with unfilled placeholders** (`est p`, `conv + n/100`, `+xpts`, `[URL]`). Replaced the `` template in `SKILL.md` with a + filled example + an explicit "never output a literal placeholder" rule so BankrBot + substitutes real values. + ### Changed (analysis ≠ sizing — the bet is the user's choice) - **Separated analysis from sizing.** A discovery/analysis request ("show me the markets", "what's the edge on X") now returns **analysis only** — no pre-sized bet, diff --git a/SKILL.md b/SKILL.md index 855d7cc..284ed1d 100644 --- a/SKILL.md +++ b/SKILL.md @@ -338,12 +338,19 @@ come back with a pre-sized bet, a dollar amount, or a "place $X / reply yes" pro **Default = ANALYSIS ONLY** (for "show me the markets", "what's the edge on X", any discovery/analysis). No stake, no `$` amount, no confirm line — end by leaving the -decision to the user: +decision to the user. This is the **shape** — fill every field with the real value. +A correctly-filled reply looks exactly like this: ``` - · · YES · est

· conv /100 -edge +pts → net EV +% (after fees) · gate 4: <✅/❌> · verdict: - → want to size a bet? tell me your stake, or ask `why` +France to win the World Cup · Polymarket · YES 0.39 · est 0.42 · conv 72/100 +edge +3pts → net EV +7.8% (after fees) · gate 4: ✅ · verdict: value +strong squad depth + form favor France → want to size a bet? tell me your stake, or ask `why` ``` +> ⚠️ **Never output a literal placeholder.** Every field must be a real +> fetched/computed value. If a price wasn't fetched, print the **actual market URL** +> + "verify live" (not the text "[URL]"). Never emit bare tokens like `p`, `n`, `x`, +> `y`, ``, `[URL]`, or `$` — printing a placeholder means you failed to fill +> the field, and that reply is wrong. + Hard rules: ≈4 lines / under ~500 chars; one line per component; the "why" is ONE clause, not a paragraph; name any failed gate.