smithery.ai

skill-test

Testing framework for evaluating Databricks skills.

First seen Apr 2, 2026

Installation

$ npx skills add https://smithery.ai

Summary

  • Testing framework for evaluating Databricks skills.
  • Use when building test cases for skills, running skill evaluations, comparing skill versions, or creating ground truth datasets with the Generate-Review-Promote (GRP) pipeline.
  • Triggers include "test skill", "evaluate skill", "skill regression", "ground truth", "GRP pipeline", "skill quality", and "skill metrics".

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 8,001 B
  • docs SUMMARY.md 385 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

Databricks Skills Testing Framework

Offline YAML-first evaluation with human-in-the-loop review and interactive skill improvement.

Quick References

  • [Scorers](references/scorers.md) - Available scorers and quality gates
  • [YAML Schemas](references/yaml-schemas.md) - Manifest and ground truth formats
  • [Python API](references/python-api.md) - Programmatic usage examples
  • [Workflows](references/workflows.md) - Detailed example workflows
  • [Trace Evaluation](references/trace-eval.md) - Session trace analysis

/skill-test Command

The /skill-test command provides an interactive CLI for testing Databricks skills with real execution on Databricks.

Basic Usage

/skill-test <skill-name> [subcommand]

Subcommands

Subcommand Description
run Run evaluation against ground truth (default)
regression Compare current results against baseline
init Initialize test scaffolding for a new skill
add Interactive: prompt -> invoke skill -> test -> save
add --trace Add test case with trace evaluation
review Review pending candidates interactively
review --batch Batch approve all pending candidates
baseline Save current results as regression baseline
mlflow Run full MLflow evaluation with LLM judges
trace-eval Evaluate traces against skill expectations
list-traces List available traces (MLflow or local)
scorers List configured scorers for a skill
scorers update Add/remove scorers or update default guidelines
sync Sync YAML to Unity Catalog (Phase 2)

Quick Examples

/skill-test databricks-spark-declarative-pipelines run
/skill-test databricks-spark-declarative-pipelines add --trace
/skill-test databricks-spark-declarative-pipelines review --batch --filter-success
/skill-test my-new-skill init

See [Workflows](references/workflows.md) for detailed examples of each subcommand.

Execution Instructions

Environment Setup

uv pip install -e .test/

Environment variables for Databricks MLflow:

  • DATABRICKSCONFIGPROFILE - Databricks CLI profile (default: "DEFAULT")
  • MLFLOWTRACKINGURI - Set to "databricks" for Databricks MLflow
  • MLFLOWEXPERIMENTNAME - Experiment path (e.g., "/Users/{user}/skill-test")

Running Scripts

All subcommands have corresponding scripts in .test/scripts/:

uv run python .test/scripts/{subcommand}.py {skill_name} [options]
Subcommand Script
run run_eval.py
regression regression.py
init init_skill.py
add add.py
review review.py
baseline baseline.py
mlflow mlflow_eval.py
scorers scorers.py
scorers update scorers_update.py
sync sync.py
trace-eval trace_eval.py
list-traces list_traces.py
_routing mlflow routing_eval.py

Use --help on any script for available options.

Command Handler

When /skill-test is invoked, parse arguments and execute the appropriate command.

Argument Parsing

  • args[0] = skill_name (required)
  • args[1] = subcommand (optional, default: "run")

Subcommand Routing

Subcommand Action
run Execute run(skill_name, ctx) and display results
regression Execute regression(skill_name, ctx) and display comparison
init Execute init(skill_name, ctx) to create scaffolding
add Prompt for test input, invoke skill, run interactive()
review Execute review(skill_name, ctx) to review pending candidates
baseline Execute baseline(skill_name, ctx) to save as regression baseline
mlflow Execute mlfloweval(skillname, ctx) with MLflow logging
scorers Execute scorers(skill_name, ctx) to list configured scorers
scorers update Execute scorersupdate(skillname, ctx, ...) to modify scorers

init Behavior

When running /skill-test <skill-name> init:

  1. Read the skill's SKILL.md to understand its purpose
  2. Create manifest.yaml with appropriate scorers and trace_expectations
  3. Create empty ground_truth.yaml and candidates.yaml templates
  4. Recommend test prompts based on documentation examples

Follow with /skill-test <skill-name> add using recommended prompts.

Context Setup

Create CLIContext with MCP tools before calling any command. See [Python API](references/python-api.md#clicontext-setup) for details.

File Locations

Important: All test files are stored at the repository root level, not relative to this skill's directory.

File Type Path
Ground truth {reporoot}/.test/skills/{skill-name}/groundtruth.yaml
Candidates {repo_root}/.test/skills/{skill-name}/candidates.yaml
Manifest {repo_root}/.test/skills/{skill-name}/manifest.yaml
Routing tests {reporoot}/.test/skills/routing/ground_truth.yaml
Baselines {repo_root}/.test/baselines/{skill-name}/baseline.yaml

For example, to test databricks-spark-declarative-pipelines in this repository:

/Users/.../ai-dev-kit/.test/skills/databricks-spark-declarative-pipelines/ground_truth.yaml

Not relative to the skill definition:

/Users/.../ai-dev-kit/.claude/skills/skill-test/skills/...  # WRONG

Directory Structure

.test/                          # At REPOSITORY ROOT (not skill directory)
├── pyproject.toml              # Package config (pip install -e ".test/")
├── README.md                   # Contributor documentation
├── SKILL.md                    # Source of truth (synced to .claude/skills/)
├── install_skill_test.sh       # Sync script
├── scripts/                    # Wrapper scripts
│   ├── _common.py              # Shared utilities
│   ├── run_eval.py
│   ├── regression.py
│   ├── init_skill.py
│   ├── add.py
│   ├── baseline.py
│   ├── mlflow_eval.py
│   ├── routing_eval.py
│   ├── trace_eval.py           # Trace evaluation
│   ├── list_traces.py          # List available traces
│   ├── scorers.py
│   ├── scorers_update.py
│   └── sync.py
├── src/
│   └── skill_test/             # Python package
│       ├── cli/                # CLI commands module
│       ├── fixtures/           # Test fixture setup
│       ├── scorers/            # Evaluation scorers
│       ├── grp/                # Generate-Review-Promote pipeline
│       └── runners/            # Evaluation runners
├── skills/                     # Per-skill test definitions
│   ├── _routing/               # Routing test cases
│   └── {skill-name}/           # Skill-specific tests
│       ├── ground_truth.yaml
│       ├── candidates.yaml
│       └── manifest.yaml
├── tests/                      # Unit tests
├── references/                 # Documentation references
└── baselines/                  # Regression baselines

References

  • [Scorers](references/scorers.md) - Available scorers and quality gates
  • [YAML Schemas](references/yaml-schemas.md) - Manifest and ground truth formats
  • [Python API](references/python-api.md) - Programmatic usage examples
  • [Workflows](references/workflows.md) - Detailed example workflows
  • [Trace Evaluation](references/trace-eval.md) - Session trace analysis