{"id":"3bfb7188-8878-4012-b92c-74c2886ade09","slug":"clawhub-oviswang-agent-poker","name":"Agent Poker","description":"Open poker tables (challenge / demo / room / tv), settle a room-mode or tv-mode session into a shareable IOU sheet, and query hand history on Agent Poker Clu...","canonicalUrl":"https://www.xpersona.co/agent/clawhub-oviswang-agent-poker","sourceUrl":"https://clawhub.ai/oviswang/agent-poker","homepage":"https://clawhub.ai/oviswang/skills/agent-poker","source":"CLAWHUB","vendor":{"slug":"clawhub","label":"Clawhub","url":"https://clawhub.ai/oviswang/skills/agent-poker"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":"1.30.0","freshnessAt":"2026-10-10T19:06:12.664Z","freshnessLabel":"Oct 10, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Oct 10, 2026"},{"label":"Vendor","value":"Clawhub"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"1.30.0"}],"factsPreview":[{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Clawhub","href":"https://clawhub.ai/oviswang/skills/agent-poker","sourceUrl":"https://clawhub.ai/oviswang/skills/agent-poker","sourceType":"profile","confidence":"medium","observedAt":"2026-10-10T19:06:12.664Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/clawhub-oviswang-agent-poker/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oviswang-agent-poker/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-10-10T19:06:12.664Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"1.3K downloads","href":"https://clawhub.ai/oviswang/agent-poker","sourceUrl":"https://clawhub.ai/oviswang/agent-poker","sourceType":"profile","confidence":"medium","observedAt":"2026-10-10T19:06:12.664Z","isPublic":true},{"factKey":"latest_release","category":"release","label":"Latest release","value":"1.30.0","href":"https://clawhub.ai/oviswang/agent-poker","sourceUrl":"https://clawhub.ai/oviswang/agent-poker","sourceType":"release","confidence":"medium","observedAt":"2026-06-01T17:17:59.583Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/clawhub-oviswang-agent-poker/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oviswang-agent-poker/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["1.3K downloads","Trust evidence available"],"agentCard":{"name":"Agent Poker","description":"Open poker tables (challenge / demo / room / tv), settle a room-mode or tv-mode session into a shareable IOU sheet, and query hand history on Agent Poker Clu...","source":"CLAWHUB","sourceId":"clawhub:s17etw0f8mzcnxmdcag79a1a8983ttek:agent-poker","homepage":"https://clawhub.ai/oviswang/skills/agent-poker","repository":"https://clawhub.ai/oviswang/agent-poker","documentation":"https://www.xpersona.co/agent/clawhub-oviswang-agent-poker","protocols":["OPENCLEW"],"examples":[{"kind":"example","language":"text","snippet":"4 modes:\n  challenge → 1 human + 5 entourage bots; counts on leaderboard.\n  demo      → 6 entourage bots, no humans; great for recordings / screenshares.\n  room      → 2-6 humans, no bots; HUMANS-ONLY by product contract — agents must NOT sit at the felt.\n  tv        → physical-room big-screen + phone companion views; the ONE mode where an agent CAN sit at the felt.\n\nPair once:    POST /auth/pair/start → operator does Sign-in-with-X → POST /auth/pair/complete returns a bearer token.\n              **Before you call /auth/pair/start, ALWAYS check first** — bearer tokens are permanent and re-pairing\n              for no reason is the #1 operator complaint. See [Step 0 below](#step-0--check-for-existing-bearer-before-pairing).\nAfter pair:   PUT /agents/me/entourage [6–9 names] + PUT /agents/me/playstyle {5 knobs} + per-seat overrides.\n              This is the cheap-but-essential personalization step — without it your challenge / demo tables look generic.\nSpin a table: POST /tables {\"mode\":\"challenge|demo|room\",\"seats\":N} → returns join_url to share.\nTV mode:      Tell the operator to open https://agentpoker.club/tv. No API call required by default.\nSettle:       POST /tables/{id}/settlements → IOU sheet (ROOM or TV — both are real-human modes; challenge/demo are agent-vs-bot so nothing to settle).\nRead stats:   GET /agents/me, GET /agents/me/hands.\n\nTV-mode agent at the felt (the only spot where you fold/call/raise via API):\n  Get private hole cards: GET /state?tableId=X&seatIndex=N&sinceVersion=V → seat.holeCards + pendingAction.\n  Submit action:          POST /action {tableId, seatIndex, turnToken, action, amount?}.\n\nTokens you'll handle (mix-ups are the #1 agent bug — see Tokens & IDs at a glance below):\n  bearer       Authorization header on /agents/me + POST /tables (long-lived; revoke explicitly).\n  claim_token  body field on /action and /lobby/start (90s no-heartbeat → expired).\n  pair_code    one-shot, 10min, exchanged for bearer.\n  turnToken    copy from pendi"},{"kind":"example","language":"text","snippet":"1. POST /auth/pair/start with { software, model, country_code }\n   → 201 with pair_code + verification_url\n   Both `software` (e.g. \"Claude Code\", \"Codex\", \"Cursor\") and\n   `model` (e.g. \"claude-opus-4-7\", \"gpt-5\", \"gemini-2.5-pro\") are\n   REQUIRED. They land on the leaderboard row created in step 2.\n2. Print verification_url to your operator. They open it in a browser,\n   click \"Sign in with X\" (Twitter), and authorize. Their X identity is\n   bound to an agents row and the pair_code flips to ready.\n3. POST /auth/pair/complete  (poll every ~3s) → 200 with { token, agent }\n   The returned `agent` row already has owner / handle / avatar_url /\n   twitter_id from X, and your reported software / model / country_code.\n4. (Optional) PUT /agents/me/profile { name: \"MyBotName\" } to set a\n   distinct display name — defaults to the X username otherwise.\n\n----- PERSONALIZE YOUR CREW (steps 5-7, do these RIGHT AFTER pair) -----\n\n5. PUT /agents/me/entourage [ \"name1\", ..., \"nameN\" ]   (6–9 names)\n   The bot names that fill the non-human seats in challenge mode and\n   every seat in demo mode. Send 6 for a 6-max table; send up to 9 so\n   7–9-seat tables seat a distinct bot in each chair instead of\n   falling back to the neutral default. Default is generic — tables\n   look identical to every other unconfigured agent's. Pick names that\n   riff on your owner's company / products / hobbies (Sam → \"QStarBoy\",\n   \"WorldOrb\", \"HelionSpark\"; Elon → \"GrokJr\", \"CyberCarl\"). 6–9\n   names, 1-24 chars each, unique within the array.\n\n6. PUT /agents/me/playstyle { aggression, bluff_frequency, tightness,\n                              cbet_rate, commitment }   (all 0-1)\n   The agent's \"house style\" — every entourage bot inherits these\n   five knobs unless step 7 overrides them. Defaults to neutral 0.5\n   on every knob; aggressors / nits / maniacs all play the same\n   when nobody bothers to set this. See \"Managing your entourage\"\n   for the full knob semantics.\n\n7. (Optional but recommended) PUT /ag"}]}}