skills/go/bill-go-code-review-architecture/SKILL.md
Use when reviewing architecture, boundaries, package design, and source-of-truth consistency in Go backend or service changes. Use when user mentions Go architecture, package design, cmd/ layout, internal/ boundaries, or dependency direction in Go.
npx skillsauth add sermilion/mobile-development-plugin bill-go-code-review-architectureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Review only high-signal architectural issues.
Focus on package boundaries, dependency direction, module ownership, source-of-truth consistency, sync/async boundaries, and architectural drift. Ignore formatting/style-only and naming preferences without architectural impact.
Apply shared architecture rules to every review. Apply deeper concern-specific checks only when the changed code touches those areas.
If .agents/skill-overrides.md exists in the project root and contains a ## bill-go-code-review-architecture
section, read that section and apply it as the highest-priority instruction for this skill. The matching section may
refine or replace parts of the default workflow below.
If an AGENTS.md file exists in the project root, apply it as project-wide guidance.
Precedence for this skill: matching .agents/skill-overrides.md section > AGENTS.md > built-in defaults.
If .agents/feature-specs/<feature-name>.md or an equivalent saved feature spec is available and contains an expected
architecture shape, review the implementation against that saved shape as well.
init() side effects for wiring, network setup, worker startup, or registry mutation when explicit constructors or startup hooks would keep ownership visibleutil, common, or helperscmd/ entrypoints should stay thin and delegate to real application packages rather than accumulating business logicinternal/ boundaries should not be bypassed by moving shared logic into higher-level packages just for convenienceany, reflection, or callback escape hatches just to bypass package boundariesany-heavy public boundaries and repeated type assertions/type switches when concrete types or smaller interfaces would preserve clearer package contracts and compile-time safetyfile:line evidence for each finding.Blocker | Major | MinorHigh | Medium | LowStart with a short review summary:
Shared sections applied: Shared Architecture, Go Package / Interface Checks
Relevant deeper sections applied: Events / Background Work / Integration Architecture
Then list findings using this exact bullet format for downstream tooling:
- [F-001] <Severity> | <Confidence> | <file:line> | <description>
Do NOT use markdown tables, numbered lists, or any other format for findings.
development
Use when running a governed editorial assignment desk from Readian recommendations through candidate selection and source-backed story packs.
testing
Use when reviewing unit tests in a file, current changes, or a commit to flag low-value, tautological, or coverage-only tests that do not validate real behavior. Use when user mentions check test quality, review tests, tautological tests, weak tests, or coverage-padding.
data-ai
Use when removing an existing skill or platform skill set and cleaning up agent installs, manifests, and supporting links.
development
Use when you want a generic quality-check entry point that detects the dominant stack in scope and delegates to the matching stack-specific quality-check skill. Use when user mentions run checks, validate, lint, format, quality check, or run quality.