go-spec-reviewer

go-spec-reviewer is a skill for Claude Code from spf13/go-skills. It costs 99 tokens per session (2,909 once invoked), scanned A, original, MIT.

A review guide for design specifications for Go programs. A specification is a written plan for a feature, such as a design document, RFC, or product requirements document, reviewed before coding starts.

In plain words
What is it for?
Use it to review a planned Go feature and decide whether its specification is ready to build.
Why use it?
It can reveal missing decisions or unclear requirements before they become implementation problems.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions subagents.

Part of the go-spec-reviewer plugin — 1 skill shipped together

Good fit Use it to review a planned Go feature and decide whether its specification is ready to build.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/spf13/go-skills/go-spec-reviewer
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add spf13/go-skills --skill go-spec-reviewer
Clone the repo
git clone --depth 1 https://github.com/spf13/go-skills

Made for: Claude Code.

Or install go-spec-reviewer, the plugin that ships this one along with the rest of its 1 skill.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for go-spec-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/skills/spf13/go-skills/go-spec-reviewer/github.svg)](https://agentmods.dev/skills/spf13/go-skills/go-spec-reviewer)
Your own site
<a href="https://agentmods.dev/skills/spf13/go-skills/go-spec-reviewer"><img src="https://agentmods.dev/badge/skills/spf13/go-skills/go-spec-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for go-spec-reviewer

Your own site · 80×15
<a href="https://agentmods.dev/skills/spf13/go-skills/go-spec-reviewer"><img src="https://agentmods.dev/badge/skills/spf13/go-skills/go-spec-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 99 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,909 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00099 $0.02909
Opus 5.5 $0.00040 $0.01164
Sonnet 5.5 $0.00020 $0.00582
Haiku 4.5 $0.00010 $0.00291

Measured 2d ago against content hash 5580309f57f5, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

go-spec-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

go-spec-reviewer/SKILL.md · 145 lines

How it starts

The opening of the file, as written. The whole thing — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Go Spec Reviewer

Purpose

Verify that a Go design document is complete, consistent, and idiomatic before implementation begins. The reviewer channels the perspective of Rob Pike, the Go standard library authors, and spf13 — people who would reject unnecessary abstractions, demand explicit error handling, and expect the simplest design that actually works.

How to Run the Review

If a subagent/Task tool is available: dispatch a general-purpose subagent with the review instructions below (description: "Review Go spec document"), passing the spec file path.

If not (Claude.ai, or no Task tool): perform the review yourself, inline, following the same steps.

Either way, the review procedure is identical:


Review Instructions

You are a Go spec reviewer. Your job is to verify this spec is complete and ready for implementation planning, viewed through the lens of idiomatic Go.

Think like Rob Pike reviewing this design: is it simple? Does it do one thing well? Think like the stdlib authors: are interfaces small and defined at the point of use? Think like spf13: if this is a CLI, does it follow Cobra/Viper conventions properly?

Spec to review: [SPEC_FILE_PATH]

Step 0 — Load the Standards

If the go and cobra-viper skills are installed (check /mnt/skills/user/go/SKILL.md and /mnt/skills/user/cobra-viper/SKILL.md), read them first. They are the source of truth for what "idiomatic" means in this review — package organization, stdlib-first, factory-built commands, testing patterns. Do not re-derive standards that conflict with them.

Step 1 — Understand the Codebase Context

Before reviewing, explore the existing codebase to understand conventions and spot conflicts. At minimum:

  • Map the package structure. Note whether it follows flat/domain-package organization or legacy layouts (deep internal/ trees, layer packages like service//repository/). The spec should match the better of the two — and may reasonably propose migrating away from a legacy layout.
  • If this is a Cobra CLI, check how commands are constructed. Factory functions (NewRootCmd()) are the standard. If the codebase uses package-level var command declarations, note it: (a) the spec should not add more globals, and (b) if it must match the legacy pattern, new flag variable names must be unique across all cmd/ files, since they share one package.
  • Check how commands are registered (in the root factory or cmd/root.go) — new subcommands must appear in the spec's file list with their registration point.
  • Identify existing patterns (HTTP clients, error types, config structs, interfaces) the spec should reuse rather than reinvent.
  • Note the Go version in go.mod — the module's own go directive and the toolchain. The version gates everything below in both directions; see "Version Gate" after this list. Flag specs that propose idioms the toolchain has since obsoleted:
    • Third-party routers where the 1.22 net/http.ServeMux patterns suffice.
    • interface{} where any applies (1.18).
    • Manual loops that slices/maps handle (1.21).
    • Hand-rolled worker pools where sync.WaitGroup.Go applies (1.25).
    • Hand-rolled v := expr; p := &v where new(expr) applies (1.26) — canonical for an optional pointer struct field, Age: new(yearsSince(born)).
    • errors.As where errors.AsType[T] applies (1.26) — generic, type-safe, and faster.
    • LastIndex-based splitting where strings.CutLast or bytes.CutLast applies (1.27) — a slice around the last occurrence of a separator.
    • b.N benchmark loops. B.Loop itself is Go 1.24; the change is 1.26, where it stopped inhibiting inlining of the loop body. Since then migrating b.N to B.Loop is unconditionally safe; parameters, results, and variables assigned inside the loop are still kept alive.
    • Third-party UUID libraries where the stdlib uuid package applies (1.27).
    • encoding/json v1 defaults where the spec targets go 1.27 or later and v2 semantics are wanted — encoding/json is now backed by the v2 implementation, which rejects invalid UTF-8 in JSON strings and duplicate names within an object; v1 behavior is preserved via Options.

Read the full file on GitHub · 145 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago Changed · +32 lines 5580309f57f5
  2. 1mo ago First seen · 113 lines · 99 tokens per session scan A 26a129c3cb5e

Subscribe to this mod's changes

go-spec-reviewer is a skill published in the GitHub repository spf13/go-skills (685 stars, last pushed 2d ago), licensed MIT. It adds 99 tokens to every session and 2,909 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

pr-to-go-linter

Generate a new pkg/linters analyzer from a merged or open PR pattern.

github/gh-aw · 22 tokens

golang-refactoring

Golang refactoring — safe, at-scale restructuring of existing Go code: a coverage-adaptive safety net, behavior-preserving transforms (gopls Rename/Extract, gofmt -r, gopatch), the Fowler catalog mapped to Go, breaking import cycles, and small stacked PRs. Apply when a function or type has grown too large, a code…

samber/cc-skills-golang · 220 tokens

design-review

Deep design review of Go codebase — naming, structure, consistency, interfaces, error handling. Scores each dimension and provides actionable fixes.

dimetron/pi-go · 30 tokens

agents-md

Generate AGENTS.md files for Go, Rust, TypeScript, and Java projects. Use this skill whenever the user asks to create, scaffold, bootstrap, update, or review an AGENTS.md (or agent-instructions, CLAUDE.md, repo guide for agents) file in a codebase. Also trigger when the user says "add AGENTS.md", "make this repo…

dimetron/pi-go · 138 tokens

ring:verifying-code

Verifying a Go project: runs every quality check (lint, vet, imports, format, docs, unit, integration, E2E) and returns a single MERGEREADY or NEEDSFIX verdict. Report-only: never fixes anything. Use for a quick pre-merge or pre-PR check outside a full dev-cycle. Skip when not a Go project, when you want a single…

LerianStudio/ring · 101 tokens

go-coding-standards

Use when writing or reviewing Go code — explains harness9 project coding conventions and patterns.

ZhangShenao/harness9 · 23 tokens