synapse-hub 2.4.0 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/.agents/agents/orchestrator.md +3 -0
  2. package/.agents/agents/pom-crafter.md +3 -0
  3. package/.agents/agents/quality-gatekeeper.md +1 -0
  4. package/.agents/agents/test-runner.md +1 -0
  5. package/.agents/rules/graphify.md +14 -14
  6. package/.agents/rules/mandatory-playwright-live.md +29 -29
  7. package/.agents/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -614
  8. package/.agents/skills/clean-pom-crafter/examples/standard_test_case.groovy +28 -28
  9. package/.agents/skills/clean-pom-crafter/references/pom_patterns.groovy +138 -138
  10. package/.agents/skills/e2e-testing-patterns/resources/implementation-playbook.md +522 -522
  11. package/.agents/skills/failure-autopsy-and-healing/references/healing_matrix.md +64 -64
  12. package/.agents/skills/failure-autopsy-and-healing/references/qa_investigation_protocol.md +56 -56
  13. package/.agents/skills/failure-autopsy-and-healing/scripts/triage_failures.sh +98 -98
  14. package/.agents/skills/katalon-cli-runner/references/groovy-patterns.md +209 -209
  15. package/.agents/skills/katalon-cli-runner/references/katalon-api.md +155 -155
  16. package/.agents/skills/katalon-cli-runner/references/runner_commands.md +67 -67
  17. package/.agents/skills/playwright-live-interaction/references/advanced_superpowers.md +160 -160
  18. package/.agents/skills/playwright-live-interaction/references/compact_accessibility_snapshots.md +75 -75
  19. package/.agents/skills/playwright-live-interaction/references/recipes.md +388 -388
  20. package/.agents/skills/playwright-live-interaction/references/swarm_orchestration.md +134 -134
  21. package/.agents/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -541
  22. package/.agents/templates/completion_report.md +57 -57
  23. package/.agents/workflows/graphify.md +10 -10
  24. package/.cursor/rules/language.mdc +7 -7
  25. package/README.en.md +9 -3
  26. package/README.md +9 -3
  27. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-06_api_contract_drift.json +21 -21
  28. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-07_api_contract_drift.json +21 -21
  29. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-08_api_contract_drift.json +21 -21
  30. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-09_api_contract_drift.json +21 -21
  31. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-10_api_contract_drift.json +21 -21
  32. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-21_fake_pass_tautology.json +20 -20
  33. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-22_fake_pass_tautology.json +20 -20
  34. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-23_fake_pass_tautology.json +20 -20
  35. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-24_fake_pass_tautology.json +20 -20
  36. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-25_fake_pass_tautology.json +20 -20
  37. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-01_locator_drift.json +22 -22
  38. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-02_locator_drift.json +22 -22
  39. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-03_locator_drift.json +22 -22
  40. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-04_locator_drift.json +22 -22
  41. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-05_locator_drift.json +22 -22
  42. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-16_stale_and_mutation.json +21 -21
  43. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-17_stale_and_mutation.json +21 -21
  44. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-18_stale_and_mutation.json +21 -21
  45. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-19_stale_and_mutation.json +21 -21
  46. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-20_stale_and_mutation.json +22 -22
  47. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-11_timing_and_race.json +21 -21
  48. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-12_timing_and_race.json +21 -21
  49. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-13_timing_and_race.json +21 -21
  50. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-14_timing_and_race.json +21 -21
  51. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-15_timing_and_race.json +21 -21
  52. package/benchmarks/qa_eval/reports/BENCHMARK_REPORT.md +94 -69
  53. package/benchmarks/qa_eval/reports/eval_results.json +460 -104
  54. package/bin/agent-qa.js +6 -1
  55. package/docs/ARCHITECTURE.md +13 -2
  56. package/package.json +6 -6
  57. package/scripts/install.ps1 +112 -112
  58. package/scripts/install_global_plugin.ps1 +1 -1
  59. package/scripts/install_global_plugin.sh +1 -1
  60. package/scripts/lint_skills.ps1 +57 -57
  61. package/skills_manifest.json +1 -1
  62. package/synapse.config.json +1 -1
  63. package/tools/TOOLS_RUNBOOK.md +6 -1
  64. package/tools/__init__.py +1 -1
  65. package/tools/agent_canary.py +501 -501
  66. package/tools/api_fuzzer.py +11 -2
  67. package/tools/browser_helpers.js +2 -2
  68. package/tools/bump_version.py +8 -0
  69. package/tools/check_version_sync.py +18 -0
  70. package/tools/cli.py +210 -48
  71. package/tools/count_tokens.py +4 -4
  72. package/tools/dashboard_generator.py +10 -10
  73. package/tools/e2e_flow_prober.sh +0 -0
  74. package/tools/generate_allure_report.sh +0 -0
  75. package/tools/generate_test_reports.sh +0 -0
  76. package/tools/mcp_excel_server.py +3 -1
  77. package/tools/mcp_excel_server.sh +0 -0
  78. package/tools/mcp_server.py +1 -1
  79. package/tools/micro_mutator.py +4 -2
  80. package/tools/pinpoint_failure.py +88 -88
  81. package/tools/setup_project.py +1 -1
  82. package/tools/skillspector.py +31 -0
  83. package/tools/update_sentinel.py +3 -3
  84. package/tools/verify_all.py +16 -6
  85. package/tools/verify_all.sh +0 -0
  86. package/tools/visual_som_helper.py +14 -3
  87. package/tools/welcome_page.py +1 -1
  88. package/benchmarks/qa_eval/reports/AB_METHODOLOGY_REPORT.md +0 -83
@@ -1,112 +1,112 @@
1
- <#
2
- .SYNOPSIS
3
- One-click setup and dependency bootstrap script for Enterprise Agent-Skills Hub.
4
- .DESCRIPTION
5
- Detects and installs Python, Node.js, Playwright, sets up a clean virtual environment,
6
- installs requirements.txt, and verifies the full 30-skill catalog.
7
- #>
8
-
9
- [CmdletBinding()]
10
- param(
11
- [switch]$ForceInstall = $false
12
- )
13
-
14
- Write-Host "==========================================================" -ForegroundColor Cyan
15
- Write-Host " Enterprise Agent-Skills Hub: Automated Bootstrap Setup " -ForegroundColor Cyan
16
- Write-Host "==========================================================" -ForegroundColor Cyan
17
-
18
- $repoRoot = Split-Path -Parent $PSScriptRoot
19
- Set-Location $repoRoot
20
-
21
- # 1. Verify / Install Python
22
- Write-Host "`n[1/5] Checking Python 3 Runtime..." -ForegroundColor Yellow
23
- $py = $null
24
- foreach ($cmd in @("python", "python3", "py")) {
25
- try {
26
- $v = & $cmd --version 2>&1
27
- if ($LASTEXITCODE -eq 0 -and $v -match "Python\s+3\.(1[0-9]|[2-9][0-9])") {
28
- $py = $cmd
29
- Write-Host " [OK] Found Python: $v" -ForegroundColor Green
30
- break
31
- }
32
- } catch { }
33
- }
34
-
35
- if (-not $py) {
36
- Write-Host " [WARN] Python 3.10+ not found in PATH." -ForegroundColor Yellow
37
- Write-Host " Attempting automated installation via winget..." -ForegroundColor Cyan
38
- try {
39
- winget install -e --id Python.Python.3.11 --accept-source-agreements --accept-package-agreements --scope currentUser
40
- Write-Host " [OK] Python 3.11 installed. Please restart your shell if PATH is not updated." -ForegroundColor Green
41
- } catch {
42
- Write-Host " [FAIL] Could not auto-install Python. Please install from https://python.org" -ForegroundColor Red
43
- }
44
- }
45
-
46
- # 2. Virtual Environment Setup
47
- Write-Host "`n[2/5] Setting up Virtual Environment (.venv)..." -ForegroundColor Yellow
48
- $venvDir = Join-Path $repoRoot ".venv"
49
- if (-not (Test-Path $venvDir) -and $py) {
50
- Write-Host " Creating virtual environment at $venvDir..." -ForegroundColor Cyan
51
- & $py -m venv $venvDir
52
- }
53
-
54
- $venvPython = if ($IsWindows -or $env:OS -match "Windows") {
55
- Join-Path $venvDir "Scripts\python.exe"
56
- } else {
57
- Join-Path $venvDir "bin/python"
58
- }
59
-
60
- # 3. Pip Dependencies
61
- Write-Host "`n[3/5] Installing Core Python Dependencies..." -ForegroundColor Yellow
62
- $reqFile = Join-Path $repoRoot "requirements.txt"
63
- if (Test-Path $venvPython) {
64
- Write-Host " Upgrading pip & wheel..." -ForegroundColor Cyan
65
- & $venvPython -m pip install --upgrade pip setuptools wheel --quiet
66
- if (Test-Path $reqFile) {
67
- Write-Host " Installing requirements from requirements.txt..." -ForegroundColor Cyan
68
- & $venvPython -m pip install -r $reqFile --quiet
69
- Write-Host " [OK] Dependencies installed in .venv" -ForegroundColor Green
70
- }
71
- } elseif ($py) {
72
- Write-Host " Installing requirements using system $py..." -ForegroundColor Cyan
73
- & $py -m pip install -r $reqFile --quiet
74
- } else {
75
- Write-Host " [SKIP] Skipping pip install: Python runtime not yet active." -ForegroundColor Yellow
76
- }
77
-
78
- # 4. Check Node.js / Playwright
79
- Write-Host "`n[4/5] Checking Node.js & Playwright CLI..." -ForegroundColor Yellow
80
- try {
81
- $nodeVer = & node --version 2>&1
82
- Write-Host " [OK] Found Node.js: $nodeVer" -ForegroundColor Green
83
- } catch {
84
- Write-Host " [INFO] Node.js not detected. Optional for standalone Python tools, required for Playwright MCP." -ForegroundColor Gray
85
- }
86
-
87
- # 5. Run Quality Gate Linting
88
- Write-Host "`n[5/6] Running Quality Gate & Skill Integrity Verification..." -ForegroundColor Yellow
89
- $linter = Join-Path $repoRoot "scripts\lint_skills.ps1"
90
- if (Test-Path $linter) {
91
- & powershell -ExecutionPolicy Bypass -File $linter
92
- }
93
-
94
- # 6. Initialize SQLite Central Agent Memory
95
- Write-Host "`n[6/6] Initializing Global Central Agent Memory (~/.agent_memory/global_cache.db)..." -ForegroundColor Yellow
96
- $cacheTool = Join-Path $repoRoot "tools\cache_resolver.py"
97
- if (Test-Path $cacheTool) {
98
- try {
99
- if (Test-Path $venvPython) {
100
- & $venvPython $cacheTool init
101
- } elseif ($py) {
102
- & $py $cacheTool init
103
- }
104
- Write-Host " [OK] Central Agent Memory initialized and seeded." -ForegroundColor Green
105
- } catch {
106
- Write-Host " [WARN] Could not initialize ~/.agent_memory/global_cache.db: $_" -ForegroundColor Yellow
107
- }
108
- }
109
-
110
- Write-Host "`n==========================================================" -ForegroundColor Cyan
111
- Write-Host " Bootstrap Complete! Hub is ready for Multi-Agent Swarm. " -ForegroundColor Green
112
- Write-Host "==========================================================" -ForegroundColor Cyan
1
+ <#
2
+ .SYNOPSIS
3
+ One-click setup and dependency bootstrap script for Enterprise Agent-Skills Hub.
4
+ .DESCRIPTION
5
+ Detects and installs Python, Node.js, Playwright, sets up a clean virtual environment,
6
+ installs requirements.txt, and verifies the full 38-skill catalog.
7
+ #>
8
+
9
+ [CmdletBinding()]
10
+ param(
11
+ [switch]$ForceInstall = $false
12
+ )
13
+
14
+ Write-Host "==========================================================" -ForegroundColor Cyan
15
+ Write-Host " Enterprise Agent-Skills Hub: Automated Bootstrap Setup " -ForegroundColor Cyan
16
+ Write-Host "==========================================================" -ForegroundColor Cyan
17
+
18
+ $repoRoot = Split-Path -Parent $PSScriptRoot
19
+ Set-Location $repoRoot
20
+
21
+ # 1. Verify / Install Python
22
+ Write-Host "`n[1/5] Checking Python 3 Runtime..." -ForegroundColor Yellow
23
+ $py = $null
24
+ foreach ($cmd in @("python", "python3", "py")) {
25
+ try {
26
+ $v = & $cmd --version 2>&1
27
+ if ($LASTEXITCODE -eq 0 -and $v -match "Python\s+3\.(1[0-9]|[2-9][0-9])") {
28
+ $py = $cmd
29
+ Write-Host " [OK] Found Python: $v" -ForegroundColor Green
30
+ break
31
+ }
32
+ } catch { }
33
+ }
34
+
35
+ if (-not $py) {
36
+ Write-Host " [WARN] Python 3.10+ not found in PATH." -ForegroundColor Yellow
37
+ Write-Host " Attempting automated installation via winget..." -ForegroundColor Cyan
38
+ try {
39
+ winget install -e --id Python.Python.3.11 --accept-source-agreements --accept-package-agreements --scope currentUser
40
+ Write-Host " [OK] Python 3.11 installed. Please restart your shell if PATH is not updated." -ForegroundColor Green
41
+ } catch {
42
+ Write-Host " [FAIL] Could not auto-install Python. Please install from https://python.org" -ForegroundColor Red
43
+ }
44
+ }
45
+
46
+ # 2. Virtual Environment Setup
47
+ Write-Host "`n[2/5] Setting up Virtual Environment (.venv)..." -ForegroundColor Yellow
48
+ $venvDir = Join-Path $repoRoot ".venv"
49
+ if (-not (Test-Path $venvDir) -and $py) {
50
+ Write-Host " Creating virtual environment at $venvDir..." -ForegroundColor Cyan
51
+ & $py -m venv $venvDir
52
+ }
53
+
54
+ $venvPython = if ($IsWindows -or $env:OS -match "Windows") {
55
+ Join-Path $venvDir "Scripts\python.exe"
56
+ } else {
57
+ Join-Path $venvDir "bin/python"
58
+ }
59
+
60
+ # 3. Pip Dependencies
61
+ Write-Host "`n[3/5] Installing Core Python Dependencies..." -ForegroundColor Yellow
62
+ $reqFile = Join-Path $repoRoot "requirements.txt"
63
+ if (Test-Path $venvPython) {
64
+ Write-Host " Upgrading pip & wheel..." -ForegroundColor Cyan
65
+ & $venvPython -m pip install --upgrade pip setuptools wheel --quiet
66
+ if (Test-Path $reqFile) {
67
+ Write-Host " Installing requirements from requirements.txt..." -ForegroundColor Cyan
68
+ & $venvPython -m pip install -r $reqFile --quiet
69
+ Write-Host " [OK] Dependencies installed in .venv" -ForegroundColor Green
70
+ }
71
+ } elseif ($py) {
72
+ Write-Host " Installing requirements using system $py..." -ForegroundColor Cyan
73
+ & $py -m pip install -r $reqFile --quiet
74
+ } else {
75
+ Write-Host " [SKIP] Skipping pip install: Python runtime not yet active." -ForegroundColor Yellow
76
+ }
77
+
78
+ # 4. Check Node.js / Playwright
79
+ Write-Host "`n[4/5] Checking Node.js & Playwright CLI..." -ForegroundColor Yellow
80
+ try {
81
+ $nodeVer = & node --version 2>&1
82
+ Write-Host " [OK] Found Node.js: $nodeVer" -ForegroundColor Green
83
+ } catch {
84
+ Write-Host " [INFO] Node.js not detected. Optional for standalone Python tools, required for Playwright MCP." -ForegroundColor Gray
85
+ }
86
+
87
+ # 5. Run Quality Gate Linting
88
+ Write-Host "`n[5/6] Running Quality Gate & Skill Integrity Verification..." -ForegroundColor Yellow
89
+ $linter = Join-Path $repoRoot "scripts\lint_skills.ps1"
90
+ if (Test-Path $linter) {
91
+ & powershell -ExecutionPolicy Bypass -File $linter
92
+ }
93
+
94
+ # 6. Initialize SQLite Central Agent Memory
95
+ Write-Host "`n[6/6] Initializing Global Central Agent Memory (~/.agent_memory/global_cache.db)..." -ForegroundColor Yellow
96
+ $cacheTool = Join-Path $repoRoot "tools\cache_resolver.py"
97
+ if (Test-Path $cacheTool) {
98
+ try {
99
+ if (Test-Path $venvPython) {
100
+ & $venvPython $cacheTool init
101
+ } elseif ($py) {
102
+ & $py $cacheTool init
103
+ }
104
+ Write-Host " [OK] Central Agent Memory initialized and seeded." -ForegroundColor Green
105
+ } catch {
106
+ Write-Host " [WARN] Could not initialize ~/.agent_memory/global_cache.db: $_" -ForegroundColor Yellow
107
+ }
108
+ }
109
+
110
+ Write-Host "`n==========================================================" -ForegroundColor Cyan
111
+ Write-Host " Bootstrap Complete! Hub is ready for Multi-Agent Swarm. " -ForegroundColor Green
112
+ Write-Host "==========================================================" -ForegroundColor Cyan
@@ -1,7 +1,7 @@
1
1
  # Enterprise Synapse-Hub Global Antigravity Plugin Installer (Windows)
2
2
  # ======================================================================
3
3
  # Mounts Synapse-Hub directly into Google Antigravity's Global Plugin Directory.
4
- # Once installed, all 27 skills and 6 subagents are active across all projects automatically.
4
+ # Once installed, all 38 skills and 6 subagents are active across all projects automatically.
5
5
 
6
6
  [CmdletBinding()]
7
7
  param()
@@ -2,7 +2,7 @@
2
2
  # Enterprise Synapse-Hub Global Antigravity Plugin Installer (macOS / Linux)
3
3
  # ======================================================================
4
4
  # Mounts Synapse-Hub directly into Google Antigravity's Global Plugin Directory.
5
- # Once installed, all 27 skills and 6 subagents are active across all projects automatically.
5
+ # Once installed, all 38 skills and 6 subagents are active across all projects automatically.
6
6
 
7
7
  set -e
8
8
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -1,57 +1,57 @@
1
- <#
2
- .SYNOPSIS
3
- Automated validation test for all skills in Agent-Skills Hub.
4
- .DESCRIPTION
5
- Checks presence of SKILL.md, valid frontmatter (name, description), and verifies skills_manifest.json.
6
- #>
7
-
8
- Write-Host "==========================================================" -ForegroundColor Cyan
9
- Write-Host " Agent-Skills Quality & Integrity Linter " -ForegroundColor Cyan
10
- Write-Host "==========================================================" -ForegroundColor Cyan
11
-
12
- $skillsDir = Join-Path $PSScriptRoot "..\.agents\skills"
13
- $manifestPath = Join-Path $PSScriptRoot "..\skills_manifest.json"
14
-
15
- $passed = 0
16
- $failed = 0
17
-
18
- if (-not (Test-Path $manifestPath)) {
19
- Write-Host "[FAIL] Missing skills_manifest.json!" -ForegroundColor Red
20
- exit 1
21
- }
22
-
23
- $manifest = Get-Content $manifestPath -Raw | ConvertFrom-Json
24
- Write-Host "[INFO] Manifest loaded: $($manifest.totalSkills) declared skills." -ForegroundColor Gray
25
-
26
- $skillDirs = Get-ChildItem -Path $skillsDir -Directory
27
-
28
- foreach ($dir in $skillDirs) {
29
- $skillMd = Join-Path $dir.FullName "SKILL.md"
30
- if (-not (Test-Path $skillMd)) {
31
- Write-Host "[FAIL] $($dir.Name): Missing SKILL.md" -ForegroundColor Red
32
- $failed++
33
- continue
34
- }
35
-
36
- $content = Get-Content $skillMd -Raw
37
- $hasName = $content -match "name:\s*[\w\-\s]+"
38
- $hasDesc = $content -match "description:\s*.+"
39
-
40
- if ($hasName -and $hasDesc) {
41
- Write-Host "[PASS] $($dir.Name) - Valid Frontmatter" -ForegroundColor Green
42
- $passed++
43
- } else {
44
- Write-Host "[FAIL] $($dir.Name) - Invalid or missing YAML frontmatter" -ForegroundColor Red
45
- $failed++
46
- }
47
- }
48
-
49
- Write-Host "----------------------------------------------------------" -ForegroundColor Cyan
50
- Write-Host "Verification Results: $passed Passed, $failed Failed." -ForegroundColor $(if ($failed -eq 0) { "Green" } else { "Red" })
51
- Write-Host "----------------------------------------------------------" -ForegroundColor Cyan
52
-
53
- if ($failed -gt 0) {
54
- exit 1
55
- } else {
56
- exit 0
57
- }
1
+ <#
2
+ .SYNOPSIS
3
+ Automated validation test for all skills in Agent-Skills Hub.
4
+ .DESCRIPTION
5
+ Checks presence of SKILL.md, valid frontmatter (name, description), and verifies skills_manifest.json.
6
+ #>
7
+
8
+ Write-Host "==========================================================" -ForegroundColor Cyan
9
+ Write-Host " Agent-Skills Quality & Integrity Linter " -ForegroundColor Cyan
10
+ Write-Host "==========================================================" -ForegroundColor Cyan
11
+
12
+ $skillsDir = Join-Path $PSScriptRoot "..\.agents\skills"
13
+ $manifestPath = Join-Path $PSScriptRoot "..\skills_manifest.json"
14
+
15
+ $passed = 0
16
+ $failed = 0
17
+
18
+ if (-not (Test-Path $manifestPath)) {
19
+ Write-Host "[FAIL] Missing skills_manifest.json!" -ForegroundColor Red
20
+ exit 1
21
+ }
22
+
23
+ $manifest = Get-Content $manifestPath -Raw | ConvertFrom-Json
24
+ Write-Host "[INFO] Manifest loaded: $($manifest.totalSkills) declared skills." -ForegroundColor Gray
25
+
26
+ $skillDirs = Get-ChildItem -Path $skillsDir -Directory
27
+
28
+ foreach ($dir in $skillDirs) {
29
+ $skillMd = Join-Path $dir.FullName "SKILL.md"
30
+ if (-not (Test-Path $skillMd)) {
31
+ Write-Host "[FAIL] $($dir.Name): Missing SKILL.md" -ForegroundColor Red
32
+ $failed++
33
+ continue
34
+ }
35
+
36
+ $content = Get-Content $skillMd -Raw
37
+ $hasName = $content -match "name:\s*[\w\-\s]+"
38
+ $hasDesc = $content -match "description:\s*.+"
39
+
40
+ if ($hasName -and $hasDesc) {
41
+ Write-Host "[PASS] $($dir.Name) - Valid Frontmatter" -ForegroundColor Green
42
+ $passed++
43
+ } else {
44
+ Write-Host "[FAIL] $($dir.Name) - Invalid or missing YAML frontmatter" -ForegroundColor Red
45
+ $failed++
46
+ }
47
+ }
48
+
49
+ Write-Host "----------------------------------------------------------" -ForegroundColor Cyan
50
+ Write-Host "Verification Results: $passed Passed, $failed Failed." -ForegroundColor $(if ($failed -eq 0) { "Green" } else { "Red" })
51
+ Write-Host "----------------------------------------------------------" -ForegroundColor Cyan
52
+
53
+ if ($failed -gt 0) {
54
+ exit 1
55
+ } else {
56
+ exit 0
57
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "name": "Enterprise Agent Skills Hub",
4
- "version": "2.4.0",
4
+ "version": "2.4.2",
5
5
  "description": "Unified Catalog of 38 Specialized Skills for Autonomous AI Agents in Enterprise Software Quality Engineering, Performance, and Architecture.",
6
6
  "totalSkills": 38,
7
7
  "categories": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/TeeVee998/Synapse-Hub/main/docs/schemas/synapse.config.schema.json",
3
- "version": "2.4.0",
3
+ "version": "2.4.2",
4
4
  "quality_gates": {
5
5
  "mutation_min_score": 80,
6
6
  "gates": {
@@ -60,7 +60,12 @@
60
60
  | **Smart Visual Masking (Anti-Flake)** | `tools/smart_visual_masker.py` | `agent-qa visual-mask --playwright-snippet` |
61
61
  | **CI/CD Silent Self-Healing Hook & Auto-PR** | `tools/ci_healing_hook.py` | `agent-qa ci-hook --file <f> --old-loc <old> --new-loc <new>` |
62
62
  | **Checking DB data leaks (Taint Analysis)** | `tools/trace_data_flow.py` | `python tools/trace_data_flow.py` |
63
- | **Detecting Canvas / GIS Map visual regression** | `tools/visual_diff_canvas.py` | `python tools/visual_diff_canvas.py --baseline <b> --actual <a>` |
63
+ | **Detecting Canvas / GIS Map visual regression** | `tools/visual_diff_canvas.py` | `python tools/visual_diff_canvas.py compare <b> <a> --diff <d>` (or `agent-qa canvas-diff`) |
64
+ | **Universal Release Version Synchronization Audit** | `tools/check_version_sync.py` | `python tools/check_version_sync.py` (or `agent-qa check-version`) |
65
+ | **Groovy Scripts & Keywords Syntax Pre-check** | `tools/validate_groovy_scripts.py` | `python tools/validate_groovy_scripts.py` (or `agent-qa validate-groovy`) |
66
+ | **Model Context Protocol (MCP) Excel Server** | `tools/mcp_excel_server.py` | `python tools/mcp_excel_server.py` (or `agent-qa mcp-excel`) |
67
+ | **3-Layer Heuristic Locator Matcher (0-Token Recovery)** | `tools/heuristic_locator_matcher.py` | `python tools/heuristic_locator_matcher.py` (Internal autonomous fallback engine) |
68
+ | **Output Formatter & Exit Code Spec (NO_COLOR standard)** | `tools/output_formatter.py` | `from output_formatter import is_color_enabled, EXIT_SUCCESS` |
64
69
  | **Canary Self-Healing Audit** | `tools/agent_canary.py` | `python tools/agent_canary.py --run` |
65
70
  | **Lookup XPath Locator in cached memory** | `tools/lookup_xpath.py` | `python tools/lookup_xpath.py "<keyword>"` |
66
71
  | **Lookup Test Case metadata** | `tools/lookup_tc.py` | `python tools/lookup_tc.py "<keyword_or_id>"` |
package/tools/__init__.py CHANGED
@@ -6,7 +6,7 @@ Repository: https://github.com/TeeVee998/Synapse-Hub
6
6
  License: MIT
7
7
  """
8
8
 
9
- __version__ = "2.4.0"
9
+ __version__ = "2.4.2"
10
10
  __author__ = "Thế Vị (@TeeVee998)"
11
11
 
12
12
  __all__ = [