Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Claude FrontmatterNew to Visual Studio Code? Get it now.
Claude Frontmatter

Claude Frontmatter

Harry Duong

|
15 installs
| (0) | Free
Completion and validation for the YAML frontmatter of Claude Code SKILL.md, command, rule, subagent, and output style files.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Claude Frontmatter

Completion and validation for the YAML frontmatter of Claude Code definition files, in VS Code.

Claude's SKILL.md, command, rule, subagent, and output style files are configured through a YAML frontmatter block whose fields are documented but not schema-checked anywhere. A misspelt field name does nothing at all — no error, no warning, the skill just quietly behaves as though you never wrote the line. This extension makes the block behave like every other config file you edit.

Features

Completion inside the frontmatter block: field names with their documentation, a pick-list for every enum field, required fields sorted first, and fields already present filtered out. It stays silent outside the block, on the --- delimiters, and in markdown that is not a Claude definition file.

Diagnostics on the same files. Unrecognized fields are warnings — Claude Code ignores a field it does not know, so the file still works, but uploading it to claude.ai or packaging it fails on the same key. Type and enum violations are errors, anchored to the offending key or value rather than the whole block.

The schema for each file kind is picked from its path, so a subagent file never offers allowed-tools and a rule file offers only paths.

A command file gets its own schema rather than borrowing the skill one. It takes the same fields, but name and paths are inert there — a command is named after its file — so writing either is reported as a warning instead of passing silently. An output style gets the same treatment for force-for-plugin, which only does anything for a style shipped inside a plugin.

Path Schema
**/SKILL.md skill
.claude/commands/**/*.md command — the skill fields, minus the two that do nothing here
.claude/rules/**/*.md rule
.claude/agents/**/*.md subagent
.claude/output-styles/**/*.md output style

Install

Search for Claude Frontmatter in the Extensions view, or from a terminal:

code --install-extension thedv91.claude-frontmatter

Cursor, Windsurf, VSCodium and Gitpod install the same extension from Open VSX:

cursor --install-extension thedv91.claude-frontmatter

Nothing to configure.

VS Code disables suggestions inside markdown by default, so add this if completions only appear on Ctrl+Space:

"[markdown]": {
  "editor.quickSuggestions": { "other": true }
}

Known quirks

Four places where the extension's behaviour follows something other than the first line of the documentation:

  • argument-hint: [issue-number] — the docs' own example — is an unquoted YAML flow sequence and parses as a list, not a string. Anthropic's own bundled resolve-conflicts skill ships it this way. Both forms are accepted.
  • The docs describe tools: for subagents only, yet several first-party plugin skills use tools: in a SKILL.md. It is not part of the skill schema here, so it is reported as an unrecognized field.
  • The subagent page's field table omits manual from permissionMode, but the permissions page states Claude Code accepts it as an alias for default (v2.1.200+). The schema follows the permissions page.
  • A plugin ships output styles in an output-styles/ directory at its root, not under .claude/. That path is left alone — as plugin commands/ and agents/ directories are — so force-for-plugin is warned about wherever the output style schema does apply.

Links

  • Source and issue tracker
  • Changelog
  • Contributing

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft