VS Code extension: "Skill must provide a name" warning is incorrect for plugin-namespaced skills
Summary
The Claude Code VS Code extension shows a \"Skill must provide a name\" diagnostic warning on SKILL.md files that intentionally omit the name frontmatter field. This is incorrect behavior for skills inside a plugin.
Context
When a skill is part of a plugin, Claude Code derives the skill name from the directory name and prefixes it with the plugin namespace defined in .claude-plugin/plugin.json. For example:
- Plugin namespace:
nyt-skill(set inplugin.json) - Skill directory:
skills/datadog-mcp/ - Resulting command:
/nyt-skill:datadog-mcp
The Claude Code plugin documentation explicitly states:
Do not add anamefield — Claude Code derives the skill name from the directory name and prefixes it with the plugin namespace. Addingnamecauses autocomplete to show the bare name without the plugin prefix.
So the name field is not just unnecessary — adding it breaks the prefixed autocomplete experience.
Problem
Despite this, the VS Code extension flags any SKILL.md without a name field as invalid:
Skill must provide a name.
This creates a conflict: follow the documented guidance and get a false-positive warning, or suppress the warning by adding a field that degrades the user experience.
Additional Issue: Dead Schema URL
The $schema field in marketplace.json points to https://anthropic.com/claude-code/marketplace.schema.json, which returns a 404. This means:
- VS Code cannot fetch and cache the schema for validation
- There is no published schema that workspace authors can reference or override
Request
Please either:
- Fix the validation to not require
namewhen the skill is inside a plugin (i.e. when a.claude-plugin/plugin.jsonexists in an ancestor directory), or - Document the VS Code workspace setting to suppress this specific diagnostic (e.g.
"claude.validation.enabled": false— currently undocumented), or - Publish the schema at the referenced URL so workspace authors can override validation behavior themselves
Workaround Attempted
Added .vscode/settings.json with "claude.validation.enabled": false — but this setting name is a guess, as no suppression setting is documented.
Environment
- Claude Code VS Code extension (latest)
- Plugin with skills using directory-derived names (no
namefield in frontmatter)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗