launch meta-skill for cli-hub

This commit is contained in:
yuhao
2026-03-23 16:20:30 +00:00
parent 6684b5789e
commit a81d5b2c0e
6 changed files with 315 additions and 3 deletions
+96
View File
@@ -0,0 +1,96 @@
#!/usr/bin/env python3
"""Generate cli-hub-skill/SKILL.md from registry.json."""
import json
from pathlib import Path
from collections import defaultdict
def main():
repo_root = Path(__file__).parent.parent.parent
registry_path = repo_root / 'registry.json'
output_path = repo_root / 'cli-hub-skill' / 'SKILL.md'
with open(registry_path) as f:
data = json.load(f)
# Group by category
by_category = defaultdict(list)
for cli in data['clis']:
by_category[cli['category']].append(cli)
lines = [
"---",
"name: cli-anything-hub",
"description: >-",
f" Browse and install {len(data['clis'])}+ agent-native CLI tools for GUI software.",
" Covers image editing, 3D, video, audio, office, diagrams, AI, and more.",
"---",
"",
"# CLI-Anything Hub",
"",
f"Agent-native stateful CLI interfaces for {len(data['clis'])} applications. All CLIs support `--json` output, REPL mode, and undo/redo.",
"",
"## Quick Install",
"",
"```bash",
"# Install any CLI",
f"pip install git+{data['meta']['repo']}.git#subdirectory=<name>/agent-harness",
"",
"# Example: Install GIMP CLI",
f"pip install git+{data['meta']['repo']}.git#subdirectory=gimp/agent-harness",
"```",
"",
"## Available CLIs",
""
]
for category in sorted(by_category.keys()):
clis = by_category[category]
lines.append(f"### {category.title()}")
lines.append("")
lines.append("| Name | Description | Install |")
lines.append("|------|-------------|---------|")
for cli in sorted(clis, key=lambda x: x['name']):
name = cli['display_name']
desc = cli['description']
install = f"`{cli['install_cmd']}`"
lines.append(f"| **{name}** | {desc} | {install} |")
lines.append("")
lines.extend([
"## Usage Pattern",
"",
"All CLIs follow the same pattern:",
"",
"```bash",
"# Interactive REPL",
"cli-anything-<name>",
"",
"# One-shot command",
"cli-anything-<name> <group> <command> [options]",
"",
"# JSON output for agents",
"cli-anything-<name> --json <group> <command>",
"```",
"",
"## For AI Agents",
"",
"1. Install the CLI you need from the table above",
"2. Read its full SKILL.md at the repo path shown in registry.json",
"3. Always use `--json` flag for machine-readable output",
"4. Check exit codes (0=success, non-zero=error)",
"",
"## More Info",
"",
f"- Repository: {data['meta']['repo']}",
"- Web Hub: https://hkuds.github.io/CLI-Anything/",
f"- Last Updated: {data['meta']['updated']}",
])
output_path.parent.mkdir(parents=True, exist_ok=True)
output_path.write_text('\n'.join(lines) + '\n')
print(f"Generated meta-skill with {len(data['clis'])} CLIs at {output_path}")
if __name__ == '__main__':
main()
+2
View File
@@ -6,8 +6,10 @@ on:
- main
paths:
- '*/agent-harness/**'
- 'registry.json'
- '.github/workflows/deploy-pages.yml'
- '.github/scripts/update_registry_dates.py'
- '.github/scripts/generate_meta_skill.py'
workflow_dispatch:
permissions:
@@ -0,0 +1,40 @@
name: Update CLI-Hub Skill
on:
push:
branches:
- main
paths:
- 'registry.json'
- '.github/scripts/generate_meta_skill.py'
workflow_dispatch:
permissions:
contents: write
jobs:
update-skill:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Generate meta-skill
run: python3 .github/scripts/generate_meta_skill.py
- name: Commit if changed
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add cli-hub-skill/SKILL.md
if git diff --cached --quiet; then
echo "No changes to commit"
else
git commit -m "chore: auto-update cli-hub-skill/SKILL.md from registry.json"
git push
fi
+1
View File
@@ -28,6 +28,7 @@
!/codex-skill/
!/skill_generation/
!/openclaw-skill/
!/cli-hub-skill/
# Step 4: Allow each software dir (top level only)
!/gimp/
+41 -3
View File
@@ -41,17 +41,29 @@ CLI-Anything: Bridging the Gap Between AI Agents and the World's Software</stron
> Thanks to all invaluable efforts from the community! More updates continuously on the way everyday..
- **2026-03-23** 🤖 Launched **CLI-Hub meta-skill** — agents can now discover and install CLIs autonomously via [`cli-hub-skill/SKILL.md`](cli-hub-skill/SKILL.md). The catalog auto-updates from `registry.json` via GitHub Actions, making the entire marketplace agent-native.
- **2026-03-22** 🎵 **MuseScore CLI** merged with transpose, export, and instrument management. Community contributions continue expanding domain coverage.
- **2026-03-21** 🔧 Infrastructure improvements — refined test harnesses and documentation across multiple CLIs. Enhanced Windows compatibility for several backends.
- **2026-03-20** 🌐 **Novita AI** CLI added for OpenAI-compatible API access. Registry metadata improvements for better hub discovery.
- **2026-03-19** 📦 Package structure refinements across harnesses. Improved SKILL.md generation with better command documentation.
- **2026-03-18** 🧪 Test coverage expansion — additional E2E scenarios and edge case validation across multiple CLIs.
- **2026-03-17** 🌐 Launched the **[CLI-Hub](https://hkuds.github.io/CLI-Anything/)** — a central registry where you can browse, search, and install any CLI with a single `pip` command. Contributors can add new CLIs or update existing ones by simply opening a PR with a `registry.json` entry. The hub updates automatically on merge.
<details>
<summary>Earlier news</summary>
- **2026-03-16** 🤖 Added **SKILL.md generation** (Phase 6.5) — every generated CLI now ships with an AI-discoverable skill definition inside the Python package. ReplSkin auto-detects the skill file after `pip install`, and the REPL banner displays the absolute path for agents. Includes `skill_generator.py`, Jinja2 template, `package_data` in all setup.py files, and 51 new tests.
- **2026-03-15** 🐾 Support for **OpenClaw** from the community! Merged Windows `cygpath` guard to ensure CLI-Anything works reliably in Windows bash environments. Community contributions continue to strengthen cross-platform support.
- **2026-03-14** 🔒 Fixed a GIMP Script-Fu path injection vulnerability and added **Japanese README** translation. OpenCode version requirements documented alongside several Windows compatibility improvements.
<details>
<summary>Earlier news</summary>
- **2026-03-13** 🔌 **Qodercli** plugin officially merged as a community contribution with dedicated setup scripts. Codex skill gained a Windows install script, and placeholder URLs were cleaned up across the project.
- **2026-03-12** 📦 **Codex skill** integration landed, bringing CLI-Anything to yet another AI coding platform. Qodercli support was also introduced, and documentation was updated with limitations and experimental labels.
@@ -384,6 +396,32 @@ Each installed CLI ships with a [`SKILL.md`](#-skillmd-generation) inside the Py
---
## 🤖 Empower Your Agents with CLI-Hub
CLI-Hub lets agents autonomously discover and install the CLIs they need — zero human intervention required.
CLI-Anything ships a **meta-skill** at [`cli-hub-skill/SKILL.md`](cli-hub-skill/SKILL.md) that lets any AI agent browse, pick, and install from the full catalog of community CLIs — no human in the loop.
**How it works:**
1. Point your agent at the [CLI-Hub SKILL.md](https://raw.githubusercontent.com/HKUDS/CLI-Anything/main/cli-hub-skill/SKILL.md)
2. The agent reads the catalog — 20+ CLIs organized by category with one-line `pip install` commands
3. The agent installs whichever CLI fits the task, then reads that CLI's own SKILL.md for detailed usage
```bash
# Example: agent needs to edit images
# 1. Agent reads the hub skill, finds GIMP CLI under "Image"
# 2. Agent runs:
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=gimp/agent-harness
# 3. Agent uses cli-anything-gimp --json for all operations
```
The meta-skill auto-updates whenever `registry.json` changes — new community CLIs show up automatically.
> **For Claude Code users:** You can also copy [`cli-hub-skill/SKILL.md`](cli-hub-skill/SKILL.md) into your project or skills directory so Claude can discover available CLIs on its own.
---
## 💡 CLI-Anything's Vision: Building Agent-Native Software
• 🌐 **Universal Access** - Every software becomes instantly agent-controllable through structured CLI.
+135
View File
@@ -0,0 +1,135 @@
---
name: cli-anything-hub
description: >-
Browse and install 20+ agent-native CLI tools for GUI software.
Covers image editing, 3D, video, audio, office, diagrams, AI, and more.
---
# CLI-Anything Hub
Agent-native stateful CLI interfaces for 20 applications. All CLIs support `--json` output, REPL mode, and undo/redo.
## Quick Install
```bash
# Install any CLI
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=<name>/agent-harness
# Example: Install GIMP CLI
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=gimp/agent-harness
```
## Available CLIs
### 3D
| Name | Description | Install |
|------|-------------|---------|
| **Blender** | 3D modeling, animation, and rendering via blender --background --python | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=blender/agent-harness` |
### Ai
| Name | Description | Install |
|------|-------------|---------|
| **ComfyUI** | AI image generation workflow management via ComfyUI REST API | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=comfyui/agent-harness` |
| **NotebookLM** | Experimental NotebookLM harness scaffold wrapping the installed notebooklm CLI for notebook, source, chat, artifact, download, and sharing workflows | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=notebooklm/agent-harness` |
| **Novita** | Access AI models via Novita's OpenAI-compatible API (DeepSeek, GLM, MiniMax) | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=novita/agent-harness` |
| **Ollama** | Local LLM inference and model management via Ollama REST API | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=ollama/agent-harness` |
### Audio
| Name | Description | Install |
|------|-------------|---------|
| **Audacity** | Audio editing and processing via sox | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=audacity/agent-harness` |
### Communication
| Name | Description | Install |
|------|-------------|---------|
| **Zoom** | Meeting management via Zoom REST API (OAuth2) | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=zoom/agent-harness` |
### Diagrams
| Name | Description | Install |
|------|-------------|---------|
| **Draw.io** | Diagram creation and export via draw.io CLI | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=drawio/agent-harness` |
| **Mermaid** | Mermaid Live Editor state files and renderer URLs | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=mermaid/agent-harness` |
### Generation
| Name | Description | Install |
|------|-------------|---------|
| **AnyGen** | Generate docs, slides, websites and more via AnyGen cloud API | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=anygen/agent-harness` |
### Image
| Name | Description | Install |
|------|-------------|---------|
| **GIMP** | Raster image processing via gimp -i -b (batch mode) | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=gimp/agent-harness` |
| **Inkscape** | SVG vector graphics with export via inkscape --export-filename | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=inkscape/agent-harness` |
### Music
| Name | Description | Install |
|------|-------------|---------|
| **MuseScore** | CLI for music notation — transpose, export PDF/audio/MIDI, extract parts, manage instruments | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=musescore/agent-harness` |
### Network
| Name | Description | Install |
|------|-------------|---------|
| **AdGuardHome** | DNS ad-blocking and network infrastructure management via AdGuardHome REST API | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=adguardhome/agent-harness` |
### Office
| Name | Description | Install |
|------|-------------|---------|
| **LibreOffice** | Create and manipulate ODF documents, export to PDF/DOCX/XLSX/PPTX via headless mode | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=libreoffice/agent-harness` |
| **Mubu** | Knowledge management and outlining via local Mubu desktop data | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=mubu/agent-harness` |
### Streaming
| Name | Description | Install |
|------|-------------|---------|
| **OBS Studio** | Create and manage streaming/recording scenes via command line | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=obs-studio/agent-harness` |
### Video
| Name | Description | Install |
|------|-------------|---------|
| **Kdenlive** | Video editing and rendering via melt | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=kdenlive/agent-harness` |
| **Shotcut** | Video editing and rendering via melt/ffmpeg | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=shotcut/agent-harness` |
### Web
| Name | Description | Install |
|------|-------------|---------|
| **Browser** | Browser automation via DOMShell MCP server. Maps Chrome's Accessibility Tree to a virtual filesystem for agent-native navigation. | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=browser/agent-harness` |
## Usage Pattern
All CLIs follow the same pattern:
```bash
# Interactive REPL
cli-anything-<name>
# One-shot command
cli-anything-<name> <group> <command> [options]
# JSON output for agents
cli-anything-<name> --json <group> <command>
```
## For AI Agents
1. Install the CLI you need from the table above
2. Read its full SKILL.md at the repo path shown in registry.json
3. Always use `--json` flag for machine-readable output
4. Check exit codes (0=success, non-zero=error)
## More Info
- Repository: https://github.com/HKUDS/CLI-Anything
- Web Hub: https://hkuds.github.io/CLI-Anything/
- Last Updated: 2026-03-18