microsoft/verify-and-test-tsql-syntax
Verify whether an exact T-SQL script is already supported by SqlScriptDOM, then add or update the correct parser tests and baselines. Use when a user asks if syntax already works, or when adding regression coverage for a specific script.
npx skills add https://github.com/microsoft/SqlScriptDOM --skill verify-and-test-tsql-syntax
This skill determines whether a specific T-SQL script is already supported and then guides the follow-up testing work.
Use it for:
Do not use it for broad feature design. If the verification shows missing parser support, route the implementation work to the appropriate repo instruction:
Only180SyntaxTests.cs when the syntax targets vNext or the latest parser.TestScripts, baselines, and the existing syntax test classes.Ask for:
If the user has not supplied the exact script yet, stop and request it before continuing.
Add a temporary debug unit test method to the appropriate existing test class and test the exact script as provided.
Use this sequence:
dotnet build SqlScriptDom/Microsoft.SqlServer.TransactSql.ScriptDom.csproj -c Debug
dotnet test --filter "DebugExactScriptTest" Test/SqlDom/UTSqlScriptDom.csproj -c Debug
Verification expectations:
Use the failure mode to route the next step:
When similar syntax already works in another context, prefer validation analysis before changing grammar.
After verification, create or update the proper permanent tests using the existing framework:
Test/SqlDom/TestScripts/.Test/SqlDom/Baselines<version>/.ParserTest entry or permanent test method in the correct Only<version>SyntaxTests.cs file.Determine the parser version using the repo mapping:
Run validation in this order:
dotnet test --filter "FullyQualifiedName~YourFeatureTest" Test/SqlDom/UTSqlScriptDom.csproj -c Debug
dotnet test Test/SqlDom/UTSqlScriptDom.csproj -c Debug
If the targeted test fails because of a baseline mismatch:
Use these repo paths when doing the work:
SqlScriptDom/Parser/TSql/TSql*.gSqlScriptDom/Parser/TSql/Ast.xmlSqlScriptDom/Parser/TSql/TSql80ParserBaseInternal.csTest/SqlDom/TestScripts/Test/SqlDom/Baselines<version>/Test/SqlDom/Only<version>SyntaxTests.csUTSqlScriptDom suite before finishingTake microsoft/verify-and-test-tsql-syntax 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.