Converts temperatures between Celsius and Fahrenheit for the evolution end-to-end smoke test harness.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add richfrem/agent-plugins-skills --skill evo-smoketest --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Evo Smoketest?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/richfrem-evo-smoketest)More formats (shields.io, HTML) on the badges page.
---
name: evo-smoketest
description: Converts temperatures between Celsius and Fahrenheit for the evolution end-to-end smoke test harness.
version: 0.1.0
---
# evo-smoketest
A disposable fixture skill used only by the evolution end-to-end acceptance suite. It exists to give
a real self-evolution cycle a controlled, reproducible routing gap to triage, fix (E2E-PASS), or fail
three times (E2E-ROLLBACK). Do not deploy or depend on this skill in production.
## Purpose
Provide deterministic temperature-unit conversions so the router has a concrete capability to score
against `evals/evals.json`.
## When to use
Use this skill when the user asks to convert a temperature between Celsius and Fahrenheit.
## Deliberate baseline gap (do not remove without updating evals)
The description above intentionally names only Celsius and Fahrenheit. `evals/evals.json`'s
`kelvin_conversion` case ("How warm is 300 Kelvin?") shares zero 4+ char keywords with this
description, so the routing evaluator genuinely MISSES it at baseline (not merely for a lower score --
correctness map-debt 2026-08-31 found the original query, "Convert 300 Kelvin to Celsius.", already
contained the word "Celsius" and so passed at baseline for the wrong reason, never exercising this gap
at all).
- E2E-PASS: the evolution cycle closes the gap by broadening the `description` and `When to use`
section to include Kelvin (K = C + 273.15), which flips the failing eval case to green
(`evaluate.py --decision-only` exit 0) for the right reason -- because "kelvin" is now a matched
keyword, not by coincidence.
- E2E-ROLLBACK: an intentionally wrong "fix" that does NOT add Kelvin fails the verifier three
times, forcing the controller into ROLLBACK.
## Procedure
1. Identify the source unit, target unit, and numeric value in the request.
2. Apply the conversion:
- Celsius to Fahrenheit: `F = C * 9/5 + 32`
- Fahrenheit to Celsius: `C = (F - 32) * 5/9`
3. Return the converted value rounded to one decimal place.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!