Skip to content
Back to skills

Explaining Code

ASecurity

Explains code or code changes in plain language, briefly by default or in full for a reviewer. Use when asked to explain, ELIE, summarize, or break down a PR, diff, branch, file, function, or concept for someone new to the code. Not for how a whole subsystem works; use explaining-architecture.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 21, 2026
ai-agentsgodatabase

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned October 21, 2026

npx -y skills add bostonaholic/skills --skill explaining-code --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Explaining Code?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Explaining Code
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bostonaholic-explaining-code/badge)](https://www.skillsdirectory.com/skills/bostonaholic-explaining-code)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: explaining-code
description: Explains code or code changes in plain language, briefly by default or in full for a reviewer. Use when asked to explain, ELIE, summarize, or break down a PR, diff, branch, file, function, or concept for someone new to the code. Not for how a whole subsystem works; use explaining-architecture.
argument-hint: "[elie] <PR, file, function, branch, or concept>"
---

# Explaining code

Explain a specific change or piece of code to a reader new to it, at one of
two depths.

When the question is how a whole subsystem works (its architecture, data flow,
and file map), call the Skill tool with `explaining-architecture` instead. If
that skill is not installed, explain at the chosen depth, scoped to the
question. Without a Skill tool, follow the
[skill call rules](shared/skill-calls.md).

## Input

`$ARGUMENTS` is an optional depth token followed by the subject: a PR number or
URL, a file path, a function or class name, a branch name, or a concept.

**STOP** when the request names no subject and the conversation makes none
clear. Ask once what to explain, and do no work until the user answers.

## Depth

- **Brief** (the default): follow the Brief section below.
- **Full** (ELIE): selected by a leading `elie` or `eliet` token, or by a
  request for ELIE, an explanation "for an engineer" or "for a reviewer", an
  "in depth" explanation, or the full explanation. Read
  [full explanation](references/full-explanation.md) and follow it instead of
  the Brief section.

Drop the depth token before reading the subject.

## Brief

Lead with a one-sentence summary that a developer with no context on this area
understands. Use concrete nouns ("the order history page", "the login screen"),
not abstract ones ("the component", "the module"). Use an everyday analogy only
when one fits naturally.

Follow with 3 to 6 sentences that answer the implicit follow-ups: what the
situation was before, what changed, and why. The whole Brief reply is the lead
plus those sentences, at most seven sentences in one or two paragraphs, with no
headings, bold labels, or bullet lists. Count the sentences before replying.
Write more only on request. Spell out and define an unavoidable term or acronym
inline at its first use, as in "the SLA (service-level agreement) checker".

Cover what and why, not how. Leave out the tests, reviewer notes, risks, edge
cases, and implementation detail such as algorithms, comparisons, headers,
status codes, and function names; those belong to Full. If they would help, end
with one line offering the full explanation. Summarize the effect instead of
listing every file touched. Match the scope of the explanation to the question:
asked about one function, explain that function, not the whole system.

Fit the sentence order to the subject. A PR's sentences run before, then
after; a concept may be one paragraph; and a module overview may name its
responsibilities in prose. An illustrative Brief explanation of a PR:

> The search page now remembers recent results for one minute, so repeat
> searches load instantly. Before, every search queried the database, even
> when the same query ran seconds earlier. Now a results cache (a short-lived
> in-memory copy of recent answers) is checked first, and the database is
> queried only on a miss. Results can be up to a minute stale, which the PR
> accepts because listings change rarely.

Files in this skill

  • SKILL.md3.3 KB
  • agents/openai.yaml255 B
  • references/full-explanation.md2.9 KB
  • shared/skill-calls.md446 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.