mcpbeat Sign in

Go Testing Agent Skill

Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.

1k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
6287
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Gentleman-Programming/gentle-ai --skill go-testing

What comes with it

2 045 bytes besides the instruction
references/examples.md

The instruction itself

6 sections, as written by the author

Activation Contract

Load this skill when writing or reviewing Go tests, adding coverage, testing Bubbletea/TUI flows, using teatest, or updating golden files.

Hard Rules

  • Prefer table-driven tests for multiple cases; use t.Run(tt.name, ...).
  • Test behavior and state transitions, not implementation trivia.
  • Use t.TempDir() for filesystem tests; never rely on a real home directory.
  • Keep integration tests skippable with testing.Short() when they run external commands or slow flows.
  • For Bubbletea, test Model.Update() directly for state changes; use teatest only for interactive flows.
  • Golden files must be deterministic; update only through the repo's -update path and rerun tests without -update.
  • Use small mocks/interfaces around system or command execution boundaries.

Decision Gates

| Target | Test pattern |

|---|---|

| Pure function or parser | Table-driven unit test. |

| Error behavior | Explicit success and failure cases. |

| File operations | t.TempDir() plus focused assertions. |

| TUI state transition | Direct Model.Update() call with tea.Msg. |

| Full TUI interaction | teatest.NewTestModel(). |

| Rendered output | Golden file test. |

| Real external command | Integration test; skip in -short. |

Execution Steps

  • Identify behavior under test and the smallest public boundary that proves it.
  • Choose the test pattern from the decision gate.
  • Name cases by scenario, not input mechanics.
  • Assert outputs, errors, state, and side effects explicitly.
  • Run the narrow package test first, then the relevant broader suite.
  • For golden updates: run with -update, inspect diff, then rerun without -update.

Output Contract

Report test files changed, scenarios covered, commands executed, golden files updated, and any skipped integration scope.

References

  • references/examples.md — compact table-driven, Bubbletea, teatest, golden, and command examples.

How to use it

Copy the folder

Take gentleman-programming/go-testing from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.