This repository contains high-quality skills for AI agents, following the Agent Skills standard.
Add these skills to your agent using the Skills CLI:
npx skills add azzgo/agent-skillsAlternatively, you can install by manually copying the specific skill folder into your agent's skills directory.
A comprehensive skill to control the aria2 download manager via JSON-RPC.
Key Features:
- Download Management: Add HTTP/HTTPS/FTP, Magnet, Torrent, and Metalink downloads.
- Control: Pause, resume, and remove individual or all downloads.
- Monitoring: List active, waiting, and stopped downloads; view global stats and progress.
- Zero Dependencies: Core functionality uses standard libraries (no heavy pip installs required).
- Secure: Supports token-based authentication and secure connections.
- aria2c Daemon: You need
aria2crunning with RPC enabled. - Network Access: The agent needs access to the RPC port.
- WebSocket Support (Optional): If using WebSocket connections, ensure Python version matches the requirements of the
websocketspackage.
Quick Start (Local):
aria2c --enable-rpc --rpc-listen-all=false --rpc-listen-port=6800With Secret Token:
aria2c --enable-rpc --rpc-secret="YOUR_TOKEN" --rpc-listen-all=false --rpc-listen-port=6800The skill works out-of-the-box with default settings (localhost:6800). For custom configurations, the skill supports multiple configuration sources with the following priority:
Priority (highest to lowest):
- Environment variables (temporary override)
- Skill directory config (project-specific)
- User config directory (global, update-safe) 🆕
- Defaults
Recommended Setup (Update-Safe):
Initialize user configuration that survives skill updates:
# Navigate to the skill directory
cd skills/aria2-json-rpc
# Initialize user config
python3 scripts/config_loader.py init --user
# Edit the config file
nano ~/.config/aria2-skill/config.jsonExample configuration:
{
"host": "localhost",
"port": 6800,
"secret": "YOUR_TOKEN",
"secure": false,
"timeout": 30000
}Alternative: Project-Specific Config
For testing or project-specific settings (
cd skills/aria2-json-rpc
python3 scripts/config_loader.py init --local
# Edit skills/aria2-json-rpc/config.jsonAlternative: Environment Variables
For temporary overrides or CI/CD:
export ARIA2_RPC_HOST="localhost"
export ARIA2_RPC_PORT=6800
export ARIA2_RPC_SECRET="YOUR_TOKEN"Configuration Management:
# Show current configuration
python3 scripts/config_loader.py show
# Test connection
python3 scripts/config_loader.py testskills/
aria2-json-rpc/ # The skill source code
SKILL.md # Definition
scripts/ # Python implementation
tests/ # Tests
# Run all tests
just test
# Run specific test file
just test-file tests/unit/test_rpc_client.pyMIT (see LICENSE).