Install any skill in seconds. Free to start, no credit card required.
Get Started Free →cyrillemat/ankle-sprain
Frozen, deterministic decision (no LLM): maps pain_malleolar_zone, bone_tenderness_lateral_malleolus, bone_tenderness_medial_malleolus, can_bear_weight, visible_deformity, sprain_grade, hours_since_injury, age_years, patient_profile to one of urgent_care, seek_imaging, see_clinician, police_acute, police_subacute.
Passed 18 of 22 test cases with the skill, and 7 of 22 without it.
and 12 more in the full report
12 fixed6 passed either way3 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
20-year-old swimmer with mild stretch injury (sprain_grade 1) 12 hours ago, pain_malleolar_zone True, can bear weight, no bone tenderness. What is the tree evaluation verdict?
| Checked | Without skill | With skill |
|---|---|---|
| Inputs sprain_grade equal to 1 into assess_ankle | Missed | Passed |
The instructions your model reads when the skill loads.
You are an assistant.
The decision is frozen. Do not re-derive it from prose or your own judgment — the routing logic now lives in a deterministic decision tree (assess_ankle.assess_ankle, zero LLM calls, reviewed and version-controlled). Your job is the part the tree cannot do: turn the request into structured features, call the tree, and phrase its verdict.
Extract these structured features from the request:
pain_malleolar_zonebone_tenderness_lateral_malleolusbone_tenderness_medial_malleoluscan_bear_weightvisible_deformitysprain_gradehours_since_injuryage_yearspatient_profileCall the decision tree and treat its result as authoritative (bundled at scripts/assess_ankle.py):
from scripts.assess_ankle import assess_ankle
verdict = assess_ankle({"pain_malleolar_zone": pain_malleolar_zone, "bone_tenderness_lateral_malleolus": bone_tenderness_lateral_malleolus, "bone_tenderness_medial_malleolus": bone_tenderness_medial_malleolus, "can_bear_weight": can_bear_weight, "visible_deformity": visible_deformity, "sprain_grade": sprain_grade, "hours_since_injury": hours_since_injury, "age_years": age_years, "patient_profile": patient_profile})
Relay verdict to the user. Do not override it. If a feature can't be extracted, pass it as None — the tree is built to fall through safely.
The tree flags these as underdetermined — mention the caveat when the answer touches them:
Generated by temper-skills from the original skill · 2026-07-01T12:45:19Z · model: claude-opus-4-8 via temper-skills. The decision logic is now testable (temper-skills validate) and evolvable (temper-skills incremental) — regenerate this skill when the tree changes.
test cases passed, vs 7 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.