Systematic verification checklist for ensuring repositories comply with workspace-hub standards covering UV, Plotly, file organization, and modern Python practices.
Systematic verification checklist for ensuring repositories comply with workspace-hub standards covering UV, Plotly, file organization, and modern Python practices.
This skill provides a systematic verification checklist for ensuring repositories comply with workspace-hub standards. It covers UV package management, Plotly visualization requirements, file organization standards, and modern Python development practices.
When to Use
Use this skill when:
Setting up new repositories in workspace-hub
Reviewing existing repositories for standards violations
Modernizing tech stacks to workspace-hub requirements
Preparing repositories for compliance propagation
Auditing codebase for deprecated tools and practices
Implementing best practices across multiple repositories
Skill Components
1. UV Package Manager Compliance
Standard: All Python projects MUST use UV package manager (not Conda, Poetry, or pip)
Verification Checklist:
pyproject.toml exists with proper configuration
No conda.yaml, environment.yml, or requirements.txt files
No Poetry configuration (poetry.lock, pyproject.toml with [tool.poetry])
README documentation mentions UV, not Conda/Poetry
Setup instructions use uv venv and uv pip install
Python version specified as requires-python = ">=3.11"
# Check for files in root that should be elsewherels *.html *.csv *.png 2>/dev/null && echo"✗ Files in root" || echo"✓ Clean root"# Check for standard directoriesfordirin src tests docs config scripts data reports; do
[ -d "$dir" ] && echo"✓ $dir exists" || echo"✗ $dir missing"done
Step 2: Manual Review
Checklist:
README documentation reflects UV usage
All visualizations are interactive (test HTML reports in browser)
CSV paths are relative (no absolute paths)
Dependencies are current versions (check pyproject.toml)
Modules have clear boundaries (check /src/modules/ structure)
# Generate report
python scripts/generate_report.py
# Open in browser
open reports/report.html # macOS
xdg-open reports/report.html # Linux
start reports/report.html # Windows# Verify interactivity: hover, zoom, pan should work
# .github/workflows/compliance.ymlname:Workspace-HubComplianceon: [push, pull_request]
jobs:compliance:runs-on:ubuntu-lateststeps:-uses:actions/checkout@v3-name:CheckUVConfigurationrun:|
test -f pyproject.toml || (echo "Missing pyproject.toml" && exit 1)
grep -q "requires-python" pyproject.toml || (echo "Missing Python version" && exit 1)
-name:CheckforConda/Poetryrun:|
! test -f conda.yaml && ! test -f environment.yml && ! test -f poetry.lock
-name:CheckPlotlyUsagerun:|
! grep -r "import matplotlib" src/
! grep -r "import seaborn" src/
grep -r "import plotly" src/ || (echo "Missing Plotly" && exit 1)
-name:CheckFileOrganizationrun:|
test -d src && test -d tests && test -d docs && test -d data && test -d reports
! ls *.html *.csv 2>/dev/null
Best Practices
Do's
✅ Use UV for all Python projects - Faster, more reliable than Conda/Poetry
✅ Interactive visualizations only - Plotly for all charts and graphs
✅ Relative paths for data - Portable across environments
✅ Organized directory structure - Files in appropriate subdirectories
✅ Modern Python (3.11+) - Latest features and performance
✅ Current dependency versions - Major versions (Pandas 2.0+, etc.)
Don'ts
❌ Don't use Conda or Poetry - UV is the workspace-hub standard
❌ Don't use matplotlib/seaborn - Static plots violate standards
❌ Don't use absolute paths - Breaks portability
❌ Don't save to root directory - Use /reports/, /data/, etc.
❌ Don't use outdated dependencies - Keep major versions current
❌ Don't use deprecated packages - Replace PyPDF2 with pypdf, etc.