Advanced

Plugin & Skill System

How Claude Code becomes infinitely extensible

~5 min read

0

Plugin system files

0

Skill files

0

Lifecycle hook types

Imagine Claude Code as a smartphone. Out of the box it's useful, but the real power comes from the app store. The plugin system IS that app store — anyone can build extensions that add new commands, tools, skills, and behaviors.

Skills are like 'recipes' that teach Claude how to approach specific tasks (like TDD, code review, or debugging). Plugins are the distribution format — a package that bundles skills, commands, hooks, and configurations together.

Plugin Structure #

What's inside a plugin package

my-plugin/
·plugin.json
·commands/
·agents/
·skills/
·hooks/
·output-styles/
·mcpServers/

Loading Pipeline #

How plugins are discovered, validated, and activated

Lifecycle Hooks #

Extension points throughout Claude Code's execution

PreToolUse

Runs before tool execution, can modify input or deny

PostToolUse

Runs after tool execution, can modify output

UserPromptSubmit

Runs before processing user input

SessionStart

Runs when a new session begins

FileChanged

Triggered by file system monitoring

Notification

System notification events

← → arrow keys to navigate