You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 63cee1a
Browse filesBrowse the repository at this point in the historyBrowse files
### Warn for silently dropped skill, command, and hook options
7
+
8
+
Emitters that cannot represent a declared optional field now record an `unsupported-option` warning instead of dropping the field silently, the same contract the Codex subagent warnings already followed. This covers `allowedTools`, `disableModelInvocation`, `license`, and `metadata` on skills, `allowedTools`, `argumentHint`, and passthrough `frontmatter` on commands, and the `powershell` hook command variant on harnesses with a single command slot. Output files are unchanged: the build still degrades, and `warnings[]` now tells the caller what was lost.
Copy file name to clipboardExpand all lines: apps/docs/content/docs/commands.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,9 +35,9 @@ export default definePlugin({
35
35
36
36
## Fields
37
37
38
-
-`name`, `description`, `argumentHint`, and `body` define the command.
39
-
-`allowedTools` is honored by Claude Code.
40
-
-`frontmatter` is honored by YAML-frontmatter harnesses; Gemini TOML and Cursor plain markdown ignore it.
38
+
-`name`, `description`, `argumentHint`, and `body` define the command.`argumentHint` is emitted on Claude Code, Codex, Pi, and Copilot. The other harnesses drop it with an `unsupported-option` warning.
39
+
-`allowedTools` is honored by Claude Code. Codex, Pi, OpenCode, Gemini, Cursor, and Windsurf drop it with an `unsupported-option` warning. The Copilot emitter does not emit it yet.
40
+
-`frontmatter` is honored by YAML-frontmatter harnesses. Gemini TOML and Cursor plain markdown drop it with an `unsupported-option` warning.
41
41
-`harness.claude.model`, `harness.opencode.model`, and `harness.copilot.model` / `agent` set native model hints.
-`event`, `matcher`, `command`, and `timeout` define the hook.
45
45
-`async` is native in Claude and dropped with a warning elsewhere.
46
-
- Object commands can provide `unix` and `powershell`; PowerShell is used by Copilot.
46
+
- Object commands can provide `bash` and `powershell`. Copilot emits the PowerShell variant as `windows`. Claude Code, Codex, and Gemini have a single command slot, so they use `bash` and drop `powershell` with an `unsupported-option` warning.
47
47
-`harness.<target>.event` and `matcher` override native mapping. Use `matcher: undefined` to explicitly clear a matcher.
Copy file name to clipboardExpand all lines: apps/docs/content/docs/skills.mdx
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,10 +31,10 @@ export default definePlugin({
31
31
- `name` — kebab-case id, max 64 characters.
32
32
- `description` — max 1024 characters, the tightest harness limit; front-load trigger conditions because agents use this to decide when to load the skill.
33
33
- `instructions` — the skill body.
34
-
- `allowedTools` — honored by Claude Code and Pi.
35
-
- `disableModelInvocation` — Pi-specific.
36
-
- `license` — emitted where native skill metadata supports it.
37
-
- `metadata` — honored by OpenCode and Pi.
34
+
- `allowedTools` — honored by Claude Code and Pi. Other skill-capable harnesses drop it with an `unsupported-option` warning.
35
+
- `disableModelInvocation` — honored by Pi and Copilot. Codex, OpenCode, Gemini, and Windsurf drop it with an `unsupported-option` warning.
36
+
- `license` — emitted where native skill metadata supports it (Pi, OpenCode). Codex, Copilot, Gemini, and Windsurf drop it with an `unsupported-option` warning.
37
+
- `metadata` — honored by OpenCode and Pi. Copilot, Gemini, and Windsurf drop it with an `unsupported-option` warning.
38
38
- `frontmatter` — escape hatch merged into YAML-frontmatter harnesses; SDK-owned fields win on conflicts.
39
39
- `resources` — extra files emitted inside the skill directory.
0 commit comments