blinded-eval
Skill1 starsChanged 8 days agoMITView on GitHub
Blinded evaluation of a Skill, rule, or prompt change. The parent designs the experiment, isolates candidates in throwaway directories, runs the same organic user prompt, and scores artifacts against a held-back rubric. Apply when the user invokes /blinded-eval, asks to eval or A/B a skill change, or authoring Phase 4 says the change would alter agent behavior. Use authoring-skills-and-rules to write the skill; use dissect to audit an existing system.
In this repository107 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/base.mdcCursor rule
- .cursor/rules/changelog.mdcCursor rule
- .cursor/rules/comments.mdcCursor rule
- .cursor/rules/release.mdcCursor rule
- .cursor/rules/seo-ai-search.mdcCursor rule
- .cursor/rules/testing.mdcCursor rule
- agent-readySkill
- authoring-skills-and-rulesSkill
- blinded-evalSkill
- cloakbrowser-fallbackSkill
- deep-deliberationSkill
- design-rationaleSkill
- dissectSkill
- documentation-writerSkill
- everything-seoSkill
- executeSkill
- generating-app-verifySkill
- inceptionSkill
- kit-workflowsSkill
- marketing-psychologySkill
- media-genSkill
- nlm-skillSkill
- opinionSkill
- proving-change-safetySkill
- refreshing-app-verifySkill
- release-deploySkill
- seo-auditSkill
- startup-marketing-brainSkill
- subsystem-walkthroughSkill
- trlSkill
- unmatched-workflowSkill
- agent-readySkill
- authoring-skills-and-rulesSkill
- blinded-evalSkill
- cloakbrowser-fallbackSkill
- deep-deliberationSkill
- design-rationaleSkill
- dissectSkill
- documentation-writerSkill
- everything-seoSkill
- executeSkill
- generating-app-verifySkill
- inceptionSkill
- kit-workflowsSkill
- marketing-psychologySkill
- media-genSkill
- nlm-skillSkill
- opinionSkill
- proving-change-safetySkill
- refreshing-app-verifySkill
- release-deploySkill
- seo-auditSkill
- startup-marketing-brainSkill
- subsystem-walkthroughSkill
- trlSkill
- unmatched-workflowSkill
- agent-readySkill
- authoring-skills-and-rulesSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 56
Read every candidate artifact yourself.
- Very specific: line 72
Do not put the rubric, the words eval, rubric, candidate, baseline, or variant in any directory, filename, or prompt a candidate will see.
- Distinctive: line 91
Write what a user would type.
- Distinctive: line 108
If the host cannot spawn isolated subagents, run candidates sequentially in separate directories and still blind the judge.
- Distinctive: line 122
Read every candidate output end to end.
- Very specific: line 135
Do not promote on self-report.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Blinded eval
Leading words: organic prompt, blinding, isolate, artifacts not self-report, inconclusive is not a pass.
The parent owns the experiment. Candidates never learn they are in an evaluation. The judge sees sanitized labels and the rubric, never variant names. Grade from files written and files opened, never from a candidate's claims.
Skip this skill for typos. A behavior-changing skill or rule draft is the trigger.
Non-negotiables
Copy the first items of the matched steps below into the todo list verbatim.
A step you skip stays with skip: <reason>.
- Frame the variant and write the rubric (3–6 criteria). Hold the rubric back from candidates.
- Isolate each candidate in its own working directory. Plant only organic context. Sanitize names — project-shaped, not experiment-shaped.
- Author one organic user prompt. Same prompt to every candidate.
- Spawn N candidates as isolated subagents. Inherit the host model unless the host exposes distinct model families; then split families across candidates. Do not require Cursor arena, cloud workers, or a specific slug menu.
- Spawn one blinded judge. Prefer a different model family when the host exposes one. The judge sees outputs labeled A/B/C plus the rubric.
- Read every candidate artifact yourself. Compare to the judge. Grade chain-following from what they wrote and opened, not self-report.
- Verdict: promote, iterate, or abandon. Inconclusive is not a pass.
Blinding word list and sanitization: references/blinding.md. Judge prompt template: references/judge-prompt.md.
Phase A — Frame
State, to the user only:
- Variant under test (what changed, vs what baseline).
- Success predicate (falsifiable).
- Rubric: 3–6 concrete criteria the judge will score. Example scale: pass / partial / fail per criterion.
Do not put the rubric, the words eval, rubric, candidate, baseline,
or variant in any directory, filename, or prompt a candidate will see.
Phase B — Isolate
One directory per candidate (git worktree or temp dir). Never commit these trees into the kit repo.
Plant what an organic task would have: a small project skeleton, the skill folder under test (baseline copy or draft copy), maybe a README. No sibling skills the candidate would not naturally open.
Sanitize:
- Directory names:
invoice-cli,changelog-bot— notskill-eval-a. - Skill folder inside the plant uses the skill's real name (
authoring-skills-and-rules), notvariant-b.
Phase C — Organic prompt
Write what a user would type. State the goal. Do not ask which skills, principles, or files they applied. Do not mention other candidates.
Example shape: "This repo needs a skill so agents stop inventing changelog sections. Write the skill."
Phase D — Candidates
Spawn N parallel Task / equivalent subagents. Minimum useful N is 2 per
variant (baseline vs draft) or 2+2. Give each:
- Absolute working directory.
- The organic prompt only.
- Instruction to write files in that directory and stop. No git commit.
Route bulk to subagents. Keep summaries in this thread, not raw payloads.
If the host cannot spawn isolated subagents, run candidates sequentially in separate directories and still blind the judge. Say so in the verdict.
Phase E — Blinded judge
Fill references/judge-prompt.md. Attach each candidate's written files under labels A, B, C. Never include which model or which variant produced them. Shuffle label assignment; record the mapping only in the parent notes.
The judge returns per-label scores against the rubric and a ranking.
Phase F — Parent synthesis
Read every candidate output end to end. If you disagree with the judge, the rubric is ambiguous or a model is biased — fix the rubric and re-run, do not promote on a coin flip.
Reply contract:
- Variant under test
- Rubric
- Per-candidate notes (files written, what they actually did)
- Judge verdict
- Your synthesis
- Recommendation: promote / iterate / abandon
Do not promote on self-report. A candidate that claims it followed the skill
but wrote a 600-line SKILL.md with no references/ fails criterion 3.
Dogfood rule
This skill is proven by using it on a real draft. Do not eval
blinded-eval with itself in a loop.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

