Skill arguments and supporting files: a practical walkthrough
A skill becomes much more useful when you can hand it input, such as a topic or a file name, each time you run it. This guide walks through the argument features described in Anthropic's Claude Code documentation.
Why use arguments
Without arguments, a skill does the same thing every run. With them, you can type something like /post-outline indoor plants for beginners and have the skill use that text. The documentation shows the slash command form with arguments after the skill name, for example /fix-issue 123.
All arguments at once
The placeholder $ARGUMENTS stands for everything typed after the skill name. Put it where the input belongs in your instructions.
---
name: post-outline
description: Drafts a blog post outline. Use when the user asks for a post outline.
---
Write an outline for a blog post about: $ARGUMENTSIf your skill text has no placeholder at all, the documentation says Claude Code appends a line reading ARGUMENTS: followed by what you typed, so the input is not lost.
Numbered and named arguments
When a skill needs more than one input, you can refer to them by position. The documentation describes $ARGUMENTS[N] and the shorter $N, counting from zero, so $0 is the first argument and $1 is the second.
You can also name them. The arguments setting in the frontmatter takes a list of names, and each name can then be used as $name in the text. A separate argument-hint setting shows a hint in autocomplete, such as [topic] [audience], so you remember what to type.
The documentation is the place to check how values with spaces are split into arguments, since that detail is easy to get wrong from memory.
Pointing a skill at its own files
The placeholder ${CLAUDE_SKILL_DIR} stands for the folder that contains the skill's SKILL.md. Using it for paths to bundled files or scripts means the paths still work wherever the skill is installed, whether that is your personal folder or a project.
In the documentation's example, a script kept in a scripts folder inside the skill is run through that placeholder. The documentation notes that scripts are executed rather than read into Claude's context, which keeps long code out of the way.
Bringing in live information
Anthropic's example skill includes a line written as an exclamation mark followed by a command in backticks, !`git diff HEAD`, to bring the current changes into the skill's text. The frontmatter also has an allowed-tools setting that lists tools Claude may use without a permission prompt while the skill runs.
Read the permission details in the documentation before using either feature. A skill that can run commands deserves the same care as any script you download, so review it before you trust it.
Last checked against Anthropic's Claude Code documentation on October 13, 2026. Features change, so confirm details in the current documentation.
This guide is for general information only and is not a promise of any result. See our disclaimer. Questions or corrections? Contact us.