agentleFS
niksavisniksavis/basicly/.agents/skills/no-comments/SKILL.md

no-comments

Skill2 starsChanged 6 days agoMITView on GitHub

Keeps prose comments and docstrings out of code: where a fact goes instead and which tool directives stay. Use when writing a comment or docstring, or when the no-comments gate refuses a commit.

68 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use poteto-help, setup-pstack and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ianclearySkill

    poteto-help

    Guides users through pstack setup, /poteto-mode, and picking the skill, playbook, or principle for a task. Type /poteto-help with a question.

    Also in 13 projects that use this

  • bnemaSkill

    setup-pstack

    Configure which Pi models pstack uses per role. Detects available provider/model specs and writes pstack's user configuration. Use for /setup-pstack, "configure pstack models", or changing pstack model choices.

    Also in 22 projects that use this

  • ianclearySkill

    principle-explain-the-number

    Apply before you trust, report, or act on a number you measured: a speedup, a regression, a throughput, a latency, or an eval result. Find what limits it, and rule out that it measured something other than the work you think.

    Also in 25 projects that use this

  • eryzerzSkill

    make-bot-ui

    Use when building a custom UI (page, dashboard, buttons) that should wake a Grok Bot over a webhook, when the user must provide a webhook sender key, or when exposing that UI on Tailscale.

    Also in 16 projects that use this

  • TheOnlyFusionCubeSkill

    maintain-formal-verification-skill

    Bring a project's formal verification back in line with the code after the code changes: find the commits that touched verified code, update the model, harness, or properties to describe the code as it is now, rerun, and say whether each failure is drift in the verification or a bug in the code. Use for /maintain-formal-verification-skill, \"is the model still true to the code\", or after merges and refactors that touched verified code without rechecking it.

    Also in 19 projects that use this

  • TheOnlyFusionCubeSkill

    create-formal-verification-skill

    Generate a project-local skill that formally verifies the code where a bug costs the most and tests reach the least, in any language, with whichever verification tool fits. Use for /create-formal-verification-skill, \"model-check this race\", \"prove this invariant\", or when concurrency, retries, state machines, parsers, or unsafe code need more than tests.

    Also in 21 projects that use this

  • +1 more from TheOnlyFusionCube

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 0 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 66 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run python3 .basicly/core/kit/comments/cli.py check <path> on each refused or edited file.

    line 13
  2. Very specific:

    Before step 4, turn a plain licence header, such as # Copyright 2026 X, into SPDX-License-Identifier and SPDX-FileCopyrightText lines, …

    line 15
  3. Very specific:

    Run python3 .basicly/core/kit/comments/cli.py fix <path> for the prose that is left.

    line 17
  4. Very specific:

    Run languages for the current list.

    line 69
  5. Very specific:

    When a repository explicitly selects policy = "no-comment-ratchet", leave unrelated legacy prose alone and add no new prose.

    line 74

“Common” is measured: kept by at least 6 in 10 of the 66 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md
<!-- Generated by `basicly skills-build` from skill.yaml. Do not edit; edit the source. -->

No comments in code

The code is the only source of truth, so a change cannot leave a stale claim beside it.

Steps

  1. Run python3 .basicly/core/kit/comments/cli.py check <path> on each refused or edited file. It lists each prose comment and docstring.
  2. Move each fact to the place the table below names. Fix the code when the fact says what it does.
  3. Before step 4, turn a plain licence header, such as # Copyright 2026 X, into SPDX-License-Identifier and SPDX-FileCopyrightText lines, because fix removes a plain header.
  4. Run python3 .basicly/core/kit/comments/cli.py fix <path> for the prose that is left. Run check again until it reports 0.
  5. Stage the files and commit again.

Rules

  • Put the fact where something checks it. A comment is a claim that nothing checks.
  • Fix the code when it needs prose to say what it does. Rename it, split it, or give the condition a name.
  • Do not write code that is harder to read. A short name, a function with nine branches or a bare magic number has no comment to excuse it.
  • Keep each directive, with its code and a reason after it. A tool reads the directive, and the reason is part of it.

Where a fact goes

The factWhere it goes
A measurement: a count, a time, a ratethe commit message, and the issue or record of the change
What a function raises, changes or returnsa test that asserts it, and the type signature
What a bare str can holda type, an enum or a validator
Why this branch and not the othera name for the condition, or a test named after the case
Which incident a guard exists forthe issue id in the commit message, and the test that reproduces it
What the module is forits README, or the design document
A fact you cannot placeit was not necessary. Drop it.

Directives that stay

check never reports a directive, and fix never removes one. Among them:

noqa · nosec · type: ignore · pragma: no cover · fmt: off / fmt: on / fmt: skip · a shebang · eslint-disable · prettier-ignore · @ts-expect-error · @ts-nocheck · stylelint-disable · go:build · CHECKSTYLE: · NOSONAR · SPDX-License-Identifier · SPDX-FileCopyrightText · a /*! licence banner · an HTML conditional comment. .basicly/core/kit/comments/directives.py holds the full list.

Commands

python3 .basicly/core/kit/comments/cli.py check <path>      # report; exit 1 when it finds prose
python3 .basicly/core/kit/comments/cli.py fix <path>        # remove the prose
python3 .basicly/core/kit/comments/cli.py languages         # each file extension it covers
  • check never writes.
  • fix writes only a change it can prove. A second fix run must change nothing, and every string literal must stay. A Python file must parse to the same syntax tree.
  • fix reports a file that it cannot read with certainty and leaves the file unchanged.

Scope

YAML, TOML, JSON and Markdown keep their comments, because no code beside them is the source of truth. check and fix skip vendored directories such as vendor and node_modules. Run languages for the current list.

Comment ratchet

Strict mode, [hooks.comments] policy = "no-comments", is the default and the goal. When a repository explicitly selects policy = "no-comment-ratchet", leave unrelated legacy prose alone and add no new prose. The hook compares complete parsed comments and docstrings in HEAD and the staged index, so rewritten or duplicated prose is new prose. python3 .basicly/core/hooks/comment_ratchet.py <path> runs that check in a basicly repository. The kit check command stays strict. Remove the ratchet setting once no prose is left.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.