This repository is a collaborative place hosting collections of AI plugins to automate and assist with various tasks.
Note
Right now the focus is to support Claude Code, Gemini Gems and Cursor AI. Other tools are welcome here, please submit Pull Requests.
Note
This project was inspired by the OpenShift AI helpers.
Have an idea for a new plugin, command, or assistant but not sure how to implement it? We'd love to hear about it! Simply file a GitHub issue with your idea in the title and we'll work together to make it happen.
No implementation details needed - just describe what you'd like to automate or what workflow you think could be improved. The community can help figure out the best way to build it.
Claude Code plugins extend Claude's functionality with custom commands, subagents and skills for specific workflows and tasks. They enable you to automate repetitive development activities, integrate with tools, and create specialized AI assistants tailored to your needs.
For comprehensive information about plugin architecture and development, see the official Claude Code plugins documentation.
- Add the marketplace:
/plugin marketplace add opendatahub-io/ai-helpers
Important
Changes take effect the next time you start Claude Code. If Claude Code is already running, restart it to load the updates.
- Install a plugin:
/plugin install hello-world@odh-ai-helpers
Tip
To browse and install multiple plugins interactively, use /plugin after adding the marketplace.
This will show you all available plugins and allow you to install them selectively.
For a complete list of all available plugins, see TOOLS.md.
- Use the commands:
/hello-world:echo Hello from OpenDataHub!
A container is available with Claude Code and all plugins pre-installed.
You can build it yourself:
podman build -f images/claude/Containerfile -t ai-helpers .or you can use the one built by our CI periodically.
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 \
--pull always \
--userns=keep-id \
-e CLAUDE_CODE_USE_VERTEX=1 \
-e CLOUD_ML_REGION=your-ml-region \
-e ANTHROPIC_VERTEX_PROJECT_ID=your-project-id \
-e DISABLE_AUTOUPDATER=1 \
-v ~/.config/gcloud:/home/claude/.config/gcloud:ro,z \
-v $(pwd):/workspace:z \
-w /workspace \
--name claude_code \
ghcr.io/opendatahub-io/ai-helpers:latestEnvironment Variables:
CLAUDE_CODE_USE_VERTEX=1- Enable Vertex AI integrationCLOUD_ML_REGION- Your GCP region (e.g.,us-east5)ANTHROPIC_VERTEX_PROJECT_ID- Your GCP project ID
Rootless Podman:
--userns=keep-id- Preserves host user ID mapping, required for the claude user to access mounted volumes
Volume Mounts:
-v ~/.config/gcloud:/home/claude/.config/gcloud:ro,z- Passes through your gcloud authentication (read-only with SELinux labeling)-v $(pwd):/workspace:z- Mounts your current directory into the container
You can execute Claude Code commands directly without entering an interactive session using the -p or --print flag:
podman run -it \
--pull always \
--userns=keep-id \
-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,z \
-v $(pwd):/workspace:z \
-w /workspace \
--name claude_code \
ghcr.io/opendatahub-io/ai-helpers:latest \
--print "/hello-world:echo Hello from Claude Code!"This will:
- Start the container with your gcloud credentials
- Execute the
/hello-world:echocommand with the provided message - Print the response and exit when complete
This repository is made for collaboration. We highly welcome contributions.
For Claude plugins, check out the claude-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). Using Claude Code itself to develop the plugins is highly encouraged.
- Open
claude - Run
/plugin marketplace add ./ - Run
/pluginthen install the local plugin - Restart
claudewithctrl+cctrl+cand or/exitand rerun - Test plugin and remove local marketplace after done testing which will remove plugin
- You can now reinstall from the git marketplace
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 (
claude-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
For detailed Claude Code development instructions, see claude-plugins/README.md.
The AI Helpers marketplace uses a categorization system to organize tools by their intended purpose and workflows. Categories are defined in categories.json and automatically applied to tools in the website interface.
- General: Default category for general-purpose tools and utilities
- AIPCC: Tools specifically designed for AIPCC workflows and processes
Categories are configured in the categories.json file at the repository root. Each category defines:
name: Display name for the categorydescription: Brief description of the category's purposeclaude_plugin_dirs: List of Claude Code plugin directory names that belong to this categorycursor_commands: List of Cursor command names that belong to this category
Example category definition:
{
"categories": {
"general": {
"name": "General",
"description": "General-purpose tools and utilities",
"claude_plugin_dirs": ["git", "utils", "python-packaging"],
"cursor_commands": ["jira-sprint-summary"],
"gemini_gems": ["Email Copilot", "Technical Spike & Investigation"]
}
}
}To add a new category:
-
Edit
categories.json: Add your new category definition"your-category": { "name": "Your Category Name", "description": "Description of your category's purpose", "claude_plugin_dirs": ["plugin1", "plugin2"], "cursor_commands": ["command1", "command2"], "gemini_gems": ["gem title", "gem title 2"] }
-
Assign tools to the category:
- For Claude Code plugins: Add the plugin directory name to
claude_plugin_dirs - For Cursor commands: Add the command name (without .md extension) to
cursor_commands - For Gemini Gems: Add the gem title to
gemini_gems
- For Claude Code plugins: Add the plugin directory name to
-
Update documentation: Run
make updateto regenerate the website data
The build system automatically:
- Assigns uncategorized tools to the "general" category
- Updates
categories.jsonduringmake updateto include any new tools - Preserves manual categorizations while ensuring no tools are left uncategorized
This ensures zero maintenance burden for new tools while preserving intentional categorization.
The cursor/ directory contains custom commands and functionalities specifically designed for Cursor AI integration.
When possible, the commands are shared with Claude Code to avoid duplication.
For detailed documentation on Cursor AI helpers, see cursor/README.md.
The gemini-gems/ directory contains a curated collection of Gemini Gems - specialized AI assistants for various development tasks. These can be accessed directly through Google's Gemini platform.
For detailed information about using and contributing Gemini Gems, see gemini-gems/README.md.
This repository uses claudelint to validate the Claude plugin structure:
make lintAfter adding or modifying plugins, regenerate the TOOLS.md file:
make updatePlugins, commands, skills, and hooks must NEVER reference real people by name, even as stylistic examples (e.g., "in the style of 'specific human'").
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.
For additional validation, the repository includes .pre-commit-config.yaml with Red Hat security and AI-readiness hooks:
pre-commit install
pre-commit install --hook-type pre-push
pre-commit run --all-files # Test all filesThis automatically scans all plugins and regenerates the complete plugin/command documentation in TOOLS.md.
See LICENSE for details.