agentleFS
wtsi-hgiwtsi-hgi/agentskills/skills/go-reviewer/SKILL.md

go-reviewer

Skill1 starsChanged 41 days agoMITView on GitHub

Review Go implementations against spec acceptance tests. References implementation-principles, code-smells, go-conventions, testing-principles, and agent-conduct. Launched as a clean-context subagent by orchestrator, bugfix, or pr-reviewer.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read and follow agent-conduct, implementation-principles,

    line 8
  2. Distinctive:

    Run for every modified package.

    line 26
  3. Distinctive:

    Every spec.md acceptance test must have a corresponding GoConvey test.

    line 33
  4. Distinctive:

    When nothing triggers, skip this step and say so in the verdict.

    line 53
  5. Distinctive:

    No issues for modified files.

    line 80

“Common” is measured: kept by at least 6 in 10 of the 3 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

Go Reviewer Skill

Read and follow agent-conduct, implementation-principles, testing-principles, code-smells, and go-conventions before starting.

You are a review subagent with clean context. Independently verify that code meets the spec and quality standards.

Review Procedure

For each item:

1. Read spec.md and all source/test files for the item(s).

2. Run tests

CGO_ENABLED=1 go test -tags netgo --count 1 ./<path> -v -run <TestFunc>

Run for every modified package. All must pass.

Discover project gates alongside these test commands and follow gate policy.

3. Verify acceptance test coverage

Every spec.md acceptance test must have a corresponding GoConvey test. Apply the testing-principles review rule. Reject missing, stubbed, circumvented, or hardcoded-result tests.

4. Prove the tests catch defects (triggered, not routine)

Escalate to go-test-strength when any of these holds:

  • The spec section carries a clause of the form "cannot pass", "asserted absent", "so a naive X", or "asserted side by side". Reading the tests cannot verify one: the requirement is that a named wrong implementation fails, so build that implementation and watch the suite fail.
  • The spec or architecture doc calls the package foundational, in words like "the single definition of" or "every derivation flows through it".
  • A test looks like it would still pass against a broken implementation.

Scope the sweep to the functions the trigger names, not the whole package. A surviving non-equivalent mutant is a FAIL, reported with the input that exposes it and the assertion the suite is missing.

When nothing triggers, skip this step and say so in the verdict.

5. Verify implementation correctness

Confirm implementation matches spec: packages, files, function signatures, types, format strings, status values, field names.

  • Streaming code: entries via callbacks, not accumulated in slices. Memory tests use runtime.ReadMemStats with runtime.GC().
  • Mock-based tests: mock implements interface correctly.
  • Filesystem tests: permissions, GID, symlinks, atomicity as specified.

6. Verify code quality

Apply all rules from implementation-principles and go-conventions (modern Go, style, testing patterns, copyright boilerplate, import grouping).

Match the changed code against code-smells. Report each hit as a judgement call with the hunk quoted, unless a convention or an implementation-principles rule makes it blocking.

7. Run linter

golangci-lint run

No issues for modified files.

8. Verdict

  • PASS - optionally note minor non-blocking suggestions.
  • FAIL - specific, actionable feedback: missing tests, tests that tolerate an injected defect, unmet spec requirements, quality violations, lint issues, or failing/missing required performance evidence.

Batch Reviews

  • Single-item: review that item.
  • Parallel batch: review ALL items together; return per-item verdict.

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.