跳到主要内容
知仓学习社ZHICANG

go-patterns

Go development patterns: testing, concurrency, errors, review, and conventions.

写文件执行命令读文件联网严重 0 · 高危 2notque/vexjoy-agent

它会碰到什么

扫了多少66 个文本文件,743 KB
它会碰到什么写文件执行命令读文件联网
命中总数16 处
命中统计严重 0 · 高 2 · 中 6 · 低 5
逐条看命中(2 条严重或高危)
  • references/code-review.md:86identity-config-write
    Prefer gopls MCP tools (available when `.mcp.json` configures gopls) because they provide semantic analysis that grep-based searches cannot:
  • scripts/quality_checker.py:107exec-spawn
    result = subprocess.run(

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Go Patterns Skill

Umbrella skill for Go development: Google style, testing, concurrency, error handling,

failure modes, code review, SAP CC conventions, and quality gates. Load the references

relevant to the task.

Google Style Precedence

Use this precedence when guidance differs:

  1. The target repository's explicit rules and required compatibility constraints.
  2. The Google Go Style Guide's canonical rules.
  3. Google Go Style Decisions' normative guidance.
  4. Google Go Style Best Practices' non-canonical recommendations.
  5. Task-specific references below.

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.

Reference Loading Table

| Signal | Load These Files | Why |

|---|---|---|

| Google-specific style decisions | Relevant sections under google-style-guide/ | Check the pinned conventions needed for the task |

| 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 |

Instructions

Step 1: Identify the Go Domain

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.

Step 2: Load and Follow the Reference

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.

Step 3: Use Domain-Specific Sub-References

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, synctest

Concurrency sub-references:

  • ${CLAUDE_SKILL_DIR}/references/concurrency/concurrency-patterns.md -- Worker pool, fan-out/fan-in, pipeline, rate limiter, graceful shutdown

Error handling sub-references:

  • ${CLAUDE_SKILL_DIR}/references/error-handling/patterns.md -- gopls tracing, HTTP handler patterns, error wrapping in middleware

Review-pattern sub-references:

  • ${CLAUDE_SKILL_DIR}/references/preferred-patterns/code-examples.md -- Extended before/after for all 7 failure modes

Code review sub-references:

  • ${CLAUDE_SKILL_DIR}/references/code-review/common-review-comments.md -- Go code patterns with good/bad examples

SAP 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 patterns
  • Plus: api-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 examples

Step 4: Execute

Follow the loaded reference methodology. Each reference has its own phases, gates,

and completion criteria. Apply them as written.

Available Scripts

Scripts are organized by domain in sub-directories:

  • Testing: scripts/gen-table-test.sh, scripts/bench-compare.sh
  • Error handling: scripts/check-errors.sh
  • Code review: scripts/check-interface-compliance.sh
  • SAP CC conventions: scripts/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

  • Quality gate: scripts/quality_checker.py, scripts/validate.py
  • Google style snapshot: scripts/sync-google-style-guide.py (pinned upstream refresh; requires review before revision changes)

Error Handling

Errors are domain-specific. Load the relevant reference file and check its Error Handling

section for troubleshooting guidance.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 419
本站分层T2
该仓技能数122
原文件路径skills/engineering/go-patterns/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 122 个技能