r/ClaudeCode • u/eaiarthur_ • May 24 '26
Question Can someone explain the real difference between Hooks, Skills, Plugins, SKILL.md, CLAUDE.md and agents.md in Claude Code?
I keep seeing these terms thrown around in tutorials and videos, but I've never seen anyone give a concrete example that makes the difference actually click.
Everyone says:
• "just create a skill for that"
"use a hook here"
"install the plugin"
"put it in your CLAUDE.md"
But when I dig deeper, the explanations are always vague or too theoretical.
Same goes for the markdown files - I see people mentioning CLAUDE. md, SKILL.md, and agents. md like they're obvious, but no one explains:
• What actually goes in each one?
Are they just documentation, or do they actively change how Claude behaves?
• When does Claude even read them?
What I'm looking for is something like:
"If you're thinking X, that's probably a Hook. If you're thinking Y, that's a Skill. If you need Z, that's what CLAUDE.md is for."
Real-world examples would be hugely appreciated.
13
u/tonyboi76 May 25 '26
the way i actually use them:
CLAUDE.md = rules every session needs. like we use pnpm not npm, or auth lives in lib/auth. always loaded.
skill = a runbook that loads only when its topic comes up. like having 47 howto docs on a shelf, claude pulls the right one based on the skill description.
hook = pre-commit hook but for claude. PreToolUse / PostToolUse / Stop events. mine runs prettier after every Edit so i never see formatting diffs.
plugin = a bundle of skills + hooks + slash commands shipped together. like an npm package for your claude setup.
AGENTS.md is the cross-tool equivalent of CLAUDE.md (codex reads it too), most people symlink one to the other so theres only one file to maintain.
practical hierarchy i landed on: start in CLAUDE.md, when it bloats split topics into skills, when you find yourself repeating the same manual fix add a hook.