name: visibility-exports description: Review that newly exported functions have callers outside the package, lowercasing those that don't. license: Apache-2.0 metadata: copyright: The Kubernetes Authors
Skill: Visibility Review — Don't Export What Doesn't Need to Be Exported
Use this when reviewing Go code that adds new exported functions or methods.
What to check
For every new exported identifier, grep for callers outside the declaring package. If all callers are within the same package, lowercase it — exported symbols become permanent API surface that can't be removed without a breaking change.
grep -rn ".FunctionName()" ./ --include="*.go"
Note: test files in the same package (package foo) can access unexported symbols, so
there's no need to export just for tests.