| name | code-explanation |
| description | Use this skill when writing code comments, explaining code decisions, documenting the "why" behind implementation choices, or narrating technical reasoning in PRs or architecture docs. Trigger on keywords: explain this code, why did you write it this way, add comments, document this, write inline comments, explain my decision. |
Code Explanation
Core Principle
Comments explain WHY. Code explains WHAT.
If you need a comment to explain what the code does, the code should be cleaner. If you need a comment to explain why it's done this way — write that comment.
The Four Levels of Code Explanation
| Level | Where | Explains |
|---|
| Inline comment | Next to specific line | Non-obvious logic or gotcha |
| Function docstring | Top of function | What it does, parameters, returns, side effects |
| Module header | Top of file | What this module is responsible for |
| Architecture note | README / ADR | Why this approach was chosen over alternatives |
What to Comment (and What Not To)
Comment This
await retryWithBackoff(() => paymentAPI.charge(amount))
const user = req.user
const latest = results[0]
Don't Comment This
count++
if (user.isAuthenticated) {
Docstring Template
PR Description: Explaining Your Decisions
When your PR makes non-obvious decisions, explain them:
## Technical Decisions
**Why I chose X over Y:**
[reasoning — constraints, trade-offs, what you considered]
**Known limitations:**
[what this doesn't handle and why that's acceptable for now]
**What I'd do differently with more time:**
[honest reflection — shows growth mindset]
Architecture Decision Records (ADR)
For significant technical decisions, write a short ADR:
# ADR: [decision title]
**Date:** [date]
**Status:** Accepted
## Context
[What situation led to this decision?]
## Decision
[What did we decide to do?]
## Reasoning
[Why this over the alternatives?]
## Trade-offs
[What do we give up with this choice?]
## Consequences
[What becomes easier? What becomes harder?]
Store in /docs/decisions/ or similar — these are gold for future developers.