@zzci/pma-go
Project development lifecycle management with a strict three-phase workflow (investigate, proposal, implement), file-based plan tracking in docs/plan/, task tracking in docs/task/, and claim-before-work multi-agent coordination. Use when handling feature development, bug fixes, refactors, planning, progress tracking, or multi-agent execution in an existing codebase. English-first for repository docs and remote-visible metadata; use Chinese docs only when the user explicitly requests a specific document in Chinese.
| name | pma-go |
| description | Go implementation and acceptance baseline for PMA-managed service and CLI projects. Covers project layout (cmd/internal), strict linting with golangci-lint v2, database access, HTTP patterns, layered config, structured logging, observability, and CI quality gates. Use when implementing, scaffolding, upgrading, or validating acceptance of a Go service or CLI; use pma-cr for code-review workflow. |
Go 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.
Loading...
Select a file to preview
Analyzing security...
Checking scan reports and verification data.
Bill of Materials
Everything this skill can do — files, network, commands, and more.