EX

extra-rlhf

Manages RLHF pipelines for the ExtraArena environment.

Install

mkdir -p .claude/skills/extra-rlhf && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16539" && unzip -o skill.zip -d .claude/skills/extra-rlhf && rm skill.zip

Installs to .claude/skills/extra-rlhf

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Use for anything about the ExtraArena RLHF data-collection & training-orchestration environment (rlhf_env, port 8090, MCP stdio): running semi-synthetic battles, generating training traces, orchestrating the Extra-LR training pipeline, or playing battles as a sub-agent. Routes to three sub-skills — pipeline orchestration, data-generation orchestration, and player.
366 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

Key capabilities

  • Orchestrate the full training loop for ExtraArena
  • Plan and dispatch data-generation series
  • Monitor and validate datasets
  • Play one battle as a sub-agent
  • Register custom models

How it works

This umbrella skill routes user requests to one of three sub-skills (pipeline orchestration, data-generation orchestration, or player) based on the job's scope.

Inputs & outputs

You give it
User request for RLHF pipeline, data generation, or battle play
You get back
Orchestrated training loop, generated dataset, or battle actions

When to use extra-rlhf

  • Running semi-synthetic battles
  • Orchestrating training loops
  • Validating training datasets
  • Playing as a sub-agent

About this skill

ExtraRLHF

Autonomous RLHF data collection + private dataset administration + training orchestration for ExtraArena. A deterministic arena engine (core.engine) is driven headless through an MCP stdio server, producing per-turn, full-information traces for imitation learning / RLHF. Headless battles remain files-only and isolated from production. A separate, fail-closed dataset plane can inspect/validate local artifacts and, only after explicit opt-in, perform read-only pseudonymized V5 and ReturnClock exports from production.

This is the umbrella skill. It routes to one of three levels depending on your job. Pick your level, then open that sub-skill.

Three orchestration levels

LevelSub-skillYou are…ScopePrimary tools
0extrarlhf-pipeline-orchestrationthe pipeline model-managercollect → export → validate/split → train → eval → promoteget_training_data_status, list_training_exports, validate_training_export, export/materialize/split tools, model registry + delegates to L1/L2
1extrarlhf-gen-orchestrationthe data-generation orchestratorplan + dispatch a fleet of series, monitor, validate, ship datasetstart_series, next_battle, finish_series, list_active_series, get_agent_status, get_v5_dataset_summary, validate_v5_traces
2extrarlhf-playerthe player sub-agentplay one battle as p1 (human/llm)get_match_status, get_state, get_legal_actions, submit_action, advance_bot, surrender, get_action_history

Composition: L0 directs L1; L1 runs bounded L2 workers; L2 owns one complete start→play→finish lifecycle. A live match_id is process-local: never create it in one MCP process and hand it to another. L1 can also run model-vs-model series (p1_actor_type="rl") that auto-play without an L2 worker.

When to use which

  • "Run a data-collection campaign / generate N battles vs model X" → L1.
  • "Play this one battle / take my turn / what are my legal actions" → L2.
  • "Run the whole pipeline: collect, train, benchmark new vs old, promote" → L0.
  • "Register a checkpoint / export or inspect V5, Nemesis or ReturnClock / is a dataset training-ready?" → L0.
  • Unsure → start at L0; it tells you when to drop to L1/L2.

Setup (do this once)

Register the MCP server in your client and install the skills — see INSTALL.md. Quick check it's alive:

./rlhf_env/start_rlhf_env.sh setup --python /path/to/python3.13
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
  | ./rlhf_env/.venv/bin/python -m rlhf_env.mcp_server

Pin both the interpreter and exact checkout in client config. Use the checkout-local interpreter created by start_rlhf_env.sh setup --python ... (<REPO_ROOT>/rlhf_env/.venv/bin/python) and verify it with import numpy, onnxruntime, asyncpg; do not infer dependency readiness from the Python minor version. For curated checkpoints, pass the adapter kind explicitly even when auto-detection is available.

MCP responses use the standard wire shape: JSON text in content[], the same object in structuredContent, and isError. Consume structuredContent when the client exposes it.

Private dataset plane

Local inspect/list/validate/materialize/split operations are available by default and confined to --datasets-dir (default datasets/). Production reads are disabled by default. Enable them only in a trusted process with:

export RLHF_ENABLE_PRODUCTION_DATASETS=1
export RETURNCLOCK_DATASET_SALT='<export-specific secret, at least 32 bytes>'
export RETURNCLOCK_DATASET_SALT_KEY_ID='<non-secret rotation id>'

Never put the salt value, DSN, raw user IDs, or include_players=true in MCP arguments. ReturnClock exports are pseudonymized—not anonymous—and stay in private training storage. RETURNCLOCK_DATASET_SALT_KEY_ID identifies a rotation without exposing the secret.

Read V5 readiness per training contour. For a headless group, training_ready is a backward-compatible alias for v5_policy_training_ready and training_ready_scope is v5_policy_only. This can gate V5 policy targets and a separately eligible Nemesis Lite export. It does not make Metronome or TimeStamp ready: require their explicit readiness fields and observed production labels. Never treat headless wall-clock/CPU timings or synthetic actor latency as human decision-time labels.

split_nemesis_training_dataset always supports a separately eligible Lite deck-grouped handoff. Standard views are conditional: require training_ready_standard=true and inspect standard_readiness_blockers. Human-bot/model-model rows train Lite only in the current canonical pipeline; do not silently feed masked human-bot extensions into Standard.

TimeStamp is fail-closed against target leakage. Its model inputs are only the prebattle deck or deck pair, starting_player, and explicitly approved features that already existed before the battle started. duration_seconds, turns, finished_at, and every value derived from them are labels or audit metadata only. Never pass the complete timestamp_features/meta object to a trainer or serving adapter.

ReturnClock natural-return training consumes only the organic-only files published by split_returnclock_training_dataset; the raw export may retain treated rows for audit, but it is not a trainer input. Production extraction is keyset-paged, up to 1,000,000 rows per raw stream inside one repeatable-read snapshot. Exclusive end_at bounds event time/censoring; a later ingested_before independently bounds row creation, so late status updates do not erase existing assignments. Hitting the ceiling is a stop condition, not evidence of a complete export. Raw export and split currently materialize the selected bounded window in memory; size large windows against available RAM.

For durable handoff, export to a new versioned path with overwrite=false, validate it, then promote an external pointer. Fresh-path publication uses a same-filesystem temp rename; overwrite has rollback for ordinary errors but is not guaranteed crash-atomic across process or power failure.

Key concepts (read once)

  • Actor types p1_actor_type ∈ {human, llm, rl} decide who plays p1 and how (submit_action for human/llm, advance_bot auto-play for rl). → concepts.md
  • battle_tag ({p1}-vs-{bot|rl}) slices the dataset by match kind. → concepts.md
  • Agent codenames pin a series to a named sub-agent; auto-released on completion (self-healing reap). → concepts.md
  • degraded/policy_warnings signal a silent fallback — always check before trusting a trace; weights_hash verifies the real checkpoint played. → concepts.md
  • On-disk layout: sessions/<group>/{manifest, summary, catalog, battles/..., battles/<bid>/v5/{meta,turns,actions}.jsonl}. → data-format.md
  • All MCP tools, including cross-contour export/validate/split. → mcp-tools.md

Universal, not version-locked

Nothing here is hardcoded to a specific model version. "V5" is both the storage layout name for the omniscient trace (v5/{meta,turns,actions}.jsonl) and the implemented V5 adapter kind. The same orchestration works for legacy (legacy_onnx), action-conditioned (action_onnx/v4), future adapters, and baselines — register a new kind via register_custom_model or default_registry().register(...).

References

When not to use it

  • When the task is not related to ExtraArena RLHF
  • When the task is not related to data-collection or training-orchestration
  • When the task is not related to playing battles as a sub-agent

Limitations

  • Limited to ExtraArena RLHF environment
  • Requires specific sub-skills for different orchestration levels
  • Focuses on data-collection and training-orchestration

How it compares

This skill provides a structured, multi-level orchestration for RLHF in ExtraArena, allowing for automated data collection and training pipeline management beyond manual execution.

Compared to similar skills

extra-rlhf side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
extra-rlhf (this skill)01moReviewAdvanced
computer-use-agents106moReviewAdvanced
crewai-developer28moReviewAdvanced
npc05moCautionIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

computer-use-agents

davila7

Build AI agents that interact with computers like humans do - viewing screens, moving cursors, clicking buttons, and typing text. Covers Anthropic's Computer Use, OpenAI's Operator/CUA, and open-source alternatives. Critical focus on sandboxing, security, and handling the unique challenges of vision-based control. Use when: computer use, desktop automation agent, screen control AI, vision-based agent, GUI automation.

1040

crewai-developer

smallnest

Comprehensive CrewAI framework guide for building collaborative AI agent teams and structured workflows. Use when developing multi-agent systems with CrewAI, creating autonomous AI crews, orchestrating flows, implementing agents with roles and tools, or building production-ready AI automation. Essential for developers building intelligent agent systems, task automation, and complex AI workflows.

213

npc

pipecat-ai

Runs an autonomous AI task agent as a game character. Resolves a character name to its UUID, then launches the `npc-run` script which connects to the game server and executes the given task using a Pipecat + Gemini LLM pipeline.

00

llama-cpp

zechenzhangAGI

Runs LLM inference on CPU, Apple Silicon, and consumer GPUs without NVIDIA hardware. Use for edge deployment, M1/M2/M3 Macs, AMD/Intel GPUs, or when CUDA is unavailable. Supports GGUF quantization (1.5-8 bit) for reduced memory and 4-10× speedup vs PyTorch on CPU.

21471

langchain

zechenzhangAGI

Framework for building LLM-powered applications with agents, chains, and RAG. Supports multiple providers (OpenAI, Anthropic, Google), 500+ integrations, ReAct agents, tool calling, memory management, and vector store retrieval. Use for building chatbots, question-answering systems, autonomous agents, or RAG applications. Best for rapid prototyping and production deployments.

26138

llama-factory

zechenzhangAGI

Expert guidance for fine-tuning LLMs with LLaMA-Factory - WebUI no-code, 100+ models, 2/3/4/5/6/8-bit QLoRA, multimodal support

15112

Search skills

Search the agent skills registry