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
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.
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.
About
Use cases: documents, writing, productivity
Reviews
Write a reviewNo 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
- 0.587score
technical-writing
MarvinJWendt
Layered technical-writing standard: text size and scope, Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
set-up-agents-md
MarvinJWendt
Make `AGENTS.md` the single source of truth for a repository's agent instructions and symlink every agent's own instruction file to it.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
set-up-skills
MarvinJWendt
Wire a repository's skills so `.agents/skills/` is the single source of truth and every agent reads it through a symlink.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
unslop
MarvinJWendt
Cut AI tells from prose and give it a human voice.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
orchestrate
MarvinJWendt
Act as team lead for a batch of parallel tasks, delegate each to a named subagent, then integrate their work and report back.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
quick-html
MarvinJWendt
Build a single self-contained HTML file with Tailwind and CDN imports, no build step.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
commit
MarvinJWendt
Commit the current changes with a message written in the repo's own style.
SkillAFreshness: A★ 1Claude Code +9 - 0.582score
set-up-agents
MarvinJWendt
Set up a repository's whole agent configuration in one go, instructions and skills.
SkillAFreshness: A★ 1Claude Code +9 - 0.582score
handoff
MarvinJWendt
Write a handoff document that summarises the current conversation, so a fresh agent can continue the work.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
pull
MarvinJWendt
Bring the current branch up to date by merging its upstream, keeping uncommitted work and both sides of every conflict.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
investigate
MarvinJWendt
Find out why something failed or behaves the way it does, using read-only commands only, and report the cause back in chat.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
push
MarvinJWendt
Push the current branch to its remote, committing first when the working tree is dirty.
SkillAFreshness: A★ 1Claude Code +9
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
- Repository
- github.com/MarvinJWendt/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from MarvinJWendt
- 0.587score
set-up-skills
MarvinJWendt
Wire a repository's skills so `.agents/skills/` is the single source of truth and every agent reads it through a symlink.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
technical-writing
MarvinJWendt
Layered technical-writing standard: text size and scope, Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
set-up-agents-md
MarvinJWendt
Make `AGENTS.md` the single source of truth for a repository's agent instructions and symlink every agent's own instruction file to it.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
commit
MarvinJWendt
Commit the current changes with a message written in the repo's own style.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
orchestrate
MarvinJWendt
Act as team lead for a batch of parallel tasks, delegate each to a named subagent, then integrate their work and report back.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
quick-html
MarvinJWendt
Build a single self-contained HTML file with Tailwind and CDN imports, no build step.
SkillAFreshness: A★ 1Claude Code +9
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.
Cite this page
writing-comments skill. Agent Mart. https://agentmart.dev/skills/marvinjwendt-writing-comments (last updated 2026-10-24)