From openstack-k8s-agent-tools
Runs Go testing, linting, and quality assurance workflows for openstack-k8s-operators operators, including go fmt, go vet, golangci-lint, Ginkgo tests, CRD validation, and security scanning.
How this skill is triggered — by the user, by Claude, or both
Slash command
/openstack-k8s-agent-tools:test-operator <quick | standard | full | focus "pattern" | security | coverage><quick | standard | full | focus "pattern" | security | coverage>This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill provides comprehensive testing, linting, and quality assurance workflows for openstack-k8s-operators operators, following Go and Kubernetes operator best practices.
This skill provides comprehensive testing, linting, and quality assurance workflows for openstack-k8s-operators operators, following Go and Kubernetes operator best practices.
When testing an operator, I will systematically:
go fmtgo vet to catch common mistakesBased on the openstack-k8s-operators operator Makefile conventions:
make test # Run full test suite with Ginkgo
make gotest # Alias for test
make test GINKGO_ARGS="--focus 'pattern'" # Focused tests
make fmt # Run go fmt
make gofmt # Run gofmt via CI tools (with checks)
make tidy # Run go mod tidy
make vet # Run go vet
make govet # Run govet via CI tools
make operator-lint # Run operator-specific linting
make golangci # Standard golangci-lint checks
make golangci-lint # Direct golangci-lint with --fix
make golint # Additional Go linting
make manifests # Generate CRDs, webhooks, RBAC
make generate # Generate DeepCopy methods
make crd-schema-check # Validate CRD schema changes
I will run a complete quality check workflow:
make fmt - Format codemake vet - Static analysismake gofmt - Format validationmake govet - Enhanced static analysismake golangci - Standard lintingmake tidy - Dependency checkmake golangci-lint - Full linting with auto-fixmake operator-lint - Operator-specific patternsmake test - Full test suitemake crd-schema-check - Schema validation# Run all tests
make test
# Run with specific Ginkgo args
make test GINKGO_ARGS="-v --trace"
# Focus on specific tests
make test GINKGO_ARGS="--focus 'Glance controller'"
# Run tests in parallel
make test GINKGO_ARGS="--procs 4"
# Randomize test order
make test GINKGO_ARGS="--randomize-all"
# Focused testing with pattern
make test GINKGO_ARGS="--focus 'initializes the status fields'"
# Skip specific tests
make test GINKGO_ARGS="--skip 'webhook validation'"
# Dry run (show which tests would run)
make test GINKGO_ARGS="--dry-run --focus 'pattern'"
# Generate test coverage
make test GINKGO_ARGS="--cover --coverprofile=coverage.out"
# Verbose output with trace
make test GINKGO_ARGS="-v --trace --output-interceptor-mode=none"
The skill recognizes common golangci-lint checks:
I will run security-focused tools:
# Install and run gosec
go install github.com/securego/gosec/v2/cmd/gosec@latest
gosec -fmt=json -out=results.json ./...
# Run govulncheck for vulnerability detection
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
# Check for known CVEs in dependencies
go list -json -m all | nancy sleuth
Generate and analyze test coverage:
# Generate coverage
make test GINKGO_ARGS="--cover --coverprofile=coverage.out"
# View coverage in browser
go tool cover -html=coverage.out
# Coverage summary
go tool cover -func=coverage.out
# Coverage by package
go test -coverprofile=coverage.out -covermode=atomic ./...
go tool cover -func=coverage.out | grep total
For continuous integration workflows:
# Pre-commit hook simulation
make fmt && make vet && make golangci
# Pre-PR validation
make manifests && make generate && git diff --exit-code
# Full CI pipeline
make fmt vet golangci test crd-schema-check
# Ensure no generated file changes
git diff --exit-code api/ config/
make fmt - Formatmake vet - Quick validationmake test GINKGO_ARGS="--focus 'MyTest'" - Focused testmake fmt - Format codemake tidy - Clean dependenciesmake vet - Static analysismake golangci - Lintingmake test - Run testsmake manifests generate - Regenerate codemake golangci-lint - Full lint with fixesmake operator-lint - Operator checksmake test - Full test suitemake crd-schema-check - Schema validation/test-operator quick
# Runs: fmt + vet + focused tests
/test-operator standard
# Runs: fmt + vet + golangci + test
/test-operator full
# Runs: All checks + security + coverage
/test-operator focus "initializes the status fields"
# Runs specific test pattern with Ginkgo
/test-operator lint
# Runs: golangci-lint + operator-lint
/test-operator security
# Runs: gosec + govulncheck + dependency check
I will provide:
Simply invoke /test-operator to run comprehensive testing and quality checks with detailed reporting and recommendations.
npx claudepluginhub openstack-k8s-operators/devskills --plugin openstack-k8s-agent-toolsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.