AI Helpers
A collection of Claude Code plugins to automate and assist with various development tasks.
Installation
From the Claude Code Plugin Marketplace
-
Add the marketplace:
/plugin marketplace add openshift-eng/ai-helpers
-
Install a plugin:
/plugin install jira@ai-helpers
-
Use the commands:
/jira:solve OCPBUGS-12345 origin
Using Cursor
Cursor is able to find the various commands defined in this repo by
making it available inside your ~/.cursor/commands directory.
$ mkdir -p ~/.cursor/commands
$ git clone [email protected]:openshift-eng/ai-helpers.git
$ ln -s ai-helpers ~/.cursor/commands/ai-helpers
Using the Docker Container
A container is available with Claude Code and all plugins pre-installed.
Building the Container
podman build -f images/Dockerfile -t ai-helpers .
Running with Vertex AI and gcloud Authentication
To use Claude Code with Google Cloud's Vertex AI, you need to pass through your gcloud credentials and set the required environment variables:
podman run -it \
-e CLAUDE_CODE_USE_VERTEX=1 \
-e CLOUD_ML_REGION=your-ml-region \
-e ANTHROPIC_VERTEX_PROJECT_ID=your-project-id \
-v ~/.config/gcloud:/home/claude/.config/gcloud:ro \
-v $(pwd):/workspace \
-w /workspace \
ai-helpers
Environment Variables:
CLAUDE_CODE_USE_VERTEX=1 - Enable Vertex AI integration
CLOUD_ML_REGION - Your GCP region (e.g., us-east5)
ANTHROPIC_VERTEX_PROJECT_ID - Your GCP project ID
Volume Mounts:
-v ~/.config/gcloud:/home/claude/.config/gcloud:ro - Passes through your gcloud authentication (read-only)
-v $(pwd):/workspace - Mounts your current directory into the container
Running Commands Non-Interactively
You can execute Claude Code commands directly without entering an interactive session using the -p or --print flag:
podman run -it \
-e CLAUDE_CODE_USE_VERTEX=1 \
-e CLOUD_ML_REGION=your-ml-region \
-e ANTHROPIC_VERTEX_PROJECT_ID=your-project-id \
-v ~/.config/gcloud:/home/claude/.config/gcloud:ro \
-v $(pwd):/workspace \
-w /workspace \
ai-helpers \
--print "/hello-world:echo Hello from Claude Code!"
This will:
- Start the container with your gcloud credentials
- Execute the
/hello-world:echo command with the provided message
- Print the response and exit when complete
Available Plugins
For a complete list of all available plugins and commands, see PLUGINS.md.
Plugin Development
Want to contribute or create your own plugins? Check out the plugins/ directory for examples.
Make sure your commands and agents follow the conventions for the Sections structure presented in the hello-world reference implementation plugin (see hello-world:echo for an example).
Ethical Guidelines
Plugins, commands, skills, and hooks must NEVER reference real people by name, even as stylistic examples (e.g., "in the style of ").
Ethical rationale:
- Consent: Individuals have not consented to have their identity or persona used in AI-generated content
- Misrepresentation: AI cannot accurately replicate a person's unique voice, style, or intent
- Intellectual Property: A person's distinctive style may be protected
- Dignity: Using someone's identity without permission diminishes their autonomy
Instead, describe specific qualities explicitly
Good examples:
- "Write commit messages that are direct, technically precise, and focused on the rationale behind changes"
- "Explain using clear analogies, a sense of wonder, and accessible language for non-experts"
- "Code review comments that are encouraging, constructive, and focus on collaborative improvement"
When you identify a desirable characteristic (clarity, brevity, formality, humor, etc.), describe it explicitly rather than using a person as proxy.
Adding New Commands
When contributing new commands:
- If your command fits an existing plugin: Add it to the appropriate plugin's
commands/ directory
- If your command doesn't have a clear parent plugin: Add it to the utils plugin (
plugins/utils/commands/)
- The utils plugin serves as a catch-all for commands that don't fit existing categories
- Once we accumulate several related commands in utils, they can be segregated into a new targeted plugin
Creating a New Plugin
If you're contributing several related commands that warrant their own plugin:
- Create a new directory under
plugins/ with your plugin name
- Create the plugin structure:
plugins/your-plugin/
├── .claude-plugin/
│ └── plugin.json
└── commands/
└── your-command.md
- Register your plugin in
.claude-plugin/marketplace.json
Validating Plugins