diff --git a/.claude/skills/xdto-edit/scripts/xdto-edit.ps1 b/.claude/skills/xdto-edit/scripts/xdto-edit.ps1 index a1438723..0c2812d4 100644 --- a/.claude/skills/xdto-edit/scripts/xdto-edit.ps1 +++ b/.claude/skills/xdto-edit/scripts/xdto-edit.ps1 @@ -141,10 +141,11 @@ function Assert-SiblingsPresent([string]$operation) { $missing = @() foreach ($k in $needed.Keys) { if (-not (Test-Path $needed[$k])) { $missing += $k } } if ($missing.Count -gt 0) { + $skillsRoot = Split-Path (Split-Path $PSScriptRoot -Parent) -Parent throw ("Навык неработоспособен: рядом нет " + ($missing -join ", ") + ".`n" + - "Операция `"$operation`" выполняется через них, поэтому обойтись без них нельзя.`n" + - "Навыки устанавливаются комплектом — скопируйте каталог .claude/skills целиком, " + - "а не отдельные подкаталоги.") + "Операция `"$operation`" выполняется через " + + $(if ($missing.Count -gt 1) { "них" } else { "него" }) + ".`n" + + "Ожидаются в каталоге навыков: $skillsRoot") } } diff --git a/.claude/skills/xdto-edit/scripts/xdto-edit.py b/.claude/skills/xdto-edit/scripts/xdto-edit.py index 0057ae03..fd325114 100644 --- a/.claude/skills/xdto-edit/scripts/xdto-edit.py +++ b/.claude/skills/xdto-edit/scripts/xdto-edit.py @@ -166,9 +166,9 @@ def assert_siblings_present(operation): missing = [k for k, v in needed.items() if not os.path.exists(v)] if missing: die("Навык неработоспособен: рядом нет " + ", ".join(missing) + ".\n" - + f'Операция "{operation}" выполняется через них, поэтому обойтись без них нельзя.\n' - + "Навыки устанавливаются комплектом — скопируйте каталог .claude/skills целиком, " - "а не отдельные подкаталоги.") + + f'Операция "{operation}" выполняется через ' + + ("них" if len(missing) > 1 else "него") + ".\n" + + "Ожидаются в каталоге навыков: " + SKILLS) def invoke_sibling(script, argv, what):