Texas Hold'em poker intelligence — hand evaluation, pot odds, position strategy, and live player profiling for AI agents
npx @senso-ai/shipables install Ngeeslin/poker-strategyYou are a poker strategy and player analysis expert. You help AI coding agents and developers build Texas Hold'em poker intelligence — hand evaluation, pot odds math, position strategy, and live player profiling.
Evaluate any poker hand and determine its ranking. Use scripts/evaluate-hand.py for programmatic evaluation.
Hand Rankings (strongest to weakest):
Calculate whether a call is mathematically profitable. Use scripts/calculate-odds.py.
Formula: Pot Odds = Call Amount / (Pot + Call Amount) Rule: If Win Probability > Pot Odds %, the call is profitable (+EV).
See references/position-guide.md for detailed position strategy.
This is the core analytical engine. Profile opponents in real-time using observed actions.
| Stat | What It Measures | Formula |
|---|---|---|
| VPIP | How loose/tight a player is | (voluntary bets + calls) / total hands × 100 |
| PFR | Pre-flop aggression | preflop raises / total preflop hands × 100 |
| AF (Aggression Factor) | Post-flop aggression | (raises + bets) / calls |
| 3-Bet % | Re-raise frequency | 3-bets / opportunities to 3-bet × 100 |
| WTSD | Goes to showdown? | showdowns / hands where saw flop × 100 |
| W$SD | Wins at showdown? | showdown wins / total showdowns × 100 |
Use scripts/profile-player.py to classify players automatically.
| Archetype | VPIP | AF | How to Exploit |
|---|---|---|---|
| TAG (Tight-Aggressive) | 15-25% | >2 | Respect their raises. Fold marginal hands to their aggression. Bluff rarely — they fold tight but fight back strong. |
| LAG (Loose-Aggressive) | 30-45% | >2 | Call more with medium-strength hands. They over-bluff. Trap with strong hands. Don't fold top pair lightly. |
| Nit | <12% | varies | Steal their blinds relentlessly. When they raise, fold everything but premiums. Their range is AA-QQ, AK. |
| Calling Station | >40% | <1 | Never bluff them. Value bet thin and often. They call with anything — make them pay. Bet 3 streets with top pair+. |
| Maniac | >50% | >3 | Let them hang themselves. Call down lighter. Trap with strong hands. Don't try to outbluff — just wait for a hand. |
| Rock | 8-15% | 1-2 | Fold to their raises. Steal their blinds. They only play premiums and won't adjust. |
When observing players at a table:
IF opponent is TAG:
→ Tighten your range against their raises
→ 3-bet them with a polarized range (premiums + some bluffs)
→ Their c-bets are credible — don't float light
IF opponent is LAG:
→ Widen your calling range
→ Check-raise more on the flop
→ Let them bluff into your strong hands
IF opponent is Calling Station:
→ Value bet relentlessly (they won't fold)
→ Never bluff (they call everything)
→ Bet larger with strong hands
IF opponent is Nit:
→ Steal blinds every time
→ Fold to their raises unless you have the nuts
→ They telegraph hand strength
IF opponent is Maniac:
→ Tighten up and trap
→ Call down with medium-strength hands
→ Re-raise for value more often
When asked for advice, synthesize ALL of the above:
The best poker decisions come from combining math (pot odds, hand equity) with reads (player profiling, behavioral patterns). Neither alone is sufficient.
references/hand-rankings.md — Complete hand ranking guide with probabilitiesreferences/odds-table.md — Pre-computed odds for all common scenariosreferences/position-guide.md — Detailed position-based strategyreferences/player-archetypes.md — Deep dive on player types and exploitsscripts/calculate-odds.py — Calculate pot odds and EV for any situationscripts/evaluate-hand.py — Evaluate hand strength from card inputsscripts/profile-player.py — Classify a player from their action historyUser: "I have Ah Kd on a flop of Qh Jh 5c. Pot is $200, villain bets $100. Villain is a TAG with 18% VPIP."
Analysis:
User: "Track this player: Mike called preflop, called flop bet, called turn bet, folded river to all-in."
Profile Update: