← Back to Skills Marketplace
107
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install undercover-is-who
Description
担任谁是卧底游戏法官,负责分词、流程主持、描述记录、投票统计、淘汰判定及游戏结束回顾,全程保密身份。
Usage Guidance
This skill appears to do exactly what it says: run locally to manage a “谁是卧底” game, assign roles, record descriptions and votes, and generate messages. Before installing or invoking it, consider: (1) Persistence/privacy: the skill creates database/games.db inside the skill folder and stores player names and message-sender IDs — if your agent runs in a shared environment, those IDs and game logs could be accessible to others; plan for secure storage or periodic cleanup. (2) Message delivery: the skill assumes the agent will send private messages and has access to message-sender IDs; ensure your agent/platform integration can deliver private DMs and that you give only the minimum required privileges. (3) Disclosure behavior: final vote-announcement logic prints who voted for whom — this is a normal gameplay option but is more revealing than “only who has/hasn’t voted”; review the code if you need a different privacy posture. (4) No external network or secrets are requested by this skill, and there is no install-time download risk. If you need higher assurance, inspect the remaining truncated parts of db.py/game_engine.py to confirm there are no unexpected network calls or hidden behaviors and run the skill in an isolated environment first.
Capability Analysis
Type: OpenClaw Skill
Name: undercover-is-who
Version: 1.0.0
The skill bundle implements a 'Who is Undercover' (谁是卧底) party game judge. It uses a structured approach with Python scripts (game_engine.py, vote_handler.py, describe_handler.py) and a local SQLite database (database/games.db) to manage game state, player roles, and voting. The SKILL.md instructions use strong language ('Constitution-level') to ensure the AI agent maintains game integrity and secrecy, which is a functional requirement for this game type rather than a malicious prompt injection. No evidence of data exfiltration, unauthorized network access, or malicious command execution was found.
Capability Assessment
Purpose & Capability
Name/description (game judge) match the provided scripts and SKILL.md. The code only reads the bundled word-pairs, creates a local SQLite database inside the skill directory, assigns roles, records descriptions/votes, and generates templates/messages — all expected for a judge automation. There are no environment variables, third-party credentials, or unrelated binaries required.
Instruction Scope
SKILL.md is explicit about the judge role, secrecy, when to call scripts, and about binding/verifying message-sender IDs. That scope is reasonable. Two points to note: (1) SKILL.md insists on absolute secrecy of words/roles until game end — the code follows this for words/roles but the vote announcement code (cmd_announce) reveals per-player vote targets (who voted for whom), which is a normal game feature but is a disclosure beyond merely listing who has/hasn't voted (the earlier progress message avoids targets). (2) The skill instructs the agent to send private messages (and to always verify IDs first) but does not provide the platform-specific mechanism for sending those messages; the agent/execution environment must implement private-message delivery properly.
Install Mechanism
No install spec; this is instruction-only with bundled Python scripts. No external downloads or package installs are declared. Scripts run locally and create an on-disk SQLite DB in the skill folder.
Credentials
The skill requests no environment variables or external credentials. It does, however, persistently stores player identifiers (player_id / message sender IDs) and game state in a local database under the skill directory. Storing message-sender IDs is necessary for the 'bind-id' / 'verify-id' functionality, but these identifiers can be sensitive in multi-tenant or shared environments — consider that persistent storage of user IDs may be privacy-relevant.
Persistence & Privilege
The skill creates and writes a persistent SQLite database (database/games.db) under its own install directory and logs game state, descriptions, and votes per its design. It does not request always:true, does not change other skills' configs, and does not ask for system-wide privileges. Persisting game data is expected, but be aware of the persistent footprint and where that directory lives and who can access it.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install undercover-is-who - After installation, invoke the skill by name or use
/undercover-is-who - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial Python-based version with a strong emphasis on "judge principle" and full CLI/scripted workflow:
- Fully rewritten skill, removing all previous JavaScript and Node dependencies.
- All game logic and state now handled via Python scripts located in the `scripts/` directory.
- Provides command-line utilities for starting games, assigning roles, managing description and voting phases, validating user identity, and exporting game logs.
- Extensive documentation outlining judge duties, strict confidentiality, and process protocols.
- Skill now operates entirely as the game judge, enforcing constitutional "core principles" above all else.
Metadata
Frequently Asked Questions
What is undercover-is-who?
担任谁是卧底游戏法官,负责分词、流程主持、描述记录、投票统计、淘汰判定及游戏结束回顾,全程保密身份。 It is an AI Agent Skill for Claude Code / OpenClaw, with 107 downloads so far.
How do I install undercover-is-who?
Run "/install undercover-is-who" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is undercover-is-who free?
Yes, undercover-is-who is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does undercover-is-who support?
undercover-is-who is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created undercover-is-who?
It is built and maintained by loongfay (@loongfay); the current version is v1.0.0.
More Skills