Skip to content
Agentmart
Submit a tool

100-go-rules

Apply a compact, Go-version-aware rulebook derived from the 100 numbered mistakes cataloged by 100go.co when writing, reviewing, debugging, refactoring…

Skill by cristiano-pacheco

IndexedMIT★ 1
Write a review

Chalk Labs

Need help deploying 100-go-rules?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/cristiano-pacheco-100-go-rules

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Apply a compact, Go-version-aware rulebook derived from the 100 numbered mistakes cataloged by 100go.co when writing, reviewing, debugging, refactoring, testing, benchmarking, or optimizing Go code. Includes compact bad/better code examples colocated with each of the 100 rules. Use for Go code reviews, API/package design, slices/maps/strings, errors, concurrency, standard-library usage, tests/benchmarks, memory/performance, Docker/Kubernetes runtime behavior, or explicit 100 Go Mistakes rule numbers. Baseline is Go 1.26; adapt to the module's declared Go language version when known.

Use cases: design, backend, testing, devops

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/100-go-rules

What's inside

Skill name
100-go-rules
Description
Apply a compact, Go-version-aware rulebook derived from the 100 numbered mistakes cataloged by 100go.co when writing, reviewing, debugging, refactoring, testing, benchmarking, or optimizing Go code. Includes compact bad/better code examples colocated with each of the 100 rules. Use for Go code reviews, API/package design, slices/maps/strings, errors, concurrency, standard-library usage, tests/benchmarks, memory/performance, Docker/Kubernetes runtime behavior, or explicit 100 Go Mistakes rule numbers. Baseline is Go 1.26; adapt to the module's declared Go language version when known.
License
MIT
Instructions
89 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (14)

  • SKILL.md
  • 01-code-project.md · references/
  • 02-data-types.md · references/
  • 03-control-structures.md · references/
  • 04-strings.md · references/
  • 05-functions-methods.md · references/
  • 06-errors.md · references/
  • 07-concurrency-foundations.md · references/
  • 08-concurrency-practice.md · references/
  • 09-standard-library.md · references/
  • 10-testing.md · references/
  • 11-optimization-runtime.md · references/
  • version-notes-go1.26.md · references/
  • validate_rules.py · scripts/

SKILL.md (first lines)

# 100 Go Rules

Use this skill as a compact rule engine, not as a book to read end-to-end.

## Selection and operating baseline

- Select this global reference for material Go-language or quality decisions.
  It complements a specialist skill when needed; specialists do not invoke it
  mechanically.
- Locate the target module's `go.mod` before applying version-dependent
  guidance. Use its `go` directive for language semantics when present.
- When no target module or `go` directive is available, use Go 1.26 as the
  fallback baseline. Do not describe that fallback as a discovered project
  version.
- Treat user-specified version constraints as authoritative.
- Read `references/version-notes-go1.26.md` when a finding touches version-sensitive behavior or the project targets a version other than 1.26.
- Prefer current Go semantics, compiler/runtime evidence, and standard-library behavior over historical advice.

## Progressive disclosure

Load the smallest domain file that covers the task. Each numbered rule is self-contained and keeps its explanation and `Bad`/`Better` examples together, so never search for a second examples file.

| Rules | Domain | Reference |
|---|---|---|
| 1-16 | Code/project | `references/01-code-project.md` |
| 17-29 | Data types | `references/02-data-types.md` |
| 30-35 | Control structures | `references/03-control-structures.md` |
| 36-41 | Strings | `references/04-strings.md` |
| 42-47 | Functions/methods | `references/05-functions-methods.md` |
| 48-54 | Errors | `references/06-errors.md` |
| 55-60 | Concurrency foundations | `references/07-concurrency-foundations.md` |
| 61-74 | Concurrency practice | `references/08-concurrency-practice.md` |
| 75-81 | Standard library | `references/09-standard-library.md` |
| 82-90 | Testing | `references/10-testing.md` |
| 91-100 | Optimization/runtime | `references/11-optimization-runtime.md` |

Follow these loading rules:

1. For a normal task, load one domain file; load at most three when the code genuinely spans domains.
2. For a specific rule number, load only its domain file and focus on that rule's section.
3. For a code review, use the colocated examples only as diagnostic/remediation aids; do not mechanically copy them into the response.
4. For a full audit against all 100 rules, evaluate domain files sequentially rather than preloading all eleven.
5. Read `references/version-notes-go1.26.md` only for version-sensitive findings or compatibility analysis.

## Execution and completion

1. Determine the effective Go version and select only the applicable domain
   reference(s).
2. Apply the relevant rules to the concrete code or design decision; validate
   claims against local code and use focused tests, benchmarks, compiler, or
   runtime evidence when available.
3. Report the effective version (and whether it was discovered or a fallback),
   loaded domain(s), material guidance, and validation evidence. State when no
   validation command was available.

## Applying rules

- Treat each rule as a diagnostic heuristic, not an unconditional law.
- Prioritize correctness and resource safety, then API clarity/maintainability, then performance.
- Validate a suspected issue against actual code context before reporting it.
- Do not report a rule merely because its keyword appears.
- Do not recommend speculative abstractions or micro-optimizations without evidence.
- For performance findings, use or request benchmarks/profiles when the claim depends on workload behavior.
- When rules conflict, preserve correctness and choose the simplest API for demonstrated requirements.
- Treat each **Bad**/**Better** pair as an illustration, not a mechanical rewrite template. Adapt names, ownership, errors, concurrency, and lifecycle to the actual code.

## Code review output

For each material finding, provide:

- severity: `bug`, `risk`, `maintainability`, or `performance`
- location or code fragment
- rule number and short title
- concise explanation tied to the concrete code
- smallest practical fix
- a compact before/after snippet when it materially clarifies the fix
- version note only when behavior differs across Go versions

Avoid dumping unrelated rules. If no relevant violation is found, say so.

## Code generation and refactoring

Apply relevant rules silently while producing code. Mention rule numbers only when they explain a non-obvious design choice, tradeoff, or compatibility constraint.

## Source and adaptation policy

The numbered taxonomy and titles originate from Teiva Harsanyi's **100 Go Mistakes and How to Avoid Them** / 100go.co. Rule explanations and code snippets in this skill are compact adaptations written for this skill, updated for Go 1.26, and are not intended as verbatim copies of the site's prose or examples. Preserve this attribution if redistributing or substantially extending the corpus.

From cristiano-pacheco/ai-tools, MIT.

More from cristiano-pacheco/ai-tools

Signals

Stars
1
Forks
1
Open issues
0
Last commit (this folder)
Aug 22, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from cristiano-pacheco

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get 100-go-rules running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying 100-go-rules?

CallGet help
Cite this page

100-go-rules skill. Agent Mart. https://agentmart.dev/skills/cristiano-pacheco-100-go-rules (last updated 2026-10-24)