build-test-suite
Skill3 starsChanged 17 days agoMITView on GitHub
Build a compact Coval test set from product requirements, observed conversation failures or a coverage gap. Design realistic scenarios with separate expected behaviors, provenance and controlled voice/persona variation.
In this repository33 other files it gives its agents.
- setup-agentSkill
- build-dashboardSkill
- coval-calibrate-metricSkill
- coval-compare-runsSkill
- coval-discover-failuresSkill
- coval-eval-auditSkill
- coval-evals-as-codeSkill
- coval-eval-startSkill
- review-llm-annotations-and-improve-promptSkill
- configure-metricsSkill
- migrate-bluejaySkill
- onboardSkill
- coval-resourcesSkill
- design-personaSkill
- personas-from-artifactsSkill
- analyze-accent-reportSkill
- analyze-adversarial-reportSkill
- analyze-audio-quality-reportSkill
- launch-runSkill
- quick-evalSkill
- run-accent-testingSkill
- run-adversarial-testingSkill
- run-audio-quality-testingSkill
- watch-runSkill
- download-audioSkill
- get-resultsSkill
- consult-sofiaSkill
- distill-test-setSkill
- huggingface-importSkill
- configure-trace-metricsSkill
- debug-tracesSkill
- optimize-trace-observabilitySkill
- setup-tracingSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 3 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Create tests that change a product decision.
- Very specific: line 16
Use coval --agent agents get <id>, test-sets get, and test-cases list --test-set-id <id>.
- Distinctive: line 53
Write each mandatory behavior as a separate array item.
- Very specific: line 57
Don't leak the answer through input_str or persona instructions.
- Distinctive: line 62
Use transcript evidence for conversation behavior, audio for acoustic behavior, and correlated tool results for actual side effects.
- Very specific: line 66
Before configuration writes, inspect the repository for Terraform ownership.
- Very specific: line 90
After obtaining the actual test-set ID, case.json is:
- Very specific: line 102
Check coval test-cases create --help and the current test-cases schema before creation.
≈ “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
Build a useful Coval test suite
Create tests that change a product decision. A small set covering distinct failure mechanisms is more useful than many paraphrases of a happy path.
Understand and reuse
Confirm organization/workspace, agent and scope. Inspect the selected agent,
existing cases, relevant recordings and the customer's source-of-truth policy.
Use coval --agent agents get <id>, test-sets get, and test-cases list
--test-set-id <id>. Check command help, errors and pagination. Do not replace
an existing suite or derive requirements solely from a buggy agent prompt.
For a large corpus, distill-test-set can help shortlist source rows; inspect
its resulting input/expectation pairs. For unexplored conversations, use
coval-discover-failures. Neither is mandatory when the requirement is known.
Design the coverage before prose
Make a compact matrix with: requirement or observed failure, source, meaningful variation, scenario, expected behaviors, evidence needed, and risk/priority. Distinguish observed failure, policy requirement and synthetic hypothesis.
Choose axes that could alter behavior: ambiguous request, changed information, missing tool result, unsupported request, caller correction, or a relevant audio condition. Avoid an automatic Cartesian product. Generate combinations first, then realistic caller scenarios; discard impossible combinations and semantic duplicates. Preserve a few untouched cases for later regression checks.
For voice, separate scenario from persona and audio condition. Start with normal audio; vary accent/noise/interruption only for a stated hypothesis. Don't put sensitive real customer details in synthetic cases. Keep examples fictional and realistic for the customer's supported language and workflow.
Example for a clinic whose published hours are Monday–Friday, 8am–5pm:
| Case | Scenario for the caller | Expected agent behavior | Source |
| Hours | Ask when the clinic closes on Friday; thank them and end after the answer | Says 5pm on Friday | Office policy |
| Closed day | Ask whether the clinic is open Sunday; don't suggest an answer | States it is closed Sunday; doesn't invent Sunday hours | Office policy |
| Correction | Ask about Thursday, then correct yourself to Friday | Answers the corrected day | Hypothesized repair failure |
This verifies information, not that an appointment was persisted.
Make expectations evaluable
Write each mandatory behavior as a separate array item. State the relevant precondition and observable outcome. Avoid “helpful,” arbitrary numeric scores, or requiring a particular phrase when a correct paraphrase is acceptable.
Don't leak the answer through input_str or persona instructions. A scenario
sets the caller's goal, not the agent's response. Choose the input mode from the
current test-case spec: SCENARIO for flexible interaction; SCRIPT only when exact
caller turns matter. Do not call generated dialogue real production evidence.
Use transcript evidence for conversation behavior, audio for acoustic behavior, and correlated tool results for actual side effects. If the evidence cannot support a criterion, revise it or flag the instrumentation gap before scoring.
Before configuration writes, inspect the repository for Terraform ownership. If
these resources are managed as code, use the installed coval-evals-as-code skill
or the repository's declared workflow to edit and plan the change; do not bypass
it with the direct CLI creates/updates below. Read-only inspection and design
guidance still apply. If the skill is absent, continue from the existing Terraform
configuration and public provider docs rather than assuming a sibling skill path.
Create and read back
Prepare the exact cases locally before asking for any missing write authority. Respect creation already authorized in the conversation. Use structured JSON rather than interpolating customer prose into shell strings:
coval --agent test-sets create --input-json @test-set.json
coval --agent test-cases create --input-json @case.jsontest-set.json uses the public API shape:
{"display_name":"Clinic information checks","test_set_type":"SCENARIO"}After obtaining the actual test-set ID, case.json is:
{
"test_set_id":"<returned-id>",
"input_str":"Ask when the clinic closes on Friday. After the answer, thank them and end the conversation.",
"expected_behaviors":["The assistant states that the clinic closes at 5pm on Friday."],
"description":"Friday closing time; source: office policy",
"input_type":"SCENARIO"
}Check coval test-cases create --help and the current
test-cases schema before creation.
A CLI lacking structured input can use the documented public API. Check every
response before creating the next item; on ambiguous timeouts inspect existing
resources before retrying to avoid duplicates. Read every created case back
and verify its input and individual expected behaviors. Confirm the count
using pagination when necessary.
Handoff
Show the coverage matrix, IDs and untested gaps. Keep source distribution
separate from intentionally overweighted failure cases. Creating a suite does
not authorize running it. Propose an explicit small subset for quick-eval,
with counts including iterations, personas and base + mutations. Use
configure-metrics to turn appropriate criteria into a provisional measure.
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.

