Agent Skillssimstudioai/sim › you-might-not-need-a-comment

you-might-not-need-a-comment

GitHub

分析并清理冗余或自解释的内联注释,删除无效内容并将真实文档转换为 TSDoc 格式。

.agents/skills/you-might-not-need-a-comment/SKILL.md simstudioai/sim

Trigger Scenarios

代码审查中检查注释规范性 重构代码时清理冗余注释

Install

npx skills add simstudioai/sim --skill you-might-not-need-a-comment -g -y
More Options

Non-standard path

npx skills add https://github.com/simstudioai/sim/tree/main/.agents/skills/you-might-not-need-a-comment -g -y

Use without installing

npx skills use simstudioai/sim@you-might-not-need-a-comment

指定 Agent (Claude Code)

npx skills add simstudioai/sim --skill you-might-not-need-a-comment -a claude-code -g -y

安装 repo 全部 skill

npx skills add simstudioai/sim --all -g -y

预览 repo 内 skill

npx skills add simstudioai/sim --list

SKILL.md

Frontmatter
{
    "name": "you-might-not-need-a-comment",
    "description": "Analyze and fix redundant or self-explanatory inline comments — remove noise, promote genuine documentation to TSDoc",
    "argument-hint": "[scope] [fix=true|false]"
}

You Might Not Need a Comment

Arguments:

  • scope: what to analyze (default: your current changes). Examples: "diff to main", "PR #123", "src/components/", "whole codebase"
  • fix: whether to apply fixes (default: true). Set to false to only propose changes.

User arguments: $ARGUMENTS

The one rule that matters

A comment must add information the code cannot express itself. Code says what and how; a comment earns its place only by explaining why — a non-obvious constraint, a workaround, a decision, a gotcha. If deleting the comment loses no information a competent reader wouldn't recover from the code in seconds, delete it.

This codebase's convention: TSDoc for documentation, no non-TSDoc comments, no ==== separators. Genuine documentation belongs in a /** ... */ block on the declaration; everything that survives as an inline // comment must be a real why, kept terse.

Anti-patterns to detect

  1. Restates the code: // increment counter above counter++, // return the result above return result, // loop over items. Delete.
  2. Narrates the obvious from names: the function is fetchUserById, the comment says // fetches a user by id. The identifier already said it. Delete.
  3. Section-divider / banner comments: // ==== Helpers ====, // --- state ---, // #region. Against convention. Delete (the code's structure is the structure).
  4. Commented-out code: dead code left as a comment. Delete — git is the history.
  5. Redundant type/param echo in prose comments: // takes a string and returns a number when the signature already says so. Delete.
  6. Changelog / attribution noise: // added by X, // TODO(2021): ... long-stale, // fix for bug. Delete unless it encodes a live, actionable constraint.
  7. Genuine documentation written as a loose // block on a declaration: a real explanation of what an exported function/type/const is for, but written as stacked // lines instead of TSDoc. Convert to a /** ... */ TSDoc block on the declaration.

Patterns that ARE correct — do not flag

  • A // comment that explains a non-obvious why: a workaround for an upstream bug, an ordering constraint, a perf reason, a spec/edge-case the code can't self-document (// first-match wins — matches the old find() semantics).
  • Existing TSDoc /** ... */ blocks on declarations — leave them (only tighten if verbose).
  • // boundary-raw-fetch:, // double-cast-allowed:, // boundary-raw-json:, // untyped-response:, // migration-safe: and other machine-read annotations — these are load-bearing, never touch them.
  • // biome-ignore, // eslint-disable, // @ts-expect-error and other tooling directives.
  • // TODO / // FIXME that point at real, still-open work.

Bias

Prefer deletion over rewriting, and no comment over a comment when the code is already clear. When a comment is genuine documentation, prefer promoting it to terse TSDoc over leaving a loose // block. Never add new comments in this pass — this is a reduction pass. When unsure whether a comment encodes a real why, keep it.

Steps

  1. Analyze the specified scope for the anti-patterns listed above
  2. If fix=true, apply the fixes. If fix=false, propose the fixes without applying.

Version History

  • ceda457 Current 2026-08-20 15:29

Same Skill Collection

.agents/skills/add-block-preview/SKILL.md
.agents/skills/add-block/SKILL.md
.agents/skills/add-column-type/SKILL.md
.agents/skills/add-connector/SKILL.md
.agents/skills/add-enrichment/SKILL.md
.agents/skills/add-feature-flag/SKILL.md
.agents/skills/add-hosted-key/SKILL.md
.agents/skills/add-integration/SKILL.md
.agents/skills/add-managed-cli/SKILL.md
.agents/skills/add-model/SKILL.md
.agents/skills/add-tools/SKILL.md
.agents/skills/add-trigger/SKILL.md
.agents/skills/babysit/SKILL.md
.agents/skills/cleanup/SKILL.md
.agents/skills/council/SKILL.md
.agents/skills/db-migrate/SKILL.md
.agents/skills/design-taste-frontend/SKILL.md
.agents/skills/emcn-design-review/SKILL.md
.agents/skills/emil-design-eng/SKILL.md
.agents/skills/make-interfaces-feel-better/SKILL.md
.agents/skills/memory-load-check/SKILL.md
.agents/skills/react-query-best-practices/SKILL.md
.agents/skills/ship/SKILL.md
.agents/skills/tool-registry-boundary/SKILL.md
.agents/skills/v2-api-conventions/SKILL.md
.agents/skills/validate-connector/SKILL.md
.agents/skills/validate-integration/SKILL.md
.agents/skills/validate-model/SKILL.md
.agents/skills/validate-trigger/SKILL.md
.agents/skills/you-might-not-need-a-callback/SKILL.md
.agents/skills/you-might-not-need-a-memo/SKILL.md
.agents/skills/you-might-not-need-an-effect/SKILL.md
.agents/skills/you-might-not-need-state/SKILL.md
.agents/skills/you-might-not-need-url-state/SKILL.md
.claude/skills/add-settings-page/SKILL.md
helm/sim/.claude/skills/sim-helm/SKILL.md
.agents/skills/migrate-application-operation/SKILL.md

Metadata

Files
0
Version
ceda457
Hash
e92b310f
Indexed
2026-08-20 15:29

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-25 15:16
浙ICP备14020137号-1 $방문자$