---
name: "buy-framework"
description: "Run on EVERY token analysis in EVERY session (project or not): any contract or DexScreener link, screen, DD, deep dive, is-it-a-buy, add/trim/sell. The ONE owner of X volume + Wall Street cheat sheet sentiment, plus price, volume, market gate."
---

# Buy framework v3.5 (4 Oct 2026, 00:30 Bangkok)

## WHEN TO RUN: ALWAYS, WITHOUT BEING ASKED, IN EVERY SESSION

Ben, 3 Oct 2026, standing: every coin analysis includes X volume and sentiment, in every Cowork or chat session, inside the Pro Trading project or not. Contract or DexScreener link pasted, lowcap screen, DD, deep dive, "is it a buy", "should I add / trim / sell", "is it early", position check. Ben must never have to say "run the sentiment". A coin answer without the cycle phase line is incomplete and is not delivered. Receipt: INU 3 Oct shipped with no X read.

## ONE OWNER, NO DUPLICATES

- THIS skill owns X volume and sentiment (cheat sheet phase). Do not build or propose another X sentiment skill or script. The x-pulse skill (keyword scoring, 3 Oct) is retired.
- `x-claim-audit` owns X CLAIMS (what people assert, marked CONFIRMED / FALSE / UNRESOLVED on chain). Run both on a full screen; on a quick "is it a buy", this skill plus any load-bearing claim seen in the printed posts.
- Memory lives in the Pro Trading project but is readable from any session by full path: /projects/01a0fb26-9317-76c2-81d6-e63f6c1959d5/areas/buy-framework.md (receipts, versions), /projects/01a0fb26-9317-76c2-81d6-e63f6c1959d5/preferences.md (X rules), /projects/01a0fb26-9317-76c2-81d6-e63f6c1959d5/areas/trading-edge-hub-2.md (latest ledger). Read them; do not wait to be inside the project.

Minimum output in every coin answer, even when another skill owns the format:
- One line: cycle phase on the Wall Street cheat sheet (euphoria, complacency, anxiety, denial, panic, anger, depression, disbelief, hope) read from real people ticker posts BY MEANING, with the per 4h real people counts (volume trend).
- One line: what buyscore.py printed (its verdict word).

Robinhood Chain and Solana. Reports: Pro Trading project docs claude/pullback-ath-study.md (latest) and claude/sentiment-system.md ("Test report v2").

## 0. Hard rules (Ben, standing)

1. Every X call goes through xsafe (shared scam, bot and vote-farm filter plus credit guard). Never call twitterapi.io raw for sentiment. http://159.223.88.168/hx-c9ois/fw/xsafe.py
2. NEVER judge X from "the last 20 posts" (one page). Every count, "nobody posts", "quiet" or mood read uses a fixed time window (last 12h, 24h, per 4h) read to the END (xsafe complete=True). If the page cap stops first, say "at least N" and never call it quiet.
3. No word counting. Read what real people say and judge the feeling: hopeful, excited, angry, frustrated, depressed, doubtful, bored.
4. The mood read uses the TICKER crowd ($TICKER or the coin name). Contract posts are bots; never base the mood on them and never talk to Ben about bots, airdrop links or spam in a sentiment read.
5. Before trusting the crowd, scan the printed posts for OTHER coins with the same ticker (other chain, other contract, other name). If any slipped through, drop them by hand, say the corrected count, and log the leak in memory buy-framework so the script gets fixed.
6. Double check surprising data ("zero people") before reporting it.
7. Before a big X job: check http://159.223.88.168/hx-c9ois/fw/xstatus.json and call xs.budget(n). Stop if the brake is on.
8. Never compare raw X counts across the 7-day line (X thins older posts). Use xsafe comparable counts (real people, 3+ likes).
9. Backtests: runtrack coins were filled on 2 Oct 2026 from "top now" lists, so they are survivor-biased for anything before that date. Any "does it recover / make a new ATH" finding must be tested on the FAIR list: every Pons V2 graduation from chain logs, dead coins included (http://159.223.88.168/hx-c9ois/fw/univ_pons.json.gz, fw/pons_grads.json). On it the young / small cap / fast run "winners" vanished.

## 1. Run the script (always, first)

```bash
curl -s -A "Mozilla/5.0" http://159.223.88.168/hx-c9ois/fw/buyscore.py -o /tmp/buyscore.py
md5sum /tmp/buyscore.py   # expect 98da93e2348726ff91d1dbd0a2e0ba64 (v3.5: ticker collision fix + NEW-ATH ODDS + X new voices) or a newer md5 noted in memory buy-framework
TWAPI_KEY=<twitterapi.io key from the research-sources skill> python3 /tmp/buyscore.py <contract> [chain]
```

Never print the key. For a DexScreener link, get the base token contract from the DexScreener API first. The script downloads xsafe by itself. Works from the cloud container, no Mac needed.

## 2. What the script decides

- WAIT (SHORT-TERM BOUNCE NOT PROVEN): 80%+ under ATH and no real person posting in the full 12h. The first test said +23% per trade, but on 679 new events (425 coins) it failed: silent -6% vs talking -7%; all 1,060 events +1% vs 0%. Silence alone is NOT a buy. Never call it STRONG BUY.
- WAIT (CLOSE): 60 to 80% down and silent.
- WAIT (PEOPLE STILL TALKING): read the printed posts.
- NO BUY (FAKE BOUNCE): people come back after a silent day while price pops 15%+.
- NO BUY (SPAM-DRIVEN): real people silent but bots and scam links busy.
- NO BUY (CHASING): up 38%+ in 24h.
- Golden pocket module: BUY (GOLDEN POCKET) with order block or buy shift and nobody hyping; WAIT (KNIFE IN POCKET) when RSI 1h under 25. Not re-tested out of sample yet; say so.
- NEW-ATH ODDS line (v3.5, fair Pons list, paper test, never a buy word): base held (gave back 75% or less of the whole run) + crowd still active (X 3+ like posts in 24h at least 50% of the ATH day) = about 40% new ATH in 14 days; base held but quiet about 23%; base lost about 12% (2x trade -7%, avoid); 80%+ down about 6%. COMEBACK adds little on the fair list (+4 points, CI crosses 0). Mood (cheat sheet phase) is not a filter for new-ATH trades; crowd ACTIVITY is.
- X NEW VOICES (authors posting 3+ like posts about the coin for the first time in 7 days): at a retest of the top (back within 10% after a 30%+ dip) 6+ new voices in 24h = 49% breakout vs 73% with 0 to 2 (holds with volume and momentum controls, gone in a 7 day delayed placebo). At a fresh new top 11+ new voices = only 63% go 10% higher vs 82%: TOP RISK, sell some. Tested on RH Pons coins only.
- SELL SOME (v6, macro session): day read as EUPHORIA, COMPLACENCY, THRILL or ANXIETY, or loud DENIAL, or 3+ THRILL/EUPHORIA days in the last 7. Check this on every coin Ben holds.

The script prints per-4h real ticker people and trading volume for the last 24h, the day before, and the real posts. Read the mood yourself from those posts. Cheat sheet guide: flat, doubtful, bored = disbelief (what Ben wants to see when buying; not yet a tested signal); hopeful or excited after a dump = not yet; angry = still falling; euphoric = sell some.

## 3. Gate it with the market and other Pro Trading sessions

- Read memory trading-edge-hub (account copy and the project copies above), buy-framework, macro-direction, bottom-timing.
- Pull http://159.223.88.168/rotation.json. If the macro light is COUNTER-RALLY or HOT, downgrade one step. Its word and line lean on Solana and launchpad volume: check the coin's own chain basket before calling that chain risk on.
- Robinhood Chain: if BOTTOM LAB or sellerwatch shows big sellers still selling, downgrade one step. If BOTTOM LAB sent a COMEBACK strong buy, say it is a paper test: on the fair list COMEBACK adds about +4 points (not significant); the base held + crowd active line is the better read.

## 4. Answer format

- First line: the action word only (BUY, WAIT, NO BUY, HOLD, ADD, SELL SOME), then one plain sentence why.
- Then 3 to 5 tiny bullets: % under top and how fresh the drop is, real people per 4h (rising or falling) and their mood with the cheat sheet phase, one or two quoted real posts, market light, the NEW-ATH ODDS line (with any TOP RISK or RETEST warning).
- Bangkok time. Full contract address, never shortened. No dashes. Talk like he is 5.
- For any BUY add the exits: sell at 2x, wrong if it falls 50% from entry, out after 14 days.

## 5. Score it

Every BUY: append one line to memory buy-framework under a Live calls section (date Bangkok, coin, full contract, market cap, verdict). That is the forward blind test.

## 6. Pre-delivery gate for ANY coin answer (blocks delivery)

1. Did buyscore.py run this turn on this coin?
2. Were the printed crowd posts checked for other coins with the same ticker?
3. Is the cycle phase line in the answer, read by meaning, with the per 4h volume trend?
4. Were the X counts from a full time window (not one page)?
5. Was rotation.json read and the coin's own chain basket checked?
6. Was any load-bearing claim in the posts sent through x-claim-audit?
7. Is the NEW-ATH ODDS line in the answer, called a paper test, with any TOP RISK or RETEST warning shown?