Start with the problem, not the extension
Claude Code extensions do not replace a task specification, context management, evidence, Git, diff review, or human decisions. They are useful when a repeatable process needs to become more stable, explicit, and portable.
Before choosing a mechanism, classify the need: one-off prompt, project-wide rule, scoped constraint, repeatable workflow, isolated research, external integration, event reaction, or team distribution.
| Mechanism | Use it when |
|---|---|
| Prompt | The action is one-off or still being explored |
| CLAUDE.md | The rule applies across the repository |
| Rule | The constraint applies to a specific path or area |
| Skill | The procedure repeats with a defined result |
| Subagent | A bounded investigation benefits from a separate context |
| MCP | The workflow needs controlled external data or actions |
| Hook | A predictable event should trigger a local response |
| Plugin | A validated workflow must be distributed |
Choose the narrowest scope
- Keep a one-off action in the prompt.
- Record repository-wide commands and architecture rules in CLAUDE.md.
- Use a scoped rule for a requirement limited to paths such as payments/** or docs/**.
- Package recurring issue analysis or review as a skill.
- Delegate broad research to a subagent when it would overload the main session.
- Use MCP only when the required data is outside the repository.
- Use a hook for a small, predictable event reaction.
- Consider a plugin only after the workflow is stable and team-ready.
Extension map
workflow-kit/
└── .claude/
├── CLAUDE.md
├── rules/
├── skills/
├── agents/
├── hooks/
└── mcp/Example: issue workflow
- Read the issue and record the goal, scope, non-goals, and acceptance criteria.
- Define verification and identify risks before editing.
- List candidate affected files and confirm them through discovery.
- Do not change code before the plan and evidence boundary are clear.
- After implementation, inspect the diff, checks, and review findings.
Scope warnings
- Do not move a local rule into global CLAUDE.md.
- Do not create a scoped rule for a repository-wide requirement.
- Do not create a hook without predictable boundaries and a kill switch.
- Do not package a one-off experiment as a plugin.
- Use narrower controls and regression evidence for sensitive areas.
Canonical lesson source · JavaRush
Open JavaRush material