Create a new evaluation dataset or add cases to an existing one for the Azure SDK QA bot evaluation. WHEN: "add eval dataset item", "add a test case", "new evaluation dataset", "create dataset", "add question to dataset", "curate eval data", "promote staging cases", "upload dataset asset", "new scenario dataset". DO NOT USE FOR: running evaluations, pipeline troubleshooting, knowledge-graph indexing.
npx skills add https://github.com/Azure/azure-sdk-tools --skill sdk-ai-bot-eval-dataset
Create a new per-scenario evaluation dataset or add cases to an existing one for the
QA bot evaluation package at tools/sdk-ai-bots/azure-sdk-qa-bot-evaluation. Datasets
are per-scenario JSONL files under evaluation_datasets/<target>/<scenario>.jsonl
(target = basic or perf) holding inputs + expectations only.
Run all commands from tools/sdk-ai-bots/azure-sdk-qa-bot-evaluation with the package
.venv active and az login done. See schema and workflows for the canonical row format and step-by-step recipes.
USE FOR: create a new evaluation dataset (new scenario file); add cases to an existing per-scenario dataset; curate cases from storage markdown; promote reviewed staging cases; upload a dataset as a Foundry asset
WHEN: "add eval dataset item", "add a test case", "new evaluation dataset", "create dataset", "add question to dataset", "curate eval data", "promote staging cases", "upload dataset asset", "new scenario dataset"
DO NOT USE FOR: running evaluations, pipeline troubleshooting, knowledge-graph indexing
evaluation_datasets/<target>/<scenario>.jsonl. Creating a new dataset = creating a new <scenario>.jsonl in basic/ or perf/.query (applied at curation). testcase titles may legitimately repeat (e.g. Untitled) — never dedup or fail on testcase.reviewed: "pass" rows are curated/committed; see the review status lifecycle for the three states and how leftovers are finalized.evaluation_datasets/_staging/ is committed (shared review state) so concurrent contributors don't re-curate the same cases; basic/, perf/ and registry.json are committed too.Before running any command that touches Azure, ensure the required variables are set
and remind the user to configure them. Dataset prep loads a local .env (copy and fill
in tools/sdk-ai-bots/azure-sdk-qa-bot-evaluation/env-variables) and authenticates with
az login.
| Command | Requires |
| ------------------------------------ | ---------------------------------------------------------------------------------------- |
| dataset.curate | az login, STORAGE_BLOB_ACCOUNT, AI_ONLINE_PERFORMANCE_EVALUATION_STORAGE_CONTAINER |
| dataset.upload | az login, AZURE_AI_PROJECT_ENDPOINT |
| dataset.validate, dataset.review | none (local file operations) |
If a required variable is missing the command fails (KeyError / auth error) — set it in
.env or the shell and re-run. A purely manual add (edit JSONL + validate) needs no
env vars; only dataset.upload then requires AZURE_AI_PROJECT_ENDPOINT + az login.
| Goal | Workflow |
| ------------------------------------------------- | ------------------------------------------------------------------------------- |
| Add a few specific cases you already have | Manual add |
| Harvest new cases from collected storage markdown | Curate from blob |
| Create a brand-new scenario dataset | New dataset |
# Validate a file or folder (--require-reviewed gates official datasets on reviewed=="pass")
python -m dataset.validate evaluation_datasets/<target>/<scenario>.jsonl --require-reviewed
# Promote reviewed (pass) staging rows; leftover items are finalized to abandoned
python -m dataset.review --target <basic|perf> [--scenario <scenario>]
# Upload one versioned Foundry asset per scenario; writes registry.json
python -m dataset.upload --target <basic|perf> [--scenario <scenario>]
After adding or creating a dataset: validate → upload → commit the per-scenario
file, registry.json, and updated _staging/ files.
evaluation_datasets/<target>/<scenario>.jsonl.python -m dataset.review.python -m dataset.validate ... --require-reviewed.python -m dataset.upload, then commit the per-scenario file,registry.json, and updated _staging/.
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
Write docstrings for PyTorch functions and methods following PyTorch conventions. Use when writing or updating docstrings in PyTorch code.
Statistical models library for Python. Use when you need specific model classes (OLS, GLM, mixed models, ARIMA) with detailed diagnostics, residuals, and inference. Best for econometrics, time series, rigorous inference with coefficient tables. For guided statistical test selection with APA reporting use statistical-analysis.
Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: "AI SDK", "Vercel AI SDK", "generateText", "streamText", "add AI to my app", "build an agent", "tool calling", "structured output", "useChat".
Create an llms.txt file from scratch based on repository structure following the llms.txt specification at https://llmstxt.org/
Use when working directly with the `esm` Python SDK, ESM3 or ESMC model IDs, Forge/Biohub inference clients, or ESMFold2 folding workflows.
Modal is a serverless cloud platform for running Python on demand, including on-demand GPUs. Use when deploying or serving AI/ML models, running GPU-accelerated workloads (training, fine-tuning, inference), serving web endpoints, scheduling batch jobs, or scaling Python code to cloud containers with the Modal SDK.
Use Therapeutics Data Commons through the PyTDC Python package for registry discovery, approved dataset access, task-aware splits, evaluator metrics, benchmark groups, and bounded molecular-oracle workflows.
Take azure/sdk-ai-bot-eval-dataset from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.