Skip to content

SOP 002: Configure Frontmatter

Fresh
FieldValue
SOP ID002
Version1.0
StatusActive
Last Updated2026-02-14

Purpose

Master all YAML frontmatter fields available for skill configuration, understand their defaults, and know when to use each one.

Frontmatter Reference

All fields are optional. Only description is recommended.

Complete Field Reference

FieldRequiredDefaultDescription
nameNoDirectory nameDisplay name and /slash-command. Lowercase letters, numbers, hyphens only. Max 64 characters.
descriptionRecommendedFirst paragraph of contentWhat the skill does and when to use it. Claude uses this to decide when to apply the skill.
argument-hintNoNoneHint shown during autocomplete. Example: [issue-number] or [filename] [format]
disable-model-invocationNofalseSet to true to prevent Claude from auto-loading. Use for manual-only workflows.
user-invocableNotrueSet to false to hide from the / menu. Use for background knowledge.
allowed-toolsNoAll toolsComma-separated tools Claude can use without asking. Example: Read, Grep, Glob
modelNoCurrent modelOverride the model when skill is active.
contextNoInlineSet to fork to run in a forked subagent context.
agentNogeneral-purposeSubagent type when context: fork. Options: Explore, Plan, general-purpose, or custom.
hooksNoNoneHooks scoped to this skill's lifecycle.

Procedure

Step 1: Start with Minimum Frontmatter

yaml
---
name: my-skill
description: What this skill does and when to use it
---

Step 2: Add Fields Based on Need

Decision Guide

Ask yourself these questions:

  • Should Claude auto-trigger this? If NO -> disable-model-invocation: true
  • Should users see it in the / menu? If NO -> user-invocable: false
  • Should it run isolated? If YES -> context: fork
  • Should it restrict tools? If YES -> allowed-tools: Read, Grep

Step 3: Example Configurations

Reference skill (API conventions):

yaml
---
name: api-conventions
description: API design patterns for this codebase
---

Task skill (deploy):

yaml
---
name: deploy
description: Deploy the application to production
context: fork
disable-model-invocation: true
---

Read-only skill (safe reader):

yaml
---
name: safe-reader
description: Read files without making changes
allowed-tools: Read, Grep, Glob
---

String Substitutions

VariableDescriptionExample
$ARGUMENTSAll arguments passedFix issue $ARGUMENTS
$ARGUMENTS[N]Specific argument (0-based)$ARGUMENTS[0] = first arg
$NShorthand for $ARGUMENTS[N]$0 = first arg
${CLAUDE_SESSION_ID}Current session IDFor logging, file naming

Verification Checklist

  • [ ] Frontmatter enclosed between --- markers
  • [ ] YAML syntax is valid (proper indentation, quoting)
  • [ ] name uses only lowercase letters, numbers, hyphens
  • [ ] description is clear and contains trigger keywords
  • [ ] Fields match intended invocation pattern

See Also

Built with VitePress + Claude Code Skills RAG Chat