Files
claude-skills/scripts/new-skill.ps1
T

31 lines
974 B
PowerShell

# Legt einen neuen Skill aus templates\skill an.
# Aufruf: scripts\new-skill.ps1 -Name <skill-name>
param([Parameter(Mandatory = $true)][string]$Name)
. (Join-Path $PSScriptRoot 'lib.ps1')
$errs = @(Get-NameErrors $Name)
if ($errs.Count -gt 0) {
foreach ($e in $errs) { Write-Host $e }
exit 1
}
$dir = Join-Path $SkillsDir $Name
if (Test-Path $dir) {
Write-Host "skills/$Name existiert bereits."
exit 1
}
New-Item -ItemType Directory -Force -Path $SkillsDir | Out-Null
Copy-Item -Path (Join-Path $Root 'templates/skill') -Destination $dir -Recurse
$today = Get-Date -Format 'yyyy-MM-dd'
foreach ($f in @('SKILL.md', 'README.md', 'CHANGELOG.md')) {
$p = Join-Path $dir $f
$t = (Read-Text $p).Replace('SKILL_NAME', $Name).Replace('DATUM', $today)
Write-Text $p $t
}
& (Join-Path $PSScriptRoot 'update-index.ps1')
Write-Host "Angelegt: skills/$Name"
Write-Host "Weiter: SKILL.md und README.md ausfuellen, dann scripts\validate.ps1 -Name $Name"