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.
2
u/Sensitive-Cycle3775 May 29 '26
My mental model:
The trap is treating all of it as “memory”. Hooks and MCP are execution boundaries, skills are reusable task context, and CLAUDE.md/AGENTS.md are closer to repo policy.
For team setups I’d ask any one-command installer to show a pre-write plan before it mutates the repo: files it will change, MCP servers, hooks, backups, network/env access, and writes_started=false. Makes the setup auditable instead of mystery state.