| namespace | aiwg |
| name | venv-manager |
| description | Create, manage, and validate Python virtual environments. Use for project isolation and dependency management. |
| tools | Read, Write, Bash |
| platforms | ["all"] |
Virtual Environment Manager Skill
Purpose
Single responsibility: Create and manage Python virtual environments for project isolation. (BP-4)
Grounding Checkpoint (Archetype 1 Mitigation)
Before executing, VERIFY:
DO NOT create venv without confirming Python version.
Uncertainty Escalation (Archetype 2 Mitigation)
ASK USER instead of guessing when:
- Multiple Python versions available - which to use?
- Existing venv found - replace or use?
- requirements.txt vs pyproject.toml both present
- Development vs production dependencies
NEVER delete existing venv without confirmation.
Context Scope (Archetype 3 Mitigation)
| Context Type | Included | Excluded |
|---|
| RELEVANT | Python version, project deps, venv path | Application code |
| PERIPHERAL | CI/CD requirements | Test configurations |
| DISTRACTOR | Deployment configs | Other language envs |
Workflow Steps
Step 1: Check Python Environment (Grounding)
which python3
python3 --version
ls -la venv/ 2>/dev/null || ls -la .venv/ 2>/dev/null || echo "No venv found"
echo "VIRTUAL_ENV: $VIRTUAL_ENV"
Step 2: Create Virtual Environment
python3 -m venv venv
python3.11 -m venv venv
python3 -m venv venv --system-site-packages
ls -la venv/bin/python
Step 3: Activate and Install Dependencies
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
pip install -r requirements-dev.txt
Step 4: Validate Environment
pip list
pip check
pip freeze > requirements-lock.txt
Recovery Protocol (Archetype 4 Mitigation)
On error:
- PAUSE - Don't delete corrupted venv
- DIAGNOSE - Check error type:
venv creation failed → Check Python installation
pip install failed → Check network, package availability
activation failed → Check shell compatibility
dependency conflict → Use pip-tools or poetry
- ADAPT - Try alternative approach (rebuild, different Python)
- RETRY - With fresh venv (max 3 attempts)
- ESCALATE - Report with pip debug info
Rollback command:
rm -rf venv && python3 -m venv venv
Checkpoint Support
State saved to: .aiwg/working/checkpoints/venv-manager/
checkpoints/venv-manager/
├── python_version.txt # Python used
├── pip_freeze.txt # Installed packages
├── creation_log.txt # Creation output
└── validation_status.json # Health check results
Common Commands
| Command | Purpose |
|---|
python3 -m venv venv | Create venv |
source venv/bin/activate | Activate (bash/zsh) |
venv\Scripts\activate | Activate (Windows) |
deactivate | Deactivate |
pip freeze > requirements.txt | Export deps |
pip install -r requirements.txt | Install deps |
Best Practices
- Naming: Use
venv/ or .venv/ consistently
- Git: Add venv to
.gitignore
- Lock files: Use
pip freeze or pip-tools
- Isolation: Always create project-specific venvs
- Documentation: Document Python version in README
References