LLMRix Skill Plugin Library
llmrix-skill is a professional Git-based Skill and plugin management framework designed for LLM Agents. It encapsulates the complex logic of publishing, versioning, and syncing code, prompts, and tools into an out-of-the-box plugin library, allowing developers to focus on building core Agent logic.
Core Features
As the foundational plugin library for an Agent framework, it provides the following capabilities:
- Git-Driven Plugin Market: Uses Git repositories as the Single Source of Truth (SSOT) to achieve skill persistence, version tracing, and change tracking.
- Out-of-the-box Dual Mode Architecture:
- Worker Mode (Execution): Pure lightweight synchronization, responsible for pulling skills from remote repositories to local storage for high-speed loading by Agent instances.
- Management Mode (Admin): Integrates with databases to support multi-tenant authentication, skill publishing, metadata parsing, and version rollbacks.
- Dynamic Metadata Parsing: Automatically parses and validates
SKILL.md(YAML Frontmatter) in the skill package to extract the plugin name, description, and category. - Concurrency & Safety: Built-in distributed file lock mechanism to prevent file state race conditions during high-concurrency publishing and pulling.
Quick Usage Guide
Installation
You can integrate this plugin library into your Agent project via pip:
pip install llmrix-skill
Scene 1: Syncing Plugins on Agent Execution Node (Worker Mode)
In your Agent execution environment (such as background task nodes, or upon container startup), configure a specific branch to pull the latest skills for model invocation.
from llmrix.skill import GitSkillManager
def sync_skills_for_agent():
# Initialize the Manager, configuring the remote repository and target branch
manager = GitSkillManager(
repo_url="https://github.com/your-org/skill-repo.git",
branch="develop", # Highly recommended: specify the branch to pull (e.g., main/develop/v1)
workspace="/path/to/local/cache" # Local cache path
)
# Execute sync, returning the absolute filesystem path where the skills are located
skills_path = manager.sync()
print(f"✅ Skill plugins synced to: {skills_path}")
# You can now dynamically load modules under skills_path in your Agent framework
Scene 2: Web Server Management & Publishing (Management Mode)
In your Web API service (such as FastAPI/Django plugin market backend), use GitSkillManager to handle user uploads, publishing, and version rollbacks. It encapsulates database persistence and concurrent file locking.
from llmrix.skill import GitSkillManager
from llmrix.skill import MySQLStorage
# 1. Configure the database adapter
def get_db_connection():
# Return a pymysql/MySQLdb connection object
pass
storage = MySQLStorage(connection_factory=get_db_connection)
# 2. Initialize the Manager, dedicated for the management end
manager = GitSkillManager(
repo_url="git@github.com:your-org/skill-repo.git",
storage=storage
)
# 3. Publish user-uploaded skills
def publish_user_skill(user_id, uploaded_dir):
skill = manager.publish(
code="python_interpreter", # Unique skill code
source_dir=uploaded_dir, # Unzipped directory uploaded by the user
user_id=user_id, # Current operating user ID (for auth)
message="Initial release"
)
print(f"🚀 Publish successful: {skill.name} v{skill.version}")
# 4. Version Rollback
def rollback_skill(user_id):
skill = manager.rollback(
code="python_interpreter",
target_version=1,
user_id=user_id,
message="Revert due to bugs"
)
Skill Package Specification
A standard skill plugin package is a directory containing the following files:
my_awesome_skill/
├── SKILL.md # Skill description and metadata (Required)
├── main.py # Core logic (Recommended)
└── requirements.txt # Dependencies (Optional)
SKILL.md must contain a valid YAML Frontmatter header:
---
name: Web Scraper Pro
description: Powerful web scraping tool, supports dynamic rendering.
category: Web & Search
---
Detailed Markdown documentation about this skill goes here...
Module Architecture
You can directly import the required submodules for lower-level extensions:
llmrix.skill.services: ContainsGitSkillManager,SkillPublisher, andSkillSyncer.llmrix.skill.storage: ContainsBaseStorageandMySQLStorage. InheritBaseStorageto implement your own MongoDB or PostgreSQL adapters.llmrix.skill.git: Low-level Git driver libraryGitRepository.llmrix.skill.models: Data modelsSkillandSkillVersion.
Metadata
Release files for llmrix-skill 0.2.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llmrix_skill-0.2.10.tar.gz | 19.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llmrix_skill-0.2.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.0 kB
Release files / llmrix_skill-0.2.10.tar.gz
| Download URL | llmrix_skill-0.2.10.tar.gz |
|---|---|
| Size | 19.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
751c374c78d876518b8d93a58728668df08f4ce17c90f23baac558a12c67067b
|
|
BLAKE2b-256 checksum How to use checksums |
c89ee3fa011557cce84837e6b0c432eb62b3059742f7c83fdcc0e5796cb65321
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.18
|
Release files / llmrix_skill-0.2.10-py3-none-any.whl
| Download URL | llmrix_skill-0.2.10-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
841e73349f6b971dcd0afcaa71e7e3101babd084984c6f5bf7d16cb78d56af24
|
|
BLAKE2b-256 checksum How to use checksums |
1795f90901739a172a9683eaba203bf6963b8010b5b1cf0214f5f48e3a381ba6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.18
|