A keyboard-first, terminal user interface (TUI) discovery hub and package installer for AI coding tools, skills, and agents.
Built with Python, Textual, and SQLite — zero configuration required out of the box.
- Python: 3.10+
- Operating Systems: Linux, macOS, Windows (PowerShell / Windows Terminal)
OpenHub exports tools using the Universal Open Agent Skills Standard (SKILL.md), making exported tools instantly usable across modern AI coding assistants and IDEs:
| AI Tool / Agent IDE | Supported | Export Integration Path |
|---|---|---|
| OpenCode | Yes | ./.opencode/skills/ & ~/.config/opencode/ |
| Claude Code / Desktop | Yes | ./.agents/skills/ & ~/.agents/skills/ |
| Cursor Editor | Yes | ./.agents/skills/ |
| Windsurf / Cascade | Yes | ./.agents/skills/ |
| Roo Code / Cline | Yes | ./.agents/skills/ |
| AutoGen / CrewAI | Yes | Standard SKILL.md format |
pipx install git+https://github.com/24KaratAu/openhub.git
openhubpip install git+https://github.com/24KaratAu/openhub.git
openhubgit clone https://github.com/24KaratAu/openhub.git
cd openhub
pip install -e .
openhub- Dashboard-Centric Catalog: Displays scannable catalog panels showing trending repositories, recent releases, fast-growing utilities, and hidden gems.
- Intent-Driven Fuzzy Search: Pressing
/orSopens a Spotlight-style command palette dropdown. Typo-tolerant matching runs locally usingrapidfuzzacross names, descriptions, topics, and use cases. - Curated Collections: Browse curated workflows such as "AI Engineer Starter Pack", "Claude Desktop Servers", "Cursor Editor Skills", or "Python Toolkit".
- Scannable Metadata Cards: Repository items render with visual quality ratings (
★★★★★), language tags, and difficulty levels. - Instant Boot & Background Sync: Boots instantly (< 100ms) from local SQLite cache while fresh GitHub data syncs silently in background threads.
- Universal Skill Export: Press
Eto export 1-clickSKILL.mdprompt instructions directly to./.agents/skills/and./.opencode/skills/. - Activity History Log: Logs all actions (Installed, Updated, Exported, Failed, Removed) to a persistent local SQLite database.
- Installed Skill Updates: The Installed view reads each skill's
SKILL.md(version,repository) and shows whether a newer release exists on GitHub. PressUon a skill's details page to update every installed copy; the previous version is backed up to~/.cache/opencode-hub/backups/and restored automatically if the update fails.
OpenHub works without a GitHub account, but anonymous requests are limited to 60 per hour and 10 searches per minute. To raise that to 5,000 per hour and 30 searches per minute, set a token (a fine-grained token with public repository read access is enough):
export GITHUB_TOKEN=<your-token> # GH_TOKEN also worksOpenHub relies on deterministic algorithms rather than subjective metrics to score quality, classify difficulty levels, and curate sections.
Read the full technical documentation in HOW_IT_WORKS.md.
| Shortcut | Action |
|---|---|
H |
Navigate to Home Dashboard |
B |
Browse by Use Cases |
C |
Browse Curated Collections |
S / / |
Toggle Spotlight Search palette |
I |
View Installed packages |
E |
Export Skill directly (SKILL.md & Agent definition) |
U |
Update an installed skill from its GitHub source (in Details) |
L |
View Operation History logs |
R |
Refresh cache and sync repositories |
F |
Cycle implementation type filters (in Browse mode) |
Enter |
Show Details / Install selected repository |
Esc |
Exit details / Cancel modal / Close Search |
Q |
Quit application |
openhub/
│
├── README.md # Quickstart guide, system requirements & documentation
├── HOW_IT_WORKS.md # Technical engine & scoring documentation
├── pyproject.toml # Package configuration & openhub CLI entrypoint
├── install.sh # Shell installer script
├── run.py # Standalone runner script
├── requirements.txt # Package dependencies (textual, httpx, rapidfuzz)
├── .github/
│ └── workflows/
│ ├── ci.yml # Automated test workflow on PRs
│ └── release.yml # Automated GitHub release workflow
│
└── app/
├── __init__.py
├── main.py # Main application orchestrator & background worker loop
├── cache.py # SQLite database connection manager
├── client.py # GitHub API client & caching
├── classifier.py # Heuristic classification & Quality Score algorithms
├── exporter.py # Universal SKILL.md & Agent exporter
├── installer.py # Asynchronous installation runner subprocess
├── local_skills.py # Installed skill scanner, version checks & updater
│
├── screens/ # UI Screen views
│ ├── home.py # Home Dashboard view
│ ├── browse.py # Use-case browse list view
│ ├── collections.py # Curated Lists view
│ ├── search.py # Spotlight overlay dropdown view
│ ├── details.py # Markdown readme preview & Install confirm overlays
│ └── history.py # Operations activity log view
│
└── widgets.py # Custom scannable card layout elements