✻Founding-member pricing: every lesson for $19/mo. The first 3 lessons are free. Start lesson 1 →
Unit 4 · Agent Skills · Lesson 19 of 40

Skill Configuration & Multi-File Skills

Level up Claude Code skills: frontmatter options, progressive disclosure with supporting files, bundled scripts, dynamic context and forked execution.

ACADEMY12 min+74 XP4-question quiz

🎯 By the end of this lesson you'll be able to

  • Use key frontmatter fields deliberately
  • Structure a multi-file skill with progressive disclosure
  • Bundle scripts that run without loading into context
  • Run a skill in an isolated subagent context

The frontmatter fields that matter most

FieldWhat it does
description / when_to_useWhat the skill does and when Claude should use it
disable-model-invocation: trueOnly you can invoke it, and it stays out of Claude's context until you do. Use it for side effects like /deploy.
user-invocable: falseOnly Claude can invoke it, hidden from the / menu. Good for background knowledge.
allowed-toolsPre-approves listed tools while the skill runs, so fewer prompts
context: forkRuns the skill in its own subagent context
model / effortOverride the model or effort level for the turn
pathsGlobs that limit when the skill activates automatically
argument-hintAutocomplete hint, such as [issue-number]
!
Side effects? Turn off auto-invocation

A skill that deploys, publishes, sends messages or deletes things should have disable-model-invocation: true. You don't want Claude deciding on its own that now feels like a good time to deploy.

Progressive disclosure: layers of detail

Keep SKILL.md focused (well under 500 lines) and move depth into supporting files that Claude reads only when needed:

text
.claude/skills/pdf-reports/
├── SKILL.md          # overview + when to read each file
├── reference.md      # full style guide (read for layout questions)
├── examples.md       # 3 finished reports (read before drafting)
└── scripts/
    └── render.sh     # executed, never loaded into context

In SKILL.md, tell Claude when to open each file:

markdown
For layout and typography rules, read [reference.md](reference.md).
Before drafting, skim [examples.md](examples.md) for tone.
To produce the PDF, run `scripts/render.sh <input.md>`. Don't reimplement it.

Scripts: deterministic power at zero context cost

Scripts in a skill are executed, not read into context. A 300-line validation script costs nothing until it runs, and then only its output enters the conversation. Pre-approve it so it runs without a prompt:

markdown
---
name: pdf-reports
description: Build branded PDF reports from markdown. Use when the user asks for a report or PDF.
allowed-tools: Bash(${CLAUDE_SKILL_DIR}/scripts/render.sh *)
---

${CLAUDE_SKILL_DIR} resolves to the skill's own folder, so the path works wherever the skill is installed.

Dynamic context: inject live data

A line starting with ` !command ` runs before Claude sees the skill, and its output is inlined:

markdown
## Current state
- Branch: !`git branch --show-current`
- Uncommitted files: !`git status --porcelain | wc -l`

Claude starts the skill already knowing the facts, with no extra tool calls.

Forked skills

context: fork runs the skill in an isolated subagent. Heavy work (reading dozens of files, a long audit) happens in a separate context, and only the result returns to your main conversation. Pair it with agent: to choose which subagent type runs it.

⇄Flashcards4 cards

Check your understanding

?Lesson quiz10 XP per correct answer · +25 for a perfect score
QUESTION 1 OF 4

Which field should a /deploy skill almost always have?

Why: Side-effecting skills should run only when you explicitly invoke them.
QUESTION 2 OF 4

How do bundled scripts affect context?

Why: Scripts cost nothing until they run, and then only their output counts.
QUESTION 3 OF 4

What does ` !git branch --show-current ` do in a SKILL.md?

Why: Dynamic context injects live facts into the skill.
QUESTION 4 OF 4

Why keep SKILL.md short and link to reference files?

Why: Layered detail keeps everyday use cheap and focused.
0 / 4 correct
Academy lesson

Unlock lesson 19 and the next 21

You've finished the free lessons. Join the Academy for $19/month to unlock every lesson, quiz, terminal simulation and puzzle, plus the final exam and your certificate of completion.

  • All 40 lessons across 9 units
  • 165+ quiz questions
  • Final exam + certificate
  • New lessons as Claude Code evolves
  • XP, streaks and badges
  • Cancel anytime

Already a member? Log in to continue.

Key takeaways

  • Use disable-model-invocation for anything with side effects.
  • Structure skills in layers: SKILL.md → reference files → scripts.
  • Scripts run without loading into context. Pre-approve them with allowed-tools.
  • Inject live state with !cmd, and isolate heavy work with context: fork.

Nice work. Lesson 19 done?

Mark it complete to earn +74 XP, keep your streak alive and unlock badges.

Written by Curtis Cornell from Anthropic's public Claude Code documentation. Last reviewed November 14, 2026. Claude Code changes fast; if something here differs from your version, the official docs win.

Start lesson 1 free →