Player Example
remotion-dev/remotion
Start the @remotion/player example app and open it in the Codex browser.
Eight-to-ten-player Avalon rules for a permanent Agent host, with the user choosing to join the randomized player pool or spectate.
$ npx skills add nexus-research-lab/nexus --skill avalon-8-10p -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nexus-research-lab/nexus avalon-8-10p --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nexus-research-lab/nexus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/avalon-8-10p .claude/skills/avalon-8-10p && rm -rf skills-srcUse ~/.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/
Install the "avalon-8-10p" agent skill from https://github.com/nexus-research-lab/nexus/tree/main/skills/avalon-8-10p into .claude/skills/avalon-8-10p/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "avalon-8-10p", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nexus-research-lab/nexus/tree/main/skills/avalon-8-10pType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nexus-research-lab/nexus --skill avalon-8-10p -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nexus-research-lab/nexus avalon-8-10p --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexus-research-lab/nexus.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/avalon-8-10p .agents/skills/avalon-8-10p && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "avalon-8-10p" agent skill from https://github.com/nexus-research-lab/nexus/tree/main/skills/avalon-8-10p into .agents/skills/avalon-8-10p/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "avalon-8-10p", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nexus-research-lab/nexus --skill avalon-8-10p -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nexus-research-lab/nexus avalon-8-10p --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexus-research-lab/nexus.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/avalon-8-10p .cursor/skills/avalon-8-10p && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "avalon-8-10p" agent skill from https://github.com/nexus-research-lab/nexus/tree/main/skills/avalon-8-10p into .cursor/skills/avalon-8-10p/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "avalon-8-10p", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nexus-research-lab/nexus.git --path skills/avalon-8-10p--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nexus-research-lab/nexus --skill avalon-8-10p -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nexus-research-lab/nexus avalon-8-10p --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexus-research-lab/nexus.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/avalon-8-10p .gemini/skills/avalon-8-10p && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "avalon-8-10p" agent skill from https://github.com/nexus-research-lab/nexus/tree/main/skills/avalon-8-10p into .gemini/skills/avalon-8-10p/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "avalon-8-10p", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nexus-research-lab/nexus avalon-8-10pInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nexus-research-lab/nexus --skill avalon-8-10p -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nexus-research-lab/nexus.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/avalon-8-10p .github/skills/avalon-8-10p && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "avalon-8-10p" agent skill from https://github.com/nexus-research-lab/nexus/tree/main/skills/avalon-8-10p into .github/skills/avalon-8-10p/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "avalon-8-10p", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nexus-research-lab/nexus --skill avalon-8-10p -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nexus-research-lab/nexus avalon-8-10p --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexus-research-lab/nexus.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/avalon-8-10p .opencode/skills/avalon-8-10p && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "avalon-8-10p" agent skill from https://github.com/nexus-research-lab/nexus/tree/main/skills/avalon-8-10p into .opencode/skills/avalon-8-10p/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "avalon-8-10p", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
avalon-8-10pEight-to-ten-player Avalon rules for a permanent Agent host, with the user choosing to join the randomized player pool or spectate.
Avalon 8 10p is an agent skill from nexus-research-lab/nexus. Eight-to-ten-player Avalon rules for a permanent Agent host, with the user choosing to join the randomized player pool or spectate.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Multi-agent collaboration platform for persistent, proactive AI agents across rooms, workspaces, skills, and external services. The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 67f54e7. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Avalon 8 10p loads about 2.6k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,498 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from nexus-research-lab/nexus at commit 67f54e7, republished under its Apache-2.0 licence (© nexus-research-lab). 1,498 words, ~2,621 tokens.
.claude/skills/avalon-8-10p/SKILL.md (or your agent's skills folder).This skill layers a complete base game of Avalon on top of the Room communication kernel. The Room system prompt already defines public @<member> wakes and the built-in nexus Room tools; this skill defines only the game contract. The host Agent is always the moderator and never a player.
Resolve participation and player count before assigning roles:
AskUserQuestion, unless the opening request already states that choice explicitly. Use the exact choices 参加本局 and 仅旁观.10, 9, 8 that the Room can fill. A participating user occupies one player seat; a spectating user occupies none.用户玩家 as the participating user's stable public name. A participating user enters the same randomized role pool as every Agent player and can receive any role, become leader, join a quest, and vote.Use exactly this role table:
| Players | Good | Evil |
|---|---|---|
| 8 | Merlin, Percival, 3 Loyal Servants | Morgana, Assassin, Minion |
| 9 | Merlin, Percival, 4 Loyal Servants | Mordred, Morgana, Assassin |
| 10 | Merlin, Percival, 4 Loyal Servants | Mordred, Morgana, Oberon, Assassin |
Shuffle roles across all active players, then independently randomize the circular seating order and first leader. Announce only the player count, active roster, seating order, and first leader. Keep the participation answer, role mapping, and inactive candidate list private.
Lake Lady, Lancelot, and Excalibur are optional variants and are not enabled. Do not add them or substitute a different role distribution unless the user explicitly requests a variant before setup.
The game has three execution channels:
@<member> wakes that Agent. An Agent handoff has exactly one naked @; a handoff to the user has none.nexus.send_message with destination=current_room and visibility=private for Agent role cards, hidden votes, quest cards, assassination choices, and host state.AskUserQuestion for participation, the user's role card, and every hidden user choice. Player Agents never use it to contact the user.用户玩家 is not an Agent recipient or wake target. Never place it in send_message.recipients, wake_targets, or a naked public @. A user continues a public turn by posting a normal Room message and uses a real @<next Agent> only when an Agent must run next.
A user message counts as a proposal, speech, or other game action only while host state is waiting for that exact user turn. Spectator comments and out-of-turn messages never change game state.
For every ordered public chain, expose only the current handoff as a naked @. Write future names without @ or inside code spans. Public actions must contain only the player's public persona; never leak role truth or private reasoning.
Collect hidden Agent choices one at a time with an explicit private handback:
{
"tool": "nexus.send_message",
"arguments": {
"destination": "current_room",
"visibility": "private",
"recipients": ["<player>"],
"wake_policy": "immediate",
"reply_route": {
"mode": "private",
"recipients": ["<host>"],
"wake_policy": "immediate"
},
"content": "<legal choices and exact reply format>"
}
}The Agent player answers with only the requested plain-text final reply. It must not call a Room tool or send the answer twice. Queue the next hidden actor and output <nexus_room_no_reply/> until the collection is complete.
If the final hidden actor is an Agent, set reply_route.next_reply_route.mode = "public" on that Agent's original directed message. If the final hidden actor is the user and an Agent acts immediately before it, set that preceding Agent message's next_reply_route to public; the resumed host turn asks the user and publishes the result naturally. If the collection contains only the user, ask from the current public host turn.
Store minimal authoritative game state in a record-only private message to the host with wake_policy="none" and reply_route.mode="none": player count, seating order, roles, current leader, quest number, proposal attempt, approved team, quest results, and rejection count.
Deliver each Agent role as a record-only private message. Deliver a participating user's role through AskUserQuestion with one acknowledgement choice. Include only the knowledge that role is entitled to receive:
Never publish role knowledge before the game ends.
All supported player counts use quest teams 3, 4, 4, 5, 5 for quests 1 through 5.
失败 card.失败 cards to fail; zero or one failure means the quest succeeds.Do not replace the forced fifth proposal with an automatic Evil victory.
Repeat these phases until one side reaches a terminal condition.
@<next Agent>. Agent-to-user handoffs contain no naked @; user-to-Agent handoffs use one real @<next Agent>.The host rejects malformed proposals and asks the same leader to correct them; it never fills, removes, or substitutes a player silently.
On proposal attempts 1 through 4, every active player votes 同意 or 反对; abstention is illegal. Collect all votes privately so no player sees an earlier choice, then reveal every named vote together in one public result.
A strict majority approves. A tie or a majority of 反对 rejects. On rejection, increment the proposal attempt, rotate leadership to the next active player in seating order, and repeat the same quest. On attempt 5, complete proposal and discussion normally, then skip the team vote and send the finalized team directly on the quest.
Use AskUserQuestion for a participating user's hidden team vote. Use private directed messages for Agent votes. Do not summarize partial vote totals while collecting.
Collect one hidden card from every approved team member:
成功.成功 or 失败.Use AskUserQuestion for a participating user's card and a private directed message for an Agent's card. Validate each choice against the player's role, shuffle their order before publishing only the aggregate number of 成功 and 失败 cards, and never identify who submitted a card.
Apply the quest's failure threshold, record the result, reset the rejection track, and rotate leadership to the next active player. Check the win condition before starting another proposal.
After the third successful quest, privately ask the Assassin alone to name one other active player. An Agent Assassin replies through a private directed message; a user Assassin chooses through AskUserQuestion.
Publish the target, outcome, and complete role reveal together. Stop all game wakes after the final result.
@<current actor>. A transition to 用户玩家 has no naked @ and waits for a normal user message.Alternative rejection tracks, early assassination, Lake Lady, Lancelot, and Excalibur remain disabled unless explicitly selected before roles are dealt. Never improvise a variant mid-game.
© nexus-research-lab, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/avalon-8-10p of nexus-research-lab/nexus.
Open the folder on GitHubat commit 67f54e7
Avalon 8 10p 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Avalon 8 10p this skillnexus-research-lab/nexus | 151 | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Player Exampleremotion-dev/remotion | 63k | — | ~258 | Automated safety check: Pass | Custom licence | |
| Escaping Containers To Hostmukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Cross Host Federationruvnet/ruflo | 74k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Host Patternnukeop/nuclear | 19k | — | ~1.3k | Automated safety check: Pass | AGPL-3.0 | |
| Testing For Host Header Injectionmukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~2.2k | Automated safety check: Warn | Apache-2.0 |
remotion-dev/remotion
Start the @remotion/player example app and open it in the Codex browser.
mukul975/Anthropic-Cybersecurity-Skills
Exploits privileged pods, host mounts, runC CVEs, and exposed Docker sockets to break out of a container and reach the underlying host during an authorized container-security assessment.
ruvnet/ruflo
Join and operate a signed cross-host agentbbs federation, and coordinate work claims across nodes.
nukeop/nuclear
A skill your agent uses when adding a new domain to Nuclear's plugin system, or implementing a host.
mukul975/Anthropic-Cybersecurity-Skills
Test web applications for HTTP Host header injection vulnerabilities to identify password reset poisoning, web cache poisoning, SSRF, and virtual host routing manipulation risks.
simstudioai/sim
Add hosted API key support to a tool so Sim provides the key (metered and billed to the workspace) when a user has not brought their own.
nexus-research-lab/nexus
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, UI mockups, product shots, or transparent-background…
nexus-research-lab/nexus
彩讯(RichPMS)工时填报助手:把当前会话、代码记录或用户口述整理成日报,按 8 小时分配,经用户确认后写入工时系统。用户提到“填日报、报工、补报、本周工时、日报被驳回”时使用。
nexus-research-lab/nexus
搜索微信公众号文章,并整理标题、摘要、发布时间、来源公众号和链接。用户提到微信公众号、 公众号文章、微信文章、搜一批公众号资料、按关键词找公众号内容、查某公众号相关报道, 或需要为中文研究收集微信公众平台文章时使用;即使用户只说“搜微信里的文章”也应触发。
nexus-research-lab/nexus
只要电子表格文件(.xlsx、.xlsm、旧版 .xls、.csv、.tsv)是任务的主要输入或输出,或者需要 被打开、读取、创建、修改,就使用本 Skill。也适用于公式、格式、图表、数据清洗和表格格式转换。
nexus-research-lab/nexus
通过宿主提供的 nexus.command 结构化工具查询、规划、确认并管理 scheduled task。用户要求提醒、延迟执行、周期检查、定时报表、补跑、结果重投递、持续关注、修改或删除任务、处理任务权限阻塞时使用;同时适用于定时任务后台 run 检查自身状态。
nexus-research-lab/nexus
选择执行结构、委派子智能体、管理 Nexus 工作图与可复用模板;遵守本轮权限,简单任务直接完成. An agent skill from nexus-research-lab/nexus.
Eight-to-ten-player Avalon rules for a permanent Agent host, with the user choosing to join the randomized player pool or spectate. Avalon 8 10p is an agent skill from nexus-research-lab/nexus. Eight-to-ten-player Avalon rules for a permanent Agent host, with the user choosing to join the randomized player pool or spectate.
Run `npx skills add nexus-research-lab/nexus --skill avalon-8-10p -a claude-code`. Or copy the skill folder (skills/avalon-8-10p in nexus-research-lab/nexus) into .claude/skills/avalon-8-10p in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nexus-research-lab/nexus --skill avalon-8-10p -a codex`. Or copy the skill folder (skills/avalon-8-10p in nexus-research-lab/nexus) into .agents/skills/avalon-8-10p in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nexus-research-lab/nexus --skill avalon-8-10p -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/avalon-8-10p, .gemini/skills/avalon-8-10p, .github/skills/avalon-8-10p and .opencode/skills/avalon-8-10p in your project.
SKILL.md names no scripts, command-line tools or credentials: Avalon 8 10p is instructions for the agent only.
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.
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. Review the folder before installing.
Avalon 8 10p is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Avalon 8 10p: Player Example (remotion-dev/remotion, 63k stars), Escaping Containers To Host (mukul975/Anthropic-Cybersecurity-Skills, 34k stars), Cross Host Federation (ruvnet/ruflo, 74k stars) and Host Pattern (nukeop/nuclear, 19k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nexus-research-lab (a GitHub organization) maintains it in nexus-research-lab/nexus, which has 151 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 10, 2026.
Source: nexus-research-lab/nexus on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.