no-comments · michael-denyer — Claude Code skill: what it does, how to install
Spawns the comment-sicko subagent to scrub obsolete comments and linter suppressions, turning actual code constraints into automated tests or types.
npx skills add michael-denyer/pstack-claude --skill no-comments -a claude-codeWhat no-comments does
The skill passes selected files or the current diff against main to the pstack:comment-sicko subagent. The subagent reviews the scope, flagging dead code paths, unnecessary explanations, and TypeScript or linter suppressions. Correctness and safety suppressions stay marked for removal. For straightforward findings, the skill acts immediately by dropping unused parameters or dead branches.
When a fix requires structural changes, it calls /architect once to produce a sketch before implementing the smallest root-cause patch. If a comment states a strict constraint like do not remove or talk to X before changing, the agent proposes encoding it as a type, runtime guard, or test. It requires explicit user approval before applying such encodings and deleting the comment.
Because the workflow relies on poteto-mode conventions and helper commands like /how and /why, running it without the surrounding pstack setup makes handling ambiguous flags noticeably harder.
What it helps with
- remove useless comments and dead code paths
- turn comments like
do not removeinto type or test constraints - eliminate stale linter and TypeScript suppressions
- fix the root causes of workarounds without adding symptom guards
Example prompts for the agent
- /no-comments
- Run /no-comments on the current diff against main
- Review comments and suppressions in src/index.ts with /no-comments
How to install no-comments
1Skills CLI (Vercel)
npx skills add michael-denyer/pstack-claude --skill no-comments -a claude-code2Manually: put the files in place
~/.claude/skills/no-comments/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/no-comments/
1Skills CLI (Vercel)
npx skills add michael-denyer/pstack-claude --skill no-comments -a codex2Manually: put the files in place
.agents/skills/no-comments/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add michael-denyer/pstack-claude --skill no-comments -a cursor2Manually: put the files in place
.cursor/skills/no-comments/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install michael-denyer/pstack-claude no-comments2Manually: put the files in place
.github/skills/no-comments/SKILL.md1Skills CLI (Vercel)
npx skills add michael-denyer/pstack-claude --skill no-comments -a gemini-cli2Platform CLI
gemini skills install https://github.com/michael-denyer/pstack-claude --path plugins/pstack/skills/no-commentsManually: put the files in place
.devin/skills/no-comments/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add michael-denyer/pstack-claude --skill no-comments -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about no-comments
How to install no-comments in Claude Code?
Run npx skills add michael-denyer/pstack-claude --skill no-comments -a claude-code in your terminal. You can also place the skill file directly at ~/.claude/skills/no-comments/SKILL.md.
What does no-comments do?
It runs the pstack:comment-sicko subagent to audit and delete superfluous comments, dead branches, and linter suppressions. Instead of patching symptoms, it focuses on the smallest root-cause fixes within scope.
What happens to constraints like "do not remove"?
The skill offers to turn the constraint into an automated type check, test, or runtime assertion. After interactive confirmation, it implements the check and deletes the original comment.
Source text
SKILL.md · MIT
--- name: no-comments description: "Spawn the comment-sicko subagent, fix accepted findings, and offer encodings for claimed constraints." --- # No comments On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill. On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill. On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill. 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 `Agent` with `subagent_type: "pstack:comment-sicko"`. Pass the scope. Pick each subagent's reasoning level for the job, per the Subagents section of the **poteto-mode** skill. Do not restate its rules. 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 `/no-comments`. 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, reruns, architect sketch, fixes, encoding offers, encodings, unenforced constraints, and other open work.
© michael-denyer · MIT · michael-denyer/pstack-claude
Similar skills
All skills for Code review and refactoring →no-comments by other authors comes first.