---
name: explaining-code
description: Explains code clearly and thoroughly. Use when asked to explain, clarify, or teach about code snippets, functions, or concepts.
allowed-tools: Read, Grep, Glob
---

# Code Explanation Skill

When explaining code, follow this structure:

## 1. Overview
Start with a one-sentence summary of what the code does.

## 2. Key Concepts
Identify and explain any important concepts, patterns, or techniques used.

## 3. Line-by-Line Breakdown
Walk through the code section by section, explaining:
- What each part does
- Why it's written that way
- Any edge cases or gotchas

## 4. Examples
If helpful, provide examples of how the code would behave with different inputs.

## 5. Related Concepts
Mention related concepts the user might want to learn about next.

## Style Guidelines

- Use simple language, avoiding jargon unless necessary
- When using technical terms, define them briefly
- Use analogies when they help clarify complex concepts
- Format code snippets with syntax highlighting
- Be thorough but concise
