# Go Patterns

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

- **Type:** Skill
- **Install:** `agentstack add skill-notque-vexjoy-agent-go-patterns`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [notque](https://agentstack.voostack.com/s/notque)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [notque](https://github.com/notque)
- **Source:** https://github.com/notque/vexjoy-agent/tree/main/skills/engineering/go-patterns
- **Website:** https://vexjoy.com

## Install

```sh
agentstack add skill-notque-vexjoy-agent-go-patterns
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Go Patterns Skill

Umbrella skill for Go development: testing, concurrency, error handling, failure modes,
code review, SAP CC conventions, and quality gates. Routes to the correct reference
based on the Go task at hand.

## Reference Loading Table

| Signal | Load These Files | Why |
|---|---|---|
| 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/.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`

## Error Handling

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

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [notque](https://github.com/notque)
- **Source:** [notque/vexjoy-agent](https://github.com/notque/vexjoy-agent)
- **License:** MIT
- **Homepage:** https://vexjoy.com

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-notque-vexjoy-agent-go-patterns
- Seller: https://agentstack.voostack.com/s/notque
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
