Skip to content
Agentmart
Submit a tool

writing-comments

How code comments get written: what earns one, how it reads, the sediment to keep out, and the passes it goes through.

Skill by MarvinJWendt

IndexedMIT★ 1
Write a review

Chalk Labs

Need help deploying writing-comments?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/marvinjwendt-writing-comments

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

How code comments get written: what earns one, how it reads, the sediment to keep out, and the passes it goes through. Load before you write or change any comment in a source file, including doc comments (godoc, JSDoc, docstrings), file headers and TODO markers; when porting, renaming or retiring a predecessor, where comments turn into changelogs; when auditing the comments already in a file; and whenever you weigh whether something needs a comment at all.

Use cases: documents, writing, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/writing-comments

What's inside

Skill name
writing-comments
Description
How code comments get written: what earns one, how it reads, the sediment to keep out, and the passes it goes through. Load before you write or change any comment in a source file, including doc comments (godoc, JSDoc, docstrings), file headers and TODO markers; when porting, renaming or retiring a predecessor, where comments turn into changelogs; when auditing the comments already in a file; and whenever you weigh whether something needs a comment at all.
License
MIT
Instructions
45 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Writing comments

A comment is the one part of a source file addressed to a human. Write it for the next reader of the code, never for the user and never for the diff.

## What earns a comment

- **The why.** The reason, the constraint, the bug that forced this shape. The code already states the what. State the constraint as it stands today rather than the story of meeting it: "node-notifier forwards only exit status -1, so a failed toast reports success" earns its place, "that failure used to be invisible" is the same fact wearing a diff.
- **The definition below it.** Functions, types, classes, exported constants: what it does and how it is meant to be used, in the language's own doc format.
- **The surprise.** A workaround, an ordering that matters, a magic number, a link to the issue or spec behind it.
- **The gap.** A `// TODO: short explanation` says what is missing, not that something is missing.

Lines that speak for themselves stay bare. A comment that repeats its code in English costs the reader twice: once to read it, once to check it still matches.

## How it reads

- Describe the code as it stands. The reader carries no memory of the previous version.
- One comment, one idea, in the shortest form that carries it.
- Name the mechanism or the number. "Retries twice, the gateway drops the first connect" beats "handles connection issues gracefully".
- Follow the file. Doc format, tense and person come from the code around it.
- Keep it true. When you change code, the comments around it move with it, including the ones you did not write. A comment also goes stale when what it points at moves: a renamed badge in an example, a doc section that now lives somewhere else, a count that no longer matches the list beneath it.

## Sediment

A comment carries **sediment** when it describes the repository's past instead of the code in front of the reader. It feels like context to whoever just did the work and reads as noise to everybody after them, because the version it argues with is not on screen and never will be again. The rewrite is always the same move: keep the fact, drop the chronology.

| Sediment | What it was trying to say |
| --- | --- |
| `the old templates repeated this nine times` | this helper is the one place that knowledge lives |
| `a port of the Go tool, same flags and sequence` | the sequence is notify, then minimize, then mute |
| `stopping at the first dash made the two runs different` | a global flag is legal anywhere on the line |
| `nix-darwin owned this path once and took the rule with it` | nix-darwin claims this path and its uninstaller takes the rule |
| `kept from the original`, `exactly as before`, `as it always has` | nothing: the sentence is finished without the clause |

Migration is when sediment settles. Porting a file, renaming a tool, retiring a predecessor, cleaning up after a refactor: your context is full of the version that is going away, so the new comment documents the move, and nothing you run afterwards flags it. Phase numbers, the name of the tool that used to do this, and "now" in any form all belong to that moment and to no reader after it. Write each comment as though the previous version never existed.

## The passes

Comments are prose that lands in a file, so they go through the same two passes as any other. Run both over the comments you touched, once, before you hand the file back.

- `technical-writing` for plainness: short sentences, active voice with a named actor, the common word over the fancy one. Aim at the rules rather than enforce them. A comment is usually one sentence or a fragment, so the sentence-length limits are a ceiling you rarely reach, not a length to fill.
- `unslop` for voice: cut the tells, so the comment reads like the person who wrote the code wrote it.

Then read each one as somebody who has never seen any earlier version of the file. Every comment that only makes sense beside the version you just replaced is sediment, and the fact inside it still has to be said plainly or deleted.

From MarvinJWendt/skills, MIT.

More from MarvinJWendt/skills

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Oct 10, 2026 (27 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from MarvinJWendt

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get writing-comments running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying writing-comments?

CallGet help
Cite this page

writing-comments skill. Agent Mart. https://agentmart.dev/skills/marvinjwendt-writing-comments (last updated 2026-10-24)