Skip to content

skill-authoring: allow argument-hint as optional SKILL.md frontmatter #117

Description

@jbaruch

Context

In intent-integrity-chain/kit PR #89 (link), the OpenAI policy reviewer flagged the addition of argument-hint: to five SKILL.md files under skill-authoring:

the loaded policy only permits allowed-tools, disable-model-invocation, and user-invocable as optional skill frontmatter fields

The reviewer reads the rule's "Optional fields" line as a closed list:

- Optional fields: `allowed-tools`, `disable-model-invocation`, `user-invocable` (set to `false` for background-knowledge skills the runtime loads as context but the user should never invoke directly)

Why argument-hint belongs

argument-hint: is real Claude Code slash-command frontmatter. When present, Claude Code's UI surfaces the expected argument shape inline next to the slash command — purely a discovery / UX field, no runtime semantics. Upstream spec-kit harvested it in commit 10be4848 (PRs #2059, #1951).

Other agents (Codex, Gemini, OpenCode) ignore unknown fields, so adding it is non-breaking. Per rule-frontmatter.md passthrough behavior for rules, the same principle (unknown fields preserved, runtime decides relevance) is the natural extension for skill frontmatter.

Proposal

Update rules/skill-authoring.md to add argument-hint: to the optional-fields list:

- Optional fields: `allowed-tools`, `disable-model-invocation`, `user-invocable` (set to `false` for background-knowledge skills the runtime loads as context but the user should never invoke directly), `argument-hint` (Claude Code slash-command UI hint — string describing expected arguments, e.g. `[init|status|use|uninit|help] [feature]`)

Either expand the list, or rephrase the line to make clear it documents commonly-used optional fields rather than enumerating an exhaustive allow-list.

Impact

Unblocks intent-integrity-chain/kit PR #89 (and any future PR adding argument-hint: to a skill).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions