MANDATORY: When writing Go tests, you MUST use 'When...it should...' format for ALL test names. When writing any Go code, you MUST remind user to run 'make lint-fix' and 'make verify'. These are non-negotiable HyperShift requirements.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: Code Formatting description: "MANDATORY: When writing Go tests, you MUST use 'When...it should...' format for ALL test names. When writing any Go code, you MUST remind user to run 'make lint-fix' and 'make verify'. These are non-negotiable HyperShift requirements."
Code Quality, Formatting and Conventions
Code Formatting and Linting
- Use
make lint-fixafter writing Go code to automatically fix most linting issues - Run
make verifyto verify both linting and tests pass before committing - For markdown files, use
make verify-codespellto catch spelling errors
Test Conventions - MANDATORY
NON-NEGOTIABLE RULE: Every Go test name MUST follow this exact format:
name: "When <condition>, it should <expected behavior>"
Examples:
name: "When NodePool has valid image ID, it should create Azure machine template"
name: "When subnet ID is invalid, it should return error"
name: "When encryption is enabled, it should configure disk encryption set"
NEVER use generic names like:
- ❌ "nominal case without managed identity"
- ❌ "basic Azure machine template with ImageID"
- ❌ "error case - invalid subnet ID"
ALWAYS use "When...it should..." format:
-
✅ "When NodePool has no managed identity, it should create template without identity"
-
✅ "When NodePool has ImageID, it should create basic Azure machine template"
-
✅ "When subnet ID is invalid, it should return error with subnet parse message"
-
Always include unit tests when creating new functions or modifying existing ones
Quick Checklist
Before committing:
- Ran
make lint-fixon Go code - Ran
make verify(passes) - Tests use "When...it should..." naming format
- New functions have unit tests
- Markdown checked with
make verify-codespell
More by openshift
View allProvides systematic debugging approaches for HyperShift hosted-cluster issues. Auto-applies when debugging cluster problems, investigating stuck deletions, or troubleshooting control plane issues.
Apply Go best practices, idioms, and conventions from golang.org/doc/effective_go. Use when writing, reviewing, or refactoring Go code to ensure idiomatic, clean, and efficient implementations.
Apply HyperShift conventional commit formatting rules. Use when generating commit messages or creating commits.
Comprehensive PR review for oc (OpenShift CLI). Runs build, tests, and linting, then applies Go style improvements and provides detailed code review feedback.