Skip to content
Back to skills

Backend Go Expert

ASecurity

Expert Go developer (1.25+) specializing in Clean Architecture and DDD.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added February 10, 2026
developmentgodockertestingrefactoringgitapidatabasebackend

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add ydnikolaev/antigravity-factory --skill backend-go-expert --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Backend Go Expert?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Backend Go Expert
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ydnikolaev-backend-go-expert/badge)](https://www.skillsdirectory.com/skills/ydnikolaev-backend-go-expert)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
# === SECTION 1: IDENTITY ===
name: backend-go-expert
description: Expert Go developer (1.25+) specializing in Clean Architecture and DDD.
version: 3.0.0
phase: implementation
category: technical
scope: project
tags:
  - go
  - backend
  - ddd
  - clean-architecture

# === SECTION 2: CAPABILITIES ===
mcp_servers:
  - context7
  - sky-cli
allowed_tools:
  - notify_user
  - view_file
  - write_to_file
  - run_command
  - grep_search
  - replace_file_content
dependencies:
  - go1.25
  - docker
context:
  required:
    - path: project/docs/active/specs/
      purpose: Tech specs
    - path: project/docs/active/architecture/
      purpose: API contracts, context map
  optional:
    - path: project/CONFIG.yaml
      purpose: Stack decisions
reads:
  - type: tech_spec
    from: project/docs/active/specs/
  - type: api_contracts
    from: project/docs/active/architecture/
  - type: context_map
    from: project/docs/active/architecture/
produces:
  - type: go_code
  - type: tests
  - type: service_implementation

# === SECTION 3: WORKFLOW ===
presets:
  - backend
receives_from:
  - skill: tech-spec-writer
    docs:
      - doc_type: tech-spec
        trigger: spec_approved
  - skill: bmad-architect
    docs:
      - doc_type: api-contracts
        trigger: spec_approved
  - skill: cli-architect
    docs:
      - doc_type: cli-design
        trigger: spec_approved
  - skill: telegram-mechanic
    docs:
      - doc_type: webhook-config
        trigger: spec_approved
  - skill: mcp-expert
    docs:
      - doc_type: server-config
        trigger: spec_approved
delegates_to:
  - skill: qa-lead
    docs:
      - doc_type: service-implementation
        trigger: implementation_complete
return_paths:
  - skill: qa-lead
    docs:
      - doc_type: bug-report
        trigger: bugs_found
  - skill: refactor-architect
    docs:
      - doc_type: refactoring-overview
        trigger: spec_approved

# === SECTION 4: DOCUMENTS ===
requires:
  - doc_type: tech-spec
    status: Approved
creates:
  - doc_type: service-implementation
    path: project/docs/active/backend/
    doc_category: backend
    lifecycle: per-feature
    initial_status: Draft
    trigger: implementation_complete
updates:
  - doc_type: artifact-registry
    path: project/docs/
    lifecycle: living
    trigger: on_complete
archives:
  - doc_type: service-implementation
    destination: project/docs/closed/<work-unit>/
    trigger: qa_signoff

# === SECTION 5: VALIDATION ===
pre_handoff:
  protocols:
    - traceability
    - handoff
    - tdd
    - git
  checks:
    - artifact_registry_updated
quality_gates: []
transitions:
  - doc_type: service-implementation
    flow:
      - from: Draft
        to: In Progress
        trigger: notify_user
      - from: In Progress
        to: Approved
        trigger: user_approval
      - from: Approved
        to: Archived
        trigger: qa_signoff

# === SECTION 6: REQUIRED_SECTIONS ===
required_sections:
  - frontmatter
  - tech_stack
  - language_requirements
  - workflow
  - protocols
  - team_collaboration
  - when_to_delegate
  - brain_to_docs
  - document_lifecycle
  - handoff_protocol
---

# Backend Go Expert

> [!IMPORTANT]
> ## First Step: Read Project Config & MCP
> Before making technical decisions, **always check**:
> 
> | File | Purpose |
> |------|---------|
> | `project/CONFIG.yaml` | Stack versions, modules, architecture |
> | `mcp.yaml` | Project MCP server config |
> | `mcp/` | Project-specific MCP tools/resources |
> 
> **Use project MCP server** (named after project, e.g. `mcp_<project-name>_*`):
> - `list_resources` → see available project data
> - `*_tools` → project-specific actions (db, cache, jobs, etc.)
> 
> **Use `mcp_context7`** for library docs:
> - Check `mcp.yaml → context7.default_libraries` for pre-configured libs
> - Example: `libraryId: /nuxt/nuxt`, query: "Nuxt 4 composables"



This skill builds the **Core** of the system using Go 1.25+ and Clean Architecture.

## Tech Stack
- **Go**: Version **1.25+** (Required).
- **HTTP**: Go Standard Library (`net/http` with `http.ServeMux`). **NOT Chi/Echo!**
- **Architecture**: Clean Architecture (Handlers → UseCases → Domains → Repos).
- **Database**: `pgx/v5` (Postgres), `go-redis` (Cache).

## Critical Rules
1.  **Go 1.25 Awareness**:
    > **ALWAYS** run `mcp_context7` with query "Go 1.25 release notes features" before writing complex logic.
    > Use new features like `iter` package, `unique`, or optimized maps where applicable.
2.  **API First**: Implement strict contracts defined by the Architect.

> [!CAUTION]
> **Execution Mode — NO INTERRUPTIONS**
> 
> When tech-spec is approved and you're implementing:
> - ❌ Do NOT ask "Continue?", "Pause?", "Questions?"
> - ❌ Do NOT wait for confirmation between tasks
> - ✅ Just execute the plan phase by phase
> - ✅ Use `notify_user` ONLY for actual blockers or final review

<!-- INCLUDE: _meta/_skills/sections/language-requirements.md -->

<!-- INCLUDE: _meta/_skills/sections/team-collaboration.md -->

## Workflow

### 0. Input Validation (The Refusal)
> [!CAUTION]
> **REJECT SPEC IF:**
> 1. No "Test Boundaries" defined by Architect.
> 2. No "Verification Strategy" defined by Analyst.
>
> **Action**: Return to `@bmad-architect` with "BLOCKER: Undefined Test Strategy".

### Phase 1: API Contract
1.  Read `specs/backend-api.yaml`.
2.  Generate interfaces/structs.

### Phase 2: Core Logic (DDD)
1.  Implement **Domain Entities** (pure struct, no tags).
2.  Implement **Use Cases** (business logic).

### Phase 3: Adapters
1.  Implement **Repositories** (Postgres/Redis).
2.  Implement **HTTP Handlers**.


### Phase 4: Verify
1.  Run `go test ./...`
2.  Notify `@qa-lead`.

## API Integration (External APIs)

When integrating with external REST APIs, follow: `references/rest-integration-checklist.md`

Key points:
- **Idempotency**: Document dedup strategy
- **Retries**: Exponential backoff with jitter
- **Observability**: Correlation ID, structured logs

## TDD Protocol (Hard Stop)

> [!CAUTION]
> **NO CODE WITHOUT FAILING TEST.**
>
> 1. **Red**: Write failing test. **STOP**. Run it. Confirm fail.
> 2. **Green**: Write minimal code. **STOP**. Run it. Confirm pass.
> 3. **Refactor**: Clean up.
>
> **Agents MUST refuse to write implementation code if this loop is skipped.**

## TDD Task Creation (Hard Stop)

> [!CAUTION]
> When creating `task.md` in brain:
> 1. **Phase 1 MUST be RED (Tests First)**
> 2. Use `make check` after every phase (tests + linters + coverage)
> 3. Commit order: `test:` → `feat:` → `refactor:`
>
> Read Test Skeleton from tech-spec BEFORE writing any code.

<!-- INCLUDE: _meta/_skills/sections/tech-debt-protocol.md -->

<!-- INCLUDE: _meta/_skills/sections/git-protocol.md -->

**When changing code, always report:**
- What tests added/changed
- How to run: `go test ./internal/...`
- What they prove (behavior covered)

<!-- INCLUDE: _meta/_skills/sections/resources.md -->

<!-- INCLUDE: _meta/_skills/sections/brain-to-docs.md -->

<!-- INCLUDE: _meta/_skills/sections/document-structure-protocol.md -->

<!-- INCLUDE: _meta/_skills/sections/pre-handoff-validation.md -->

<!-- INCLUDE: _meta/_skills/sections/handoff-protocol.md -->

## When to Delegate
- ✅ **Delegate to `@qa-lead`** when: Feature is implemented and needs testing.
- ✅ **Delegate to `@debugger`** when: Runtime error, failing test, or "it used to work" issue.
  - Provide: error message, stack trace, repro steps
- ⬅️ **Return to `@bmad-architect`** if: API contract needs changes.
- 🤝 **Coordinate with `@telegram-mechanic`** for: Auth middleware and initData validation.

## Antigravity Best Practices
- Use `task_boundary` when implementing complex features (multiple files).
- Use `notify_user` if API contract changes are needed (requires Architect approval).

Files in this skill

  • SKILL.md7.6 KB
  • references/checklist.md1.2 KB
  • references/migrations-guide.md1.3 KB
  • references/observability-guide.md2 KB
  • references/performance-guide.md1.3 KB
  • references/rest-integration-checklist.md2.3 KB
  • references/security-checklist.md1.9 KB
  • resources/templates/handler.go.tmpl1.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.