# Deterministic Skill Steps Belong in Scripts Not the Model ## Claim Any step in a skill that has one right answer, like a count, a search, or a format check, should run as a script the model calls, so the model only does the language work and the step gives the same result every run. <!-- atomicity: 1 idea ✓ --> ## Scope & conditions - Holds when the step can be specified completely in code. Judgment calls (is this claim supported, does this read well) stay with the model. - The payoff is twofold: fewer tokens per run, and no run-to-run variance on a step that has to be right. - Costs maintenance when the script calls an external API that changes; a script is code the skill now owns. - My own pipeline is an instance: `deepread_check.py` decides whether a deep-read is complete instead of asking the model whether it finished. ## Evidence Penn, Almost Timely 2026-10-04: "My second strong opinion is that Skills should use as little AI as possible." His example is a search step moved from the model into a script the skill calls. ## Links - [[3. Resources/Permanent Notes/Cheap Generation Raises the Value of Deterministic Verification]] — because extends: that note moves verification into checks; this one moves execution into scripts - [[3. Resources/Permanent Notes/A Nondeterministic Check Breaks the Loops Stop Condition]] — because evidence-for: a model-run check can't serve as a stop condition, which is the failure a scripted step avoids - [[3. Resources/Permanent Notes/Audit Facts Are Automatable Replaceability Judgment Is Not]] — because applies-in: the same facts-to-script, judgment-to-human split, in tech-debt audits - [[3. Resources/Permanent Notes/A Smart Orchestrator Should Delegate to Cheaper Executors]] — because extends: the cheapest executor for a deterministic step is no model at all - [[3. Resources/MOCs/AI & the Future of Knowledge Work MOC]] — because applies-in: the harness thread on what the model should and shouldn't do ## Tests / falsifiers - Move one deterministic step in an existing skill into a script; compare tokens per run and output variance across 10 runs before and after. - Falsified if a scripted step fails more often than the model-run version because the script breaks on input variation the model absorbed. ## Maintenance - Last tended: 2026-10-04 - Next review: 2027-01-04 ## Source - [[3. Resources/Literature Notes/Almost Timely News - Highly Opinionated Method of Building AI Agent Skills (2026-10-04)]]