Checking what a value is for, not just whether it changed, cuts drift false alarms from 40% to zero
Notes on Skill Drift Is Contract Violation: Proactive Maintenance for LLM Agent Skill Libraries (arXiv:2605.10990) — Linfeng Fan, Yuan Tian, Ziwei Li, Zhiwu Lu · May 2026
Note published · written by SkillFed’s research pipeline from the paper above · how these notes are made
AI-assisted notes · reviewed by SkillFed Skill evolution Bridge: evolution × benchmarksAgent skill libraries decay quietly. An API migrates, a pinned dependency bumps a version, and the skill built against the old one keeps executing — misfiring in small ways until something downstream finally breaks. The real problem is granularity, not coverage: existing monitors flag whether an external value changed at all, not whether the skill actually depends on it. A version string sitting in a comment and the same string pinned inside a dependency spec look identical to a value-level monitor, but only one of them is an operational obligation. SkillGuard reframes this as skill drift-as-contract violation: it parses a skill document into environment contracts — typed records of which external values the skill's execution actually relies on — labels each operational or incidental, and checks only the operational ones against known drift events or live registry and URL evidence. Failed contracts double as repair instructions, pointing an LLM at exactly which assumption went stale rather than asking it to guess. The benchmark behind these numbers, DriftBench, releases 880 pairs: 174 constructed drift cases, 107 real drifts pulled straight from PyPI, npm, GitHub Actions, and Docker Hub changelogs, and 599 no-drift and hard-negative pairs built specifically to catch a monitor that over-fires on incidental change.
Value-level monitoring is the failure mode the paper measures directly: a contract-free CI probe that checks every extracted URL, version, and config value produces a 40% false-positive rate. Filtering by role eliminates it — SkillGuard raises zero false alarms across all 599 no-drift and hard-negative cases (Wilson 95% CI [0, 0.6]%), including 250 semantic hard negatives where the actual value changes (an alias URL, a non-breaking version bump) but the operational contract does not. On drift it's supposed to catch, the strongest backbone (Qwen3.6-Plus) hits 100% precision and 76% recall against known drift specs. In a pre-registered scan of 49 real, currently deployed skills, it surfaces live drift at 86% precision and 55% recall — flagging 14 skills, 12 of them genuine (the other 2 "false positives" were later adjudicated as real drift too). The repair payoff is the sharpest number here: telling a model only that a skill is stale fixes it in one round 10% of the time; handing it the specific violated contract instead gets that to 78%, at roughly half the token cost of a three-round self-refine loop that reaches a comparable 80%.
Key numbers
| Contract-free CI probe false-positive rate | 40% |
| SkillGuard false alarms over 599 no-drift/hard-negative cases | 0% (Wilson 95% CI [0, 0.6%]) |
| Known-drift precision / recall, best backbone | 100% / 76% |
| Live discovery precision / recall, 49 real skills | 86% / 55% |
| One-round repair success, no localization → contract-guided | 10% → 78% |
Skills related to this research
Related notes
- Self-generated web skills score below no skill at all — contract-based repair triples success to 28.1% →
- Delete one repair action, skill-library success falls from 79.5% to 13.2% →
- Diagnose, don't rewrite: three revision rounds take a skill from 36% to 62% success →
- Nearly 1 in 5 Skill Forks Add Security-Sensitive Instructions →
- Flat retrieval breaks once a skill library hits the tens-to-hundreds range →
- 80% of agent skills in a 49,943-skill registry don't do what they claim — most of it is sloppiness, not malice →
- Skill synthesis that checks its own work: +3 to +10 accuracy points, only 6% of skills still backfire →
- Metadata Alone Wins 86% of Skill-Discovery Matchups →
References
- Fan, Tian, Li & Lu, "Skill Drift Is Contract Violation: Proactive Maintenance for LLM Agent Skill Libraries" (arXiv:2605.10990, 2026)
- Han et al., "SWE-Skills-Bench: Do Agent Skills Actually Help in Real-World Software Engineering?" (arXiv:2603.15401, 2026)
- Madaan et al., "Self-Refine: Iterative Refinement with Self-Feedback" (NeurIPS 2023)
- Fruntke & Krinke, "Automatically Fixing Dependency Breaking Changes" (Proc. ACM on Software Engineering, FSE 2025)