Installs into .claude/skills of the current project.
Are you the author of No Comments?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/painhardcore-no-comments)
---
name: no-comments
description: Use before review when the user asks to strip, remove, or clean up comments in code.
---
# No comments
Spawn comment-sicko. Act on accepted findings.
Authoring agents defend comments. Defer to comment-sicko's fresh perspective.
If the `comment-sicko` agent is unavailable (a host without the agents mirror, such as Opencode before `.opencode/agents/` is in place), do not fail: perform the review inline. Read the scope, apply the same flag rules below, and report findings yourself. The agent is a convenience, not a prerequisite.
## Scope
Use the caller's files or diff. Otherwise use the current diff against the base branch, default `main`, including the working tree.
## Steps
1. Use the host's native agent mechanism to run `comment-sicko` with the scope. If that agent is unavailable or delegation is forbidden, apply its rules inline.
2. Inspect its report and diff. Reject application-code edits, scope escapes, exception-protected deletions, misstated `MUST KILL` reasons, and flags that treat kept intentional code as guilty. Reshape flags on our-code surprises stay actionable. Do not restore those comments. A keep survives only with proof it is about something we cannot change. Audit missed scoped lint and TypeScript suppressions. Correctness or safety suppressions stay actionable `MUST KILL`s. Restore deletions only with exact exceptions and scoped proof. Before accepting thin `IMPORTANT` or `do not remove` kills or keeps, run **how** or **why** on their symbol. If a kill is ambiguous, do not restore. If a keep is refuted or still ambiguous, delete it. Revert and rerun one rejected report with the failure named. Reject a second, report it open, and fail the no-comments pass.
3. Fix trivial accepted flags directly by deleting a dead path, dropping a parameter, or using the real API. If any fix needs a shape, run **architect** once for the accepted set and surrounding code. Stop at the sketch. Architect shapes. Step 4 implements.
4. Implement the smallest root-cause fix in scope. Remove every named workaround. If the root cause is out of scope, land the smallest in-scope fix and report the rest open. The **principle-fix-root-causes** and **principle-redesign-from-first-principles** skills guide intent only: fix real causes, redesign as if requirements always existed, never bolt on symptom guards. Neither authorizes widening the fence nor fixing instances outside it.
5. Constraint comments say `do not remove`, `do not change wording`, or `talk to X before changing`. Leave keeps about things we cannot change. Offer the cheapest in-scope type, runtime, test, or CI lint. Wait for interactive approval. Unattended and eval require caller pre-approval. If approved, encode then delete. Otherwise delete, report the constraint open, and sketch out-of-scope work.
6. Report the deletion count, restored comments, reruns, architect sketch, fixes, encoding offers, encodings, unenforced constraints, and other open work.