prune-comments
Prune comments — every comment in scope faces one test, and the ones carrying no why go; survivors compress to one line.
Skill by javierponferradalopez
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/javierponferradalopez-prune-comments
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/prune-comments
What's inside
- Skill name
prune-comments- Description
- Prune comments — every comment in scope faces one test, and the ones carrying no why go; survivors compress to one line. Fires on a freshly implemented or reviewed change, on a path or glob of older code, and on any ask to clean up or audit comments.
- License
- MIT
- Instructions
- 85 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Prune Comments Give every comment in the change a verdict, and prune the ones that haven't earned their place. **Scope** — the recent change. Work from what you already hold this session, otherwise read `git diff HEAD`. An argument overrides it: a path, a glob, a directory of older code. **Before judging** — layer the repo's own comment rules on top of the bar below (`CLAUDE.md` / `AGENTS.md`); on conflict the repo wins. Run the repo's typecheck and lint once now, so a tree that arrived red is not mistaken for yours. ## The test > Would a competent reader of this code, without this comment, lose information? Lost information means a **why** the code cannot express and that is worth knowing: a workaround, a constraint from outside the file, a decision whose discarded alternative looks better than it is. Whatever the code already says, the reader already has. Three verdicts. **Keep** — the reader would lose something, and the comment is already tight. **Reduce** — a why sits buried in prose that restates the code; compress it to the why alone. **Delete** — the reader loses nothing. A survivor is **one line**; more than one needs a reason you can state. When deleting leaves the code unclear, **fix the code** — a sharper name, an extracted function — so there is nothing left to explain. ## The reader already has the repo Three places outside the file carry what a comment may be restating. Where they carry it, the comment fails the test: it is a second copy, and the copy goes stale alone. - **`CONTEXT.md`** — the glossary. A comment explaining a domain term the glossary defines is a duplicate; delete it and let the term do the work. A concept the code needs and the glossary lacks is a gap to report, not a comment to keep. - **`docs/adr/`** — the decisions. A comment arguing why one approach beat another is an ADR wearing comment syntax. Where the ADR exists, the survivor is a one-line citation of it. Where it doesn't, the decision is worth one — report it. - **Git** — the history. "now uses X instead of Y", "added to support Z". ## Patterns that fail on sight - **Narrated preamble** — a block of prose above a method, class, or type telling in words what the unit does. - **Step narration** — `// 1. validate`, `// 2. save`, over code that already reads in that order. - **Restatement** — the line's own logic, said again in words. - **Obvious docblock** — JSDoc/TSDoc repeating the signature. - **Section banner** — a ruled comment dividing one file into named regions. ## Judged apart - **Public API docblocks** — an exported library API is judged by what it gives the consumer (autocomplete, generated docs), not by inferability. Keep the ones that serve the consumer, pruned to what the consumer needs. - **Test files** — judged by the tests around them, not by this bar. Match the style, wording, and density the surrounding tests already use; where they carry no comments, the bar above applies unchanged. - **`TODO` and `FIXME`** — one the implementation wrote about its own work goes, and gets reported: it usually marks work left half-done that belongs in a ticket. One older than the scope stays as it is. - **Functional comments** — `@ts-expect-error`, `eslint-disable*`, `biome-ignore`, `prettier-ignore`, `/// <reference>`, `// @vite-ignore`, shebangs, license headers, codegen markers. Code wearing a comment's syntax; no verdict. Every file with comment syntax is in scope — TypeScript, YAML, SQL, Dockerfile, CSS. A config option's why earns its place through the same test as any other. ## Close Re-run typecheck and lint. Pruning prose leaves behavior identical, so red means a functional comment left with the prose — restore that comment. Then say what you did, in prose, as short as the sweep was. A sweep that changed nothing says so in one line. Beyond that, only what the human cannot see without you: **the survivors and the why each carries** — that is what makes the sweep auditable — plus **code you changed** to absorb a deletion, since that is a code change and not a comment change, and the **`TODO`s and ADR gaps** you found.
From javierponferradalopez/skills, MIT.
More from javierponferradalopez/skills
- 0.565score
branch
javierponferradalopez
Create a git branch off the current one, named `<task-code>-<type>-<description>`.
SkillAFreshness: AClaude Code +9 - 0.561score
implement
javierponferradalopez
Build one issue through three fresh-eyes phases — build, harden, gaps — write its docs with you, and report only what needs your eye; stops with the tree dirty.
SkillAFreshness: AClaude Code +9 - 0.558score
done
javierponferradalopez
Push the branch and close the issue it finishes — one approval gate, then push, then close.
SkillAFreshness: AClaude Code +9 - 0.553score
github-pr
javierponferradalopez
Prepare and create a high-quality GitHub Pull Request for the current branch
SkillAFreshness: AClaude Code +9 - 0.539score
tdd
javierponferradalopez
Test-driven development with red-green-refactor loop.
SkillAFreshness: AClaude Code +9 - 0.539score
improve-codebase-architecture
javierponferradalopez
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/.
SkillAFreshness: AClaude Code +9 - 0.539score
domain-modeling
javierponferradalopez
Build and sharpen a project's domain model.
SkillAFreshness: AClaude Code +9 - 0.529score
diagnose
javierponferradalopez
Diagnosis loop for hard bugs and performance regressions.
SkillBFreshness: BClaude Code +9 - 0.526score
grill-me-comments
javierponferradalopez
Work through review comments — the user's own, a Pull Request's threads, or feedback they paste — settling the obvious ones on a single OK, grilling the rest…
SkillBFreshness: BClaude Code +9 - 0.519score
handoff-grill
javierponferradalopez
Pause a grill-me session into a resumable handoff that preserves the open branches of the decision tree, not just the closed decisions.
SkillBFreshness: BClaude Code +9 - 0.496score
to-tickets
javierponferradalopez
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker —…
SkillBFreshness: BClaude Code +9 - 0.496score
to-spec
javierponferradalopez
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Sep 19, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/javierponferradalopez/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from javierponferradalopez
- 0.565score
branch
javierponferradalopez
Create a git branch off the current one, named `<task-code>-<type>-<description>`.
SkillAFreshness: AClaude Code +9 - 0.561score
implement
javierponferradalopez
Build one issue through three fresh-eyes phases — build, harden, gaps — write its docs with you, and report only what needs your eye; stops with the tree dirty.
SkillAFreshness: AClaude Code +9 - 0.558score
done
javierponferradalopez
Push the branch and close the issue it finishes — one approval gate, then push, then close.
SkillAFreshness: AClaude Code +9 - 0.553score
github-pr
javierponferradalopez
Prepare and create a high-quality GitHub Pull Request for the current branch
SkillAFreshness: AClaude Code +9 - 0.539score
domain-modeling
javierponferradalopez
Build and sharpen a project's domain model.
SkillAFreshness: AClaude Code +9 - 0.539score
tdd
javierponferradalopez
Test-driven development with red-green-refactor loop.
SkillAFreshness: AClaude Code +9
Cite this page
prune-comments skill. Agent Mart. https://agentmart.dev/skills/javierponferradalopez-prune-comments (last updated 2026-10-24)