A Claude Code plugin shipping a single skill that reviews Go code against opinionated best practices for validation in clean / onion / hexagonal architecture.
Each rule is its own file with motivation, code smells, good/bad examples, a review checklist, and primary sources. At review time, one subagent per actionable rule runs in parallel, so each check is focused on a single principle and the main context stays small.
Important
This skill is explicit-trigger only and review-only. It does not auto-activate on .go files, and it never applies fixes unless you explicitly ask it to. Findings are presented as recommendations you can accept, reject, or discuss.
Inside any Claude Code session:
/plugin marketplace add andrsj/validation-architecture-skill
/plugin install validation-architecture-review@andrsj-skills
/reload-plugins
The skill appears namespaced as /validation-architecture-review:review.
git clone https://github.com/andrsj/validation-architecture-skill.git
claude --plugin-dir ./validation-architecture-skillEdits to any skill file pick up live with /reload-plugins.
git clone https://github.com/andrsj/validation-architecture-skill.git
cp -R validation-architecture-skill/skills/review ~/.claude/skills/validation-architecture-review
# then edit ~/.claude/skills/validation-architecture-review/SKILL.md — change `name: review` to `name: validation-architecture-review`The skill then activates as /validation-architecture-review (un-namespaced).
skills/review/SKILL.md— the index + review workflowskills/review/rules/NN-*.md— one file per rule (7 total)
| Category | Count | Meaning |
|---|---|---|
actionable |
5 | Generates findings during review |
tooling |
1 | Verifies the schema/validator is wired up, no code findings |
philosophical |
1 | Informs judgment, no findings emitted |
- Main agent identifies the
.gofiles in scope. - For each actionable rule, dispatch a subagent with the rule file and the file list.
- Each subagent loads only its own rule file, reads the code, and returns findings as
<file>:<line> — <observation>or the literalno findings. - Main agent groups results by rule and produces the final report.
- Recommendations only — the skill never edits code. If you want fixes, ask explicitly.
You can also ask for a partial review (e.g. "check only #2 and #4") or a single-rule explanation.
See skills/review/SKILL.md for the full index with links to each rule file.
Rule content is synthesized from:
- Alexis King — "Parse, don't validate"
- Vladimir Khorikov — "Always-Valid Domain Model" and related posts
- Microsoft Learn — "Designing validations in the domain model layer"
- Damiano Petrungaro — "Domain Driven Design in Golang — Tactical Design"
- verbosemode — "Field Notes: Go and Parse, don't validate"
- Martin Fowler — Value Object
- DevIQ — Value Object / Parse, Don't Validate
Every rule file lists its own sources at the bottom.
Sister plugins/skills by the same author:
go-proverbs-review— Rob Pike's Go Proverbsgoogle-go-styleguide— Google's Go Style Guide frameworkuber-go-styleguide— Uber's Go Style Guide
MIT — see LICENSE.