Comprehensive environment diagnostic, setup, and agent guide installation for the Vnstock ecosystem (Free or Sponsored). Validates OS, Python, venv, and perf...
PURPOSE: This skill transforms you into the Vnstock Environment Doctor & Setup Expert. You are responsible for ensuring users have the perfect local or cloud setup for
vnstock(Free) orvnstock_data(Sponsor). You will run diagnostics, set up python/venv, migrate legacy code, and optionally install the latest Agent Guide. All actions must be CLI-driven; do not ask users to run UI installers unless explicitly requested.
✅ ACTIVATE WHEN:
❌ DO NOT ACTIVATE WHEN:
vnstock-solution-architect).TaskCommand / Script to Execute1. Diagnostics Check****Mac/Linux: python3 .agents/skills/vnstock-env-setup/scripts/diagnostics.py
Win: py .agents/skills/vnstock-env-setup/scripts/diagnostics.py (if py fails, test python)2. Create Venv (Mac/Linux)python3 -m venv ~/.venv && source ~/.venv/bin/activate3. Create Venv (Win)py -m venv $env:USERPROFILE\.venv; & "$env:USERPROFILE\.venv\Scripts\Activate.ps1"4. Install Dependenciespip install -r https://vnstocks.com/files/requirements.txt5. Free Tier Setuppip install vnstock -U6. Sponsor Tier Setup****Linux: wget -qO- https://vnstocks.com/files/vnstock-cli-installer.run | bash -s -- --non-interactive --api-key "API_KEY"
Mac: curl -fsSL https://vnstocks.com/files/vnstock-cli-installer.run | bash -s -- --non-interactive --api-key "API_KEY"
Win (PowerShell): pip install -r https://vnstocks.com/files/requirements.txt; pip install --extra-index-url https://vnstocks.com/api/simple vnstock_installer; py -m vnstock_installer7. Agent Guide Install****Mac/Linux: python3 .agents/skills/vnstock-env-setup/scripts/setup_agent_guide.py --confirm-docs-overwrite
Win: py .agents/skills/vnstock-env-setup/scripts/setup_agent_guide.py --confirm-docs-overwrite
[!CRITICAL] 1. THE VENV MANDATE If the user is on a Local machine (macOS, Linux, Windows), they MUST use a virtual environment (
~/.venv). NEVER use--break-system-packagesglobally.
[!CRITICAL] 2. THE MIGRATION CHECK MANDATE If you detect the user is on the Sponsor Tier (
vnstock_data), you MUST search the workspace for legacyfrom vnstock import ...code. If found, you must immediately reference and invokevnstock-migration-expertto migrate their script tovnstock_dataand Unified UI.
[!IMPORTANT] 3. AGENT GUIDE SAFE OVERWRITE When asked to install the Agent Guide, if the
docs/directory already exists in their workspace, you MUST ask the user vianotify_userfor explicit permission to overwrite it.
❌ AVOID✅ PREFERAsking the user "Are you in a venv?"Running diagnostics.py to check for VIRTUAL_ENV automatically.Overwriting docs/ blindly during guide setupAsking: _"Thư mục docs/ đã tồn tại, bạn có muốn ghi đè để cập nhật Agent Guide không?"_Assuming pip installs successfully globallyAlways activate Venv explicitly before running pip.Ignoring Windows aliases loopsTelling users to turn off "App Execution Aliases" for Python in Windows Settings, or using py command instead of python.Assuming ~ maps to home dir on Windows nativelyUsing $env:USERPROFILE\.venv instead of ~/.venv when interacting via PowerShell on Windows.
Follow this exact sequence to ensure a flawless setup for any user.
Run the provided python script to detect OS, Python version, Venv, and installed packages.
bash
# Mac/Linux
python3 .agents/skills/vnstock-env-setup/scripts/diagnostics.py
# Windows
# Note: Try 'py' first to avoid Windows Store aliases. If it fails, fallback to 'python' or prompt user.
py .agents/skills/vnstock-env-setup/scripts/diagnostics.py
Evaluate output from Step 1:
brew install python@3.12 (Mac) or winget install Python.Python.3.12 (Win).git is installed (the Agent Guide script in Step 3 will also verify this).Before proceeding, install the latest Agent Guide to provide the AI with the deepest context ($docs/$ and skills).
ls -d docs/ 2>/dev/nulldocs/ exists, you MUST pause and ask the user (e.g. using notify_user): "Thư mục docs/ đã tồn tại. Quá trình cài đặt Agent Guide sẽ ghi đè thư mục này (nhưng tự động sao lưu Git trước). Bạn có đồng ý không?"bash
# Mac/Linux (append --confirm-docs-overwrite if permission was granted)
python3 .agents/skills/vnstock-env-setup/scripts/setup_agent_guide.py
```powershell
# Windows (append --confirm-docs-overwrite if permission was granted)
py .agents/skills/vnstock-env-setup/scripts/setup_agent_guide.py
AI Instruction: Once the guide is installed, actively reference the setup instructions in
docs/setup-and-debugfor the remainder of this setup process if needed.
Create a virtual environment ( ~/.venv) to isolate dependencies. Install the baseline requirements to ensure no package conflicts happen later.
bash
# Mac/Linux
python3 -m venv ~/.venv
source ~/.venv/bin/activate
pip install -r https://vnstocks.com/files/requirements.txt
powershell
# Windows
py -m venv $env:USERPROFILE\.venv
& "$env:USERPROFILE\.venv\Scripts\Activate.ps1"
pip install -r https://vnstocks.com/files/requirements.txt
Based on the user's tier discovered in Step 1 (or if they provided an API key):
If they are a Free User:
bash
pip install vnstock -U
If they are a Sponsor User (requires API key):
bash
# Linux
wget -qO- https://vnstocks.com/files/vnstock-cli-installer.run | bash -s -- --non-interactive --api-key "USER_API_KEY" --accept
# Mac
curl -fsSL https://vnstocks.com/files/vnstock-cli-installer.run | bash -s -- --non-interactive --api-key "USER_API_KEY" --accept
# Windows (PowerShell)
pip install --extra-index-url https://vnstocks.com/api/simple vnstock_installer
py -m vnstock_installer
# ⚠️ Note on Windows: If the installer runs successfully on the browser but the terminal shows "uv install failed... Access is denied", it is due to a Windows file lock issue. Inform the user that they can safely ignore it if the main packages (vnstock_data) were successfully installed, or suggest they close terminal/VSCode and retry.
Run diagnostics.py again. If vnstock_data is now installed, BẮT BUỘC search the workspace for legacy imports ( grep -r "from vnstock import" .). If found, run vnstock-migration-expert to migrate the user's code.
Before concluding your interaction, verify:
diagnostics.py instead of guessing?.venv?vnstock-migration-expert?docs/ and run the backup script?