VS Code extension: "Skill must provide a name" warning is incorrect for plugin-namespaced skills

Resolved 💬 2 comments Opened Apr 2, 2026 by jfairchild Closed May 24, 2026

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 in plugin.json)
  • Skill directory: skills/datadog-mcp/
  • Resulting command: /nyt-skill:datadog-mcp

The Claude Code plugin documentation explicitly states:

Do not add a name field — Claude Code derives the skill name from the directory name and prefixes it with the plugin namespace. Adding name causes 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:

  1. Fix the validation to not require name when the skill is inside a plugin (i.e. when a .claude-plugin/plugin.json exists in an ancestor directory), or
  2. Document the VS Code workspace setting to suppress this specific diagnostic (e.g. "claude.validation.enabled": false — currently undocumented), or
  3. 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 name field in frontmatter)

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗