code-summarizer
Installation
SKILL.md
Code Summarizer
Say what the code is for, not what it says. "Iterates over the list and appends items where status is active" is a translation, not a summary. "Returns only the invoices that are eligible for payment" is a summary.
Step 1 — Set the abstraction level from the scope
The answer to "what does this do" changes with how much code "this" covers. Decide up front:
| Scope | Length | Abstraction level | Goal |
|---|---|---|---|
| Single expr | 1 phrase | What value, in domain terms | Replace with a well-named variable |
| Function | 1–3 sentences | Contract: inputs → outputs → effects | A reader can call it correctly without reading the body |
| Class | 1 paragraph | Responsibility + lifecycle + main collaborators | A reader knows when to use it and when not to |
| Module / file | 2–4 paragraphs | Subsystem role + what enters/leaves | A reader can decide whether to open it |
| Package / dir | Bullets | Architectural role + public surface | A reader can navigate to the right file |
If the user doesn't specify scope, infer from what they pasted: 10 lines → function-level; 500 lines → module-level; a directory path → package-level.