compare-models
Skill1 starsChanged 35 days agoMITView on GitHub
Compare the current model and a shortlist on an existing workload eval, keeping prompts, tools and checks fixed. Run a bounded comparison, show outputs and regressions in a local side-by-side UI, and explain quality, latency and cost coverage. Use for measured model comparisons; try-models remains the lighter spot-check workflow. Stops before hill climbing or rollout.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- MacroMan5/autotrain-yolotheir own version, first seen Oct 25, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- MacroMan5/autotrain-yolo★ 8same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- adapt-model-apiSkill
- build-evalsSkill
- check-workloadSkill
- recommend-modelsSkill
- rollout-workloadSkill
- setup-understudySkill
- try-modelsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 12 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
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 12
Do not treat an aggregate score as a universal model ranking.
- Very specific: line 22
Read the application's model call and existing eval.
- Distinctive: line 29
Use the current model plus the agreed shortlist, ordinarily two or three vetted Understudy candidates.
- Very specific: line 36
If a selected candidate needs Messages to Chat Completions adaptation, read the installed adapt-model-api/SKILL.md before freezing the run.
- Distinctive: line 49
Keep the customer's existing eval runner, schemas, graders and report tools.
- Very specific: line 50
Do not require conversion to Understudy files.
- Distinctive: line 60
Keep captured and derived customer evidence out of source control, packages and skill installations.
- Distinctive: line 76
Test labels do not isolate tool effects: use the app's isolated test state.
- Distinctive: line 79
Use the same protocol and non-model settings where supported.
- Distinctive: line 81
If the runner cannot change only the selected model, prepare the smallest model-selector seam within the requested scope, validate it …
- Distinctive: line 87
Use the native runner's candidate/model option and save distinct run directories.
- Very specific: line 101
Check one completed case per candidate before proceeding through the agreed selection.
- Very specific: line 107
Keep all model-call receipts for a task, including continuations, retries and fallback.
- Distinctive: line 116
Use the existing eval viewer when it provides the required side-by-side view.
- Distinctive: line 119
Read the comparison view for required evidence and browser checks.
- Distinctive: line 148
Leave the saved report, exact commands, candidate configurations, evidence paths and limitations with the workload.
- Distinctive: line 157
Use the synthetic walkthrough to exercise the complete runner-to-UI path without credentials, model calls or customer data.
≈ “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
Compare models on an existing eval
Answer which candidate is worth adopting or investigating for this workload, using the same task cases and checks. Deliver a local side-by-side comparison UI, an explainable recommendation, and exact rerun commands. Reuse an existing presentation preference; a user who explicitly asks for text only gets Markdown. Do not treat an aggregate score as a universal model ranking.
This is a raw model comparison. Keep the task inputs, prompt, tools, application output contract, grader, limits and environment fixed. Hill climbing, prompt repair, new graders and rollout are separate requests. A necessary API adaptation is preparation before freezing the comparison, and must be recorded separately from the model change; do not silently change behavior to improve a score.
1. Reuse the task, shortlist and eval
Read the application's model call and existing eval. Carry forward the resolved organization/project/workload, task evidence, candidate research, selected cases, user priorities, presentation preference and authorization. Ask only for missing choices that affect this run. For example, if the objective is unresolved: “Which matters most here: preserving these behaviors, reducing cost, or speed?” Continue inspecting existing evidence while awaiting an answer.
Use the current model plus the agreed shortlist, ordinarily two or three vetted
Understudy candidates. Resolve exact public IDs and API formats through
understudy models list --json and understudy models show <id> --gateway --json
when gateway access is configured. Reuse recommend-models research; a shortlist
is not permission to search or test every public model. If the user already named
the candidates, check their availability and proceed within that scope.
If a selected candidate needs Messages to Chat Completions adaptation, read the
installed adapt-model-api/SKILL.md before freezing the run. If absent, run
understudy skills install adapt-model-api --harness <harness> --json for the
current agent and read the returned entrypoint using file tools. Do not depend
on automatic discovery in this session. If the host cannot read it, save the
plan and resume after starting a new session before adapting or running that
candidate. Reuse existing authorization for routine compatibility
work. Validate the adapted application path, retain the original path and
record each protocol/settings variant. When a common protocol is unavailable,
describe the result as a model-plus-adapter comparison, not an isolated model
effect. Defer a candidate with unresolved required behavior. Do not convert a
compatible application merely because a candidate is open-weight.
Keep the customer's existing eval runner, schemas, graders and report tools.
Do not require conversion to Understudy files. Confirm its cases and checks
represent the selected workload and inspect their known limitations. If the
user wants only a few outputs without an eval, use try-models. If no usable
eval exists, explain that gap and use build-evals when eval construction is
within the request; do not call an improvised score a validated measurement.
2. Freeze a bounded comparison
Record a short private plan under the application's ignored, package-excluded
.understudy/comparisons/<name>/, or the existing eval's private output location.
Keep captured and derived customer evidence out of source control, packages and
skill installations. Use owner-only access. Reuse native metadata; no additional
manifest format is required.
Record the exact case membership, repetitions, application/runner/grader versions, model settings, endpoint, tool isolation/reset, cache basis, candidate order and limits. Declare which model-backed responsibility changes if the application has several models. Every other model dependency stays fixed and visible. Pin files or versions that affect the run; an unchanged local hash does not freeze remote state, environment variables or external services.
Resolve authenticated source and execution scope using the existing CLI context and workload reads. Source captures do not authorize replay in that tenant. Reuse an authorized test scope and the user's existing call/time/spend limits; resolve missing material limits before inference. Fresh application calls, continuations and judges use the test environment and retain request receipts. Test labels do not isolate tool effects: use the app's isolated test state. The bundled runner is not a sandbox or a cumulative spending limiter.
Use the same protocol and non-model settings where supported. Disclose declared model-specific defaults, caching differences and known endpoint limitations. If the runner cannot change only the selected model, prepare the smallest model-selector seam within the requested scope, validate it locally, and use that same implementation for every candidate.
3. Run the frozen cases
Use the native runner's candidate/model option and save distinct run directories. Reuse compatible saved runs when requested; label historical outputs and their different observation window. Never relabel old results as fresh execution.
For evals using the optional bundled build-evals runtime, read
the bundled comparison helper. Its run --model
passes context.model to the application's adapter and records the requested
model. The adapter must actually use that selector and record what served each
call. The bundled helper attributes quality only when every application model
call uses the selected model. If other model dependencies stay fixed, use a
native comparison viewer that attributes calls to their model-backed
responsibilities; do not omit those calls to fit the helper. The helper reads
saved results only; it never calls a model or grader.
Check one completed case per candidate before proceeding through the agreed selection. A transport/parser/environment problem is an execution problem, not automatic evidence of low model quality. Preserve failed attempts, uncertain outcomes and their costs. Do not silently retry, cherry-pick repetitions or replace a bad result. Continue only within the agreed retry and spending policy.
Keep all model-call receipts for a task, including continuations, retries and
fallback. Where available, join retained request IDs to understudy requests show
and understudy report cost. Record requested versus actually served models.
Missing attribution remains unknown; a fallback success does not demonstrate
the requested candidate succeeded. Keep mixed or unresolved serving visible in
the UI and separate it from evidence for the intended candidate.
4. Explain the paired results in a UI
Use the existing eval viewer when it provides the required side-by-side view. Otherwise use the optional bundled helper or build a small private local viewer over the native saved results. Do not introduce an app service or upload results. Read the comparison view for required evidence and browser checks. Open the UI with the host's file/browser tool, inspect it, and include its working link or path in the final response. If opening is unavailable, report that limitation and give the exact local opening command; writing HTML alone is not verified presentation.
Match cases by their actual identity and repetitions, never file order or a shared trace ID. Compare only compatible inputs, checks and execution conditions. Show both-pass, both-fail, fixed, regressed, unscored and missing pairs. Inspect the actual outputs/tool effects for each reported failure class and material regression. A changed verdict may be a grader or environment issue; explain that evidence without repairing the frozen comparison mid-run.
Report the selected-case count, planned/observed attempts, grading coverage, serving attribution, task latency, calls and cost coverage. Keep application cost separate from judge cost. Distinguish observed calculated cost, reference price estimates and ledger charges. Missing cost is not zero; do not infer savings from model size. Compare costs on the same task set with an explicit cache basis, and retain the cost of unsuccessful attempts. Repetitions are grouped within tasks, not independent examples. Selected examples do not establish production prevalence or universal reliability.
5. Recommend and hand off
Name the candidate worth trying next and explain the tradeoff using concrete cases. “Inconclusive” is valid when missing evidence or conflicting outcomes prevent the requested decision. Do not turn descriptive counts into a hidden weighted score, an automatic ranker or a rollout gate.
Leave the saved report, exact commands, candidate configurations, evidence paths
and limitations with the workload. If a user asks to improve a weak candidate,
use these failures as the starting point for a separately bounded hill-climb
request. If adoption is already requested, pass the chosen configuration and
comparison evidence into rollout-workload, preserving its activation scope and
rollback requirements. A comparison request alone ends at the recommendation.
Offline demonstration
Use the synthetic walkthrough to exercise the complete runner-to-UI path without credentials, model calls or customer data. Its invented models illustrate report behavior only; they provide no model-quality evidence.
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.

