joebartels/go-quality-build
Focused Go authoring skills for design, APIs, testing, naming, comments, context and concurrency.
Use when Go work creates or changes an exported API or supported external CLI, wire, file, or error contract, including compatibility and release migrations. Skip private helper fixes without an established external contract, even when their local behavior intentionally changes.
Use when a Go task changes meaningful behavior, fixes a defect, or adds or strengthens tests for a supported contract in a library, CLI, service, or worker. Skip comment-only, formatting-only, and mechanical edits with no behavioral change or requested test improvement.
Use when Go work changes shared mutable state, goroutines, channels, bounded admission, asynchronous completion, or resources used by concurrent work. Skip private serial calculations and local fixes without these decisions.
Use when Go work changes cancellation propagation, operation or stage deadlines, cancellation causes, or required work after caller cancellation. Skip pure calculations and synchronization changes without a context or budget decision.
Use when Go work introduces or changes an interface, concrete dependency, constructor, options API, dependency wiring, or resource lifecycle. Skip private pure calculations and local expression fixes that do not change those decisions.
Use when writing or revising Go identifiers, comments or Godoc, especially verbose helper documentation and test prefaces. Skip changes unrelated to names or documentation.
Use when a Go change creates, splits, merges, or relocates packages, adds a responsibility, or changes import direction or ownership. Applies to libraries, CLIs, and services; local expression edits with unchanged responsibilities do not need this skill.
Use when Go test work involves files, external dependencies, doubles, shared mutable or process state, goroutines, timers, fixture lifetime, or parallel execution, including repairing flaky or order-dependent setup. Skip pure deterministic calculations using only local inputs and ordinary assertions.