JetBrains

Go Modern Guidelines — AI skill for Claude Code

AI community

Help AI coding agents write modern Go.

How to install Go Modern Guidelines

This entry records only its repository, not the path inside it, so there is no exact command to give. Open JetBrains/go-modern-guidelines and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Go Modern Guidelines does

Help AI coding agents write modern Go.

Alternatives in AI

  • Artifacts Builder — Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web tech 97.5k ★
  • AGENTS.md — Guidelines for AI agents working in this repository 21.7k ★
  • Anthropic Quickstarts — by Anthropic - Offers comprehensive development guides for three distinct AI-powered demo projects with standa 15.4k ★

README

[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)

Modern Go Guidelines

This repository contains [guidelines](https://github.com/JetBrains/go-modern-guidelines/blob/main/plugin/skills/use-modern-go/SKILL.md) for code agents that help them write modern Go code.

For example, an agent with these guidelines uses `max(a, b)` instead of an if-else block, `slices.Contains` instead of a manual loop, `cmp.Or(a, b, c)` instead of a chain of nil checks. It also knows about recent additions like `new(42)` to get a pointer to a value and `errors.AsType[T](err)` for type-safe error matching—both from Go 1.26.

The guidelines cover the most useful features from Go 1.0 through Go 1.27, including everything targeted by the `modernize` analyzer. An agent will:

  • Detect the project's Go version from go.mod
  • Use language features and stdlib additions available up to and including that version
  • Prefer modern idioms over older patterns

Motivation

All coding agents tend to generate outdated Go. Two reasons:

  1. **Training data lag.** Models don't know about features added after their training cutoff. They can't use `errors.AsType[T]` (Go 1.26) if they've never seen it.

  2. **Frequency bias.** Even for features the model knows, it often picks older patterns. There's more `for i := 0; i < n; i++` in the training data than `for i := range n`, so that's what comes out.

These guidelines fix both problems by giving the agent an explicit reference.

This aligns with the Go team's direction. The `modernize` analyzer exists to automatically update existing code to use newer idioms (see [this talk](https://www.youtube.com/watch?v=_VePjjjV9JU) from the Go team). These guidelines serve the same goal for new code: agents write modern Go from the start, so there's less to fix later.

Requirements

The marketplace integrations run a small CLI that is installed on first use with `go install`. Because of th