propose_skill took no strict schema, so a runbook sent under another key was dropped and the saved one proposed again; the confirm still said "Saved". Now an unknown key is an error, a change that changes nothing is refused, and both the bot and the confirm outcome are told which fields change and whether the runbook is among them. Co-Authored-By: Claude Opus 5.5 <[email protected]>