Aiwg venv-manager
Create, manage, and validate Python virtual environments. Use for project isolation and dependency management.
install
source · Clone the upstream repo
git clone https://github.com/jmagly/aiwg
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jmagly/aiwg "$T" && mkdir -p ~/.claude/skills && cp -r "$T/agentic/code/frameworks/sdlc-complete/extensions/python/skills/venv-manager" ~/.claude/skills/jmagly-aiwg-venv-manager && rm -rf "$T"
manifest:
agentic/code/frameworks/sdlc-complete/extensions/python/skills/venv-manager/SKILL.mdsource content
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:
- Python interpreter available and version known
- Target directory exists and is writable
- No conflicting venv already active
- requirements.txt or pyproject.toml exists (for install)
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)
# Available Python versions which python3 python3 --version # Check for existing venv ls -la venv/ 2>/dev/null || ls -la .venv/ 2>/dev/null || echo "No venv found" # Current active environment echo "VIRTUAL_ENV: $VIRTUAL_ENV"
Step 2: Create Virtual Environment
# Standard creation python3 -m venv venv # With specific Python version python3.11 -m venv venv # With system packages access python3 -m venv venv --system-site-packages # Verify creation ls -la venv/bin/python
Step 3: Activate and Install Dependencies
# Activate source venv/bin/activate # Upgrade pip pip install --upgrade pip # Install from requirements.txt pip install -r requirements.txt # Or from pyproject.toml pip install -e . # Development dependencies pip install -r requirements-dev.txt
Step 4: Validate Environment
# List installed packages pip list # Check for missing deps pip check # Export current state pip freeze > requirements-lock.txt
Recovery Protocol (Archetype 4 Mitigation)
On error:
- PAUSE - Don't delete corrupted venv
- DIAGNOSE - Check error type:
→ Check Python installationvenv creation failed
→ Check network, package availabilitypip install failed
→ Check shell compatibilityactivation failed
→ Use pip-tools or poetrydependency conflict
- 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 |
|---|---|
| Create venv |
| Activate (bash/zsh) |
| Activate (Windows) |
| Deactivate |
| Export deps |
| Install deps |
Best Practices
- Naming: Use
orvenv/
consistently.venv/ - Git: Add venv to
.gitignore - Lock files: Use
orpip freezepip-tools - Isolation: Always create project-specific venvs
- Documentation: Document Python version in README
References
- Python venv docs: https://docs.python.org/3/library/venv.html
- REF-001: Production-Grade Agentic Workflows (BP-4)
- REF-002: LLM Failure Modes (Archetype 1 grounding)