[BUG] SKILL.md validator only recognizes Agent Skills standard fields, rejects Claude Code extended frontmatter

Resolved 💬 3 comments Opened Feb 12, 2026 by bllshttng Closed Feb 16, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The SKILL.md validator should accept all frontmatter fields documented at https://code.claude.com/docs/en/skills#frontmatter-reference without warnings.

What Should Happen?

These frontmatter fields should not yield warnings:

Frontmatter reference

Beyond the markdown content, you can configure skill behavior using YAML frontmatter fields between --- markers at the top of your SKILL.md file:

```yaml theme={null}
---
name: my-skill
description: What this skill does
disable-model-invocation: true
allowed-tools: Read, Grep
---

Your skill instructions here...


All fields are optional. Only `description` is recommended so Claude knows when to use the skill.

| Field                      | Required    | Description                                                                                                                                           |
| :------------------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                     | No          | Display name for the skill. If omitted, uses the directory name. Lowercase letters, numbers, and hyphens only (max 64 characters).                    |
| `description`              | Recommended | What the skill does and when to use it. Claude uses this to decide when to apply the skill. If omitted, uses the first paragraph of markdown content. |
| `argument-hint`            | No          | Hint shown during autocomplete to indicate expected arguments. Example: `[issue-number]` or `[filename] [format]`.                                    |
| `disable-model-invocation` | No          | Set to `true` to prevent Claude from automatically loading this skill. Use for workflows you want to trigger manually with `/name`. Default: `false`. |
| `user-invocable`           | No          | Set to `false` to hide from the `/` menu. Use for background knowledge users shouldn't invoke directly. Default: `true`.                              |
| `allowed-tools`            | No          | Tools Claude can use without asking permission when this skill is active.                                                                             |
| `model`                    | No          | Model to use when this skill is active.                                                                                                               |
| `context`                  | No          | Set to `fork` to run in a forked subagent context.                                                                                                    |
| `agent`                    | No          | Which subagent type to use when `context: fork` is set.                                                                                               |
| `hooks`                    | No          | Hooks scoped to this skill's lifecycle. See [Hooks in skills and agents](/en/hooks#hooks-in-skills-and-agents) for configuration format.              |

### Error Messages/Logs

```shell
Attribute 'allowed-tools' is not supported in skill files. Supported: compatibility, description, license, metadata, name.
Attribute 'hooks' is not supported in skill files. Supported: compatibility, description, license, metadata, name.
Attribute 'x' is not supported in skill files.

Steps to Reproduce

  1. Create a skill file at .claude/skills/test/SKILL.md with this content:

```yaml
---
name: test
description: Test skill
allowed-tools: Read, Grep
context: fork
agent: Explore
hooks:
PreToolUse:

  • matcher: ".*"

once: true
hooks:

  • type: command

command: "${CLAUDE_PLUGIN_ROOT}/path"
---

Test skill content.
```

  1. Open the file in VS Code with the Claude Code extension installed
  2. Yellow squiggles appear under allowed-tools, context, and agent
  3. Hover tooltip shows: "Attribute 'allowed-tools' is not supported in skill files. Supported: compatibility, description, license, metadata, name."

The validator rejects all Claude Code extended fields: allowed-tools, argument-hint, context, agent, model, hooks, disable-model-invocation, user-invocable

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.39

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Warp

Additional Information

The validator appears to only recognize the base Agent Skills open standard fields (compatibility, description, license, metadata, name) but not the Claude Code extensions documented in the official docs. Every plugin skill using extended frontmatter shows false positive warnings.

<img width="718" height="276" alt="Image" src="https://github.com/user-attachments/assets/ccccbd66-c82b-493b-abdf-997906d3dfac" />

View original on GitHub ↗

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