Claude Operator: Prompt to Autonomy · 16 min · 120 XP

Skill, project memory, or just a prompt?

Three places instructions can live, and how to tell which one you need.

You have three places to put an instruction, and they differ on one axis: when it applies.

The prompt is for this request only. CLAUDE.md is for facts that are true of this project in every session — the package manager, the generated directory, the test command. A skill is for a repeatable procedure that applies when a particular kind of request comes up, in any project.

The test is frequency against scope. Something you'll say once goes in the prompt. Something always true of this codebase goes in CLAUDE.md — it loads every session, so it should be short and only contain what's always relevant. Something you do repeatedly, with steps worth getting right each time, is a skill: it loads only when it's needed, which is exactly why a procedure belongs there rather than in a file that's always in context.

Skills live in .claude/skills/<name>/SKILL.md for a project, or ~/.claude/skills/<name>/SKILL.md for everything you do on this machine — the same project-versus-personal split as subagents.

The trigger is the hard part. A skill's description is what decides whether it loads, so it needs both edges: when it applies and when it doesn't. "For database things" will fire on a question about which database to choose. "Use when writing or reviewing a SQL migration in this repo; not for query tuning or schema design discussions" fires when it should and stays quiet otherwise.

Practice. Take four instructions you've given Claude recently and classify each as prompt, CLAUDE.md, or skill, with one reason each. Confirm the two skill directories from your installed version's docs or help. Then write a one-sentence trigger for a practice skill that states both when it should run and when it shouldn't.

Loading your workspace…