ccl-skills / eval
AGENTS.md6 starsChanged 3 months agoApache-2.0View on GitHub
Measurement surfaces for agent behavior: fixtures consumed by the behavior-eval harness, plus standing audits that read real host transcripts. Nothing here enforces repository changes. These produce machine-readable advisory evidence and next actions that an agent learning loop can consume; human reading or intervention is optional. - Advisory by construction. Nothing in this directory may become a merge gate. An automated eval controller may continue, repair, reject or roll back an isolated candidate, but it cannot authorize merge, push, release or…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository45 other files it gives its agents.
- AGENTS.mdAGENTS.md
- hooks/AGENTS.mdAGENTS.md
- packages/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- skills/code-review/scripts/AGENTS.mdAGENTS.md
- skills/multi-perspective-research/scripts/AGENTS.mdAGENTS.md
- skills/product-rd-workflow/scripts/AGENTS.mdAGENTS.md
- skills/skill-extraction-workflow/scripts/AGENTS.mdAGENTS.md
- skills/test-artifact-management/references/AGENTS.mdAGENTS.md
- skills/testing-strategy/scripts/AGENTS.mdAGENTS.md
- skills/tighten-doc/scripts/AGENTS.mdAGENTS.md
- skills/worktree-isolation/scripts/AGENTS.mdAGENTS.md
- agents-file-coverage-gateSkill
- app-cross-platform-devSkill
- code-reviewSkill
- defect-diagnosisSkill
- feature-risk-routerSkill
- go-microservice-architectureSkill
- go-microservice-devSkill
- grill-meSkill
- llm-inference-integrationSkill
- miniapp-product-devSkill
- multi-agent-delegationSkill
- multi-perspective-researchSkill
- nodejs-service-devSkill
- platform-observabilitySkill
- platform-release-engineeringSkill
- platform-service-connectivitySkill
- product-rd-workflowSkill
- product-ui-ux-designSkill
- python-service-architectureSkill
- python-service-devSkill
- release-coordinationSkill
- release-doc-writerSkill
- requirement-baselineSkill
- requirement-doc-writerSkill
- requirement-intentSkill
- requirement-scopeSkill
- skill-extraction-workflowSkill
- terminal-cli-devSkill
- test-artifact-managementSkill
- testing-strategySkill
- tighten-docSkill
- web-react-devSkill
- worktree-isolationSkill
The file
We split this AGENTS.md into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Use root for fixtures that belong to the initial public snapshot.
- Distinctive: line 29
State what the number is NOT: Every tool documents its blind spots at the top of the file, in the same place a reader looks before citing …
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md 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
eval Agent Contract
Measurement surfaces for agent behavior: fixtures consumed by the behavior-eval harness, plus standing audits that read real host transcripts. Nothing here enforces repository changes. These produce machine-readable advisory evidence and next actions that an agent learning loop can consume; human reading or intervention is optional.
Rules:
- Advisory by construction. Nothing in this directory may become a merge
gate. An automated eval controller may continue, repair, reject or roll back
an isolated candidate, but it cannot authorize merge, push, release or deploy.
These tools classify free-text briefs and prompts with heuristics, and
heuristics over open semantics do not converge reliably.
Standing measurement tools exit non-zero only when the scan itself broke,
never because the measured population looked bad. The causal synthetic smoke
is the explicit exception: contract-complete but provider-unevaluated exits
3so automation cannot promote it as a green gate. frozen_at_shais an ancestry/batch marker, not a "validated at" stamp. Userootfor fixtures that belong to the initial public snapshot. An explicit SHA must resolve to an ancestor of HEAD; otherwise the fixture is drifted and excluded from regression judgement. The marker does not claim that the expected behavior was already implemented at that revision.test_routing_bank_integrity.sh(registered in the regression runner) is what actually enforces the ancestry property at commit time; it deliberately does not evaluate routing, because the grader needs a live model and therefore cannot be a deterministic lane.- State what the number is NOT. Every tool documents its blind spots at the top of the file, in the same place a reader looks before citing it: what it cannot classify, what it counts as a proxy for something it cannot measure directly, and which conclusions it does not support. A measurement that overstates its own scope is worse than no measurement, because it gets quoted.
- Isolate what you count. Host transcripts interleave injected context with
authored content — the routing block itself contains skill names and
contract field names, so scanning raw transcript text reports fabricated
numbers. Count structured events (
tool_usenodes), and isolate the authored brief before matching against it. Three separate measurements of one defect can otherwise be misleading. - Version event topology. Skill evidence uses a named event contract and a
field-topology fingerprint. Unknown Skill/tool-result shapes are
unverifiableand visibly degraded; add a sanitized known-answer fixture before registering a new shape.skill-event-fixtures-v1.jsonandskill-event-fixtures-v2.jsonare separate pinned contracts: v2 adds the per-invocation index,tool_use_idand completion semantics that matched-call evaluation and external extractors bind to. Neither file may be regenerated from parser output. - Read-only against host state. Tools here inspect
~/.claude/projectsand similar; they never write to, prune, or reshape it. - Trial runners write only to explicit private output roots. Causal-eval
code may create isolated task checkouts and 0700/0600 artifacts under the
caller's
--outpath, but it must not write to host transcripts, the runner source checkout, the committed fixture tree, or a sibling trial. Every causal-core path needs both an allowlisted file-access audit and separate session/provider-memory evidence; neither substitutes for the other. - Keep held-out truth outside the repository. Committed held-out manifests
contain content-addressed
corpus://references and metadata only. Actual prompts, hidden tests, grader truth, arm assignments, model outcomes and identity-bearing access events stay in the private corpus/output root. - Synthetic smoke is runner evidence only. Fixture-only E10 completion proves
deterministic scheduling, artifacts and gate evaluation. It does not prove
a real provider is isolated, a grader is calibrated, or CCL skills
improve quality, so the expected not-evaluated result exits
3rather than masquerading as a green gate. Pending active-control arms remain non-runnable until the pre-registered independent-candidate and blinded-selection rules are met. - Paired tasks carry their own proof.
paired-tasks/*.jsonare synthetic worlds forskills/skill-extraction-workflow/scripts/skill-paired-eval.py: every check must fail on at least one bad oracle trajectory and pass on the good one (--check-oracles), a world never references a real repository, and run output stays under a private--outoutside every checkout. - No project, person, or repository identity in committed output or fixtures. Sample rows printed for diagnosis carry a truncated path and an agent id, never brief bodies — a dispatch brief may contain proprietary or personal content.
Validation:
python3 -m unittest eval/test_subagent_owner_audit.pypython3 -m unittest eval/test_skill_effectiveness_bridge.pypython3 -m unittest eval/test_skill_effectiveness_trial.pypython3 skills/skill-extraction-workflow/scripts/test_skill_paired_eval.pypython3 eval/skill-effectiveness/run.py smoke --fixture eval/skill-effectiveness/fixtures/e10-smoke.json --out /private/tmp/ccl-skills-e10-smoke(only exit3is expected for the contract-complete fixture; exit0,1,2or any other status is a validation failure)python3 eval/subagent-owner-audit.py --days 1(runs clean on any machine; prints a no-data line when there are no transcripts)bash skills/skill-extraction-workflow/scripts/check-ccl-skills.sh .git diff --check
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.

