About pma-go
pma-go is an implementation guide for Go backends, API services, and CLI applications managed with PMA. It routes tasks to reference packs covering configuration, data access, runtime, and delivery practices.
Key features
- 01Set a Go implementation baseline
- 02Guide configuration and data access
- 03Cover HTTP services and runtime
- 04Define testing, CI, and security checks
Use cases
- 01Set up a Go backend or CLI application
- 02Standardize service configuration and database access
- 03Review testing and delivery readiness for a Go project
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ zzci/ skills --skill pma-goAfter installing, type/pma-goin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/baseline.mdconfig-and-data.mddelivery.mdhttp-and-runtime.mdDetails
From the project READMEGo Project Implementation Guide
Use this skill together with /pma. /pma controls workflow, approval, and task tracking; this guide defines the implementation baseline after approval.
Keep this entry file lean. Load only the reference packs needed for the task.
Scope
For PMA-managed Go backends, API services, and CLI applications.
Not for embedded targets, library-only modules without binaries, or non-PMA projects.
Loading Order
- Always load
references/baseline.mdfirst. - Load
references/config-and-data.mdfor config layering, validation, sqlc, pgx, GORM, and migrations. - Load
references/http-and-runtime.mdfor handlers, middleware, logging, observability, and shutdown. - Load
references/delivery.mdfor lint, tests, task runners, security review, CI, and Git workflow.
Quick Routing
- New service or CLI setup →
references/baseline.md - config (koanf layering, env mapping, validation) →
references/config-and-data.md - data access (sqlc + pgx, GORM, migrations, repository boundaries) →
references/config-and-data.md - runtime (HTTP server, middleware, slog, tracing, shutdown) →
references/http-and-runtime.md - dev URL routing (nsl) →
references/http-and-runtime.md(full protocol →/pma references/dev-environment.md) - testing →
references/delivery.md - CI and delivery (quality gates, lint, Taskfile, security checklist, PR readiness) →
references/delivery.md
Reference Packs
references/baseline.mdStack defaults, quality gates, layout, conventions, error model, and code quality standards.references/config-and-data.mdConfig layering with koanf, validation, sqlc plus pgx, GORM alternative, and migration rules.references/http-and-runtime.mdRouter structure, handler patterns, middleware, logging, observability, and graceful shutdown.references/delivery.mdLint config, testing, task runner expectations, security checks, CI, and Git conventions.
Acceptance Checklist
Before merge:
-
goimports -l .reports nothing;golangci-lint runandgo vet ./...pass -
go test -cover ./...passes; coverage target 80% or higher -
go build ./...succeeds;go mod tidyleaves no diff -
gosec ./...passes for changed code - config layered via koanf (defaults -> file -> env -> flags) and validated after load
- graceful shutdown wired (
signal.NotifyContext+http.Server.Shutdownwith timeout) - nsl dev routing works when the service ships a UI (see
references/http-and-runtime.md)
If the repo already diverges from these defaults, make the divergence explicit and apply it consistently across code, docs, and CI.