From openstack-k8s-agent-tools
Runs testing, linting, and quality assurance workflows for openstack-k8s-operators using Go best practices, Ginkgo tests, golangci-lint, operator-lint, and make targets like test, fmt, vet.
npx claudepluginhub openstack-k8s-operators/devskills --plugin openstack-k8s-agent-toolsThis skill uses the workspace's default tool permissions.
This skill provides comprehensive testing, linting, and quality assurance workflows for openstack-k8s-operators operators, following Go and Kubernetes operator best practices.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
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.