Engine first
A deterministic program does the fetching and the math. The model only reasons over output that has already been checked.
Most AI work asks a language model to both gather the facts and judge them. That is where things get invented. We split the job. A plain Python program (no magic, just code) pulls the real data, computes the numbers, and runs the checks. The model never sees raw guesses. It reads a verified result and writes the explanation a person actually wants. If the engine cannot answer, the model is not asked to pretend.
Two files, one job each
A skill is two files. A short prompt that narrates, and a read-only engine that measures. The engine is stdlib Python, owns the data and the validation, and returns structured JSON. The prompt turns that JSON into clear language. The split is the point: the part that can hallucinate never touches the source data.