Skip to main content
skill CX Codex

no-comments · backnotprop — Claude Code skill: strip dead comments from a diff

The skill spawns a comment-sicko subagent, deletes comments that explain nothing, and asks you before encoding real constraints as checks.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add backnotprop/pstack --skill no-comments -a claude-code
Open on GitHub

What no-comments does

The skill spawns a comment-sicko subagent and acts on its report. Scope comes from the caller: your files or diff. With nothing passed, it takes the current diff against the base branch, main by default, working tree included.

Then comes the audit. Application-code edits, scope escapes, deletions protected by exceptions and misstated MUST KILL reasons get rejected. Thin IMPORTANT and do not remove flags are checked with /how or /why on their symbol before you accept them. An ambiguous kill is not restored; a refuted keep is deleted. One exception: a REVIEW keep about an outside rule stays until someone checks that rule.

Fixes target the root cause and stay inside the fence. If the cause sits outside it, the skill lands the smallest in-scope fix and reports the rest open. Constraint comments such as do not remove or talk to X before changing get an offer to encode them as a cheap type, test or CI lint, and the skill waits for approval. Unattended runs and evals need caller pre-approval. The comment-sicko subagent is registered only in Cursor with the pstack plugin; other harnesses fall back to a general subagent.

What it helps with

  • clear dead comments out of a diff before review
  • tell a live constraint apart from a stale explanation
  • turn a constraint comment into a CI check
  • catch missed lint and TypeScript suppressions
  • fix the cause instead of guarding the symptom

Example prompts for the agent

  • Run no-comments on the current diff
  • Strip the useless comments in the files I changed
  • Check the do not remove flags in this diff and suggest how to encode them

How to install no-comments

1Skills CLI (Vercel)

npx skills add backnotprop/pstack --skill no-comments -a claude-code

2Manually: put the files in place

~/.claude/skills/no-comments/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/no-comments/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about no-comments

How do I install no-comments in Claude Code?

Run npx skills add backnotprop/pstack --skill no-comments -a claude-code. The skill lands at ~/.claude/skills/no-comments/SKILL.md.

What does no-comments do?

It spawns the comment-sicko subagent, audits its report against the diff, and deletes comments that carry no information. Disputed cases stay open and show up in the report.

What does the comment-sicko subagent need?

It is registered as a subagent only in Cursor with the pstack plugin. In Claude, Codex and OpenCode the skill spawns a general subagent instead, and in a harness with no subagent tool it runs the same prompt itself.

Source text

SKILL.md · MIT
---
name: no-comments
description: "Spawn Comment Sicko, fix accepted findings, and offer encodings for claimed constraints."
disable-model-invocation: true
---

# No comments

Spawn Comment Sicko. Act on accepted findings.

Defer to Comment Sicko's fresh perspective.

## 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. Spawn `Task` with `subagent_type: "comment-sicko"`. Pass the scope. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the **poteto-mode** skill. Do not restate its rules. If your harness doesn't have comment-sicko registered as a subagent (any harness other than Cursor with the pstack plugin), spawn a general subagent instead: `Agent` in Claude Code (`subagent_type: general-purpose`), `task` in OpenCode (`subagent_type: general`), `spawn_agent` in Codex. Its prompt is [`references/comment-sicko.md`](references/comment-sicko.md) verbatim, then the scope. If your harness has no subagent tool, as in Pi without an extension, run that prompt yourself in a fresh pass over the scope.
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, except a `REVIEW` keep about an outside rule, which stays until someone checks that rule. Report it open. Revert and rerun one rejected report with the failure named. If you reject the rerun too, revert only its rejected findings, report them open, and go on with the accepted ones.
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. Neither authorizes widening the fence nor fixing instances outside it. Never bolt on symptom guards.
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, `REVIEW` keeps, reruns, architect sketch, fixes, encoding offers, encodings, unenforced constraints, and other open work.

© backnotprop · MIT · backnotprop/pstack

Similar skills

Everything for Code review and refactoring →

no-comments by other authors comes first.

From the same set44

principle-build-the-lever A skill that pushes the agent to write a codemod, script or generator for non-trivial work instead of editing by hand, so the result can be rerun. CX Codex +1 5,200installs principle-make-operations-idempotent A skill for writing commands and processing loops that converge to the same state regardless of restarts, crashes, or retries. Use it when operations need to survive partial runs and still reach the correct outcome. CX Codex +1 5,200installs principle-subtract-before-you-add A development skill that enforces removing dead code, stubs, and unused validators before writing new features or refactoring. CX Codex +1 5,200installs maintain-verification-skill Keep a project's verification guide and feature map aligned with its code. The skill checks each mapped feature against the live app and flags confirmed fixes. CX Codex +1 5,200installs teach The skill explains codebases and architecture plainly without walls of text. It runs the how and why skills to combine implementation mechanics with design rationale. CX Codex +1 5,100installs tdd This skill makes the agent write a failing regression test for a bug before touching production code. It only kicks in when a cheap test path exists. CX Codex +1 5,100installs principle-experience-first A principle skill that shifts priority toward the user when product, UX, or feature-scope tradeoffs come up. Useful when deciding what to cut. CX Codex +1 5,100installs principle-separate-before-serializing-shared-state Architectural guideline for concurrent actors: eliminate shared mutable state across files or keys first, resorting to locks only when a single writer is strictly required. CX Codex +1 5,100installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor