
opendatahub-io/ai-helpers
Developer toolsAI Helpers — collections of Skills, Hooks, Agents (compatible with Claude Code, Cursor and other tools) and Gemini Gems
Overview
This repository is a collaborative place hosting collections of AI plugins to automate and assist with various tasks. Right now the focus is to support Claude Code, Codex CLI, OpenCode.ai, Gemini Gems, and Cursor AI. Other tools are welcome here, please submit Pull Requests. 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. Want to work on an issue? Comment /assign on it to assign yourself. This repository is made for collaboration. We highly welcome contributions. For skills, browse the plugins/ /skills/ directories for examples. For agents, see plugins/ /agents/.
README
AI Helpers
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, Codex CLI, OpenCode.ai, Gemini Gems, and Cursor AI. Other tools are welcome here, please submit Pull Requests.
[!NOTE] This project was inspired by the OpenShift AI helpers.
Got an Idea?
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.
[!TIP] Share your idea
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.
Want to work on an issue? Comment /assign on it to assign yourself.
Tools Development
This repository is made for collaboration. We highly welcome contributions.
For skills, browse the plugins//skills/ directories for examples.
For agents, see plugins//agents/.
Using AI code assistant itself to develop the tools is highly encouraged.
Adding New Tools
When contributing new tools:
- Skills: Add to the appropriate
plugins//skills/directory following the agentskills.io format - Agents: Add to the appropriate
plugins//agents/directory with appropriate documentation - Gemini Gems: Add to the
gems/directory
Once you have added the tool, you’d have to run have to run make update in order to generate the website data.
Then you should git commit your change and after than running make lint would run local tests to validate the syntax.
Testing a plugin locally (example with Claude Code)
- Open
claude - Run
/plugin marketplace add ./ - Run
/pluginthen install the local plugin - Test plugin and remove local marketplace after done testing which will remove plugin
- You can now reinstall from the git marketplace
Plugin Structure
Tools are organized into per-domain plugins under plugins/. Each plugins//
directory is an independently installable plugin (and doubles as the tool’s
category on the website):
plugins/odh-jira/
.claude-plugin/plugin.json # plugin name + description
skills//SKILL.md # one directory per skill
agents/.md # optional agents
To add a tool, drop it into the relevant plugin’s skills/ (or agents/) directory, or
create a new plugins// directory with its own .claude-plugin/plugin.json. Then
run make update to regenerate the marketplace, settings, and website data. The build
system infers tool types from the filesystem and prevents duplicate tool names across
plugins.
The deprecated
odh-ai-helpersumbrella plugin re-exports every skill under the legacyodh-ai-helpers:*names for backwards compatibility and is excluded from these checks.
Using with Claude Code
Claude Code Marketplace extends Claude’s functionality with custom commands, agents, 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.
Install the tools from the Marketplace
-
Add the marketplace:
/plugin marketplace add opendatahub-io/ai-helpers -
Install the plugins you need:
/plugin install odh-jira /plugin install odh-python-packaging
[!NOTE] The
odh-ai-helpersumbrella installs everything under the legacyodh-ai-helpers:*names but is deprecated — prefer the individualodh-*plugins.
[!TIP] To browse and install multiple plugins interactively, use
/pluginafter adding the marketplace. This will show you all available plugins and allow you to install them selectively. For a complete list of all available tools, visit our website.
- Use the commands:
/hello-world:echo Hello from OpenDataHub!
Running Claude Code in a Container
For IDE users, we have supplied a devcontainer.json file. For setup and prerequisites, see Dev Container README.
For setup with the standard CLI see the following.
A container image is available with Claude Code and all plugins pre-installed:
ghcr.io/opendatahub-io/ai-helpers:latest
You can also build it yourself by running:
podman build -f images/claude/Containerfile -t ai-helpers .
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 --rm \
--pull newer \
--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 ~/.claude:/home/claude/.claude:z \
-v ~/.claude.json:/home/claude/.claude.json:z \
-v $(pwd):$(pwd):z \
-w $(pwd) \
ghcr.io/opendatahub-io/ai-helpers:latest
You can execute Claude Code commands directly without entering an interactive session using the -p or --print flag.
Environment 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 ~/.claude:/home/claude/.claude:z- Mounts your local Claude sessions and project data-v ~/.claude.json:/home/claude/.claude.json:z- Mounts your user configuration (onboarding state, preferences)-v $(pwd):$(pwd):z- Mounts the project at the same absolute path as on the host to reuse Claude’s session data-w $(pwd)- Sets the working directory to match the host path
CLI Authentication (GitHub and GitLab):
The container includes gh (GitHub CLI) and glab (GitLab CLI). To authenticate them inside the container, pass your
host credentials via environment variables or volume mounts:
-e GH_TOKEN=$(gh auth token)- Pass your GitHub token from the host keyring-v ~/.config/glab-cli:/home/claude/.config/glab-cli:ro,z- Mount your GitLab CLI config (contains auth token)
Add this to your ~/.bashrc for easy launching of the container:
claude-container() {
podman run -it --rm \
--pull newer \
--userns=keep-id \
-e CLAUDE_CODE_USE_VERTEX=1 \
-e CLOUD_ML_REGION="${CLOUD_ML_REGION}" \
-e ANTHROPIC_VERTEX_PROJECT_ID="${ANTHROPIC_VERTEX_PROJECT_ID}" \
-e DISABLE_AUTOUPDATER=1 \
-v ~/.config/gcloud:/home/claude/.config/gcloud:ro,z \
-v ~/.claude:/home/claude/.claude:z \
-v ~/.claude.json:/home/claude/.claude.json:z \
-v "$(pwd):$(pwd):z" \
-w "$(pwd)" \
ghcr.io/opendatahub-io/ai-helpers:latest "$@"
}
CI Streaming Mode
When running Claude Code non-interactively in CI pipelines, set CLAUDE_CI_STREAM=1 to get
human-readable streaming output instead of raw JSON. The container automatically adds the
required flags and pipes output through a built-in parser that renders thinking blocks, tool
use, token stats, and errors as readable log lines.
podman run --rm \
--userns=keep-id:uid=1000,gid=1000 \
-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 \
-e CLAUDE_CI_STREAM=1 \
-e CLAUDE_CI_LOG_FILE=/workspace/.claude-output.txt \
-v ~/.config/gcloud:/home/claude/.config/gcloud:ro,z \
-v $(pwd):/workspace:z \
-w /workspace \
ghcr.io/opendatahub-io/ai-helpers:latest \
--permission-mode bypassPermissions \
-p "Fix the bug described in ISSUE-123"
CI Streaming Environment Variables:
| Variable | Default | Description |
|---|---|---|
CLAUDE_CI_STREAM |
(unset) | Set to 1 to enable streaming mode |
CLAUDE_CI_LOG_FILE |
(unset) | Path (inside the container) to write a plain-text log without ANSI codes |
CLAUDE_CI_WRAP |
0 |
Word-wrap output at N columns (0 = no wrapping) |
NO_COLOR |
(unset) | Set to 1 to disable ANSI color codes in output |
Without CLAUDE_CI_STREAM, the container behaves identically to running claude directly.
Running Cursor Agent CLI in a Container
A container image is also available with the Cursor Agent CLI and all development tools pre-installed:
ghcr.io/opendatahub-io/ai-helpers-cursor:latest
You can also build it yourself by running:
podman build -f images/cursor/Containerfile -t ai-helpers-cursor .
Or using make:
make build-cursor
To use the Cursor Agent CLI, you need to pass your CURSOR_API_KEY:
podman run -it --rm \
--pull newer \
--userns=keep-id \
-e CURSOR_API_KEY=your-api-key \
-v $(pwd):$(pwd):z \
-w $(pwd) \
ghcr.io/opendatahub-io/ai-helpers-cursor:latest
Environment Variables:
CURSOR_API_KEY- Your Cursor API key (required for authentication)
Add this to your ~/.bashrc for easy launching of the container:
cursor-container() {
podman run -it --rm \
--pull newer \
--userns=keep-id \
-e CURSOR_API_KEY="${CURSOR_API_KEY}" \
-v "$(pwd):$(pwd):z" \
-w "$(pwd)" \
ghcr.io/opendatahub-io/ai-helpers-cursor:latest "$@"
}
Using with Codex CLI
Codex CLI can install the odh-* plugins directly
from this marketplace. No clone or skill symlinks are needed.
codex plugin marketplace add opendatahub-io/ai-helpers
codex plugin add odh-jira@odh-ai-helpers
codex plugin add odh-python-packaging@odh-ai-helpers
Replace the example plugin names with the categories you need. Use
codex plugin list --marketplace odh-ai-helpers to see what is installed. The
odh-ai-helpers umbrella plugin is deprecated; install individual odh-* plugins instead.
If you access GitHub through SSH, use
codex plugin marketplace add [email protected]:opendatahub-io/ai-helpers.git for the first
command. To refresh a Git-backed marketplace, run
codex plugin marketplace upgrade odh-ai-helpers.
Some skills use Claude-specific variables or tools and may need adjustments in Codex. See Codex skills and plugins for usage details.
Using with OpenCode.ai
OpenCode.ai is an open-source AI coding assistant that supports custom skills and commands. Our helpers can be integrated as OpenCode skills and commands to enhance your development workflow.
Note: OpenCode.ai agents are not currently compatible due to format differences. Only skills are supported at this time.
Setup
-
Clone the helpers repository:
git clone https://github.com/opendatahub-io/ai-helpers.git cd ai-helpers -
Install globally:
mkdir -p ~/.config/opencode/skills ln -sf $(pwd)/plugins/*/skills/* ~/.config/opencode/skills/
These helpers are available when loading the odh-ai-helpers plugin from the marketplace as instructed above.
Gemini Gems
The 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 gems/README.md.
Validating Tools
Run all linters at once with:
make lint
This runs the following checks in order:
- skillsaw — lints skills and plugins against the agentskills.io spec with content intelligence
- ruff check — Python syntax and style errors
- ruff format --check — Python formatting consistency
- shellcheck — shell script analysis for all
*.shfiles - Staleness check — runs
make updateand fails if it produces uncommitted changes
You can auto-fix some skillsaw issues with make skillsaw-fix.
Ethical Guidelines
This project follows strict ethical guidelines for AI tool development, particularly regarding the use of real people’s names and personas.
For detailed ethical guidelines and best practices, see ETHICS.md.
Pre-commit Hooks (Optional)
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 files
This automatically scans all tools and regenerates the complete documentation and website data.
License
See LICENSE for details.
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add opendatahub-io/ai-helpers