vally-tests

Authors Vally conformance test stimuli for prompts, instructions, agents, and skills.

1.4k|284|Updated Nov 2, 2025
One-click install
npx skills add https://github.com/microsoft/hve-core --skill vally-tests
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vally-tests
Source: https://github.com/microsoft/hve-core/tree/main/.github/skills/hve-core/vally-tests
Command: npx skills add https://github.com/microsoft/hve-core --skill vally-tests

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires openpyxl, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

Writing conformance tests for AI artifacts (prompts, instructions, agents, skills) is repetitive and error-prone: each test needs the right grader, the right eval file, dedupe against existing stimuli, and a safety check to keep adversarial content out of the eval suite. This Skill standardizes that authoring pipeline so every stimulus follows the same five-step workflow.

Core Features & Use Cases

  • From-artifact authoring: Point at a .prompt.md, .instructions.md, .agent.md, or SKILL.md file and generate conformance stimuli routed to the correct Vally eval YAML with an appropriate grader (prompt, output-contains, output-matches).
  • Corpus import: Convert CSV or XLSX corpora into dedupe-checked stimulus blocks with per-row safety linting and SHA-256 dedupe hashes.
  • Safety refusal taxonomy: Seven refusal categories (jailbreak, prompt-injection, harmful-elicitation, TOS, CoC, model-refusal-elicitation, PII-extraction) enforced by a regex-driven lint script before any stimulus is emitted.
  • Use Case: You add a new agent to your repository and need conformance tests. Invoke the skill against the .agent.md file; it detects the kind, selects checks from the agents reference, picks graders, runs the safety self-check, and appends advisory stimuli to evals/agent-behavior/stimuli/<slug>.yml.

Quick Start

Ask the assistant to author Vally conformance tests for a specific artifact file such as .github/agents/hve-core/rpi-agent.agent.md.

Frequently Asked Questions about vally-tests

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I author Vally conformance tests for a prompt or agent file?

Point the skill at the artifact file (.prompt.md, .instructions.md, .agent.md, or SKILL.md). It detects the artifact kind, loads the matching per-kind reference, selects a Vally grader, runs a safety self-check, and appends a dedupe-checked stimulus block to the routed eval YAML file.

How do I import a CSV or XLSX corpus into Vally eval stimuli?

Use the corpus-import mode with a file matching the template columns: prompt, kind, target_artifact, grader, tags, expected_refusal_category, notes. The import_corpus.py script validates each row, runs the safety lint, dedupes by SHA-256 hash, and emits an append-only YAML patch plus a JSON report.

What grader types does Vally CLI 0.9.0 support?

Vally CLI 0.9.0 supports type: prompt (LLM-scored rubric), output-contains (literal substring), and output-matches (regex), each with negated forms. The json_schema grader is not shipped in 0.9.0; the skill recommends a regex envelope workaround until it ships.

What kinds of test requests does this skill refuse?

It refuses seven categories: jailbreak, prompt-injection, harmful-elicitation, TOS violation, Code of Conduct violation, model-refusal-elicitation, and PII or secret extraction. Matching requests receive a canonical refusal block pointing to the Code of Conduct or RAI Planner agent.

Why are authored stimuli tagged advisory and do they fail CI?

Every stimulus is tagged tags.advisory: true, so failures appear in CI summaries and per-trial JSONL output without failing the build. Graduation to authoritative requires at least 30 CI runs, a 5% false-positive ceiling, CODEOWNERS sign-off, and a CHANGELOG entry.

What are the runtime requirements for the vally-tests skill?

The skill requires Vally CLI 0.9.0 or later, PowerShell 7+, bash, and Python 3.11+ with uv for corpus-import workflows. The Python import path depends on openpyxl for XLSX files, with pytest and ruff used for development.