Expert guidance for developing gs-batch-pdf, a multi-threaded CLI tool for batch PDF compression, PDF/A conversion, and Ghostscript operations using Python, Click, and uv package manager.
Expert guidance for working with the `gs-batch-pdf` repository, a CLI tool for batch processing PDF files using Ghostscript with multi-threaded support.
`gs-batch-pdf` is a Python CLI tool that provides batch PDF processing capabilities including compression, PDF/A conversion, and custom Ghostscript operations. It uses `uv` for dependency management, Click for CLI framework, and supports parallel processing.
```bash
uv sync # Install dependencies
uv sync --dev # Install with dev dependencies
```
```bash
uv run pytest # Run all tests
uv run pytest tests/test_gsb.py # Run specific test
uv run pytest -v # Verbose output
```
```bash
uv run python -m gs_batch.gs_batch --help # Test CLI locally
uv run gs_batch --help # Test installed command
```
```bash
uv build # Create distributions
uv publish # Publish to PyPI
```
**CRITICAL**: At the start of EVERY session, always:
1. **Check `_todo/todo.md`** for new or updated tasks from the user
2. **Check `_todo/proposal/`** for user-reviewed proposals ready to approve/implement
3. **Check `_todo/pending/`** for active tasks requiring progress updates
4. **Check git status** and recent commits for context
The project uses a structured planning workflow in `_todo/`:
```
_todo/
├── todo.md # Master task list (user-maintained)
├── proposal/ # Initial proposals awaiting approval
├── pending/ # Active development tasks
└── completed/ # Archive organized by completion date
└── YYYY-MM-DD/
```
#### 1. Proposal Phase
When user creates a task in `_todo/todo.md`:
#### 2. Development Phase
After user approval:
#### 3. Completion Phase
After task completion:
**Runtime**: click, tqdm, show-in-file-manager
**Development**: pytest, ipykernel
**External**: Ghostscript (required system dependency)
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/gs-batch-pdf-processing/raw