iflytek/skillhubPublic

Self-hosted, open-source agent skill registry for enterprises. Publish & version skill packages, govern with RBAC and audit logs, deploy on-premise with Docker or Kubernetes.

AI summary: A centralized repository of pre-trained, easily integrable AI skills and components for the iFLYTEK ecosystem.

Stars
5.1K
+-45 today
Forks
843
Watchers
61
Open issues
24
Open PRs
7
Contributors
~46
Commits
1.5K
Branches
247

JavaApache-2.0Created Mar 11, 2026Last push 3d agoLatest release v0.2.21+-22 stars this week+183 this month

Quick answers

What is skillhub?
A centralized repository of pre-trained, easily integrable AI skills and components for the iFLYTEK ecosystem.
What does skillhub do?
Skillhub serves as a comprehensive registry and runtime environment for modular AI capabilities tailored for the iFLYTEK platform. It provides developers with a vast collection of pre-trained models encompassing speech recognition, natural language processing, and computer vision, encapsulated as readily deployable 'skills'. The framework handles the complex orchestration of downloading models, managing dependencies, and exposing unified APIs, allowing developers to chain multiple skills together for complex workflows. It heavily emphasizes edge deployment, optimizing models for low-power IoT devices and embedded systems.
Who is skillhub for?
IoT developers and software engineers building applications within the iFLYTEK ecosystem who need to quickly integrate diverse, optimized AI capabilities.
How do I get started with skillhub?
skillhub install speech-recognition-v2
How popular is skillhub on GitHub?
iflytek/skillhub has 5,141 stars and 843 forks on GitHub, and gained -22 stars in the last 7 days.
What license does skillhub use?
iflytek/skillhub is released under the Apache-2.0 license.

Star history

since Jul 29, 2026
02K4KJul 2026Aug 2026Sep 2026Oct 2026
5.1K stars as of Oct 2, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 12 commits2026-03-12: 89 commits2026-03-13: 70 commits2026-03-14: 60 commits2026-03-15: 69 commits2026-03-16: 55 commits2026-03-17: 47 commits2026-03-18: 15 commits2026-03-19: 67 commits2026-03-20: 23 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 9 commits2026-03-24: 9 commits2026-03-25: 1 commit2026-03-26: 2 commits2026-03-27: 8 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 4 commits2026-03-31: 3 commits2026-04-01: 3 commits2026-04-02: 6 commits2026-04-03: 2 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 8 commits2026-04-08: 1 commit2026-04-09: 16 commits2026-04-10: 3 commits2026-04-11: 1 commit2026-04-12: 2 commits2026-04-13: 6 commits2026-04-14: 18 commits2026-04-15: 3 commits2026-04-16: 0 commits2026-04-17: 4 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 2 commits2026-04-21: 5 commits2026-04-22: 14 commits2026-04-23: 2 commits2026-04-24: 1 commit2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 29 commits2026-04-28: 10 commits2026-04-29: 13 commits2026-04-30: 3 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 9 commits2026-05-07: 5 commits2026-05-08: 3 commits2026-05-09: 9 commits2026-05-10: 0 commits2026-05-11: 5 commits2026-05-12: 13 commits2026-05-13: 6 commits2026-05-14: 6 commits2026-05-15: 2 commits2026-05-16: 4 commits2026-05-17: 0 commits2026-05-18: 13 commits2026-05-19: 3 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 1 commit2026-05-28: 1 commit2026-05-29: 1 commit2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 3 commits2026-06-02: 2 commits2026-06-03: 1 commit2026-06-04: 4 commits2026-06-05: 9 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 5 commits2026-06-09: 4 commits2026-06-10: 9 commits2026-06-11: 4 commits2026-06-12: 5 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 2 commits2026-06-16: 10 commits2026-06-17: 6 commits2026-06-18: 1 commit2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 4 commits2026-06-23: 2 commits2026-06-24: 1 commit2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 1 commit2026-06-30: 2 commits2026-07-01: 1 commit2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 1 commit2026-07-15: 1 commit2026-07-16: 1 commit2026-07-17: 2 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 1 commit2026-07-21: 3 commits2026-07-22: 5 commits2026-07-23: 2 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 1 commit2026-07-28: 24 commits2026-07-29: 14 commits2026-07-30: 5 commits2026-07-31: 7 commits2026-08-01: 0 commits2026-08-02: 1 commit2026-08-03: 0 commits2026-08-04: 9 commits2026-08-05: 0 commits2026-08-06: 5 commits2026-08-07: 7 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 1 commit2026-08-11: 3 commits2026-08-12: 1 commit2026-08-13: 2 commits2026-08-14: 0 commits2026-08-15: 2 commits2026-08-16: 2 commits2026-08-17: 1 commit2026-08-18: 1 commit2026-08-19: 0 commits2026-08-20: 2 commits2026-08-21: 5 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 8 commits2026-08-25: 5 commits2026-08-26: 8 commits2026-08-27: 11 commits2026-08-28: 13 commits2026-08-29: 7 commits2026-08-30: 1 commit2026-08-31: 8 commits2026-09-01: 13 commits2026-09-02: 5 commits2026-09-03: 23 commits2026-09-04: 26 commits2026-09-05: 0 commits2026-09-06: 2 commits2026-09-07: 3 commits2026-09-08: 17 commits2026-09-09: 23 commits2026-09-10: 16 commits2026-09-11: 1 commit2026-09-12: 0 commits2026-09-13: 4 commits2026-09-14: 0 commits2026-09-15: 0 commits2026-09-16: 0 commits2026-09-17: 9 commits2026-09-18: 10 commits2026-09-19: 1 commit2026-09-20: 0 commits2026-09-21: 8 commits2026-09-22: 5 commits2026-09-23: 1 commit2026-09-24: 0 commits2026-09-25: 0 commits2026-09-26: 0 commits
1,189 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    1,189 commits in 52 weeks

  • Well documented

    High community health score

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

What skillhub does

Skillhub serves as a comprehensive registry and runtime environment for modular AI capabilities tailored for the iFLYTEK platform. It provides developers with a vast collection of pre-trained models encompassing speech recognition, natural language processing, and computer vision, encapsulated as readily deployable 'skills'. The framework handles the complex orchestration of downloading models, managing dependencies, and exposing unified APIs, allowing developers to chain multiple skills together for complex workflows. It heavily emphasizes edge deployment, optimizing models for low-power IoT devices and embedded systems.

IoT developers and software engineers building applications within the iFLYTEK ecosystem who need to quickly integrate diverse, optimized AI capabilities.

  • Unified skill API: Exposes diverse AI models (NLP, vision, audio) through a consistent, standardized interface.
  • Automated dependency management: Handles the downloading and environment setup for complex model requirements.
  • Edge optimization: Provides quantized and pruned versions of skills specifically for IoT deployments.
  • Skill chaining: Allows routing the output of one AI skill directly into the input of another.
  • Centralized registry: Offers a searchable hub of community and officially supported iFLYTEK capabilities.

Where teams use it

Voice-enabled IoT devices

Quickly integrating offline speech recognition and intent parsing into smart home hardware.

Multimodal applications

Chaining a computer vision skill with a text-to-speech skill to describe visual scenes aloud.

Rapid AI prototyping

Testing complex AI workflows without manually training models or managing complex ML environments.

Edge computing deployment

Pushing optimized, low-latency AI capabilities directly to resource-constrained devices.

Getting started: skillhub install speech-recognition-v2

README

main branch
SkillHub Logo

SkillHub

An enterprise-grade, open-source agent skill registry — publish, discover, and manage reusable skill packages across your organization.

DeepWiki Docs Discord License Build Docker Java React

GitHub Stars GitHub Watchers

iflytek%2Fskillhub | Trendshift  AAIF Associate Member


SkillHub Demo

SkillHub is a self-hosted platform that gives teams a private, governed place to share agent skills. Publish a skill package, push it to a namespace, and let others find it through search or install it via CLI. Built for on-premise deployment behind your firewall, with the same polish you'd expect from a public registry.

⭐ If SkillHub fits your team, star the repo to help other teams find it, and Watch → Custom → Releases to get notified when a new version ships.

Share Great Skills

Great Skills become more valuable when they are shared. If you have a Skill that has proved useful in real work or everyday life, share it with the SkillHub community and help grow an open, practical Skill ecosystem. We welcome Skills for daily life, office work, learning and research, travel and events, content creation, data analysis, and software development—not only engineering workflows.

High-quality community contributions may join the curated starter collection, making new SkillHub deployments useful from day one. You do not need to finish the full adaptation before joining in: open an issue with the Skill's source and the problem it solves, or submit a PR by following the Skill sharing guide.

Documentation

  • 📖 User Guide — Skill publishing, search, CLI usage and other user guides
  • 🛠️ Developer Docs — Architecture, API reference, local development, deployment and operations
  • 🐍 Python Examples — Search, download, and publish skills from Python via the REST API

Governance and Safety

  • Privacy and Data Governance — Data categories, operator responsibilities, retention, portability, and incident handling for public and self-hosted instances
  • Content Safety — Package safety expectations, review and reporting controls, appeals, and child-safety responsibilities
  • Code of Conduct — Community standards and the private reporting channel
  • Security Policy — Private vulnerability reporting and coordinated disclosure

Highlights

  • Self-Hosted & Private — Deploy on your own infrastructure. Keep proprietary skills behind your firewall with full data sovereignty. One make dev-all command to get running locally.
  • Publish & Version — Upload agent skill packages with semantic versioning, custom tags (beta, stable), and automatic latest tracking.
  • Discover — Full-text search with filters by namespace, downloads, ratings, and recency. Visibility rules ensure users only see what they're authorized to.
  • Team Namespaces — Organize skills under team or global scopes. Each namespace has its own members, roles (Owner / Admin / Member), and publishing policies.
  • Review & Governance — Team admins review within their namespace; platform admins gate promotions to the global scope. Governance actions are audit-logged for compliance.
  • Social Features — Star skills, rate them, and track downloads. Build a community around your organization's best practices.
  • Account Merging — Consolidate multiple OAuth identities and API tokens under a single user account.
  • API Token Management — Generate scoped tokens for CLI and programmatic access with prefix-based secure hashing.
  • CLI-First — Native REST API plus a compatibility layer for existing ClawHub-style registry clients. Native CLI APIs are the primary supported path while protocol compatibility continues to expand.
  • Pluggable Storage — Local filesystem for development, S3 / MinIO for production. Swap via config.
  • Internationalization — Multi-language support with i18next.

Quick Start

Start the full local stack with:

rm -rf /tmp/skillhub-runtime
curl -fsSL https://imageless.oss-cn-beijing.aliyuncs.com/runtime.sh | sh -s -- up

The default command pulls the latest stable release images. Use --version edge if you want the newest build from main.

Configure public URL (recommended for production):

curl -fsSL https://imageless.oss-cn-beijing.aliyuncs.com/runtime.sh | sh -s -- up --public-url https://skillhub.your-company.com

The --public-url parameter sets the public access URL for your SkillHub instance. This ensures:

  • CLI install commands show the correct registry URL
  • Agent setup instructions display the correct skill.md URL
  • OAuth callbacks and device auth links work properly

For users in China (Aliyun mirror):

curl -fsSL https://imageless.oss-cn-beijing.aliyuncs.com/runtime.sh | sh -s -- up --aliyun --public-url https://skillhub.your-company.com --version latest

If deployment runs into problems, clear the existing runtime home and retry.

SkillHub CLI

Install and manage Agent skills from the command line:

# Install CLI
npm install -g @astron-team/skillhub

# Or run directly
npx @astron-team/skillhub@latest version

# Login
skillhub login --token sk_xxx --registry https://skill.xfyun.cn

# Search and install skills
skillhub search pdf
skillhub install pdf-parser --agent codex

# List installed skills
skillhub list

📖 Full guide: docs/skillhub/en/guide/cli.md

Prerequisites

  • Docker & Docker Compose

Local Development

make dev-all

For developers in China: If Maven dependency download times out, configure Aliyun mirror. See Local Development Guide for details.

Then open:

  • Web UI: http://localhost:3000
  • Backend API: http://localhost:8080

By default, make dev-all starts the backend with the local profile. In that mode, local development keeps the mock-auth users below and also creates a password-based bootstrap admin account by default:

  • local-user for normal publishing and namespace operations
  • local-admin with SUPER_ADMIN for review and admin flows

Use them with the X-Mock-User-Id header in local development.

The local bootstrap admin is enabled by default in application-local.yml:

  • username: admin
  • password: ChangeMe!2026
  • To disable it, set BOOTSTRAP_ADMIN_ENABLED=false before starting the backend.

Stop everything with:

make dev-all-down

Reset local dependencies and start from a clean slate with:

make dev-all-reset

Run make help to see all available commands.

Useful backend commands:

make test
make test-backend-app
make build-backend-app

Do not run ./mvnw -pl skillhub-app clean test directly under server/. skillhub-app depends on sibling modules in the same repo, and a standalone clean build can fall back to stale artifacts from the local Maven repository, which surfaces misleading cannot find symbol and signature-mismatch errors. Use -am, or the make test-backend-app and make build-backend-app targets above.

For the full development workflow (local dev → staging → PR), see docs/dev-workflow.md.

API Contract Sync

OpenAPI types for the web client are checked into the repository. When backend API contracts change, regenerate the SDK and commit the updated generated file:

make generate-api

For a stricter end-to-end drift check, run:

./scripts/check-openapi-generated.sh

This starts local dependencies, boots the backend, regenerates the frontend schema, and fails if the checked-in SDK is stale.

Container Runtime

Published runtime images are built by GitHub Actions and pushed to GHCR. This is the supported path for anyone who wants a ready-to-use local environment without building the backend or frontend on their machine. Published server and web images target linux/amd64, linux/arm64, and linux/riscv64; the scanner image currently targets linux/amd64 and linux/arm64.

Quick deployment with curl:

# Default (GHCR images)
curl -fsSL https://imageless.oss-cn-beijing.aliyuncs.com/runtime.sh | sh -s -- up --public-url https://skillhub.your-company.com

# Aliyun mirror (recommended for users in China)
curl -fsSL https://imageless.oss-cn-beijing.aliyuncs.com/runtime.sh | sh -s -- up --aliyun --public-url https://skillhub.your-company.com --version latest

Deployment parameters:

Parameter Description Example
--public-url <url> Public access URL (recommended) --public-url https://skill.example.com
--version <tag> Specific image tag --version v0.2.0
--aliyun Use Aliyun mirror (China) --aliyun
--home <dir> Runtime directory --home /opt/skillhub
--no-scanner Disable security scanner --no-scanner

Important: Configure --public-url for production deployments to ensure CLI install commands and Agent setup instructions display the correct URLs.

For sub-path deployments, keep the public URL and runtime base path aligned in .env.release: set SKILLHUB_PUBLIC_BASE_URL=https://skill.example.com/skillhub, SKILLHUB_WEB_BASE_PATH=/skillhub/, and SKILLHUB_WEB_API_BASE_URL=/skillhub.

Manual deployment:

  1. Copy the runtime environment template.
  2. Pick an image tag.
  3. Start the stack with Docker Compose.
cp .env.release.example .env.release

Recommended image tags:

  • SKILLHUB_VERSION=latest for the latest stable release (default)
  • SKILLHUB_VERSION=edge for the latest main build
  • SKILLHUB_VERSION=vX.Y.Z for a fixed release

Start the runtime:

make validate-release-config
docker compose --env-file .env.release -f compose.release.yml up -d

Then open:

  • Web UI: SKILLHUB_PUBLIC_BASE_URL 对应的地址
  • Backend API: http://localhost:8080

Stop it with:

docker compose --env-file .env.release -f compose.release.yml down

The runtime stack uses its own Compose project name, so it does not collide with containers from make dev-all.

The production Compose stack now defaults to the docker profile only. It does not enable local mock auth. The release template (.env.release.example) enables the bootstrap admin by default, so zero-config quickstart via runtime.sh works out of the box:

  • username: admin
  • password: ChangeMe!2026

Recommended production baseline:

  • set SKILLHUB_PUBLIC_BASE_URL to the final HTTPS entrypoint
  • if the service is published under a sub-path such as /skillhub/, set SKILLHUB_WEB_BASE_PATH=/skillhub/ and SKILLHUB_WEB_API_BASE_URL=/skillhub as well
  • keep PostgreSQL / Redis bound to 127.0.0.1
  • use external S3 / OSS via SKILLHUB_STORAGE_S3_*
  • change BOOTSTRAP_ADMIN_PASSWORD to a strong password (validate-release-config.sh rejects the default ChangeMe!2026)
  • rotate or disable the bootstrap admin after initial setup
  • run make validate-release-config before docker compose up -d

If the GHCR package remains private, run docker login ghcr.io before docker compose up -d.

Upload Allowlist Override

Skill package upload validation uses the default extension allowlist from SkillPackagePolicy.java. SkillPublishProperties uses that same list by default for skillhub.publish.allowed-file-extensions.

If you need to replace the default allowlist at runtime, set:

SKILLHUB_PUBLISH_ALLOWED_FILE_EXTENSIONS=.md,.json,.xsd,.xsl,.dtd,.docx,.xlsx,.pptx

Spring Boot binds this environment variable to skillhub.publish.allowed-file-extensions. When set, it replaces the default allowlist instead of appending to it.

Monitoring

A Prometheus + Grafana monitoring stack lives under monitoring/. It scrapes the backend's Actuator Prometheus endpoint.

Start it with:

cd monitoring
docker compose -f docker-compose.monitoring.yml up -d

Then open:

  • Prometheus: http://localhost:9090
  • Grafana: http://localhost:3001 (admin / admin)

By default Prometheus scrapes http://host.docker.internal:8080/actuator/prometheus, so start the backend locally on port 8080 first.

Kubernetes

Basic Kubernetes manifests are available under deploy/k8s/:

  • configmap.yaml
  • secret.yaml.example
  • backend-deployment.yaml
  • frontend-deployment.yaml
  • services.yaml
  • ingress.yaml

For a configurable deployment with bundled PostgreSQL and Redis dependencies, use the Helm chart under charts/skillhub/:

helm dependency build ./charts/skillhub
helm upgrade --install skillhub ./charts/skillhub \
  --namespace skillhub \
  --create-namespace \
  -f values-production.yaml

See the Helm chart guide for required secrets, Ingress/TLS, external data services, storage migration, and upgrade constraints.

Apply them after creating your own secret:

kubectl apply -f deploy/k8s/configmap.yaml
kubectl apply -f deploy/k8s/secret.yaml
kubectl apply -f deploy/k8s/backend-deployment.yaml
kubectl apply -f deploy/k8s/frontend-deployment.yaml
kubectl apply -f deploy/k8s/services.yaml
kubectl apply -f deploy/k8s/ingress.yaml

Smoke Test

A lightweight smoke test script is available at scripts/smoke-test.sh.

Run it against a local backend:

./scripts/smoke-test.sh http://localhost:8080

Local Compose and staging runs can keep using one backend URL. For an ingress deployment where the public URL exposes application APIs but keeps Actuator on the backend service, set a separate Actuator target:

ACTUATOR_BASE_URL=http://skillhub-server:8080 \
  ./scripts/smoke-test.sh https://skillhub.example.com

The health check requires an Actuator JSON response, so an HTML SPA fallback is reported as a routing or target error instead of a successful health response.

Admin label-management smoke checks run only when current admin credentials are supplied explicitly:

SMOKE_ADMIN_USERNAME=admin SMOKE_ADMIN_PASSWORD='current-password' \
  ./scripts/smoke-test.sh http://localhost:8080

Use SMOKE_ADMIN_CHECKS=false for persistent environments where only non-admin smoke checks should run. The script no longer falls back to bootstrap admin password defaults.

Architecture

┌─────────────┐     ┌─────────────┐     ┌──────────────┐
│   Web UI    │     │  CLI Tools  │     │  REST API    │
│  (React 19) │     │             │     │              │
└──────┬──────┘     └──────┬──────┘     └──────┬───────┘
       │                   │                   │
       └───────────────────┼───────────────────┘
                           │
                    ┌──────▼──────┐
                    │   Nginx     │
                    └──────┬──────┘
                           │
                    ┌──────▼──────┐
                    │ Spring Boot │  Auth · RBAC · Core Services
                    │   (Java 21) │  OAuth2 · API Tokens · Audit
                    └──────┬──────┘
                           │
              ┌────────────┼────────────┐
              │            │            │
       ┌──────▼───┐  ┌─────▼────┐  ┌────▼────┐
       │PostgreSQL│  │  Redis   │  │ Storage │
       │    16    │  │    7     │  │ S3/MinIO│
       └──────────┘  └──────────┘  └─────────┘

Backend (Spring Boot 3.2.3, Java 21):

  • Multi-module Maven project with clean architecture
  • Modules: app, domain, auth, search, storage, infra
  • PostgreSQL 16 with Flyway migrations
  • Redis for session management
  • S3/MinIO for skill package storage

Frontend (React 19, TypeScript, Vite):

  • TanStack Router for routing
  • TanStack Query for data fetching
  • Tailwind CSS + Radix UI for styling
  • OpenAPI TypeScript for type-safe API client
  • i18next for internationalization

SkillHub and the Agent Skills Ecosystem

SkillHub is a registry and governance platform — not a skill collection. It is complementary to open skill catalogs such as anthropics/skills: that repository popularized the Agent Skill format (a SKILL.md with name / description frontmatter plus supporting files) and ships a curated set of example skills. SkillHub is where your organization hosts, versions, governs, and distributes those skills privately.

anthropics/skills SkillHub
What it is A curated collection of example Agent Skills + the format spec A self-hosted registry & governance platform for skills
Layer Content — the skills themselves Infrastructure — hosting, versioning, discovery, access control
Hosting Public GitHub repository Your own infrastructure, behind your firewall
Versioning Git history Semantic versions, tags (beta / stable), latest tracking
Access control Public Namespaces, RBAC, review & audit logging
Distribution Clone / copy files Full-text search + CLI install

Because SkillHub speaks the same SKILL.md format, skills from anthropics/skills — or any Agent Skill folder — publish straight into your registry:

# Grab a skill from an open collection...
git clone https://github.com/anthropics/skills

# ...and publish it into your private SkillHub registry
export SKILLHUB_REGISTRY=https://skillhub.your-company.com
export SKILLHUB_TOKEN=YOUR_API_TOKEN
npx @astron-team/skillhub@latest publish ./skills/<category>/<skill-name>

⚖️ Licensing: honor each skill's own license when republishing. Most skills in anthropics/skills are Apache 2.0, but the document skills (DOCX/PDF/PPTX/XLSX) are source-available rather than open source — check the skill's LICENSE before redistributing.

In short: use collections like anthropics/skills for content, and SkillHub to distribute it across your organization under governance.

Usage with Agent Platforms

SkillHub works as a skill registry backend for several agent platforms. Point any of the clients below at your SkillHub instance to publish, discover, and install skills.

OpenClaw is an open-source agent skill CLI. Configure it to use your SkillHub endpoint as the registry:

# Configure registry URL
export CLAWHUB_REGISTRY=https://skillhub.your-company.com

# Authenticate once if needed
clawhub login --token YOUR_API_TOKEN

# Search and install skills
npx clawhub search email
npx clawhub install my-skill
npx clawhub install my-namespace--my-skill

# Publishing uses the first-party SkillHub CLI
export SKILLHUB_REGISTRY=https://skillhub.your-company.com
export SKILLHUB_TOKEN=YOUR_API_TOKEN
npx @astron-team/skillhub@latest publish ./my-skill --namespace my-space

my-space--my-skill is the canonical compat slug. SkillHub parses it as namespace my-space plus skill slug my-skill.

ClawHub compatibility covers search, inspection, and installation. Its publish protocol is not compatible with SkillHub; use the first-party CLI shown above.

💡 Tip: The above commands are not only applicable to OpenClaw, but also to other CLI Coding Agents or Agent assistants by specifying the installation directory (--dir). For example: npx clawhub --dir ~/.claude/skills install my-skill

📖 Complete OpenClaw Integration Guide →

Hermes Agent uses the standard SKILL.md format and recursively discovers skills under $HERMES_HOME/skills/. Use SkillHub CLI's explicit --dir option to install a complete SkillHub package into Hermes without a registry adapter, then verify it with hermes skills list.

📖 Complete Hermes Agent Integration Guide →

DeepSeek Harness (dsh) discovers standard SKILL.md packages from .dsh/skills and the shared .agents/skills roots. Install directly into its native user directory with the first-party SkillHub CLI:

skillhub install my-skill --agent dsh --scope user

Project-scoped installs use <repository>/.dsh/skills; run them from the repository root. dsh watches its skill roots, so newly installed skills are discovered without restarting the process.

📖 Complete DeepSeek Harness Integration Guide →

HarnessClaw Engine is a Go LLM programming assistant engine that exposes its capabilities over WebSocket. It loads skills from SKILL.md files with YAML frontmatter and parameter substitution, scanning each configured directory for skill-name/SKILL.md (default ~/.harnessclaw/workspace/skills/, with earlier directories taking priority on name conflicts). Install a SkillHub package straight into that directory with the CLI's --dir option, no registry adapter required:

npx clawhub --dir ~/.harnessclaw/workspace/skills install my-skill

AstronClaw is a cloud AI assistant built on OpenClaw's core capabilities, providing 24/7 online service through enterprise platforms like WeChat Work, DingTalk, and Feishu. It features a built-in skill system with over 130 official skills. You can connect it to a self-hosted SkillHub registry to enable one-click skill installation, search repository, dialogue-based automatic installation, and even custom skills management within your organization.

Loomy is a desktop AI work partner focusing on real office scenarios. It integrates deeply with local files and system tools to build efficient automated workflows for individuals and small teams. By connecting Loomy to your SkillHub registry, you can easily discover and install organization-specific skills to enhance your local desktop automation and productivity.

astron-agent is the iFlytek Astron agent framework. Skills stored in SkillHub can be referenced and loaded by astron-agent, enabling a governed, versioned skill lifecycle from development to production.

Related Projects

SkillHub is part of the iFlytek Astron open-source ecosystem. If SkillHub is useful to you, these sibling projects may be too:

  • astron-agent — Enterprise-grade, commercial-friendly agentic workflow platform for building next-generation SuperAgents. Skills published to SkillHub can be loaded and run by astron-agent.
  • astron-rpa — Agent-ready RPA suite with out-of-the-box automation tools, built for individuals and enterprises.

🌟 Show & Tell — Have you built something with SkillHub? We'd love to hear about it! Share your use case, integration, or deployment story in the Discussions → Show and Tell category.

Contributing

Contributions are welcome. Please open an issue first to discuss what you'd like to change.

📞 Support

License

Apache License 2.0

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 4

Releases and announcements

28 total
  1. v0.2.21v0.2.21Sep 19, 2026

    # SkillHub v0.2.21 SkillHub adds two-stage Suite Bundle publishing, expands CLI authentication and agent targeting, and lays a LEGACY-gated foundation for unified enterprise identity. ## 🌟 Highlights - Publish and update Suite Bundles from one archive with side-effect-free preview, explicit confirmation, recovery, labels, and member diff visibility. - Sign in to the SkillHub CLI through OAuth Device Flow and install Skills directly for Pi agents. - Route public OAuth through a LEGACY/SHADOW/ACTIVE unified identity core foundation while preserving legacy behavior by default. ## 🚨 Breaking Changes ⚠️ No intentional breaking API or installation change is included. Operators should still back up PostgreSQL before upgrading because Flyway V54-V65 are applied automatically. OAuth's default post-login fallback now lands on `/` instead of `/dashboard`; deployments depending on the previous implicit fallback should set an explicit return target. Complete Suite Bundle confirmation requires `SKILLHUB_SUITE_BUNDLE_CONFIRMATION_ENABLED=true` and `SKILLHUB_SUITE_REVIEW_WRITES_ENABLED=true`. ## ✨ Features - Add two-stage Suite Bundle publishing from ZIP/folder uploads, in

  2. v0.2.20v0.2.20Sep 13, 2026

    # SkillHub v0.2.20 SkillHub now supports versioned Skill Suites, a clearer marketplace and console experience, and a broader reviewed starter collection. ## 🌟 Highlights - Bundle ordered, exact Skill versions into independently versioned Skill Suites, with typed discovery, lifecycle management, review flows, and availability checks. - Navigate a clearer Skill Marketplace and Suite Marketplace, with My Skills and My Suites consolidated into the dashboard and paginated portal lists. - Install from an expanded reviewed starter collection, including SandBase MCP, Zero Slop, Cue Omni Reader, and the first-party SkillHub CLI guide. ## ✨ Features - Add first-class Skill Suites with immutable published snapshots, exact member versions, Entry Skills, idempotent install plans, and Web management and review flows by @XiaoSeS in [#828](https://github.com/iflytek/skillhub/pull/828). - Unify the landing page, dashboard, settings, responsive navigation, and paginated namespace and Skill lists by @XiaoSeS in [#825](https://github.com/iflytek/skillhub/pull/825). - Restore the public Suite marketplace and reorganize marketplace, dashboard, and account navigation by @XiaoSeS in [#855](https://g

  3. CLI 0.1.12cli-v0.1.12Sep 9, 202612 downloads

    # SkillHub CLI 0.1.12 ## Installation ### npm ```bash npm install -g @astron-team/skillhub@0.1.12 ``` ### From source Download and extract the archive, then: ```bash npm install -g . ``` ## Verify installation ```bash skillhub version ``` ## Changes See commit history for details.

  4. v0.2.19v0.2.19Sep 4, 2026

    # SkillHub v0.2.19 Review progress and user feedback are now visible in-product, failed security scans are recoverable, and upgrade and agent-install flows are safer. ## 🌟 Highlights - Authors can track review attempts and resubmit rejected versions, while users can leave text reviews and administrators can moderate them. - Security scanning now bounds unavailable-task recovery and lets authorized users safely retry terminal failed scans. - Skill details provide an install-for-agent prompt, the starter collection adds the pinned HOL Guard plugin scanner, and CLI 0.1.11 adds explicit, source-safe upgrade and namespace-sync behavior. ## ✨ Features - Add author-facing review progress, durable attempt history, rejected-version resubmission, and persistent light/dark themes by @XiaoSeS in [#791](https://github.com/iflytek/skillhub/pull/791). - Add public text reviews to skill ratings, current-user editing, and audited administrator moderation by @XiaoSeS in [#793](https://github.com/iflytek/skillhub/pull/793). - Add a permission-checked, idempotent retry flow for terminal `SCAN_FAILED` versions by @XiaoSeS in [#811](https://github.com/iflytek/skillhub/pull/811). - Add a localized

  5. CLI 0.1.11cli-v0.1.11Sep 4, 202614 downloads

    # SkillHub CLI 0.1.11 ## Installation ### npm ```bash npm install -g @astron-team/skillhub@0.1.11 ``` ### From source Download and extract the archive, then: ```bash npm install -g . ``` ## Verify installation ```bash skillhub version ``` ## Changes See commit history for details.

Code frequency

additions and deletions
+94.8K-94.8KWeek of 2026-03-08: +94,817 linesWeek of 2026-03-08: -16,254 linesWeek of 2026-03-15: +71,156 linesWeek of 2026-03-15: -12,617 linesWeek of 2026-03-22: +26,155 linesWeek of 2026-03-22: -1,883 linesWeek of 2026-03-29: +10,085 linesWeek of 2026-03-29: -1,115 linesWeek of 2026-04-05: +8,712 linesWeek of 2026-04-05: -380 linesWeek of 2026-04-12: +10,104 linesWeek of 2026-04-12: -814 linesWeek of 2026-04-19: +2,755 linesWeek of 2026-04-19: -80 linesWeek of 2026-04-26: +8,459 linesWeek of 2026-04-26: -166 linesWeek of 2026-05-03: +7,622 linesWeek of 2026-05-03: -827 linesWeek of 2026-05-10: +9,083 linesWeek of 2026-05-10: -1,185 linesWeek of 2026-05-17: +1,139 linesWeek of 2026-05-17: -332 linesWeek of 2026-05-24: +768 linesWeek of 2026-05-24: -631 linesWeek of 2026-05-31: +7,223 linesWeek of 2026-05-31: -3,221 linesWeek of 2026-06-07: +5,106 linesWeek of 2026-06-07: -1,512 linesWeek of 2026-06-14: +2,179 linesWeek of 2026-06-14: -707 linesWeek of 2026-06-21: +2,128 linesWeek of 2026-06-21: -366 linesWeek of 2026-06-28: +368 linesWeek of 2026-06-28: -29 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +1,699 linesWeek of 2026-07-12: -203 linesWeek of 2026-07-19: +905 linesWeek of 2026-07-19: -10 linesWeek of 2026-07-26: +27,052 linesWeek of 2026-07-26: -1,457 linesWeek of 2026-08-02: +10,699 linesWeek of 2026-08-02: -854 linesWeek of 2026-08-09: +7,035 linesWeek of 2026-08-09: -182 linesWeek of 2026-08-16: +7,062 linesWeek of 2026-08-16: -262 linesWeek of 2026-08-23: +8,595 linesWeek of 2026-08-23: -3,949 linesWeek of 2026-08-30: +17,226 linesWeek of 2026-08-30: -3,360 linesWeek of 2026-09-06: +33,279 linesWeek of 2026-09-06: -10,919 linesWeek of 2026-09-13: +39,637 linesWeek of 2026-09-13: -1,245 linesWeek of 2026-09-20: +5,537 linesWeek of 2026-09-20: -111 linesMar 8, 2026Sep 20, 2026
+426.6K lines added, -64.7K removed over the last year.

Commits per week

last 52 weeks
2760Week of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 231 commitsWeek of 2026-03-15: 276 commitsWeek of 2026-03-22: 29 commitsWeek of 2026-03-29: 18 commitsWeek of 2026-04-05: 29 commitsWeek of 2026-04-12: 33 commitsWeek of 2026-04-19: 24 commitsWeek of 2026-04-26: 55 commitsWeek of 2026-05-03: 26 commitsWeek of 2026-05-10: 36 commitsWeek of 2026-05-17: 16 commitsWeek of 2026-05-24: 3 commitsWeek of 2026-05-31: 19 commitsWeek of 2026-06-07: 27 commitsWeek of 2026-06-14: 19 commitsWeek of 2026-06-21: 7 commitsWeek of 2026-06-28: 4 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 5 commitsWeek of 2026-07-19: 11 commitsWeek of 2026-07-26: 51 commitsWeek of 2026-08-02: 22 commitsWeek of 2026-08-09: 9 commitsWeek of 2026-08-16: 11 commitsWeek of 2026-08-23: 52 commitsWeek of 2026-08-30: 76 commitsWeek of 2026-09-06: 62 commitsWeek of 2026-09-13: 24 commitsWeek of 2026-09-20: 14 commitsSep 27, 2025Sep 20, 2026
1.2K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 1 commitsSun 3:00 — 0 commitsSun 4:00 — 2 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 1 commitsSun 13:00 — 27 commitsSun 14:00 — 5 commitsSun 15:00 — 5 commitsSun 16:00 — 7 commitsSun 17:00 — 9 commitsSun 18:00 — 5 commitsSun 19:00 — 11 commitsSun 20:00 — 7 commitsSun 21:00 — 1 commitsSun 22:00 — 0 commitsSun 23:00 — 0 commitsMon 0:00 — 1 commitsMon 1:00 — 1 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 1 commitsMon 7:00 — 0 commitsMon 8:00 — 1 commitsMon 9:00 — 3 commitsMon 10:00 — 5 commitsMon 11:00 — 15 commitsMon 12:00 — 8 commitsMon 13:00 — 10 commitsMon 14:00 — 23 commitsMon 15:00 — 9 commitsMon 16:00 — 32 commitsMon 17:00 — 31 commitsMon 18:00 — 5 commitsMon 19:00 — 8 commitsMon 20:00 — 7 commitsMon 21:00 — 7 commitsMon 22:00 — 0 commitsMon 23:00 — 2 commitsTue 0:00 — 1 commitsTue 1:00 — 2 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 1 commitsTue 9:00 — 8 commitsTue 10:00 — 19 commitsTue 11:00 — 42 commitsTue 12:00 — 14 commitsTue 13:00 — 14 commitsTue 14:00 — 31 commitsTue 15:00 — 18 commitsTue 16:00 — 15 commitsTue 17:00 — 17 commitsTue 18:00 — 5 commitsTue 19:00 — 18 commitsTue 20:00 — 9 commitsTue 21:00 — 1 commitsTue 22:00 — 2 commitsTue 23:00 — 0 commitsWed 0:00 — 0 commitsWed 1:00 — 1 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 2 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 8 commitsWed 10:00 — 13 commitsWed 11:00 — 10 commitsWed 12:00 — 5 commitsWed 13:00 — 5 commitsWed 14:00 — 11 commitsWed 15:00 — 16 commitsWed 16:00 — 28 commitsWed 17:00 — 19 commitsWed 18:00 — 10 commitsWed 19:00 — 4 commitsWed 20:00 — 8 commitsWed 21:00 — 1 commitsWed 22:00 — 5 commitsWed 23:00 — 8 commitsThu 0:00 — 7 commitsThu 1:00 — 9 commitsThu 2:00 — 10 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 1 commitsThu 7:00 — 2 commitsThu 8:00 — 0 commitsThu 9:00 — 15 commitsThu 10:00 — 25 commitsThu 11:00 — 16 commitsThu 12:00 — 1 commitsThu 13:00 — 11 commitsThu 14:00 — 15 commitsThu 15:00 — 23 commitsThu 16:00 — 22 commitsThu 17:00 — 37 commitsThu 18:00 — 32 commitsThu 19:00 — 14 commitsThu 20:00 — 23 commitsThu 21:00 — 11 commitsThu 22:00 — 7 commitsThu 23:00 — 1 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 2 commitsFri 10:00 — 27 commitsFri 11:00 — 38 commitsFri 12:00 — 6 commitsFri 13:00 — 17 commitsFri 14:00 — 26 commitsFri 15:00 — 32 commitsFri 16:00 — 24 commitsFri 17:00 — 17 commitsFri 18:00 — 5 commitsFri 19:00 — 5 commitsFri 20:00 — 1 commitsFri 21:00 — 0 commitsFri 22:00 — 1 commitsFri 23:00 — 1 commitsSat 0:00 — 0 commitsSat 1:00 — 1 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 1 commitsSat 7:00 — 0 commitsSat 8:00 — 3 commitsSat 9:00 — 2 commitsSat 10:00 — 1 commitsSat 11:00 — 4 commitsSat 12:00 — 1 commitsSat 13:00 — 9 commitsSat 14:00 — 3 commitsSat 15:00 — 10 commitsSat 16:00 — 5 commitsSat 17:00 — 7 commitsSat 18:00 — 4 commitsSat 19:00 — 22 commitsSat 20:00 — 10 commitsSat 21:00 — 1 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jul 18, 2026daily#18+4
  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    391.3K stars · TypeScript

  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    295.2K stars · Shell

  • NousResearch/hermes-agent

    The agent that grows with you

    251.2K stars · Python

  • farion1231/cc-switch

    A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

    140K stars · Rust

  • krahets/hello-algo

    《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語,提供 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 等代码实现

    130.6K stars · Java

  • Graphify-Labs/graphify

    Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.

    123.7K stars · Python