Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Dependency Manager

DSecurity

Manage Python dependencies using UV, pip-tools, or requirements.txt. Use when setting up dependency management, resolving conflicts, or choosing between UV, pip-tools, and requirements.txt workflows.

29 stars
0 votes
0 copies
8 views
Added 12/21/2025
developmentpythongobashdjangoflaskawstestinggitci/cdsecurity

Security Analysis

D48/100
criticalPipes output to a shell interpreter
mediumUses curl or wget to download content
highPerforms destructive filesystem operations
criticalDownloads and executes remote scripts — classic supply chain attack
mediumInstalls packages at runtime which could introduce malicious dependencies

Scanned 2/12/2026

Install to Claude Code

$npx -y skills add armanzeroeight/fastagent-plugins --skill dependency-manager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dependency Manager?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Dependency Manager
[![Security: D — Skills Directory](https://www.skillsdirectory.com/api/skills/armanzeroeight-dependency-manager/badge)](https://www.skillsdirectory.com/skills/armanzeroeight-dependency-manager)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: dependency-manager
description: Manage Python dependencies using UV, pip-tools, or requirements.txt. Use when setting up dependency management, resolving conflicts, or choosing between UV, pip-tools, and requirements.txt workflows.
---

# Dependency Manager

Manage Python project dependencies with UV, pip-tools, or requirements.txt.

## Quick Start

Choose UV for new projects (fast, modern), pip-tools for existing pip workflows, or requirements.txt for simple projects.

## Instructions

### Choosing a Tool

**UV** - Fast, modern Python package manager (recommended):
- Extremely fast dependency resolution (10-100x faster than pip)
- Automatic virtual environment management
- Drop-in replacement for pip and pip-tools
- Lock file support with uv.lock
- Best for: All projects, especially new ones

**pip-tools** - Lightweight, pip-compatible workflow:
- Generates lock files from requirements.in
- Works with existing pip workflows
- Minimal changes to project structure
- Best for: Existing projects, CI/CD with pip, gradual adoption

**requirements.txt** - Simple, universal:
- Direct pip install
- No additional tools
- No lock file (unless manually maintained)
- Best for: Simple scripts, minimal dependencies, quick prototypes

### UV Setup (Recommended)

**Install UV:**
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or with pip
pip install uv
```

**Initialize new project:**
```bash
uv init my-project
cd my-project
```

**Add dependencies:**
```bash
# Runtime dependency
uv add requests

# Development dependency
uv add --dev pytest

# With version constraint
uv add "requests>=2.28.0,<3.0.0"
```

**Install dependencies:**
```bash
uv sync
```

**Update dependencies:**
```bash
# Update all
uv lock --upgrade

# Update specific package
uv lock --upgrade-package requests
```

**Remove dependencies:**
```bash
uv remove requests
```

**Show dependency tree:**
```bash
uv tree
```

**Export to requirements.txt:**
```bash
uv pip compile pyproject.toml -o requirements.txt
```

**Run commands in virtual environment:**
```bash
uv run python script.py
uv run pytest
```

### pip-tools Setup

**Install pip-tools:**
```bash
pip install pip-tools
```

**Create requirements.in:**
```
# requirements.in
requests>=2.28.0
flask>=2.0.0
```

**Create requirements-dev.in:**
```
# requirements-dev.in
-c requirements.txt  # Constrain to production versions
pytest>=7.0.0
black>=23.0.0
mypy>=1.0.0
```

**Compile lock files:**
```bash
# Compile production dependencies
pip-compile requirements.in

# Compile dev dependencies
pip-compile requirements-dev.in
```

This generates `requirements.txt` and `requirements-dev.txt` with pinned versions.

**Install dependencies:**
```bash
pip-sync requirements.txt requirements-dev.txt
```

**Update dependencies:**
```bash
# Update all
pip-compile --upgrade requirements.in

# Update specific package
pip-compile --upgrade-package requests requirements.in
```

**Add new dependency:**
1. Add to requirements.in
2. Run `pip-compile requirements.in`
3. Run `pip-sync requirements.txt`

### requirements.txt Workflow

**Create requirements.txt:**
```bash
pip freeze > requirements.txt
```

**Install dependencies:**
```bash
pip install -r requirements.txt
```

**Separate dev dependencies:**

Create `requirements-dev.txt`:
```
-r requirements.txt
pytest>=7.0.0
black>=23.0.0
```

Install with:
```bash
pip install -r requirements-dev.txt
```

### Version Constraints

**UV/PEP 621 syntax (pyproject.toml):**
```toml
[project]
dependencies = [
    "requests>=2.28.0,<3.0.0",  # Range
    "flask~=2.0.0",              # Compatible release
    "django>=3.2,<4.0",          # Range
    "numpy==1.24.0",             # Exact version
]
```

**pip syntax (requirements.in or requirements.txt):**
```
requests>=2.28.0,<3.0.0
flask~=2.0.0
django>=3.2,<4.0
numpy==1.24.0
pandas
```

**Constraint operators:**
- `==`: Exact version
- `>=`, `<=`: Minimum/maximum version
- `~=`: Compatible release (patch updates)
- `,`: Combine constraints (AND)

### Dependency Groups

**UV/PEP 621 groups:**
```toml
[project.optional-dependencies]
dev = ["pytest>=7.0.0", "black>=23.0.0"]
docs = ["sphinx>=5.0.0"]
test = ["coverage>=7.0.0"]
```

Install specific groups:
```bash
uv sync --extra dev
uv sync --extra docs
uv sync --all-extras
```

**pip-tools approach:**

Create separate `.in` files:
- `requirements.in` - Production
- `requirements-dev.in` - Development
- `requirements-test.in` - Testing
- `requirements-docs.in` - Documentation

### Resolving Conflicts

**With UV:**

1. **Check conflict:**
   ```bash
   uv add package-name
   # UV will show conflict if it exists
   ```

2. **Update constraints in pyproject.toml:**
   ```toml
   [project]
   dependencies = [
       "package-a>=2.0.0",  # Relax constraint
       "package-b>=3.0.0",
   ]
   ```

3. **Force resolution:**
   ```bash
   uv lock
   uv sync
   ```

**With pip-tools:**

1. **Check conflict:**
   ```bash
   pip-compile requirements.in
   # Will show resolution errors
   ```

2. **Adjust constraints in requirements.in:**
   ```
   package-a>=2.0.0  # Relax constraint
   package-b>=3.0.0
   ```

3. **Recompile:**
   ```bash
   pip-compile requirements.in
   ```

**Common conflict patterns:**

- **Transitive dependency conflict**: Two packages require incompatible versions of a third package
  - Solution: Update one or both packages, or relax constraints

- **Python version conflict**: Package requires newer Python than project supports
  - Solution: Upgrade Python version or find alternative package

- **Platform-specific conflict**: Package not available on current platform
  - Solution: Use platform markers or optional dependencies

### Platform-Specific Dependencies

**UV/PEP 621:**
```toml
[project]
dependencies = [
    "pywin32>=305; sys_platform == 'win32'",
    "python-daemon>=2.3; sys_platform == 'linux'",
]
```

**pip:**
```
pywin32>=305; sys_platform == 'win32'
python-daemon>=2.3; sys_platform == 'linux'
```

### Optional Dependencies

**UV/PEP 621:**
```toml
[project.optional-dependencies]
aws = ["boto3>=1.26.0"]
all = ["boto3>=1.26.0"]  # Include all optional deps
```

Install with: 
```bash
uv sync --extra aws
uv pip install package-name[aws]
```

### Virtual Environments

**UV (automatic):**
```bash
# UV creates and manages venv automatically
uv sync
uv run python script.py
source .venv/bin/activate  # Manual activation if needed
```

**pip-tools (manual):**
```bash
# Create venv
python -m venv venv

# Activate
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows

# Install
pip-sync requirements.txt
```

**requirements.txt (manual):**
```bash
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```

### CI/CD Integration

**UV in CI (recommended):**
```yaml
# .github/workflows/test.yml
- name: Install UV
  run: curl -LsSf https://astral.sh/uv/install.sh | sh

- name: Install dependencies
  run: uv sync

- name: Run tests
  run: uv run pytest
```

**pip-tools in CI:**
```yaml
- name: Install dependencies
  run: |
    pip install pip-tools
    pip-sync requirements.txt requirements-dev.txt

- name: Run tests
  run: pytest
```

**requirements.txt in CI:**
```yaml
- name: Install dependencies
  run: pip install -r requirements.txt

- name: Run tests
  run: pytest
```

### Migration Strategies

**From requirements.txt to UV:**

1. **Initialize UV project:**
   ```bash
   uv init --no-readme
   ```

2. **Import dependencies:**
   ```bash
   # Add each dependency from requirements.txt
   cat requirements.txt | grep -v "^#" | xargs -I {} uv add {}
   ```

3. **Separate dev dependencies:**
   ```bash
   uv add --dev pytest black mypy
   ```

4. **Test:**
   ```bash
   uv sync
   uv run pytest
   ```

**From requirements.txt to pip-tools:**

1. **Rename requirements.txt:**
   ```bash
   mv requirements.txt requirements.in
   ```

2. **Compile lock file:**
   ```bash
   pip-compile requirements.in
   ```

3. **Create dev requirements:**
   ```bash
   echo "-c requirements.txt" > requirements-dev.in
   echo "pytest" >> requirements-dev.in
   pip-compile requirements-dev.in
   ```

4. **Test:**
   ```bash
   pip-sync requirements.txt requirements-dev.txt
   ```

**From pip-tools to UV:**

1. **Create pyproject.toml:**
   ```bash
   uv init --no-readme
   ```

2. **Import from requirements.in:**
   ```bash
   cat requirements.in | grep -v "^#" | grep -v "^-" | xargs -I {} uv add {}
   ```

3. **Test:**
   ```bash
   uv sync
   ```

## Common Patterns

### Monorepo with Shared Dependencies

**UV workspace:**
```toml
# Root pyproject.toml
[tool.uv.workspace]
members = ["packages/*"]

# packages/package1/pyproject.toml
[project]
name = "package1"
dependencies = ["requests>=2.28.0"]

# packages/package2/pyproject.toml
[project]
name = "package2"
dependencies = ["requests>=2.28.0"]
```

**pip-tools approach:**
```
# shared-requirements.in
requests>=2.28.0

# package1/requirements.in
-c ../shared-requirements.txt
flask>=2.0.0

# package2/requirements.in
-c ../shared-requirements.txt
django>=4.0.0
```

### Lock File Best Practices

**Commit lock files:**
- `uv.lock` - Always commit
- `requirements.txt` (from pip-compile) - Always commit
- `requirements.txt` (from pip freeze) - Consider committing

**Update regularly:**
```bash
# UV
uv lock --upgrade

# pip-tools
pip-compile --upgrade requirements.in
```

**Verify after updates:**
```bash
# Run tests
uv run pytest

# Check for security issues
pip-audit
```

## Troubleshooting

**UV lock takes too long:**
- UV is typically very fast; if slow, check for network issues
- Use `uv lock --offline` to use cached packages
- Check for circular dependencies

**pip-compile fails with conflict:**
- Relax version constraints in requirements.in
- Use `pip-compile --resolver=backtracking` for better resolution
- Check for incompatible transitive dependencies

**Dependencies not found:**
- Verify package name (check PyPI)
- Check Python version compatibility
- Ensure correct index URL (for private packages)
- With UV: `uv pip install --index-url https://custom-index.com package`

**Virtual environment issues:**
- Delete and recreate: `rm -rf .venv && uv sync`
- Check Python version matches project requirements
- UV automatically manages virtual environments

**Outdated dependencies:**
- Check with: `uv tree --outdated` or `pip list --outdated`
- Update carefully, test after each major update
- Use `uv lock --upgrade --dry-run` to preview changes

Attribution

armanzeroeightarmanzeroeight
View sourceMore from armanzeroeight →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284072 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →