Agent skill

Scan Invalid Games

by worldcoin in worldcoin/world-chain

Scan WIP1006 games inside their challenge deadline for root claims that disagree with a supplied L2 consensus RPC at finalized L2 blocks, including challenge status and game creator.

MITAuto-check passedDevelopment

Install Scan Invalid Games

skills CLI
$ npx skills add worldcoin/world-chain --skill scan-invalid-games -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install worldcoin/world-chain scan-invalid-games --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/worldcoin/world-chain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/scan-invalid-games .claude/skills/scan-invalid-games && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scan-invalid-games
GitHub stars
116
Token cost
~532 tokens
SKILL.md length
257 words
Files
2 (incl. scripts)
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Scan WIP1006 games inside their challenge deadline for root claims that disagree with a supplied L2 consensus RPC at finalized L2 blocks, including challenge status and game creator.

  • Development work in your project
  • Runs Python scripts from its folder; calls python3

What it does

Scan Invalid Games is an agent skill from worldcoin/world-chain. Scan WIP1006 games inside their challenge deadline for root claims that disagree with a supplied L2 consensus RPC at finalized L2 blocks, including challenge status and game creator.

Its SKILL.md is about 530 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/scan_games.py`).

It sits in Development. The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/scan-invalid-games”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 2b7dfe8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scan Invalid Games loads about 532 tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 257 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~532

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from worldcoin/world-chain at commit 2b7dfe8, republished under its MIT licence (© worldcoin). 257 words, ~532 tokens.

Download SKILL.mdSave it as .claude/skills/scan-invalid-games/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
scan-invalid-games
description
Scan WIP1006 games inside their challenge deadline for root claims that disagree with a supplied L2 consensus RPC at finalized L2 blocks, including challenge status and game creator.

Run python3 scripts/scan_games.py <factory-address> <l2-consensus-rpc> [mainnet|sepolia], resolving the script relative to this skill directory. Execute it directly; reading or recreating the script is unnecessary unless troubleshooting.

The user supplies the dispute game factory and its corresponding L2 consensus RPC. Default to mainnet; use sepolia when specified. L1 comes from ETHEREUM_PROVIDER or ETHEREUM_SEPOLIA_PROVIDER, respectively, as in invalid-parent. Requires only Python's standard library and an L1 provider supporting JSON-RPC batches.

The scanner pins reads to one latest L1 block and uses its timestamp. It scans factory entries backward, skipping non-1006 types, and stops at the first expired WIP1006 challenge deadline. This assumes WIP1006 challenge deadlines are nondecreasing with factory index, including across implementation changes. Only L2 heights at or below optimism_syncStatus.finalized_l2.number are compared. Expected roots come from optimism_outputAtBlock on the supplied client; they are not independently derived or authenticated by this skill.

Inside the original challengeDeadline() is the eligibility criterion, even for already-challenged or resolved games. It does not mean another challenge can be submitted. claimData.deadline is not the original challenge deadline after a challenge. A nonzero stored challenger address determines whether a game was challenged. No transactions are submitted.

On success, present the JSON report as a concise mismatch table with game address, L2 block, creator, challenged flag, game status, deadline, and claimed/expected roots. Include the L1 snapshot, finalized L2 height, and skipped unfinalized count. Report no mismatches only after a successful complete scan. RPC or decoding failures exit nonzero and are not evidence of a clean scan. Do not expose RPC URLs or credentials in the report.

© worldcoin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in .agents/skills/scan-invalid-games of worldcoin/world-chain.

  • SKILL.md
  • scripts/scan_games.py

Open the folder on GitHubat commit 2b7dfe8

Compare with similar skills

Scan Invalid Games next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scan Invalid Games compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scan Invalid Games this skillworldcoin/world-chain116—~532Automated safety check: PassMIT
Vercel Composition Patternssupabase/supabase111k58 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 58 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from worldcoin/world-chain

  • Debug Node Tracing

    worldcoin/world-chain

    Debug World Chain nodes with temporary admintracingDirectives log filters and targeted log collection.

    116 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Check Wip1006 Config

    worldcoin/world-chain

    Inspect the active WIP-1006 factory configuration from an L1 AnchorStateRegistry at one finalized snapshot, including safety state, Nitro PCR approvals, and optional implementation comparison.

    116 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Investigate Game

    worldcoin/world-chain

    Verify an Ethereum address is a WIP1006 dispute game and report its status, claim, bonds, proof configuration, and proposal context in a compact debugging table.

    116 GitHub stars~533 tokensUpdated yesterday
    Auto-check passed
  • Pending Games

    worldcoin/world-chain

    List unresolved WIP1006 dispute game addresses by scanning backward through at most the newest 2000 entries in a supplied factory.

    116 GitHub stars~550 tokensUpdated yesterday
    Auto-check passed
  • Recovery Parent

    worldcoin/world-chain

    Find the nearest defender-winning, ASR claim-valid game backward in a WIP-1006 lineage for the proposer and defender recovery-parent flag.

    116 GitHub stars~570 tokensUpdated yesterday
    Auto-check passed
  • Invalid Parent

    worldcoin/world-chain

    Trace a WIP1006 INVALIDPARENT cascade to its first ancestor with a different status or invalidation reason.

    116 GitHub stars~295 tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Scan Invalid Games

What does Scan Invalid Games do?

Scan WIP1006 games inside their challenge deadline for root claims that disagree with a supplied L2 consensus RPC at finalized L2 blocks, including challenge status and game creator. Scan Invalid Games is an agent skill from worldcoin/world-chain. Scan WIP1006 games inside their challenge deadline for root claims that disagree with a supplied L2 consensus RPC at finalized L2 blocks, including challenge status and game creator.

When should I use Scan Invalid Games?

Scan Invalid Games fits situations like: development work in your project.

How do I install Scan Invalid Games in Claude Code?

Run `npx skills add worldcoin/world-chain --skill scan-invalid-games -a claude-code`. Or copy the skill folder (.agents/skills/scan-invalid-games in worldcoin/world-chain) into .claude/skills/scan-invalid-games in your project. Claude Code loads it when a task matches its description.

How do I install Scan Invalid Games in Codex?

Run `npx skills add worldcoin/world-chain --skill scan-invalid-games -a codex`. Or copy the skill folder (.agents/skills/scan-invalid-games in worldcoin/world-chain) into .agents/skills/scan-invalid-games in your project. Codex loads it when a task matches its description.

Can I use Scan Invalid Games in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add worldcoin/world-chain --skill scan-invalid-games -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scan-invalid-games, .gemini/skills/scan-invalid-games, .github/skills/scan-invalid-games and .opencode/skills/scan-invalid-games in your project.

What does Scan Invalid Games need to run?

Going by SKILL.md and its folder, Scan Invalid Games needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Scan Invalid Games access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Scan Invalid Games safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scan Invalid Games use?

Scan Invalid Games is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scan Invalid Games use?

About 532 tokens (SKILL.md is roughly 2.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Scan Invalid Games?

Skills that share tags, products or a category with Scan Invalid Games: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 297k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scan Invalid Games?

worldcoin (a GitHub organization) maintains it in worldcoin/world-chain, which has 116 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.

Source: worldcoin/world-chain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.