Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Go development patterns: testing, concurrency, errors, review, and conventions.
.claude/skills/notque-go-patterns/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 162% | 0% |
| case-02 | ✓→✗ | ▼ Worse | -19% | 0% |
| case-10 | ✓→✗ | ▼ Worse | 23% | 0% |
| case-11 | ✓→✗ | ▼ Worse | -18% | 0% |
Umbrella skill for Go development: Google style, testing, concurrency, error handling, failure modes, code review, SAP CC conventions, and quality gates. Every Go task starts with the complete Google Go style baseline, then loads task-specific references.
Before reading, writing, changing, generating, debugging, or reviewing Go code:
${CLAUDE_SKILL_DIR}/references/google-style-guide/LOAD_ORDER.md.Do not skip this baseline for small changes, tight context budgets, reviews, tests, or generated code. The ordered files reconstruct all four complete pinned upstream documents—overview, guide, decisions, and best practices—without excerpts. Apply their guidance to all Go code produced by the agent.
Use this precedence when guidance differs:
Prefer local consistency only where the Google guide allows judgment. Do not create unrelated churn merely to restyle existing code. For new and nearby changed code, follow the current pinned guidance. Record a conscious exception when repository rules, generated-code constraints, or compatibility requirements require one.
| Signal | Load These Files | Why | |---|---|---| | Every Go task | google-style-guide/LOAD_ORDER.md, then every file it lists | Complete Google style baseline; always load every part of all four upstream documents | | Testing | testing.md | Writing, fixing, or reviewing Go tests | | Concurrency | concurrency.md | Goroutines, channels, sync primitives, race conditions | | Error handling | error-handling.md | Error wrapping, sentinels, custom types, errors.Is/As | | Review patterns | preferred-patterns.md | Detecting code smells, over-engineering, bad Go patterns | | Code review | code-review.md | Reviewing Go code or PRs for quality | | SAP CC conventions | sapcc-conventions.md | Working in sapcc/ repos with go-bits | | Quality gate | quality-gate.md | Running make check, linting, pre-commit validation |
Read the load-order manifest and every file it names. This gate is complete only after every part of all four upstream documents has been read in the current task.
Classify the task into one or more domains, then load the corresponding reference files. Only load what is needed -- do not load all references for every task.
| Domain | Load Reference | When | |--------|---------------|------| | Testing | references/testing.md | Writing, fixing, or reviewing Go tests | | Concurrency | references/concurrency.md | Goroutines, channels, sync primitives, race conditions | | Error handling | references/error-handling.md | Error wrapping, sentinels, custom types, errors.Is/As | | Review patterns | references/preferred-patterns.md | Detecting code smells, over-engineering, bad Go patterns | | Code review | references/code-review.md | Reviewing Go code or PRs for quality | | SAP CC conventions | references/sapcc-conventions.md | Working in sapcc/ repos with go-bits | | Quality gate | references/quality-gate.md | Running make check, linting, pre-commit validation |
Multiple domains may apply. For example, reviewing a PR that includes concurrency code should load both code-review.md and concurrency.md.
Read the selected reference file(s) using ${CLAUDE_SKILL_DIR}/references/<name>.md. Each reference contains the full methodology, phases, code examples, and error handling for that domain. Follow the instructions in the reference as if they were this skill's instructions.
Some references point to their own sub-reference files for extended patterns:
Testing sub-references:
${CLAUDE_SKILL_DIR}/references/testing/go-test-patterns.md -- Full table-driven test, helper, mock examples${CLAUDE_SKILL_DIR}/references/testing/go-benchmark-and-concurrency.md -- b.Loop() benchmarks, synctestConcurrency sub-references:
${CLAUDE_SKILL_DIR}/references/concurrency/concurrency-patterns.md -- Worker pool, fan-out/fan-in, pipeline, rate limiter, graceful shutdownError handling sub-references:
${CLAUDE_SKILL_DIR}/references/error-handling/patterns.md -- gopls tracing, HTTP handler patterns, error wrapping in middlewareReview-pattern sub-references:
${CLAUDE_SKILL_DIR}/references/preferred-patterns/code-examples.md -- Extended before/after for all 7 failure modesCode review sub-references:
${CLAUDE_SKILL_DIR}/references/code-review/common-review-comments.md -- Go code patterns with good/bad examplesSAP CC conventions sub-references:
${CLAUDE_SKILL_DIR}/references/sapcc-conventions/sapcc-code-patterns.md -- Primary reference: code patterns, testing patterns, failure modes (merged from testing-patterns-detailed.md and preferred-patterns.md)${CLAUDE_SKILL_DIR}/references/sapcc-conventions/library-reference.md -- Complete approved/restricted library table${CLAUDE_SKILL_DIR}/references/sapcc-conventions/architecture-patterns.md -- Full 102-rule architecture spec${CLAUDE_SKILL_DIR}/references/sapcc-conventions/review-standards.md -- Lead + secondary review standards (merged)${CLAUDE_SKILL_DIR}/references/sapcc-conventions/extended-patterns.md -- Security, K8s, PR hygiene patternsapi-design-detailed.md, build-ci-detailed.md, error-handling-detailed.md,go-bits-philosophy-detailed.md, pr-mining-insights.md
Quality gate sub-references:
${CLAUDE_SKILL_DIR}/references/quality-gate/common-lint-errors.json -- Linter descriptions and fix suggestions${CLAUDE_SKILL_DIR}/references/quality-gate/makefile-targets.json -- Available make targets${CLAUDE_SKILL_DIR}/references/quality-gate/expert-review-patterns.md -- Manual review patterns${CLAUDE_SKILL_DIR}/references/quality-gate/examples.md -- Detailed usage examplesFollow the loaded reference methodology. Each reference has its own phases, gates, and completion criteria. Apply them as written.
Scripts are organized by domain in sub-directories:
scripts/gen-table-test.sh, scripts/bench-compare.shscripts/check-errors.shscripts/check-interface-compliance.shscripts/check-sapcc-identify-endpoint.sh, scripts/check-sapcc-auth-ordering.sh,scripts/check-sapcc-json-strict.sh, scripts/check-sapcc-time-now.sh, scripts/check-sapcc-httptest.sh, scripts/check-sapcc-todo-format.sh
scripts/quality_checker.py, scripts/validate.pyscripts/sync-google-style-guide.py (pinned upstream refresh; requires review before revision changes)Errors are domain-specific. Load the relevant reference file and check its Error Handling section for troubleshooting guidance.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-08 | fail→fail | 12,899 | 15,460 | +20% | 1 | 1 | 0% | 2,433 | 4,810 | +98% | 0 | 0 | — |
case-09 | pass→pass | 7,156 | 15,402 | +115% | 1 | 1 | 0% | 1,381 | 4,773 | +246% | 0 | 0 | — |
case-01 | fail→fail | 29,746 | 46,271 | +56% | 1 | 1 | 0% | 5,422 | 7,341 | +35% | 0 | 0 | — |
case-02 | pass→fail | 17,758 | 7,653 | -57% | 1 | 1 | 0% | 3,010 | 2,438 | -19% | 0 | 0 | — |
case-03 | fail→fail | 28,344 | 27,031 | -5% | 1 | 1 | 0% | 6,206 | 7,100 | +14% | 0 | 0 | — |
case-04 | fail→pass | 15,294 | 16,952 | +11% | 1 | 1 | 0% | 2,968 | 5,030 | +69% | 0 | 0 | — |
case-05 | fail→pass | 11,119 | 17,811 | +60% | 1 | 1 | 0% | 2,000 | 5,249 | +162% | 0 | 0 | — |
case-06 | pass→pass | 11,139 | 15,731 | +41% | 1 | 1 | 0% | 2,009 | 4,165 | +107% | 0 | 0 | — |
case-07 | fail→fail | 12,748 | 24,552 | +93% | 1 | 1 | 0% | 2,494 | 6,197 | +148% | 0 | 0 | — |
case-10 | pass→fail | 11,571 | 5,413 | -53% | 1 | 1 | 0% | 1,864 | 2,297 | +23% | 0 | 0 | — |
case-11 | pass→fail | 16,767 | 4,279 | -74% | 1 | 1 | 0% | 2,985 | 2,444 | -18% | 0 | 0 | — |
case-12 | pass→pass | 13,941 | 12,545 | -10% | 1 | 1 | 0% | 2,439 | 3,729 | +53% | 0 | 0 | — |
case-13 | pass→fail | 8,917 | 4,742 | -47% | 1 | 1 | 0% | 1,599 | 2,139 | +34% | 0 | 0 | — |
case-14 | pass→pass | 13,799 | 14,923 | +8% | 1 | 1 | 0% | 2,649 | 4,522 | +71% | 0 | 0 | — |
case-15 | pass→fail | 6,699 | 6,912 | +3% | 1 | 1 | 0% | 1,276 | 2,213 | +73% | 0 | 0 | — |
case-16 | pass→pass | 12,160 | 12,885 | +6% | 1 | 1 | 0% | 2,264 | 4,066 | +80% | 0 | 0 | — |
case-17 | pass→pass | 10,417 | 17,564 | +69% | 1 | 1 | 0% | 1,910 | 4,251 | +123% | 0 | 0 | — |
case-18 | pass→pass | 8,173 | 14,501 | +77% | 1 | 1 | 0% | 1,384 | 3,741 | +170% | 0 | 0 | — |
case-19 | pass→fail | 15,253 | 6,055 | -60% | 1 | 1 | 0% | 2,355 | 2,283 | -3% | 0 | 0 | — |
case-20 | pass→pass | 12,624 | 11,207 | -11% | 1 | 1 | 0% | 2,327 | 3,853 | +66% | 0 | 0 | — |
case-21 | pass→pass | 13,835 | 14,898 | +8% | 1 | 1 | 0% | 2,456 | 4,620 | +88% | 0 | 0 | — |
case-22 | pass→pass | 6,036 | 7,948 | +32% | 1 | 1 | 0% | 1,132 | 3,345 | +195% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 17 counted toward the lift figure. The other 5 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -18 percentage points is the difference between those two pass rates over the 17 comparable cases. 6 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.