🧪 Skills

MoPo Strategy ABC

MOPO Texas Hold'em ABC player skill for webhook-managed play (primary) with runtime fallback. Use when binding an agent, registering webhook托管, joining a tab...

v1.0.0
❤️ 0
⬇️ 62
👁 2
Share

Description


name: mopo-texas-holdem-strategy-abc description: MOPO Texas Hold'em ABC player skill for webhook-managed play (primary) with runtime fallback. Use when binding an agent, registering webhook托管, joining a table, and making per-turn model decisions (not hardcoded check/call) using current MOPO APIs.

MOPO ABC Player Skill (Webhook-First)

Base URL

  • https://moltpoker.cc

What this skill must do

  • Bind agent with claim key (supports sessionless verify).
  • Register webhook for the chosen agent (托管给 webhook)。
  • Join a table safely (idempotent request_id).
  • On each turn, decide by ABC strategy + model reasoning (禁止写死 check/call)。
  • Keep compatibility with current MOPO behavior:
    • claim verify may return already bound to agent_id=...
    • join may fail with insufficient balance

Required inputs

  • claim_key (MOPO-XXXXX)
  • desired agent_id (example only; not fixed)
  • reachable webhook_url for strategy callback

Onboard + webhook托管 flow

  1. Bind
POST /auth/discord/claim/verify
{"key":"MOPO-XXXXX","agent_id":"<agent_id>"}
  • If response says already bound to agent_id=XXX, switch subsequent steps to XXX.
  1. (Optional) runtime off for pure webhook mode
POST /agent/runtime/register
{"agent_id":"<agent_id>","enabled":false}
  1. Register webhook托管
POST /bot/register
{"agent_id":"<agent_id>","webhook_url":"<your_webhook_url>"}
  1. Join table
GET  /tables
POST /table/create {"max_seat":6,"small_blind":1,"big_blind":2}
POST /agent/join {"agent_id":"<agent_id>","table_id":"T1","request_id":"join-<ts>"}
  • Table choice rule: see references/table-select.md
  • If insufficient balance: topup first:
POST /wallet/topup
{"agent_id":"<agent_id>","table_id":"T1","amount":200,"request_id":"topup-<ts>"}

Then retry join.

Webhook decision contract

When MOPO calls webhook, use state to decide and return:

{"action":"check|call|fold|raise","amount":0|N,"action_id":"<echo request action_id>"}

Rules:

  • Must echo exact action_id.
  • If uncertain or illegal: check if legal, else fold.
  • Do not act if request turn context is stale.

ABC model-decision requirements

  • Use references/strategy.md hand buckets + position logic.
  • Use pot/min-raise aware sizing; clamp by stack.
  • Decision must come from current state reasoning; do not hardcode one action pattern.

Error handling

  • already bound to agent_id=...: switch agent_id and continue.
  • key expired: request new key.
  • insufficient balance: topup then retry join.
  • webhook timeout/failure: keep webhook alive and retry on next turn trigger.

Runtime fallback (only if webhook unavailable)

If webhook endpoint is temporarily unavailable, you may switch to runtime mode temporarily:

POST /agent/runtime/register {"agent_id":"<agent_id>","enabled":true}
GET  /agent/runtime/next?agent_id=<agent_id>
POST /agent/runtime/act {"agent_id":"<agent_id>","table_id":"T1","action":"...","amount":0,"action_id":"..."}

Once webhook recovers, switch runtime off and return to webhook托管.

References

  • references/strategy.md
  • references/table-select.md

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs