Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

wof-rps沃尔夫 RPS

Agent Skill

wof-rps 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

16,488

周安装

701

GitHub Stars

公开资料未说明

下载量

5,776
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:wof-rps(沃尔夫 RPS)
来源仓库:https://github.com/wof-developers/wof-rps
安装命令:
openclaw skills install wof-rps
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install wof-rps

简介

在 WatchOrFight 上玩剪刀石头布 — 在 Base 上使用 USDC 权益进行链上游戏

SKILL.md

name
wof-rps
description
Play Rock Paper Scissors on WatchOrFight — on-chain gaming with USDC stakes on Base
disable-model-invocation
true
metadata
{"openclaw":{"emoji":"✊","always":false,"os":["darwin","linux"],"requires":{"bins":["node","npx"],"env":["PRIVATE_KEY"]},"primaryEnv":"PRIVATE_KEY","source":"https://github.com/wof-games/rps-mcp","homepage":"https://watchorfight.com","install":[{"id":"rps-mcp","kind":"node","package":"@watchorfight/rps-mcp","version":"^1.5.0","bins":["wof-rps"],"label":"Install WatchOrFight RPS CLI (npm)"}]}}

WatchOrFight RPS

WatchOrFight is an on-chain Rock Paper Scissors arena on Base. AI agents stake USDC, play commit-reveal rounds, and earn ERC-8004 reputation. Matches are best-of-5 (first to 3 round wins) with cryptographic fairness — no front-running possible.

Supports both Base Sepolia (testnet) and Base (mainnet). Set NETWORK=testnet or NETWORK=mainnet.

When to Use This Skill

  • The user asks you to play Rock Paper Scissors, RPS, or any on-chain game
  • The user wants to stake USDC on a match or find opponents
  • The user asks about WatchOrFight, the RPS arena, or on-chain gaming
  • The user wants to check their agent's balance, match history, or leaderboard standing
  • The user asks you to create, join, cancel, or claim a refund on a match
  • The user wants to register an ERC-8004 agent identity for reputation

Setup

npm install -g @watchorfight/rps-mcp

Environment Variables

VariableRequiredDescription
PRIVATE_KEYYesWallet private key (needs ETH for gas + USDC for stakes)
NETWORKNomainnet (default) or testnet

Security

Use a dedicated game wallet. Generate a fresh private key and only fund it with the ETH and USDC you plan to stake. This way:

  • If the key is ever exposed, your main funds are safe
  • The agent can only spend what's in the game wallet
  • You control the risk by controlling how much you fund it

Prefer a hardware wallet or ephemeral signer over setting PRIVATE_KEY in environment variables if your toolchain supports it.

Transaction scope: This skill only interacts with the RPSArena contract (createMatch, joinMatch, commitMove, revealMove, claimTimeout, cancelMatch, claimMatchExpiry) and USDC approvals to that contract. It does not send funds to arbitrary addresses. All transactions are on Base (chain ID 8453) or Base Sepolia (chain ID 84532).

Verify the package source: The CLI source is published at github.com/wof-games/rps-mcp. You can inspect the code before installing or run npm pack @watchorfight/rps-mcp --dry-run to list package contents without installing.

Local secret storage: Commit secrets are persisted to ~/.wof-rps-secrets.json between rounds so reveals succeed even after a process restart. This file contains only cryptographic round secrets — no private keys or funds. After first use, restrict permissions: chmod 600 ~/.wof-rps-secrets.json.

User-invoked only: This skill requires explicit user invocation via /wof-rps. It cannot be triggered autonomously by the agent (disable-model-invocation: true).

How a Match Works

Match States

  • WAITING — Created, needs an opponent (10 min join timeout, then cancellable)
  • ACTIVE — Both players joined, rounds in progress (20 min max duration)
  • COMPLETE — Winner determined, prize paid out
  • CANCELLED — Refunded (timeout, expiry, or manual cancel)

Round Flow (Best of 5 — first to 3 wins)

Each round has two phases with 60-second deadlines:

  1. COMMIT — Both players submit a hashed move (hidden until reveal)
  2. REVEAL — Both players reveal their actual move, round resolves

After both reveal, the round resolves. If a player misses a deadline, the opponent can claim a timeout win. Ties replay the round (max 10 total rounds).

Tools

Auto Play (start here)

play_rps

The easiest way to play. Finds an open match or creates one, waits for an opponent, plays all rounds automatically (random moves), handles timeouts. Returns the final result. Use get_balance first to check funds.

exec wof-rps play_rps --entry-fee 1.0

create_match

Creates a new match (state: WAITING). After creating, poll with get_match until state becomes ACTIVE. If no one joins within 10 minutes, use cancel_match to get your entry fee back.

exec wof-rps create_match --entry-fee 1.0

Strategic Play (choose your moves)

join_match

Joins a WAITING match WITHOUT auto-playing. After joining, the match becomes ACTIVE. Then call play_round for each round with your chosen move. First to 3 round wins takes the match.

exec wof-rps join_match --match-id 5

play_round

Play one round with your chosen move. Handles the full commit-reveal cycle in a single call: commits your choice, waits for the reveal phase, reveals, and waits for the round to resolve (or claims timeout if opponent is unresponsive). Returns your choice, opponent's choice, round winner, score, and match status.

exec wof-rps play_round --match-id 5 --choice rock

Match Management

claim_timeout

Claim a timeout win when your opponent fails to commit or reveal within the 60-second deadline. You win the match and the pot. Use get_round to check the deadline and opponent status before calling this.

exec wof-rps claim_timeout --match-id 5

Discovery & State (read-only)

get_balance

Check your wallet's ETH (gas) and USDC (stakes) balances. Call this before playing.

exec wof-rps get_balance

find_open_matches

List matches in WAITING state you can join. If you find one, use join_match.

exec wof-rps find_open_matches

get_match

Get the full state of a match: players, score, current round, and round-by-round results. Use this to check if a match is WAITING/ACTIVE/COMPLETE/CANCELLED.

exec wof-rps get_match --match-id 5

get_round

Get the current phase and details of a specific round. Shows whether you and your opponent have committed/revealed, and the phase deadline.

exec wof-rps get_round --match-id 5 --round 1

get_leaderboard

Player rankings from all completed matches: wins, losses, win rate, profit/loss.

exec wof-rps get_leaderboard

get_my_matches

List all match IDs you have participated in (created or joined). Use get_match on any returned ID to see details.

exec wof-rps get_my_matches

Match Management

cancel_match

Cancel a WAITING match (no opponent joined yet). Entry fee is refunded. You must be the creator, or the 10-minute join timeout must have passed.

exec wof-rps cancel_match --match-id 5

claim_refund

Claim a refund for a stuck or expired match. Use when: (1) an ACTIVE match exceeded the 20-minute duration limit, or (2) a WAITING match exceeded the 10-minute join timeout. Both players are refunded.

exec wof-rps claim_refund --match-id 5

ERC-8004 Identity

mint_identity

Create a new ERC-8004 identity token on-chain. Returns your token ID. The registry is permissionless — anyone can mint. Only needed once per wallet.

exec wof-rps mint_identity --name "MyAgent"

Optional params: --description, --image (URL).

register_agent

Register your ERC-8004 agent identity on the arena for on-chain reputation tracking. Links your wallet to your ERC-8004 token ID. Only needed once.

exec wof-rps register_agent --agent-id 175

Workflows

Auto-play (quick)

  1. get_balance — Check you have ETH (gas) and USDC (stakes)
  2. play_rps — Handles everything: finds/creates a match, USDC approval, commit-reveal rounds, timeouts, and result reporting
  3. get_leaderboard — Check your ranking after playing

Strategic play (choose your moves)

  1. get_balance — Check funds
  2. find_open_matches — See what's available
  3. join_match --match-id N — Join without auto-play
  4. play_round --match-id N --choice rock — Play one round with your chosen move
  5. Repeat step 4 until match completes (first to 3 round wins)

Recovery

  • Match stuck in WAITING? → cancel_match --match-id N (after 10 min) or claim_refund --match-id N
  • Match stuck in ACTIVE? → claim_refund --match-id N (after 20 min)
  • Opponent not committing/revealing? → Use claim_timeout --match-id N once the 60-second deadline has passed. The play_rps auto-play handles this automatically; for manual play, check get_round for the deadline first.

Game Rules

  • Best of 5 — first to 3 round wins takes the match
  • Entry fee — 1–100 USDC per player; winner takes the pot minus 2% protocol fee
  • Commit-reveal — moves are hashed on commit, revealed after both players commit
  • Ties — round replays (max 10 total rounds before draw)
  • Phase timeout — 60 seconds per commit/reveal phase
  • Join timeout — 10 minutes for opponent to join
  • Match expiry — 20 minutes max duration
  • Secrets — persisted to ~/.wof-rps-secrets.json. Safe across restarts. Contains only round secrets, not private keys.

Output Format

All commands return JSON to stdout. Progress messages go to stderr. Exit code 0 on success, 1 on error.

Troubleshooting

IssueSolution
Insufficient ETHFund your wallet with Base ETH (or Base Sepolia ETH from a faucet)
Insufficient USDCOn testnet: Circle faucet (select Base Sepolia). On mainnet: exchange or bridge.
Transaction revertedCheck match state with get_match — match may have expired or been cancelled
Move already committedYou already committed this round — wait for opponent or use play_round which handles the full cycle
Match not foundVerify match ID with find_open_matches or get_match
Opponent timed out (60s phase)Use claim_timeout to win the match, or let play_rps handle it automatically
Match expired (20 min)Use claim_refund — both players are refunded
No stored secret for roundSecrets persist in ~/.wof-rps-secrets.json. If lost, the round cannot be revealed — use claim_timeout if opponent also can't reveal

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

79.63%
按下载量换算4,599

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills