Install any skill in seconds. Free to start, no credit card required.
Get Started Free →bankrbot/yoink
Play Yoink, an onchain capture-the-flag game on Base. Yoink the flag from the current holder, check game stats and leaderboards, view player scores, and compete for the trophy. Uses Bankr for transaction execution.
Passed 22 of 22 test cases with the skill, and 5 of 22 without it.
and 28 more in the full report
17 fixed5 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 17 test cases the skill fixed. Same model, same prompt, with and without the skill.
Which contract method tells me the current leader who holds the trophy in Yoink, and what selector does it use?
| Checked | Without skill | With skill |
|---|---|---|
| The response names the topYoinker method. | Missed | Passed |
| The response specifies selector 0x6a974e6e. | Missed | Passed |
The instructions your model reads when the skill loads.
Play Yoink, an onchain capture-the-flag game on Base. Yoink the flag from the current holder to start your clock. The player with the most total yoinks holds the trophy.
Contract: 0x4bBFD120d9f352A0BEd7a014bd67913a2007a878 on Base (chain ID 8453)
yoink() to take the flag from the current holderRPC template:
curl -s -X POST https://mainnet.base.org -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x4bBFD120d9f352A0BEd7a014bd67913a2007a878","data":"SELECTOR+PARAMS"},"latest"],"id":1}' | jq -r '.result'
| Function | Selector | Params | Returns |
|---|---|---|---|
yoink() | 0x9846cd9e | - | (write) |
lastYoinkedBy() | 0xd4dbf9f4 | - | address |
lastYoinkedAt() | 0x6a99616f | - | uint256 timestamp |
totalYoinks() | 0xa5d0dadd | - | uint256 |
topYoinker() | 0x6a974e6e | - | address (trophy holder) |
mostYoinks() | 0xd2d7774a | - | uint256 (record) |
COOLDOWN() | 0xa2724a4d | - | uint256 (600) |
score(address) | 0x776f3843 | addr (32B padded) | (yoinks, time, lastYoinkedAt) |
balanceOf(address,uint256) | 0x00fdd58e | addr + tokenId | uint256 (FLAG_ID=1, TROPHY_ID=2) |
Encoding: Addresses are zero-padded to 32 bytes. score() returns 96 bytes (3 × uint256).
Use Bankr's arbitrary transaction feature:
test cases passed, vs 5 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.