agentsclimarketplace

Go 1 23

Skill cedws/skills/go/skills/go-1-23

Apply Go 1.23 language features, tooling, standard-library APIs, migrations, and behaviour changes. Load for Go work targeting 1.23 or later when the model's knowledge may predate the 2024-08-13 release.From its SKILL.md

Install
npx -y skills add cedws/skills --skill go-1-23

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.5 KB, 952 tokens by cl100k_base, as published. Nobody here has run it

Go 1.23

This overview applies when the project's target Go version is at least 1.23.

Language

  • Available capability: range-over-function iterators for pull-free sequence APIs whose shape is func(func() bool), func(func(K) bool), or func(func(K, V) bool). Stop producing values when the yield function returns false.
  • GOEXPERIMENT=aliastypeparams is an experimental opt-in for evaluate generic type aliases within one package. Do not design cross-package APIs around them in Go 1.23.

Tools

  • Available capability: go mod tidy -diff in checks that must report required module-file changes without modifying files.
  • go env -changed can inspect only environment settings that differ from Go's defaults.
  • go vet can detect standard-library symbols newer than the effective Go version declared by go.mod or file build constraints.
  • uploaded toolchain telemetry is opt-in. Use go telemetry local to retain counters locally or go telemetry on only with an explicit project or user decision.
  • Unsupported or discouraged: add new //go:linkname references to unmarked standard-library internals. Use -checklinkname=0 only for debugging or experiments.

Iterators and canonical values

  • Define iterator APIs with iter.Seq or iter.Seq2, and consume them directly with range.
  • Modern alternative: the iterator operations in slices and maps when they avoid intermediate collections. Use Collect, Sorted, or maps.Collect when a materialised result is actually needed.
  • unique.Make is available when many equal comparable values should share canonical storage and fast handle equality is useful.
  • Embed structs.HostLayout in structures passed to or accessed by pointer from host APIs when host-compatible field layout is required.

Timers and runtime diagnostics

  • Rely on unreachable timers and tickers being garbage-collected without calling Stop solely for reclamation.
  • timer channels is unbuffered. After Timer.Stop or Timer.Reset, rely on the guarantee that stale values prepared earlier will not be delivered. Replace len(t.C) polling with a non-blocking receive.
  • Available capability: GODEBUG=asynctimerchan=1 only as temporary migration support for code requiring the older buffered timer behaviour.
  • runtime/debug.SetCrashOutput can direct fatal runtime reports to an automated crash collector.
  • Available capability: runtime traces during crash investigation; Go 1.23 flushes trace data on uncaught panic and the trace tool recovers useful data from partially broken traces.

Standard library

  • path/filepath.Localize can convert a valid slash-separated path safely to the operating system's path form.
  • net.KeepAliveConfig is available when TCP keep-alive timing needs explicit control on dialled or accepted connections.
  • Inspect cancellation and deadline causes from net.DNSError with errors.Is.
  • Available capability: http.Request.CookiesNamed, http.ParseCookie, and http.ParseSetCookie when duplicate cookie names or strict parsing matter.
  • Account for ServeContent, ServeFile, and ServeFileFS removing representation headers from error responses. Use GODEBUG=httpservecontentkeepheaders=1 only while migrating middleware that depended on the old behaviour.
  • Available capability: reflect.Value.Seq or Seq2 only after Type.CanSeq or CanSeq2 when the dynamic type is not already known.
  • sync.Map.Clear can empty a concurrent map rather than ranging and deleting entries individually.

TLS compatibility

  • 3DES is absent from default cipher suites, while the experimental post-quantum X25519Kyber768Draft00 exchange is enabled by default. Config.CipherSuites and Config.CurvePreferences can express different interoperability requirements.
  • tls.X509KeyPair and tls.LoadX509KeyPair populate Certificate.Leaf.
  • Migration note: certificates using SHA-1 signatures; Go 1.24 removes the temporary verification escape hatch announced in this release.

Platform compatibility

  • Platform requirement: macOS 11 or later.
  • Compatibility outlook: Linux deployments for a minimum kernel of 3.2 before moving to Go 1.24.
  • Configuration: GOARM64 when binaries require a specific minimum ARM64 architecture or the LSE or cryptographic extensions; otherwise retain the portable v8.0 default.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,782. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.