Problem
The clone-based installation validation scripts (validate-installation.ps1 and validate-installation.sh) check for agents, prompts, and instructions directories but omit .github/skills entirely. A user can receive a "validated successfully" result while skills are missing from their installation.
This is inconsistent with the installer SKILL.md which:
- Lists skills as installable content in Phase 1
- Configures
chat.agentSkillsLocations in the settings template
- References skills throughout the decision matrix and method documentation
Expected Behavior
Validation should check for $basePath/.github/skills alongside the three existing directory checks and report pass/fail status for it.
The experimental collection folder ($basePath/.github/skills/experimental, $basePath/.github/agents/experimental, etc.) is an optional user selection during installation. Validation should check experimental subdirectories only when they are present and report them as informational (not as a failure when absent). The scripts cannot deterministically require experimental because the user may have opted out during the installer's opt-in prompt.
Files to Change
| File |
Change |
.github/skills/installer/hve-core-installer/scripts/validate-installation.ps1 |
Add .github/skills to the required directory loop; add conditional check for experimental subdirectories |
.github/skills/installer/hve-core-installer/scripts/validate-installation.sh |
Add .github/skills to the required directory loop; add conditional check for experimental subdirectories |
.github/skills/installer/hve-core-installer/tests/validate-installation.Tests.ps1 |
Update existing tests to include .github/skills in test fixture setup; add new tests for skills directory validation and experimental folder presence/absence scenarios |
Reproduction
Run either validation script against a valid HVE-Core clone. Note that .github/skills is never checked:
# Bash
./scripts/validate-installation.sh 1 ../hve-core
# Output shows agents, prompts, instructions — no mention of skills
# PowerShell
./scripts/validate-installation.ps1 -BasePath ../hve-core -Method 1
# Same: skills directory silently skipped
Suggested Fix
PowerShell — expand the directory array:
foreach ($dir in @("$basePath/.github/agents", "$basePath/.github/prompts", "$basePath/.github/instructions", "$basePath/.github/skills")) {
Bash — expand the path list:
for path in "$base_path/.github/agents" "$base_path/.github/prompts" "$base_path/.github/instructions" "$base_path/.github/skills"; do
Experimental folder — add a conditional informational check after the required directory loop (both scripts):
# PowerShell example
$experimentalDirs = @("$basePath/.github/skills/experimental", "$basePath/.github/agents/experimental")
foreach ($dir in $experimentalDirs) {
if (Test-Path $dir) { Write-Host "✅ Found optional: $dir" }
}
# Bash example
for path in "$base_path/.github/skills/experimental" "$base_path/.github/agents/experimental"; do
if [ -d "$path" ]; then echo "✅ Found optional: $path"; fi
done
Missing experimental folders should not set valid=false.
Pester Test Updates
The existing test file at .github/skills/installer/hve-core-installer/tests/validate-installation.Tests.ps1 needs these changes:
- Update all test fixture setup — Every test that creates
.github/agents, .github/prompts, and .github/instructions directories must also create .github/skills so existing "passes validation" assertions continue to pass.
- Add a "Checks skills directory" test — Mirror the existing "Checks agents directory" test: create agents, prompts, and instructions but omit skills, then assert the output matches
Missing.*skills.
- Add an "experimental" Context block with at least two tests:
- Passes when
experimental subdirectories are absent (no failure reported)
- Reports optional directories when
experimental subdirectories are present
Additional Context
The installer collection under .github/skills/installer/ should probably be excluded from installation-target validation since it is the installer itself (SKILL.md already excludes it from chat.agentSkillsLocations settings). The check should verify the directory exists at the top level; individual skill collection presence is not required for a passing validation.
Problem
The clone-based installation validation scripts (
validate-installation.ps1andvalidate-installation.sh) check foragents,prompts, andinstructionsdirectories but omit.github/skillsentirely. A user can receive a "validated successfully" result while skills are missing from their installation.This is inconsistent with the installer SKILL.md which:
chat.agentSkillsLocationsin the settings templateExpected Behavior
Validation should check for
$basePath/.github/skillsalongside the three existing directory checks and report pass/fail status for it.The
experimentalcollection folder ($basePath/.github/skills/experimental,$basePath/.github/agents/experimental, etc.) is an optional user selection during installation. Validation should checkexperimentalsubdirectories only when they are present and report them as informational (not as a failure when absent). The scripts cannot deterministically requireexperimentalbecause the user may have opted out during the installer's opt-in prompt.Files to Change
.github/skills/installer/hve-core-installer/scripts/validate-installation.ps1.github/skillsto the required directory loop; add conditional check forexperimentalsubdirectories.github/skills/installer/hve-core-installer/scripts/validate-installation.sh.github/skillsto the required directory loop; add conditional check forexperimentalsubdirectories.github/skills/installer/hve-core-installer/tests/validate-installation.Tests.ps1.github/skillsin test fixture setup; add new tests for skills directory validation and experimental folder presence/absence scenariosReproduction
Run either validation script against a valid HVE-Core clone. Note that
.github/skillsis never checked:Suggested Fix
PowerShell — expand the directory array:
Bash — expand the path list:
Experimental folder — add a conditional informational check after the required directory loop (both scripts):
Missing
experimentalfolders should not setvalid=false.Pester Test Updates
The existing test file at
.github/skills/installer/hve-core-installer/tests/validate-installation.Tests.ps1needs these changes:.github/agents,.github/prompts, and.github/instructionsdirectories must also create.github/skillsso existing "passes validation" assertions continue to pass.Missing.*skills.experimentalsubdirectories are absent (no failure reported)experimentalsubdirectories are presentAdditional Context
The
installercollection under.github/skills/installer/should probably be excluded from installation-target validation since it is the installer itself (SKILL.md already excludes it fromchat.agentSkillsLocationssettings). The check should verify the directory exists at the top level; individual skill collection presence is not required for a passing validation.