Infra, Ops & WorkflowSûr100100/100
Validate Skills (.NET)
Validate that commands documented in skill files actually work. Use when creating, updating, or reviewing skills to ensure all documented commands exit with code 0.
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs validate-skills__dotnet-dotnet__src-vstest-github-skills-b3b05cffa6d0.NET
dotnet/dotnet
Contenu à copier
--- name: validate-skills description: Validate that commands documented in skill files actually work. Use when creating, updating, or reviewing skills to ensure all documented commands exit with code 0. metadata: origin: .NET --- # Validating Skills Verify every executable command in a skill runs successfully on the current OS. ## When to Use - After creating or updating a skill that contains executable commands - During skill review to catch stale or broken instructions - When switching OS (e.g. Windows → Linux) to confirm cross-platform commands ## Procedure ### 1. Detect Current OS Determine which platform commands to extract: ```powershell # PowerShell (Windows) $os = "Windows" ``` ```bash # Bash (Linux / macOS) OS=$(uname -s) # "Linux" or "Darwin" ``` ### 2. Extract Commands Parse the target skill's `SKILL.md` and list every shell command for the detected OS: - Many skills document commands in tables with **Windows** and **Linux / macOS** columns. Pick the column matching your OS. - If a command contains comments like `# Windows` or `# Linux / macOS`, only run the one for your OS. - **Placeholder substitution:** Replace obvious placeholders (e.g. `<path-to-csproj>`, `<skill-name>`) with real values from the repo. If no sensible value exists, skip the command. - **Adapt cross-platform commands:** Commands like `ls -la` should be adapted to PowerShell equivalents (`Get-ChildItem`) on Windows when no native Windows command is documented. ### 3. Track Results Use the SQL tool to create a tracking table: ```sql CREATE TABLE skill_commands ( id INTEGER PRIMARY KEY AUTOINCREMENT, skill TEXT NOT NULL, command TEXT NOT NULL, expected_exit INTEGER DEFAULT 0, actual_exit INTEGER, status TEXT DEFAULT 'pending', notes TEXT ); ``` ### 4. Run Each Command For every extracted command: 1. Run it from the repo root 2. Record the exit code 3. Classify the result: - **Exit 0 → PASS** - **Non-zero + environment issue (missing SDK, no internet) → ENV_ISSUE** - **Non-zero + command/docs wrong → ERROR** ### 5. Safety Rules > **CRITICAL:** Never run unfiltered integration/acceptance tests. They take hours. > - `test.sh --integrationTest` or `test.cmd -Integration` **MUST** include a `--filter` or `-p` flag. > - `test.sh -p smoke` is acceptable (scoped to smoke tests), but expect it to be slow. ### 6. Report After all commands finish, print a summary: ``` === Skill Validation Report === Skill: <skill-name> OS: <Linux|Darwin|Windows> Commands tested: N PASS: X ENV_ISSUE: Y (list with reasons) ERROR: Z (list failed commands with exit codes) ``` ### 7. Fix or Flag - **ERROR (documentation bug):** Update the skill's `SKILL.md` to fix the command. - **ENV_ISSUE:** Add a troubleshooting note to the skill if the environment prerequisite is not already documented. - **PASS:** No action needed. ## Ordering Tips - Run restore/build before tests (tests depend on build output) - Run the cheapest commands first to fail fast - Batch independent test commands in parallel when possible
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait Validate Skills (.NET)
After creating or updating a skill that contains executable commands
During skill review to catch stale or broken instructions
When switching OS (e.g. Windows → Linux) to confirm cross-platform commands
Many skills document commands in tables with **Windows** and **Linux / macOS** columns. Pick the column matching your OS.
Comment utiliser Validate Skills (.NET)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour Validate Skills (.NET)
Dis simplement à ton agent quelque chose comme :
Applique le skill validate-skills__dotnet-dotnet__src-vstest-github-skills-b3b05cffa6d0 à cette tâche
Utilise validate-skills__dotnet-dotnet__src-vstest-github-skills-b3b05cffa6d0 pour améliorer cette implémentation
Passe en revue ce sujet avec validate-skills__dotnet-dotnet__src-vstest-github-skills-b3b05cffa6d0
Skills liés à Validate Skills (.NET)
Add CLI Command (.NET)
Add or change a dotnet CLI command, subcommand, or option across the relevant CLI projects. USE FOR: adding or changing a dotnet CLI command/subcommand, adding a new Option<T> or Argument<T>, registering a subcommand in the command tree, changing an option's help description or a command's runtime message, wiring a command parser, or updating --help output.Add Dotnet Aot Command (.NET)
Add, enable, or review a dotnet CLI command or feature in the Native AOT CLI (src/Cli/dotnet-aot) and prove its compatibility. USE FOR: migrating a command or option to AOT, reviewing an AOT migration PR, defining conservative eligibility and managed fallback, changing AotSourceFiles.props or AotDependencies.props, validating AOT/managed parity, NativeAOT-publishing tests, checking binary-size impact, or using the dn harness and separated SDK layout. DO NOT USE FOR: resolving IL trim/AOT analyzer warnings alone (use dotnet-aot-compat), running dotnet.Tests incrementally (use incremental-test), or pure managed CLI work.Add Net Analyzer (.NET)
Add, port, or change a .NET code analysis rule (CA####) under src/Microsoft.CodeAnalysis.NetAnalyzers. USE FOR: implementing a new CA analyzer and its code fixer, porting a rule or PR from the retired dotnet/roslyn-analyzers repo, allocating a diagnostic ID from DiagnosticCategoryAndIdRanges.txt, choosing RuleLevel/severity/category, wiring resx + xlf strings, recording the rule in AnalyzerReleases.Unshipped.md, regenerating the analyzer documentation/sarif files, and writing MSTest analyzer/code-fix tests with the VerifyCS/VerifyVB harness. DO NOT USE FOR: NETSDK#### MSBuild diagnostics (src/Tasks), CS####/BC#### compiler diagnostics or IDE#### analyzers (dotnet/roslyn), or CONTAINER#### diagnostics (src/Containers).