Write unit tests with table-driven patterns and interface mocking in Go.

MITAuto-check passedTesting & QA

Install Golang Testing

skills CLI
$ npx skills add HoangNguyen0403/agent-skills-standard --skill golang-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install HoangNguyen0403/agent-skills-standard golang-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/HoangNguyen0403/agent-skills-standard.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/golang/golang-testing .claude/skills/golang-testing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
golang-testing
GitHub stars
572
Token cost
~989 tokens
SKILL.md length
434 words
Files
4 (incl. references)
Skills in repo
211
Repo updated
First seen
Licence
MIT

At a glance

Write unit tests with table-driven patterns and interface mocking in Go.

  • Works in 7 steps: Write failing test first — Follow… → Table-driven tests for equivalent inputs… → Zero Volatile Fields for Struct… → …
  • Writing Go unit tests
  • SKILL.md covers Priority: P0 (CRITICAL), Core Rule Anchors, Implementation Workflow and Tools & Naming, plus 2 more sections
  • Calls go

What it does

Golang Testing is an agent skill from HoangNguyen0403/agent-skills-standard. Write unit tests with table-driven patterns and interface mocking in Go. Use when writing Go unit tests, table-driven tests, or using mock interfaces.

Its SKILL.md is about 990 tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `evals/evals.json`, `references/mocking-strategies.md` and `references/table-driven-tests.md`).

It sits in Testing & QA, covering Unit testing. It works with Go. The repository describes itself as: A collection of Agent Skills Standard and Best Practice for Programming Languages, Frameworks that help our AI Agent follow best practies on frameworks and programming laguages. The licence is MIT.

When your agent uses it

  • Writing Go unit tests
  • Table-driven tests
  • Using mock interfaces

Example prompts

  • “/golang-testing”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Write failing test first — Follow Red-Green-Refactor TDD workflow ([BE-TEST-05]).
  2. Table-driven tests for equivalent inputs — For parameterized cases sharing setup, define test cases as a slice of structs with t.Run…
  3. Zero Volatile Fields for Struct Comparison — When asserting struct equality, zero out timestamps, dynamic IDs, or generated tokens before…
  4. Mock via interfaces — Use DI and small, consumer-centric interfaces (1-3 methods) ([BE-TEST-04]). Prefer mockery for auto-generated mocks…
  5. Run parallel — Use t.Parallel() for non-sequential tests to speed up CI.
  6. Clean up resources — Use t.Cleanup() to restore state or release DB/file resources.
  7. Check coverage — Coverage is diagnostic and project-configured; verify risk-weighted critical paths rather than padding code for an…

What it can do on your machine

Read from SKILL.md and the folder at commit b529c2d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Golang Testing loads about 989 tokens when it runs, and up to ~1.6k if it reads all its reference files. Until then it costs about 41 tokens; SKILL.md has 434 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~989
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from HoangNguyen0403/agent-skills-standard at commit b529c2d, republished under its MIT licence (© HoangNguyen0403). 434 words, ~989 tokens.

Download SKILL.mdSave it as .claude/skills/golang-testing/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
golang-testing
description
Write unit tests with table-driven patterns and interface mocking in Go. Use when writing Go unit tests, table-driven tests, or using mock interfaces.

Golang Testing

Priority: P0 (CRITICAL)

Core Rule Anchors

  • [BE-TEST-01] Table-Driven Subtests for Equivalent Cases: Prefer table-driven tests ([]struct{ name, input, expected, expectErr } with t.Run) when functions have multiple equivalent inputs, boundary permutations, or repetitive setup. Distinct scenarios or diverging setup may remain separate test functions; 2-3 distinct cases are fine. Reviewers must not raise stylistic table-driven findings without a behavioral gap.
  • [BE-TEST-02] Ban on Brittle SQLMock String Matching: Do not use sqlmock.ExpectQuery to regex-match raw SQL strings. Test pure domain business calculations directly, or use testcontainers-go for PostgreSQL repository verification.
  • [BE-TEST-03] Ban on Shallow Assertions: Never assert only assert.NoError(t, err) or assert.NotNil(t, result) without inspecting returned domain struct fields, status codes, and invariants.
  • [BE-TEST-04] Ban on Pass-Through Interface Mocks: Repositories and service handlers must test contract compliance and error mapping. Ban 1:1 pass-through mock echoing without contract assertions.
  • [BE-TEST-05] Bug-First Regression Lock: Every PR fixing a bug ticket or with title fix(...) must introduce a test reproducing the defect prior to the fix.

Implementation Workflow

  1. Write failing test first — Follow Red-Green-Refactor TDD workflow ([BE-TEST-05]).
  2. Table-driven tests for equivalent inputs — For parameterized cases sharing setup, define test cases as a slice of structs with t.Run ([BE-TEST-01]).
  3. Zero Volatile Fields for Struct Comparison — When asserting struct equality, zero out timestamps, dynamic IDs, or generated tokens before assert.Equal to prevent flaky assertions.
  4. Mock via interfaces — Use DI and small, consumer-centric interfaces (1-3 methods) ([BE-TEST-04]). Prefer mockery for auto-generated mocks or manual mocks for simple cases.
  5. Run parallel — Use t.Parallel() for non-sequential tests to speed up CI.
  6. Clean up resources — Use t.Cleanup() to restore state or release DB/file resources.
  7. Check coverage — Coverage is diagnostic and project-configured; verify risk-weighted critical paths rather than padding code for an arbitrary percentage.

See table-driven test examples

Show full SKILL.md (139 more words)Show less

Tools & Naming

  • Stdlib: testing package (TestXxx(t *testing.T), ExampleXxx()).
  • Testify: Assertions (assert, require) and mocks.
  • Mockery / GoMock: Auto-generate mocks for interfaces.
  • Integration: Prefer testcontainers-go over raw SQL mock strings ([BE-TEST-02]).

Anti-Patterns

  • [BE-TEST-01] No stylistic rewrites: Do not demand table-driven rewrites of passing tests unless 5+ repetitive blocks or a coverage gap exists.
  • [BE-TEST-02] No raw SQL regex matching: Do not match SQL strings in mocks.
  • [BE-TEST-03] No shallow assertions: Never assert only assert.NoError/NotNil without payload inspection.
  • [BE-TEST-04] No pass-through mock echoing: Ban 1:1 mock echoing without contract assertions.
  • [BE-TEST-05] No bug fix without reproduction test.
  • No assert in loops: use t.Run subtests to isolate failures.
  • No brittle assertions on volatile fields: normalize timestamps/dynamic IDs.
  • No global mock state: define mocks locally within test scope.
  • No skipping race detection: always run go test -race in CI.

References

© HoangNguyen0403, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/golang/golang-testing of HoangNguyen0403/agent-skills-standard.

  • SKILL.md
  • evals/evals.json
  • references/mocking-strategies.md
  • references/table-driven-tests.md

Open the folder on GitHubat commit b529c2d

Compare with similar skills

Golang Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Golang Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Golang Testing this skillHoangNguyen0403/agent-skills-standard572—~989Automated safety check: PassMIT
NIC Testing Patternsnginx/kubernetes-ingress5.1k—~2.8kAutomated safety check: PassApache-2.0
Writing gotest Testsmvrahden/go-test128—~3.1kAutomated safety check: PassMIT
Shopware CLIshopware/shopware-cli124—~4.9kAutomated safety check: PassMIT
Go Development Guidelinesjumppad-labs/jumppad263—~1.5kAutomated safety check: PassMPL-2.0
Code Reviewyaklang/yakit7.8k—~1.5kAutomated safety check: NotesAGPL-3.0

Similar skills

  • NIC Testing Patterns

    nginx/kubernetes-ingress

    Testing conventions for the NGINX Ingress Controller repo: Go table-driven tests, mandatory snapshot regeneration, Helm tests and Python pytest integration tests.

    5.1k GitHub stars~2.8k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Writing gotest Tests

    mvrahden/go-test

    Guides writing, fixing and migrating tests in Go repositories that use the gotest suite framework, including version differences and CI setup.

    128 GitHub stars~3.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Shopware CLI

    shopware/shopware-cli

    Use Shopware CLI for Shopware project, extension, and account workflows — create and install new projects (project create, project dev install), validate projects or extensions (with…

    124 GitHub stars~4.9k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Go Development Guidelines

    jumppad-labs/jumppad

    Sets idiomatic Go conventions with a test-first workflow, using testify/require for assertions and mockery for mocks, for new features, packages and refactors.

    263 GitHub stars~1.5k tokensUpdated 9 days ago
    DevelopmentAuto-check passed
  • Code Review

    yaklang/yakit

    对 Yakit 仓库的代码改动做规范化 code review:按代码逻辑、TS 定义、UI 引用与 Props、CSS 样式、依赖版本、配置项六个维度审查,检查测试用例缺失,强制执行 tsc 类型检查与 vitest 测试验证,输出「结果汇总 / 明细解释 / 合并结论」三块报告,经用户确认后写入文件。当用户要求 review、审查、评审代码改动,或在提交、合并、提 PR…

    7.8k GitHub stars~1.5k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Add a remindb Parser

    radimsem/remindb

    Walks through adding a new file format to remindb's Go parser package: the parser file, the ParseBytes case, table tests and fuzz seeds.

    129 GitHub stars~1.6k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed

More from HoangNguyen0403/agent-skills-standard

All 211 skills in this repo
  • Subagent-Driven Development

    HoangNguyen0403/agent-skills-standard

    Runs a multi-task implementation plan by sending each task to a fresh implementer subagent, reviewing it independently, then reviewing the whole branch.

    572 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • draw.io Architecture Diagramming

    HoangNguyen0403/agent-skills-standard

    Draws architecture diagrams as editable draw.io files from a JSON spec, with a fixed house style, one C4 level per diagram and evidence-tagged shapes.

    572 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Android Navigation 3 Guide

    HoangNguyen0403/agent-skills-standard

    Implements and migrates to Jetpack Navigation 3 in Compose: NavDisplay, typed route objects, a state-list back stack, deep links, multiple back stacks and dialog scenes.

    572 GitHub stars~687 tokensUpdated yesterday
    Auto-check passed
  • Angular HttpClient Standards

    HoangNguyen0403/agent-skills-standard

    Sets rules for Angular HTTP code: functional interceptors, typed requests, services that own every call, and httpResource for reactive data loading in Angular 17+.

    572 GitHub stars~652 tokensUpdated yesterday
    Auto-check passed
  • Angular Tooling

    HoangNguyen0403/agent-skills-standard

    Angular CLI usage, code generation, build configuration, and bundle optimization.

    572 GitHub stars~743 tokensUpdated yesterday
    Auto-check passed
  • Common Code Review

    HoangNguyen0403/agent-skills-standard

    Conduct high-quality, persona-driven code reviews. An agent skill from HoangNguyen0403/agent-skills-standard.

    572 GitHub stars~772 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Golang Testing

What does Golang Testing do?

Write unit tests with table-driven patterns and interface mocking in Go. Golang Testing is an agent skill from HoangNguyen0403/agent-skills-standard. Write unit tests with table-driven patterns and interface mocking in Go.

When should I use Golang Testing?

Golang Testing fits situations like: writing Go unit tests; table-driven tests; using mock interfaces.

How do I install Golang Testing in Claude Code?

Run `npx skills add HoangNguyen0403/agent-skills-standard --skill golang-testing -a claude-code`. Or copy the skill folder (skills/golang/golang-testing in HoangNguyen0403/agent-skills-standard) into .claude/skills/golang-testing in your project. Claude Code loads it when a task matches its description.

How do I install Golang Testing in Codex?

Run `npx skills add HoangNguyen0403/agent-skills-standard --skill golang-testing -a codex`. Or copy the skill folder (skills/golang/golang-testing in HoangNguyen0403/agent-skills-standard) into .agents/skills/golang-testing in your project. Codex loads it when a task matches its description.

Can I use Golang Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HoangNguyen0403/agent-skills-standard --skill golang-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/golang-testing, .gemini/skills/golang-testing, .github/skills/golang-testing and .opencode/skills/golang-testing in your project.

What does Golang Testing need to run?

Going by SKILL.md and its folder, Golang Testing needs the command-line tools its instructions call (go).

Does Golang Testing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Golang Testing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Golang Testing use?

Golang Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Golang Testing use?

About 989 tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 649 tokens, read only when the agent opens those files.

What are the alternatives to Golang Testing?

Skills that share tags, products or a category with Golang Testing: NIC Testing Patterns (nginx/kubernetes-ingress, 5.1k stars), Writing gotest Tests (mvrahden/go-test, 128 stars), Shopware CLI (shopware/shopware-cli, 124 stars) and Go Development Guidelines (jumppad-labs/jumppad, 263 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Golang Testing?

HoangNguyen0403 (a GitHub user) maintains it in HoangNguyen0403/agent-skills-standard, which has 572 GitHub stars. The repository holds 211 skills in this directory. The repository was last updated on October 9, 2026.

Source: HoangNguyen0403/agent-skills-standard on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.