Back to the catalog

golang-ddd-skills

AI agent skills for Go service architecture, domain refactoring, pragmatic CQRS, and delivery

Open source Open in the app JSON README (API)

About

AI agent skills for Go service architecture, domain refactoring, pragmatic CQRS, and delivery

Details

Kind
Plugins
Topic
No topic detected
Publisher
joeyave
Origin
gemini
Category
ferramentas
Version
0.3.0
Stars
4
Forks
1
Last push
2026-04-11T20:19:07Z
Repository state
ativo
Language
Shell
License
MIT
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
joeyave/golang-ddd-skills

README

# Golang DDD Skills

These are AI coding agent skills for Go services.

They are mainly about:

- service architecture,
- domain-oriented refactoring,
- pragmatic CQRS,
- testing and delivery setup.

> [!IMPORTANT]
> This is an unofficial skill pack inspired by public material from Three Dots Labs, especially [Go With The Domain](https://threedots.tech/go-with-the-domain/).
> It is not affiliated with or endorsed by Three Dots Labs.
>
> The goal here is not to reproduce the book. The goal is to turn similar ideas into reusable prompts and decision rules for coding agents.

## What these skills do

| Skill | Role | Use when |
| --- | --- | --- |
| `golang-ddd` | Router skill | You want one entry point that chooses the right DDD-oriented workflow for the task. |
| `golang-ddd-architecture` | Architecture and boundaries | You need clearer ports/app/domain/adapters separation, better dependency direction, or model boundaries. |
| `golang-ddd-refactor` | Domain-first refactoring | Business rules are hiding in handlers, repositories, or mutable structs. |
| `golang-ddd-cqrs` | Pragmatic CQRS | Read and write concerns are mixed and application services are getting too wide. |
| `golang-ddd-infrastructure` | Infra, testing, delivery | CI, Terraform, auth, and test strategy need to reinforce the architecture instead of fighting it. |

If you know the book already, the style will probably feel familiar.

## Why keep them together

These skills work better as one pack:

- `golang-ddd` routes tasks to the right specialization.
- The companion skills use the same vocabulary for layers, invariants, handlers, repositories, and composition roots.
- You can install just one or two, but keeping them on the same version is simpler.

## Repository layout

```text
golang-ddd-skills/
├── skills/
│   ├── golang-ddd/
│   ├── golang-ddd-architecture/
│   ├── golang-ddd-refactor/
│   ├── golang-ddd-cqrs/
│   └── golang-ddd-infrastructure/
├── .claude-plugin/
├── .cursor-plugin/
├── .github/workflows/
├── scripts/
├── gemini-extension.json
├── VERSION
└── CHANGELOG.md
```

## Supported agents

This repo is laid out so the same `skills/` directory can be used by several tools.

| Agent | Install style | Notes |
| --- | --- | --- |
| Codex / OpenAI Codex CLI | Git clone into `~/.agents/skills/` | Uses the shared cross-client skills directory. |
| OpenCode | Git clone into `~/.agents/skills/` | Same layout as Codex. |
| Gemini CLI | `gemini extensions install` | Uses `gemini-extension.json`. |
| Cursor | Git clone into `~/.cursor/skills/` | Uses `.cursor-plugin/plugin.json` plus the shared `skills/` folder. |
| Claude Code | Plugin-compatible repository | Uses `.claude-plugin/plugin.json`. |
| Any Agent Skills-compatible tool | `npx skills add` | Uses the top-level `skills/` directory. |

## Installation

### Universal Agent Skills install

If your tool supports the Agent Skills ecosystem, install directly from GitHub:

```bash
npx skills add https://github.com/joeyave/golang-ddd-skills --all
```

To install just one skill:

```bash
npx skills add https://github.com/joeyave/golang-ddd-skills --skill golang-ddd
```

### Codex / OpenAI Codex CLI

Clone the repository into a discovered skills directory:

```bash
git clone https://github.com/joeyave/golang-ddd-skills.git ~/.agents/skills/golang-ddd-skills
```

Codex discovers skills from `~/.agents/skills/` and workspace-local `.agents/skills/`.

### OpenCode

Clone into a shared skills directory:

```bash
git clone https://github.com/joeyave/golang-ddd-skills.git ~/.agents/skills/golang-ddd-skills
```

### Gemini CLI

This repository includes `gemini-extension.json`, so it can be installed as an extension:

```bash
gemini extensions install https://github.com/joeyave/golang-ddd-skills
```

### Cursor

This repository includes `.cursor-plugin/plugin.json`. Clone it into a Cursor-discovered skills path:

```bash
git clone https://github.com/joeyave/golang-ddd-skills.git ~/.cursor/skills/golang-ddd-skills
```

### Claude Code

This repository includes `.claude-plugin/plugin.json`.

## Compatibility notes

- Skill descriptions are quoted in YAML frontmatter for safer parsing across importers.
- Each skill includes `metadata.version`, so the repository version can be mirrored into individual skills.
- Existing `agents/openai.yaml` files are preserved for OpenAI-family tooling.
- The top-level `skills/` directory follows the same cross-client convention used by repos such as [`samber/cc-skills-golang`](https://github.com/samber/cc-skills-golang).
- `./scripts/validate-pack.sh` is the single validation entry point for local checks and GitHub Actions.

## Versioning

This repository uses Semantic Versioning.

- `MAJOR`: breaking changes to skill names, install layout, routing behavior, or compatibility metadata.
- `MINOR`: new skills, substantial new guidance, new supported clients, or stronger repository automation.
- `PATCH`: wording fixes, trigger tuning, metadata corrections, and small non-breaking edits.

The canonical version lives in [`VERSION`](./VERSION).

For reproducible installs, prefer Git tags such as `v0.2.0` after publishing. Clone-based installs can pin a release with `git checkout v0.2.0`.

Maintainer release steps live in [MAINTAINING.md](./MAINTAINING.md).

## Acknowledgements

This pack was inspired by public writing from Three Dots Labs, especially [Go With The Domain](https://threedots.tech/go-with-the-domain/).

It is a separate, unofficial project.

## License

This repository is released under the MIT license. See [LICENSE](./LICENSE).

More