Dog food
Skill CyrilLeMat/temper-skills/examples/dog_food/output/dog-food
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 dog-foodAssembled 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 food_item, food_form, dog_weight_kg, dog_breed, quantity_grams to one of no — toxic to dogs, never feed, no — concentrated form multiplies toxin and fat dose per gram, no — low-fat/sugar-free peanut butter may contain xylitol; check the label, caution — large dose relative to body weight, unknown — a valid dog weight is required to assess this quantity, yes — standard peanut butter is safe in moderation, if xylitol-free, yes — safe in moderation, yes — apple flesh only; never the core or seeds, no — when in doubt, do not feed; verify with a vet. Use when this decision must be made consistently and auditably — extract the features, call can_dog_eat(), and relay its verdict without overriding it.
SKILL.md
2.5 KB, as published. Nobody here has run it
can_dog_eat — skill (tempered by temper-skills)
You are a dog food safety 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 (can_dog_eat.can_dog_eat, 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:
food_itemfood_formdog_weight_kgdog_breedquantity_grams
-
Call the decision tree and treat its result as authoritative (bundled at
scripts/can_dog_eat.py):from scripts.can_dog_eat import can_dog_eat verdict = can_dog_eat({"food_item": food_item, "food_form": food_form, "dog_weight_kg": dog_weight_kg, "dog_breed": dog_breed, "quantity_grams": quantity_grams}) -
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) concentrated/powdered forms are unsafe absent food-specific data
- (n4) 50 g/kg is a placeholder threshold — calibrate per food
- (n7) safe-list has no ratified examples in the source skill; user ratified a conservative whitelist at the gate
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.