Skill File Validator Incorrectly Flags Valid Attributes
Bug Report: Skill File Validator Incorrectly Flags Valid Attributes
Environment
- Claude Code Version: 2.1.32
- Package:
@anthropic-ai/claude-code@2.1.32 - Platform: macOS (Darwin 24.4.0)
Description
The built-in skill file validator incorrectly reports user-invocable and allowed-tools as unsupported attributes, even though they are documented as valid in the official Claude Code documentation.
Steps to Reproduce
- Create a skill file with the following frontmatter:
---
name: test-skill
description: Test skill
argument-hint: test
allowed-tools: Bash
user-invocable: true
---
- Load the skill in Claude Code
- Observe linter warnings in system diagnostics
Expected Behavior
No warnings should be shown for allowed-tools and user-invocable as they are documented valid attributes.
Actual Behavior
The validator shows these warnings:
⚠ [Line 5:1] Attribute 'allowed-tools' is not supported in skill files. Supported: argument-hint, compatibility, description, disable-model-invocation, license, metadata, name, user-invokable.
⚠ [Line 6:1] Attribute 'user-invocable' is not supported in skill files. Supported: argument-hint, compatibility, description, disable-model-invocation, license, metadata, name, user-invokable.
Issue Analysis
The warnings are contradictory - they claim the attributes are "not supported" but then list them in the "Supported" list. This suggests either:
- The validator's supported attributes list is outdated/incorrect
- There's a bug in the validation logic itself
Documentation Reference
According to the official documentation at https://code.claude.com/docs/en/slash-commands#skill-tool:
user-invocable(with 'c') is a valid skill attributeallowed-toolsis a valid skill attribute
Both attributes function correctly despite the warnings.
Impact
- Confusing for skill developers
- False positive warnings clutter the diagnostic output
- May cause developers to remove valid attributes
Suggested Fix
Update the skill file validator to match the official documentation and remove false positive warnings for user-invocable and allowed-tools.
Additional Context
- The skill functions correctly with these attributes
- Only affects the linter/validator, not runtime functionality
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗