Skip to content

Improved and evaluated Go skills#9

Open
spoenemann wants to merge 1 commit into
mainfrom
go-skill-improve
Open

Improved and evaluated Go skills#9
spoenemann wants to merge 1 commit into
mainfrom
go-skill-improve

Conversation

@spoenemann

Copy link
Copy Markdown
Member
  • Applied improvements to idiomatic-go and go-documentation in several iterations
  • Evaluated their usefulness using skill-evals
  • Also added a reference document about language engineering in Go to idiomatic-go

Skill eval results

idiomatic-go

With skill Baseline Delta
Pass rate 97.4% (37/38) 73.7% (28/38) +23.7 pp

Model: composer-2.5-fast

Usefulness: Post–iteration-4 edits clearly pay off. The skill steers agents toward production-ready concurrency, language-engineering, and TypeScript-to-Go port patterns that baselines miss.


go-documentation

With skill Baseline Delta
Pass rate 95.8% (23/24) 79.2% (19/24) +16.7 pp

Model: claude-haiku-4-5

Usefulness: Reliable wins on first-sentence naming, [Name] doc links in package overviews, and testable Example conventions. Attachment/JSDoc-stripping guidance holds as regression guards. Materially improves pkg.go.dev–ready documentation over baseline.

@spoenemann
spoenemann requested a review from montymxb July 3, 2026 16:03

@montymxb montymxb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some small suggestions, rest looks good!

---
name: go-documentation
description: Write idiomatic Go doc comments that render correctly on pkg.go.dev. Use whenever the user is writing or reviewing Go documentation — package comments, `doc.go` files, exported symbol comments, testable `Example` functions, deprecation notices — or wants to publish a module to pkg.go.dev, preview docs locally with `pkgsite`, or debug a broken pkg.go.dev page. Do not use for general Go programming questions or non-Go languages.
description: Write idiomatic Go doc comments that render correctly on pkg.go.dev — package comments, `doc.go`, exported-symbol comments, testable `Example` functions, deprecation notices — and publish or debug modules on pkg.go.dev (`pkgsite`, the module proxy). Use when writing or reviewing Go documentation, or when a developer used to JSDoc/TSDoc/Markdown is unsure how Go doc comments differ. Not for general Go programming or non-Go languages.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small rewording suggestion

Suggested change
description: Write idiomatic Go doc comments that render correctly on pkg.go.dev — package comments, `doc.go`, exported-symbol comments, testable `Example` functions, deprecation notices — and publish or debug modules on pkg.go.dev (`pkgsite`, the module proxy). Use when writing or reviewing Go documentation, or when a developer used to JSDoc/TSDoc/Markdown is unsure how Go doc comments differ. Not for general Go programming or non-Go languages.
description: Write idiomatic Go doc comments that render correctly on pkg.go.dev — package comments, `doc.go`, exported-symbol comments, testable `Example` functions, deprecation notices — and publish or debug modules on pkg.go.dev (`pkgsite`, the module proxy). Use when writing or reviewing Go documentation, or when a developer used to writing JSDoc/TSDoc/Markdown is unsure how Go doc comments differ. Not for general Go programming or non-Go languages.

## Coming from TypeScript

Load these as needed — don't read them upfront. The main SKILL.md has the conventions and decision points; the references hold operational detail.
A Go doc comment is a plain `//` comment above a declaration — there are no tags, and almost none of the Markdown that JSDoc/TSDoc allow. These are the habits that silently produce wrong or unrendered docs; reach for the Go column instead.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to break this into a separate reference so it can be loaded when specifically needed? I can see the skill description notes this capability specifically, but I'm wondering if it would make sense to separate that a bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants