Skip to content

fix(install_skills): Windows SSL workaround + sync skill extra file lists #529

@boitumelodikokocfc

Description

@boitumelodikokocfc

Summary

Two issues found and fixed in databricks-skills/install_skills.sh:

1. Windows SSL certificate revocation failure

On Windows (MINGW/MSYS2/Cygwin), curl uses Windows SChannel which performs certificate revocation checks. These checks fail for raw.githubusercontent.com URLs, causing all skill downloads to silently fail with the misleading error:

Error: databricks CLI not found. Install it to use --install-to-genie.

The script would abort before even reaching the CLI check because set -e caused early exit on the failed curl.

Fix: Detect Windows shell environments and set CURL_EXTRA_OPTS="--ssl-no-revoke", applied consistently across all three download paths (Databricks, MLflow, APX).

CURL_EXTRA_OPTS=""
if [[ "$(uname -s 2>/dev/null)" == MINGW* ]] || [[ "$(uname -s 2>/dev/null)" == MSYS* ]] || [[ "$(uname -s 2>/dev/null)" == CYGWIN* ]]; then
    CURL_EXTRA_OPTS="--ssl-no-revoke"
fi

2. Stale extra file lists

Several skills had outdated file lists in get_skill_extra_files() referencing files that no longer exist upstream, or missing newly added files. Updated to match current upstream layout:

Skill Change
databricks-aibi-dashboards widget-reference.md sql-patterns.md → new numbered files
databricks-unity-catalog Added 6-volumes.md 7-data-profiling.md
databricks-lakebase-autoscale projects.md branches.md computes.md connection-patterns.mdconnections.md operations.md
databricks-mlflow-evaluation Added patterns-judge-alignment.md, patterns-prompt-optimization.md, patterns-trace-ingestion.md
databricks-spark-declarative-pipelines Complete restructure to references/python/, references/sql/, scripts/ layout
databricks-vector-search Added search-modes.md troubleshooting-and-operations.md
databricks-dbsql Added extra files (previously missing entirely)
databricks-execution-compute Added extra files (previously missing entirely)
databricks-synthetic-data-gen Added extra files (previously missing entirely)
spark-python-data-source Added references/type-conversion.md
agent-evaluation (MLflow) Removed non-existent references/tracing-integration.md and scripts/validate_agent_tracing.py

Proposed diff

databricks-skills/install_skills.sh
@@ -36,6 +36,12 @@ NC='\033[0m' # No Color
 REPO_URL="https://github.com/databricks-solutions/ai-dev-kit"
 REPO_RAW_URL="https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main"
 SKILLS_DIR=".claude/skills"
+
+# On Windows, SChannel can fail revocation checks for github raw URLs
+CURL_EXTRA_OPTS=""
+if [[ "$(uname -s 2>/dev/null)" == MINGW* ]] || [[ "$(uname -s 2>/dev/null)" == MSYS* ]] || [[ "$(uname -s 2>/dev/null)" == CYGWIN* ]]; then
+    CURL_EXTRA_OPTS="--ssl-no-revoke"
+fi
 INSTALL_FROM_LOCAL=false

@@ -114,16 +120,20 @@ get_skill_extra_files() {
-        "databricks-aibi-dashboards") echo "widget-reference.md sql-patterns.md" ;;
+        "databricks-aibi-dashboards") echo "1-widget-specifications.md 2-advanced-widget-specifications.md 3-examples.md 3-filters.md 4-examples.md 5-troubleshooting.md" ;;
-        "databricks-unity-catalog") echo "5-system-tables.md" ;;
+        "databricks-unity-catalog") echo "5-system-tables.md 6-volumes.md 7-data-profiling.md" ;;
-        "databricks-lakebase-autoscale") echo "projects.md branches.md computes.md connection-patterns.md reverse-etl.md" ;;
+        "databricks-lakebase-autoscale") echo "connections.md operations.md reverse-etl.md" ;;
-        "databricks-mlflow-evaluation") echo "references/CRITICAL-interfaces.md ... references/patterns-scorers.md references/patterns-trace-analysis.md references/user-journeys.md" ;;
+        "databricks-mlflow-evaluation") echo "... references/patterns-judge-alignment.md references/patterns-prompt-optimization.md references/patterns-scorers.md references/patterns-trace-analysis.md references/patterns-trace-ingestion.md references/user-journeys.md" ;;
-        "databricks-spark-declarative-pipelines") echo "1-ingestion-patterns.md 2-streaming-patterns.md 3-scd-patterns.md 4-performance-tuning.md 5-python-api.md 6-dlt-migration.md 7-advanced-configuration.md 8-project-initialization.md" ;;
+        "databricks-spark-declarative-pipelines") echo "references/1-project-initialization.md ... references/python/1-syntax-basics.md ... references/sql/1-syntax-basics.md ... scripts/exploration_notebook.py" ;;
-        "databricks-vector-search") echo "index-types.md end-to-end-rag.md" ;;
+        "databricks-vector-search") echo "index-types.md end-to-end-rag.md search-modes.md troubleshooting-and-operations.md" ;;
+        "databricks-dbsql") echo "ai-functions.md best-practices.md geospatial-collations.md materialized-views-pipes.md sql-scripting.md" ;;
+        "databricks-execution-compute") echo "references/1-databricks-connect.md references/2-serverless-job.md references/3-interactive-cluster.md" ;;
+        "databricks-synthetic-data-gen") echo "references/1-data-patterns.md references/2-troubleshooting.md scripts/generate_synthetic_data.py" ;;
+        "spark-python-data-source") echo "references/authentication-patterns.md ... references/type-conversion.md" ;;

# MLflow agent-evaluation: remove non-existent files
-        "agent-evaluation") echo "... references/tracing-integration.md references/troubleshooting.md ... scripts/validate_agent_tracing.py ..." ;;
+        "agent-evaluation") echo "... references/troubleshooting.md ... scripts/validate_auth.py ..." ;;

# All curl calls: add $CURL_EXTRA_OPTS
-        if curl -sSL -f "${REPO_RAW_URL}/..." ...
+        if curl -sSL -f $CURL_EXTRA_OPTS "${REPO_RAW_URL}/..." ...

Environment

  • OS: Windows 11 Pro
  • Shell: Git Bash (MINGW64)
  • Databricks CLI: v0.286.0 (VS Code extension binary)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions