Agent skill
common-skills
Best practices for the Common utilities package in LlamaFarm. Covers HuggingFace Hub integration, GGUF model management, and shared utilities.
Install this agent skill to your Project
npx add-skill https://github.com/llama-farm/llamafarm/tree/main/.claude/skills/common-skills
SKILL.md
Common Skills for LlamaFarm
Best practices and code review checklists for the common/ package - shared Python utilities used across all LlamaFarm services.
Component Overview
| Attribute | Value |
|---|---|
| Path | common/ |
| Package | llamafarm-common |
| Python | 3.10+ |
| Key Dependencies | huggingface_hub, hf-transfer |
Purpose
The common/ package provides shared functionality that needs to be consistent across multiple Python services:
- Model file utilities (GGUF selection, quantization parsing)
- HuggingFace Hub integration (listing, downloading)
- Process management (PID files)
Shared Python Skills
This skill inherits all patterns from the shared Python skills:
| Topic | File | Relevance |
|---|---|---|
| Patterns | ../python-skills/patterns.md | Dataclasses, type hints, comprehensions |
| Typing | ../python-skills/typing.md | Type annotations, modern syntax |
| Testing | ../python-skills/testing.md | Pytest fixtures, mocking HuggingFace APIs |
| Errors | ../python-skills/error-handling.md | Custom exceptions, logging |
| Security | ../python-skills/security.md | Path validation, safe file handling |
Framework-Specific Checklists
| Topic | File | Key Points |
|---|---|---|
| HuggingFace | huggingface.md | Hub API, model download, caching, authentication |
Module Structure
common/
├── pyproject.toml # UV-managed dependencies
├── llamafarm_common/
│ ├── __init__.py # Public API exports
│ ├── model_utils.py # GGUF file utilities
│ └── pidfile.py # PID file management
└── tests/
└── test_model_utils.py # Unit tests with mocking
Public API
Model Utilities
from llamafarm_common import (
# Parse model:quantization syntax
parse_model_with_quantization,
# Extract quantization from filename
parse_quantization_from_filename,
# Select best GGUF file from list
select_gguf_file,
select_gguf_file_with_logging,
# List GGUF files in HF repo
list_gguf_files,
# Download and get path to GGUF file
get_gguf_file_path,
# Default quantization preference order
GGUF_QUANTIZATION_PREFERENCE_ORDER,
)
PID File Management
from llamafarm_common.pidfile import write_pid, get_pid_file
Review Checklist Summary
When reviewing code in common/:
-
HuggingFace Integration (High priority)
- Proper error handling for network failures
- Authentication token passed correctly
- High-speed transfer enabled appropriately
-
Model Selection (Medium priority)
- Quantization preference order maintained
- Case-insensitive matching
- Graceful fallback when preferred not available
-
Testing (High priority)
- HuggingFace API calls mocked
- Network isolation in tests
- Edge cases covered (empty lists, missing files)
-
Security (Medium priority)
- No token exposure in logs
- Safe file path handling
- Environment variable protection
See huggingface.md for detailed HuggingFace-specific checklists.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
typescript-skills
Shared TypeScript best practices for Designer and Electron subsystems.
wt
Manage LlamaFarm worktrees for isolated parallel development. Create, start, stop, and clean up worktrees.
generate-subsystem-skills
Generate specialized skills for each subsystem in the monorepo. Creates shared language skills and subsystem-specific checklists for high-quality AI code generation.
temp-files
Guidelines for creating temporary files in system temp directory. Use when agents need to create reports, logs, or progress files without cluttering the repository.
code-review
Comprehensive code review for diffs. Analyzes changed code for security vulnerabilities, anti-patterns, and quality issues. Auto-detects domain (frontend/backend) from file paths.
cli-skills
CLI best practices for LlamaFarm. Covers Cobra, Bubbletea, Lipgloss patterns for Go CLI development.
Didn't find tool you were looking for?