self-play
Evaluate prompts, skills, policies, or generated artifacts through clean-room Codex runs, adversarial cases, and evidence-backed revision.
Skill by lilCnid
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lilcnid-self-play-a1dbaa
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/self-play
What's inside
- Skill name
self-play- Description
- Evaluate prompts, skills, policies, or generated artifacts through clean-room Codex runs, adversarial cases, and evidence-backed revision.
- License
- CC-BY-4.0
- Instructions
- 117 lines in SKILL.md · view on GitHub
Files (12)
- LICENSE.md
- SKILL.md
- openai.yaml · agents/
- COMPLEXITY_CONVOCATION_VALIDATION.md · references/
- DOUBTS_WORKSPACE.md · references/
- PRIMITIVE_ENCODING_AUDIT.md · references/
- README.md · references/
- discipline-cases.md · references/
- earth_figure_factbase.md · references/
- ground-block-failure.md · references/
- measurement-and-reporting.md · references/
- measurement-bounds.md · references/
SKILL.md (first lines)
# Self-Play
Self-play separates creation from evaluation. The author produces a candidate;
an evaluator receives only the ground needed to test it; the parent revises from
evidence rather than from the evaluator's confidence.
## Choose the evaluation boundary
Use `collaboration.spawn_agent` with `fork_turns: "none"` for a clean
conversation. This prevents the evaluator from inheriting the discussion that
created the candidate.
It does not hide the filesystem. All collaborating agents share the same
working directory, repository instructions, and live edits. Before calling a
run “blind,” audit whether the candidate, expected result, or author notes are
already readable from named paths. Give the evaluator a read-only boundary and
the minimum allowed paths. If genuine filesystem isolation is required, ask the
user whether to create a separate worktree task; do not silently claim it.
## The five moves
### 1. Define the property
State one falsifiable property and its evidence:
```text
Property: {Behavior_That_Must_Hold}
Pass evidence: {Observable_Result}
Failure evidence: {Counterexample_Or_Missing_Result}
```
Test behavior, not prose similarity. “The prompt is clear” is not falsifiable;
“three independent runs return valid JSON matching the schema” is.
### 2. Build the case set
Use the smallest set that spans the risk:
- one ordinary case;
- one boundary or ambiguous case;
- one adversarial case that pressures the suspected failure mode;
- one negative control when false positives matter.
Do not put the expected finding into the case prompt. Ground may include input,
provenance, paths, and the scoring contract—only what lets the evaluator look.
Create synthetic or mock data wherever testing or visualization needs inputs
that are unavailable, sensitive, or too narrow to span the property. Shape it to
cover distinct viewpoints, roles, distributions, edge conditions, and plausible
counterexamples without encoding the preferred verdict; comparative visuals
should make those differences legible. Label invented data clearly, preserve
its assumptions and seed or fixture when repeatability matters, keep it separate
from observed data, and treat its results as evidence about candidate behavior
rather than claims about reality.
### 3. Run independent trials
For interactive evaluation, spawn bounded evaluators with `fork_turns: "none"`.
Give each the same candidate and case contract, without earlier verdicts. Use
parallel agents only when the trials are independent and slots are available.
For repeatable batch evaluation, use `codex exec` with an explicit working
directory and, when useful, `--ephemeral`, `--ignore-user-config`, `--json`,
`--output-last-message`, or `--output-schema`. Record the CLI version and exact
configuration because these surfaces are version-sensitive.
### 4. Judge evidence
Score each run against the declared property. Preserve:
- case identity;
- candidate version or hash;
- runtime and context configuration;
- raw result or stable artifact path;
- pass/fail reason tied to observable output.
Do not let later evaluators see earlier scores. For high-stakes or subjective
criteria, compose a rubric with `judge-composition` and keep the judge blind to
the author's preferred answer.
### 5. Revise one cause at a time
Change the smallest instruction or surface that explains the failure. Re-run
the failing case plus a regression control. A revision is supported only when
the targeted behavior changes without breaking an already-passing property.
## Ten disciplines
1. **Separation:** author and evaluator contexts are distinct.
2. **Grounding:** prompts contain lookup ground, not expected findings.
3. **Falsifiability:** every property has failure evidence.
4. **Coverage:** cases span ordinary, boundary, adversarial, and control behavior.
5. **Repeatability:** versions, configuration, and candidate identity are recorded.
6. **Independence:** trials do not inherit prior verdicts.
7. **Minimal revision:** change one causal lever at a time.
8. **Regression:** protect a previously passing case.
9. **Consolidation:** the parent compares evidence and owns the conclusion.
10. **Honest isolation:** conversation cleanliness is never mislabeled as
filesystem or policy isolation.
## Prompt frame
```text
Objective: Evaluate whether {Candidate_Identifier} satisfies {Property}.
Ground: Read only {Allowed_Path_Or_Inline_Candidate}. Use {Case_Set}.
Method: Produce the requested outputs, then score only against {Rubric}.
Constraints: Do not inspect {Author_Notes_Or_Expected_Answer_Locations}.
Return: {Per_Case_Evidence_Then_One_Verdict_With_Uncertainty}.
```
## Stop conditions
Stop and report the limitation when the evaluator cannot be kept independent,
the property is not falsifiable, the case set cannot represent the risk, or the
runtime differs so much between trials that results are not comparable.From lilCnid/dovetail-codex, CC-BY-4.0.
More from lilCnid/dovetail-codex
- 0.526score
spark-steering
lilCnid
Diagnose a stuck or drifting Codex workflow by locating the wrong control surface, lifecycle, or owner before adding tools or permissions.
SkillBFreshness: BClaude Code +9 - 0.526score
subagent-composition
lilCnid
Partition a Codex task into bounded parallel investigations, choose delegated context deliberately, coordinate shared files, and consolidate evidence.
SkillBFreshness: BClaude Code +9 - 0.526score
upsum
lilCnid
Close a work session by appending a durable record, rebuilding a fixed-size recency-weighted summary, carrying open work forward, and running repository checks.
SkillBFreshness: BClaude Code +9 - 0.526score
judge-composition
lilCnid
Design and run reliable Codex judges with explicit rubrics, blinded evidence, calibration cases, and auditable verdicts.
SkillBFreshness: BClaude Code +9 - 0.526score
better-skill-creator
lilCnid
Create or revise Codex skills with precise routing, progressive disclosure, UI metadata, native validation, and behavior-focused evaluation.
SkillBFreshness: BClaude Code +9 - 0.516score
hypershot-protocol
lilCnid
Design prompt templates and model-facing artifacts with abstract structural examples that prime form without importing task-specific content.
SkillBFreshness: BClaude Code +9 - 0.496score
prompt-engineering
lilCnid
Structure or improve prompts, templates, agent instructions, and output schemas using clear hierarchy, semantic boundaries, placeholders, and attention control.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 4, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- CC-BY-4.0
- Repository
- github.com/lilCnid/dovetail-codex
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from lilCnid
- 0.574score
better-skill-creator
lilCnid
Use this skill for anything to do with authoring, fixing, or measuring Claude skills.
SkillBFreshness: B★ 4Claude Code +9 - 0.569score
subagent-composition
lilCnid
Compose a Claude Code sub-agent on the fly — persona, inherited-context transfer, tool budget, and return contract — as either an ephemeral Agent-tool call or…
SkillBFreshness: B★ 4Claude Code +9 - 0.569score
self-play
lilCnid
Run a clean-room self-play search over a problem space you have not solved yet — an AlphaGo-shaped loop over text where isolated sub-agent players (a blind…
SkillBFreshness: B★ 4Claude Code +9 - 0.569score
upsum
lilCnid
Close a working session: append what happened to a growing record, re-derive a fixed-length summary that holds the newest entries at full detail and collapses…
SkillBFreshness: B★ 4Claude Code +9 - 0.569score
judge-composition
lilCnid
Compose an adaptable four-role judge panel (grounding, coherence, corroboration, audit) to evaluate a candidate for promotion — a belief, claim, record entry…
SkillBFreshness: B★ 4Claude Code +9 - 0.564score
hypershot-protocol
lilCnid
Meta-prompting technique using zero-contamination structural examples.
SkillBFreshness: B★ 4Claude Code +9
Cite this page
self-play skill. Agent Mart. https://agentmart.dev/skills/lilcnid-self-play-a1dbaa (last updated 2026-10-24)