My Skill Files Only Triggered 20% of the Time

Baseline observation: skill files with standard invocation instructions triggered roughly 20% of the time across a test set of 50 prompts that were clearly within scope. The skill existed. The agent read the system prompt. The agent did not use the skill.

What Was Happening

The model was making a routing decision at inference time. The skill was registered. The description was accurate. The trigger condition was met. The model still defaulted to inline response generation rather than invoking the skill.

Standard instruction phrasing: "Use this skill when the user asks about X." That is a conditional. The model treats conditionals as suggestions unless there is countervailing pressure.

What Actually Improved Trigger Rate

Two changes moved the number significantly:

1. ALWAYS keyword + explicit scope

ALWAYS invoke the [skill-name] skill when the user asks about X.
Do not answer questions about X inline.

The prohibition is load-bearing. Without it, the model evaluates whether invoking the skill is better than answering directly. With it, inline response is not on the table.

2. Negative examples in the skill description

Listing what the skill does NOT handle forces the model to actively classify the input against the skill's scope. That classification step increases the probability of correct triggering when the input is in scope.

Results After Changes

Trigger rate moved from ~20% to ~78% on the same test set. Not 100%. The remaining gap is mostly edge cases where the user phrasing was sufficiently indirect that scope classification was genuinely ambiguous.

The Pattern

The config said the skill should run. The runtime said maybe. ALWAYS plus prohibition converts maybe to no-alternative. The model needs a closed door, not an open suggestion.

If a skill is not triggering reliably, the instruction is probably a conditional. Make it mandatory. Remove the inline fallback explicitly. Measure again.

Comments 0

Related content coming soon.