# verifying > Runs flake8 linting and pytest to verify no regressions. Use before completing tasks or when asked to verify/test. - Author: Chad https://github.com/iondrive-co/chad - Repository: iondrive-co/chad - Version: 20260125025313 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/iondrive-co/chad - Web: https://mule.run/skillshub/@@iondrive-co/chad~verifying:20260125025313 --- --- name: verifying description: Runs flake8 linting and pytest to verify no regressions. Use before completing tasks or when asked to verify/test. metadata: short-description: Run lint + tests --- # Verifying Changes ## Recommended: Use Python verification function ```bash python -c " from chad.verification.tools import verify result = verify() print('✓ Verification passed' if result['success'] else f'✗ Failed at {result.get(\"failed_phase\", \"unknown\")}') exit(0 if result['success'] else 1) " ``` ## Fallback: Manual commands with intelligent Python detection ```bash # Detect Python executable (prefers project venv, falls back to system) if [ -f ./.venv/bin/python ]; then PYTHON=./.venv/bin/python elif [ -f ./.venv/Scripts/python.exe ]; then PYTHON=./.venv/Scripts/python.exe elif [ -f ./venv/bin/python ]; then PYTHON=./venv/bin/python elif [ -f ./venv/Scripts/python.exe ]; then PYTHON=./venv/Scripts/python.exe else PYTHON=python3 fi # Run lint $PYTHON -m flake8 src/chad # Core/unit/integration (visuals are marker-excluded) $PYTHON -m pytest tests/ -v --tb=short -n auto -m "not visual" # Targeted visual tests (only those mapped to files you changed) VTESTS=$($PYTHON - <<'PY' import subprocess from chad.verification.visual_test_map import tests_for_paths changed = subprocess.check_output(["git", "diff", "--name-only"], text=True).splitlines() tests = tests_for_paths(changed) print(" or ".join(tests)) PY ) if [ -n "$VTESTS" ]; then $PYTHON -m pytest tests/test_ui_integration.py tests/test_ui_playwright_runner.py -v --tb=short -m "visual" -k "$VTESTS" fi # If you add/change UI, update src/chad/verification/visual_test_map.py so this stays accurate. ``` **Success**: Both exit 0 **Failure**: Fix all issues before completing Never use `@pytest.mark.skip`.