golang-api-server
Standards for building HTTP services, REST APIs, and middleware in Golang. Use when building Go HTTP servers, REST APIs, or custom middleware. (triggers: cmd/server/*.go, internal/adapter/handler/**, http server, rest api, gin, echo, middleware)
Best use case
golang-api-server is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Standards for building HTTP services, REST APIs, and middleware in Golang. Use when building Go HTTP servers, REST APIs, or custom middleware. (triggers: cmd/server/*.go, internal/adapter/handler/**, http server, rest api, gin, echo, middleware)
Teams using golang-api-server should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/golang-api-server/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How golang-api-server Compares
| Feature / Agent | golang-api-server | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Standards for building HTTP services, REST APIs, and middleware in Golang. Use when building Go HTTP servers, REST APIs, or custom middleware. (triggers: cmd/server/*.go, internal/adapter/handler/**, http server, rest api, gin, echo, middleware)
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Golang API Server Standards ## **Priority: P0 (CRITICAL)** ## Router Selection - **Standard Lib (`net/http`)**: Use for simple services or when zero deps is required. Use `http.ServeMux` (Go 1.22+ has decent routing). - **Echo (`labstack/echo`)**: Recommended for production REST APIs. Excellent middleware support, binding, and error handling. - **Gin (`gin-gonic/gin`)**: High performance alternative. ## Guidelines - **Graceful Shutdown**: MUST implement graceful shutdown to handle in-flight requests on termination (SIGINT/SIGTERM). - **DTOs**: Separate Domain structs from API Request/Response structs. Map between them. - **Middleware**: Use middleware for cross-cutting concerns (Logging, Recovery, CORS, Auth, Tracing). - **Health Checks**: Always include `/health` and `/ready` endpoints. - **Content-Type**: Enforce `application/json` for REST APIs. ## Middleware Pattern - Standard: `func(next http.Handler) http.Handler` - Echo implementation: `func(next echo.HandlerFunc) echo.HandlerFunc` ## Anti-Patterns - **No business logic in handlers**: Parse request → call service → format response only. - **No global router vars**: Pass router instance via constructor or DI. - **No missing graceful shutdown**: Always handle SIGTERM to drain in-flight requests. ## References - [Middleware Patterns](references/middleware-patterns.md) - [Graceful Shutdown](references/graceful-shutdown.md)
Related Skills
server-sent-events-setup
Server Sent Events Setup - Auto-activating skill for API Integration. Triggers on: server sent events setup, server sent events setup Part of the API Integration skill category.
building-websocket-server
Build scalable WebSocket servers for real-time bidirectional communication. Use when enabling real-time bidirectional communication. Trigger with phrases like "build WebSocket server", "add real-time API", or "implement WebSocket".
building-graphql-server
Build production-ready GraphQL servers with schema design, resolvers, and subscriptions. Use when building GraphQL APIs with schemas and resolvers. Trigger with phrases like "build GraphQL API", "create GraphQL server", or "setup GraphQL".
typescript-mcp-server-generator
Generate a complete MCP server project in TypeScript with tools, resources, and proper configuration
swift-mcp-server-generator
Generate a complete Model Context Protocol server project in Swift using the official MCP Swift SDK package.
rust-mcp-server-generator
Generate a complete Rust Model Context Protocol server project with tools, prompts, resources, and tests using the official rmcp SDK
ruby-mcp-server-generator
Generate a complete Model Context Protocol server project in Ruby using the official MCP Ruby SDK gem.
python-mcp-server-generator
Generate a complete MCP server project in Python with tools, resources, and proper configuration
php-mcp-server-generator
Generate a complete PHP Model Context Protocol server project with tools, resources, prompts, and tests using the official PHP SDK
pdftk-server
Skill for using the command-line tool pdftk (PDFtk Server) for working with PDF files. Use when asked to merge PDFs, split PDFs, rotate pages, encrypt or decrypt PDFs, fill PDF forms, apply watermarks, stamp overlays, extract metadata, burst documents into pages, repair corrupted PDFs, attach or extract files, or perform any PDF manipulation from the command line.
mcp-copilot-studio-server-generator
Generate a complete MCP server implementation optimized for Copilot Studio integration with proper schema constraints and streamable HTTP support
kotlin-mcp-server-generator
Generate a complete Kotlin MCP server project with proper structure, dependencies, and implementation using the official io.modelcontextprotocol:kotlin-sdk library.