Custom commands for Claude Code. The attribute name becomes the command filename, and the value is either:
- Inline content as a string
- A path to a file containing the command content Commands are stored in .claude/commands/ directory.
Declarations
Type
attribute set of (strings concatenated with "\n" or absolute path)Default
{ }Example
{
changelog = ''
---
allowed-tools: Bash(git log:*), Bash(git diff:*)
argument-hint: [version] [change-type] [message]
description: Update CHANGELOG.md with new entry
---
Parse the version, change type, and message from the input
and update the CHANGELOG.md file accordingly.
'';
fix-issue = ./commands/fix-issue.md;
commit = ''
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Create a git commit with proper message
---
## Context
- Current git status: !`git status`
- Current git diff: !`git diff HEAD`
- Recent commits: !`git log --oneline -5`
## Task
Based on the changes above, create a single atomic git commit with a descriptive message.
'';
}