Agent skill
Code Formatting
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.
Install this agent skill to your Project
npx add-skill https://github.com/openshift/hypershift/tree/main/.claude/skills/code-formatting
SKILL.md
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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
Create HC AWS
Create a HyperShift HostedCluster on AWS for development and testing, with optional custom CPO/HO images.
Install HO AWS
Install HyperShift Operator with private AWS and external-dns settings.
E2E Test Runner
Provides the ability to run and iterate on HyperShift e2e tests. Auto-applies when implementing features that require e2e validation, fixing e2e test failures, or working on tasks that need live cluster testing.
Build HO Image
Build and push hypershift-operator container image. Auto-applies when testing HO changes that require deploying to a live cluster.
Build CPO Image
Build and push control-plane-operator container image. Auto-applies when testing CPO changes that require deploying to a live cluster.
Git Environment
Create development environments with git worktrees, branches, commits, and push to remote. Auto-applies for git workflow tasks.
Didn't find tool you were looking for?