{"version":"2.1.221","anchor":"the-agent-sdk-validates-skills-entries-before-turning-them-i","canonical_anchor":"the-agent-sdk-validates-skills-entries-before-turning-them-i","heading":"The Agent SDK validates skills entries before turning them into permission rules","tier":"use","area":"Agents","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.221\/e\/the-agent-sdk-validates-skills-entries-before-turning-them-i","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.221","markdown":"### The Agent SDK validates `skills` entries before turning them into permission rules\n\nThe SDK now rejects malformed skill names with a clear reason instead of creating a rule that never matches.\n\n**What**\n\nEach name in the SDK `skills` option is now checked before it becomes a `Skill(name)` allowed-tool rule, so a name that could never match is reported instead of silently producing a dead rule.\n\n**Details**\n\n- Rejects empty names, unpaired surrogates, leading or trailing whitespace, parentheses, commas, control characters, wildcard suffixes, a leading slash, consecutive backslashes and a trailing unpaired backslash.\n- Each rejection carries a specific explanation of why the resulting rule could not match.\n- Applies to everyone using the SDK `skills` option; no gate.\n\n**Evidence**\n\n`Invalid skill name '*': use skills: 'all' to enable every skill.`\n\n- Area: Agents\n- Names: `skills`\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 0\/5"}