Current collected state Current
Observed since 21 Oct, 11:13 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Super connection middleware about multi-agent and skills
Lyrics is a bash command proxy server designed for AI Agents to securely execute Agent Skills commands in containerized environments.
Agent Skills need a secure bash environment to:
┌─────────────────────────────────────┐
│ FastAPI Server │
│ • REST API (/api/v1/*) │
│ • Health checks │
├─────────────────────────────────────┤
│ Service Layer │
│ • Business logic │
│ • Thread pool management │
├─────────────────────────────────────┤
│ Command Processing │ File System │
│ • Security validation│ Path resolve │
│ • Shell sessions │ Access control│
├─────────────────────────────────────┤
│ Agent Skills (/skills) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ pdf │ │ xlsx │ │ Custom │ │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────┘
pip install ailyrics
# Clone project
git clone https://github.com/your-org/lyrics.git
cd lyrics
# Install dependencies
uv sync
# PyPI installation
python -m lyrics.server --host 0.0.0.0 --port 8870
# Source development
uv run python -m lyrics.server --host 0.0.0.0 --port 8870
# Docker mode (source only)
make docker-up
curl http://localhost:8870/api/v1/health
# Returns: {"status": "healthy", "service": "lyrics", "api_version": "v1"}
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/health | Health check |
POST | /api/v1/bash/execute | Execute bash commands |
GET | /api/v1/skills | List all skills |
GET | /api/v1/skills/{name} | Get specific skill |
curl -X POST http://localhost:8870/api/v1/bash/execute \
-H "Content-Type: application/json" \
-d '{"command": "ls -la /skills/public"}'
skill-name/
├── SKILL.md # YAML metadata + instructions (required)
├── scripts/ # Utility scripts (optional)
├── reference/ # Reference docs (optional)
└── data/ # Data files (optional)
---
name: pdf-processing
description: PDF toolkit for text extraction, form filling, etc.
license: MIT
---
# PDF Processing Guide
...detailed content...
The system blocks dangerous patterns for security:
;, &&, ||, |, $, `, >, <, & ❌../../../etc/passwd ❌Alternative: Use Python
# ✅ Correct way
python3 -c "with open('file.txt', 'w') as f: f.write('content')"
import asyncio
import httpx
async def main():
async with httpx.Client() as client:
# Health check
health = await client.get("http://localhost:8870/api/v1/health")
print(f"Service status: {health.json()['status']}")
# Execute command
result = await client.post(
"http://localhost:8870/api/v1/bash/execute",
json={"command": "echo 'Hello Lyrics!'"}
)
print(f"Output: {result.json()['stdout']}")
asyncio.run(main())
src/lyrics/
├── server.py # FastAPI main server
├── bash/ # Bash command processing
├── filesystem/ # File system operations
└── commands/ # Command handlers
# Full integration tests (recommended)
make docker-test
# Unit tests
make test
make fmt # Format code
make check # Check code quality
| Variable | Default | Description |
|---|---|---|
SKILLS_PATH | /skills | Skills directory |
WORKSPACE_PATH | /workspace | Working directory |
LOG_LEVEL | INFO | Log level |
HOST | 0.0.0.0 | Server host |
PORT | 8870 | Server port |
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featureMIT License - see the LICENSE file for details.
Built for the Agent Skills ecosystem 🚀
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0 | 16 Nov 2025 | 7 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 11:13 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:ebff4ffa6837b9ed8a1922b79fa19075f5eb1842cf1ef1ee0b4764d689c5e2ce