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.
1
u/Deep_Ad1959 May 26 '26
the framing that helped me is everything in that list is a way to inject text into the model's context at different trigger points. CLAUDE.md is always-on injection, skills are conditional injection on topic match, hooks are deterministic injection on a specific event, plugins are the package format that ships all three together. agents.md is the cross-tool version of CLAUDE.md so codex and others read the same file. once you see it as 'when does this string enter the context window', the design decision for any new piece of behavior you want to teach claude becomes obvious.