{"version":"2.1.300","anchor":"skills-with-shell-commands-re-validated-skill-descriptions","canonical_anchor":"skills-with-shell-commands-re-validated-skill-descriptions","heading":"Skills are checked more strictly for shell commands, and descriptions are tidied","tier":"notice","area":"Skills","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300\/e\/skills-with-shell-commands-re-validated-skill-descriptions","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300","markdown":"### Skills are checked more strictly for shell commands, and descriptions are tidied\n\nSkill shell commands meant for tools other than Bash can now be rejected, and skill descriptions go through a normaliser\n\n**Unclear.** It is not clear which commands the new check rejects or when a skill's allowed tools list ends up empty.\n\n**What**\n\nSkills are reusable instruction packs Claude Code can load. The check on a skill's shell commands has changed. Before, a skill failed only when its definition could not be parsed. Now a command aimed at a tool other than Bash can also be rejected, with a message saying no shell command was run because that tool does not accept one of them.\n\nOther changes:\n\n- A skill's description, argument hint, when-to-use text and argument names are now cleaned up by a normaliser.\n\n- A skill's list of allowed tools is empty under one new condition.\n\n**Why**\n\nThis could change which skills load or run.\n\n- Area: Skills\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}