Ankle sprain
Skill CyrilLeMat/temper-skills/examples/ankle_sprain/output/ankle-sprain
Test suites + deterministic Python for your agent skills' decision logic. Adversarial persona reviewers write the tests; the generated code must keep passing them — zero LLM calls at inference. Try: uvx temper-skills audit <skill.md>
npx -y skills add CyrilLeMat/temper-skills --skill ankle-sprainAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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. Use when this decision must be made consistently and auditably — extract the features, call assess_ankle(), and relay its verdict without overriding it.
SKILL.md
2.5 KB, as published. Nobody here has run it
assess_ankle — skill (tempered by temper-skills)
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.
How to answer
-
Extract these structured features from the request:
pain_malleolar_zonebone_tenderness_lateral_malleolusbone_tenderness_medial_malleoluscan_bear_weightvisible_deformitysprain_gradehours_since_injuryage_yearspatient_profile
-
Call 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
verdictto the user. Do not override it. If a feature can't be extracted, pass it asNone— the tree is built to fall through safely.
Gray zones to surface
The tree flags these as underdetermined — mention the caveat when the answer touches them:
- (n2) Ottawa Rules are validated for ages ~18–55; outside that, escalate (handled below)
- (n6) ice for symptom relief is fine briefly; the harm is prolonged/aggressive icing and immobilization
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.