no-comments · backnotprop — скилл для Claude Code: убирает мёртвые комментарии
Скилл находит и удаляет бесполезные комментарии в коде, а спорные случаи выносит на ваше решение. Пригодится при чистке диффа перед ревью.
npx skills add backnotprop/pstack --skill no-comments -a claude-codeЧто делает no-comments
Скилл запускает субагента comment-sicko и работает по его отчёту. Область задаёт вызывающий: ваши файлы или дифф. Если ничего не передано, берётся текущий дифф против базовой ветки, по умолчанию main, вместе с рабочей копией.
Дальше идёт разбор отчёта. Правки в прикладном коде, выход за область, удаления под защитой исключений и неверно обоснованные пометки MUST KILL отклоняются. Тонкие пометки IMPORTANT и do not remove перед принятием проверяются командами /how или /why по их символу. Спорную пометку скилл не восстанавливает, а если keep опровергнут — удаляет. Исключение одно: REVIEW про внешнее правило остаётся, пока кто-то это правило не проверит.
Правки вносятся по корневой причине и в границах области. Если причина вне области, скилл делает минимальную правку внутри и оставляет остальное открытым. Комментарии-ограничения вида do not remove или talk to X before changing он предлагает закрепить дешёвой проверкой — типом, тестом или линтом в CI — и ждёт подтверждения. Без интерактивного подтверждения, например в eval, нужно предварительное согласие вызывающего. Субагент comment-sicko зарегистрирован только в Cursor с плагином pstack; в остальных харнессах скилл поднимает общего субагента.
Какие задачи решает
- вычистить мёртвые комментарии из диффа перед ревью
- отличить нужное ограничение от устаревшего пояснения
- заменить комментарий-ограничение проверкой в CI
- найти пропущенные подавления линта и TypeScript
- исправить причину, а не замаскировать симптом
Примеры запросов агенту
- Прогони no-comments по текущему диффу
- Убери лишние комментарии в изменённых файлах
- Проверь пометки
do not removeв этом диффе и предложи, чем их закрепить
Как установить no-comments
1Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill no-comments -a claude-code2Вручную: положить файлы
~/.claude/skills/no-comments/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/no-comments/
1Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill no-comments -a codex2Вручную: положить файлы
.agents/skills/no-comments/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill no-comments -a cursor2Вручную: положить файлы
.cursor/skills/no-comments/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install backnotprop/pstack no-comments2Вручную: положить файлы
.github/skills/no-comments/SKILL.md1Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill no-comments -a gemini-cli2Командой платформы
gemini skills install https://github.com/backnotprop/pstack --path skills/no-commentsВручную: положить файлы
.devin/skills/no-comments/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add backnotprop/pstack --skill no-comments -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора44
Другие версии no-comments
Похожие
Рядом в теме «Код-ревью и рефакторинг»
Всё по теме «Код-ревью и рефакторинг» →Вопросы о no-comments
Как установить no-comments в Claude Code?
Выполните npx skills add backnotprop/pstack --skill no-comments -a claude-code. Скилл появится по пути ~/.claude/skills/no-comments/SKILL.md.
Что делает no-comments?
Запускает субагента comment-sicko, разбирает его отчёт по диффу и удаляет комментарии, которые ничего не объясняют. Спорные случаи оставляет открытыми и показывает в отчёте.
Что нужно для работы субагента comment-sicko?
Он зарегистрирован как субагент только в Cursor с плагином pstack. В Claude, Codex и OpenCode скилл вместо него поднимает общего субагента, а в харнессе без инструмента субагентов прогоняет тот же промпт сам.
Исходный текст
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