Install
openclaw skills install clawusage-windows-hardlockRun local clawusage monitoring commands from chat (Telegram/Feishu). Use when user types `/clawusage ...` or asks to check Codex usage, enable/disable auto i...
openclaw skills install clawusage-windows-hardlockRun bundled local scripts and return command output directly.
Command source:
scripts/clawusage.ps1 bundled inside this skill packageSupported arguments:
nowusagestatushelplanglang englishlang chineseauto on [minutes]auto offauto set <minutes>auto statusdoctor-helpExecution rules:
/clawusage.usage.help to -help10m style minutes for auto on / auto set (strip trailing m)now / status to usage (single-command UX)$env:USERPROFILE\\.openclaw\\workspace\\skills\\clawusage\\scripts$env:USERPROFILE\\.openclaw\\skills\\clawusage\\scripts$env:USERPROFILE\\.openclaw\\ ending with \\clawusage\\scriptsclawusage.ps1.txtopenclaw-usage-monitor.ps1.txtclawusage-auto-worker.ps1.txt
Fallback to direct .ps1 files only for local dev installs.$env:USERPROFILE\\.clawusage\\skill-runtimeclawusage.ps1, openclaw-usage-monitor.ps1, clawusage-auto-worker.ps1& powershell -NoProfile -ExecutionPolicy Bypass -File "<runtime_root>\\clawusage.ps1" <args>disable-model-invocation: true; do not call the model for post-formatting.Path-resolution snippet (PowerShell):
$scriptDirs = @(
"$env:USERPROFILE\.openclaw\workspace\skills\clawusage\scripts",
"$env:USERPROFILE\.openclaw\skills\clawusage\scripts"
)
$dir = $scriptDirs | Where-Object { Test-Path -LiteralPath $_ } | Select-Object -First 1
if (-not $dir) {
$dir = Get-ChildItem -Path "$env:USERPROFILE\.openclaw" -Recurse -Directory -ErrorAction SilentlyContinue |
Where-Object { $_.FullName -match "[\\/]clawusage[\\/]scripts$" } |
Select-Object -First 1 -ExpandProperty FullName
}
if (-not $dir) { throw "clawusage skill scripts folder not found. Reinstall clawusage skill." }
$runtimeRoot = Join-Path $env:USERPROFILE ".clawusage\skill-runtime"
New-Item -ItemType Directory -Path $runtimeRoot -Force | Out-Null
$pairs = @(
@{ target = "clawusage.ps1"; srcTxt = "clawusage.ps1.txt"; srcPs1 = "clawusage.ps1" },
@{ target = "openclaw-usage-monitor.ps1"; srcTxt = "openclaw-usage-monitor.ps1.txt"; srcPs1 = "openclaw-usage-monitor.ps1" },
@{ target = "clawusage-auto-worker.ps1"; srcTxt = "clawusage-auto-worker.ps1.txt"; srcPs1 = "clawusage-auto-worker.ps1" }
)
foreach ($p in $pairs) {
$srcTxt = Join-Path $dir $p.srcTxt
$srcPs1 = Join-Path $dir $p.srcPs1
$dst = Join-Path $runtimeRoot $p.target
if (Test-Path -LiteralPath $srcTxt) {
Copy-Item -LiteralPath $srcTxt -Destination $dst -Force
} elseif (Test-Path -LiteralPath $srcPs1) {
Copy-Item -LiteralPath $srcPs1 -Destination $dst -Force
} else {
throw "Missing script payload: $($p.srcTxt) (or $($p.srcPs1)). Reinstall clawusage skill."
}
}
& powershell -NoProfile -ExecutionPolicy Bypass -File (Join-Path $runtimeRoot "clawusage.ps1") @args