بنقرة واحدة
win-sysinfo
System diagnostics — CPU, RAM, battery, GPU, network, processes, OS info via WMI, zero dependencies.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
System diagnostics — CPU, RAM, battery, GPU, network, processes, OS info via WMI, zero dependencies.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Persistent agent memory via OpenViking — store and retrieve context across sessions using a tiered filesystem database. L0/L1/L2 context layers with semantic search.
Windows Task Scheduler — create, list, manage, and delete scheduled tasks for automated workflows, zero dependencies.
Browser integration — open URLs, read bookmarks and history from Edge/Chrome, get active tabs, list downloads, zero dependencies.
Local AI inference via Ollama — run LLMs on-device, manage models, detect NPU/GPU/DirectML hardware, zero cloud dependencies.
Read and search Windows Sticky Notes — access your notes via the local SQLite database using built-in winsqlite3.dll, zero dependencies.
Search, browse, and manage files and folders on Windows — file search, recent files, folder operations, disk info, zero dependencies.
| name | win-sysinfo |
| description | System diagnostics — CPU, RAM, battery, GPU, network, processes, OS info via WMI, zero dependencies. |
| metadata | {"openclaw":{"emoji":"🖥️","os":["win32"]}} |
System diagnostics and hardware info for Windows. CPU, RAM, battery, GPU, network, running processes, OS details. Zero external dependencies — uses built-in WMI (Get-CimInstance) and PowerShell.
Works on Windows 10/11 with PowerShell 5.1+.
powershell.exe -NoProfile -Command "
$os = Get-CimInstance Win32_OperatingSystem
$cs = Get-CimInstance Win32_ComputerSystem
$uptime = (Get-Date) - $os.LastBootUpTime
Write-Host ('Computer: {0}' -f $cs.Name)
Write-Host ('OS: {0} (Build {1})' -f $os.Caption, $os.BuildNumber)
Write-Host ('Architecture: {0}' -f $os.OSArchitecture)
Write-Host ('User: {0}\{1}' -f $cs.Domain, $env:USERNAME)
Write-Host ('Uptime: {0}d {1}h {2}m' -f [int]$uptime.TotalDays, $uptime.Hours, $uptime.Minutes)
Write-Host ('Install Date: {0}' -f $os.InstallDate.ToString('yyyy-MM-dd'))
"
powershell.exe -NoProfile -Command "
$cpu = Get-CimInstance Win32_Processor
foreach ($c in $cpu) {
Write-Host ('CPU: {0}' -f $c.Name.Trim())
Write-Host ('Cores: {0} physical, {1} logical' -f $c.NumberOfCores, $c.NumberOfLogicalProcessors)
Write-Host ('Max Clock: {0} MHz' -f $c.MaxClockSpeed)
Write-Host ('Current Clock: {0} MHz' -f $c.CurrentClockSpeed)
Write-Host ('Load: {0}%' -f $c.LoadPercentage)
}
"
powershell.exe -NoProfile -Command "
$samples = 3
Write-Host ('Sampling CPU usage ({0} samples)...' -f $samples)
for ($i = 1; $i -le $samples; $i++) {
$load = (Get-CimInstance Win32_Processor).LoadPercentage
Write-Host (' Sample {0}: {1}%' -f $i, $load)
if ($i -lt $samples) { Start-Sleep -Seconds 1 }
}
"
powershell.exe -NoProfile -Command "
$os = Get-CimInstance Win32_OperatingSystem
$totalGB = [math]::Round($os.TotalVisibleMemorySize / 1MB, 1)
$freeGB = [math]::Round($os.FreePhysicalMemory / 1MB, 1)
$usedGB = [math]::Round(($os.TotalVisibleMemorySize - $os.FreePhysicalMemory) / 1MB, 1)
$pct = [math]::Round(($os.TotalVisibleMemorySize - $os.FreePhysicalMemory) / $os.TotalVisibleMemorySize * 100, 1)
Write-Host ('Total: {0} GB' -f $totalGB)
Write-Host ('Used: {0} GB ({1}%)' -f $usedGB, $pct)
Write-Host ('Free: {0} GB' -f $freeGB)
Write-Host ''
Write-Host '--- Physical DIMMs ---'
Get-CimInstance Win32_PhysicalMemory | ForEach-Object {
Write-Host ('{0}: {1} GB {2} @ {3} MHz' -f $_.DeviceLocator, [math]::Round($_.Capacity/1GB), $_.MemoryType, $_.Speed)
}
"
powershell.exe -NoProfile -Command "
$batt = Get-CimInstance Win32_Battery
if ($batt) {
foreach ($b in $batt) {
$status = switch ($b.BatteryStatus) {
1 { 'Discharging' }
2 { 'AC Power' }
3 { 'Fully Charged' }
4 { 'Low' }
5 { 'Critical' }
6 { 'Charging' }
7 { 'Charging (High)' }
8 { 'Charging (Low)' }
9 { 'Charging (Critical)' }
default { 'Unknown' }
}
Write-Host ('Battery: {0}' -f $b.Name)
Write-Host ('Charge: {0}%' -f $b.EstimatedChargeRemaining)
Write-Host ('Status: {0}' -f $status)
if ($b.EstimatedRunTime -and $b.EstimatedRunTime -lt 71582788) {
Write-Host ('Estimated Runtime: {0} min' -f $b.EstimatedRunTime)
}
}
} else {
Write-Host 'No battery detected (desktop PC).'
}
"
powershell.exe -NoProfile -Command "
Get-CimInstance Win32_VideoController | ForEach-Object {
Write-Host ('GPU: {0}' -f $_.Name)
Write-Host ('Driver: {0} ({1})' -f $_.DriverVersion, $_.DriverDate.ToString('yyyy-MM-dd'))
if ($_.AdapterRAM -gt 0) {
Write-Host ('VRAM: {0} GB' -f [math]::Round($_.AdapterRAM / 1GB, 1))
}
Write-Host ('Resolution: {0}x{1}' -f $_.CurrentHorizontalResolution, $_.CurrentVerticalResolution)
Write-Host ('Status: {0}' -f $_.Status)
Write-Host ''
}
"
Check for Intel AI Boost NPU or other AI accelerators:
powershell.exe -NoProfile -Command "
Write-Host '--- NPU / AI Devices ---'
Get-CimInstance Win32_PnPEntity | Where-Object { $_.Name -match 'NPU|Neural|AI Boost|Movidius' } | ForEach-Object {
Write-Host ('{0} [{1}]' -f $_.Name, $_.Status)
}
Write-Host ''
Write-Host '--- DirectML Capable GPUs ---'
Get-CimInstance Win32_VideoController | Where-Object { $_.Status -eq 'OK' } | ForEach-Object {
Write-Host ('{0} (VRAM: {1} GB)' -f $_.Name, [math]::Round($_.AdapterRAM/1GB,1))
}
"
powershell.exe -NoProfile -Command "
Get-CimInstance Win32_NetworkAdapterConfiguration | Where-Object { $_.IPEnabled } | ForEach-Object {
Write-Host ('--- {0} ---' -f $_.Description)
Write-Host (' IP: {0}' -f ($_.IPAddress -join ', '))
Write-Host (' Subnet: {0}' -f ($_.IPSubnet -join ', '))
Write-Host (' Gateway: {0}' -f ($_.DefaultIPGateway -join ', '))
Write-Host (' DNS: {0}' -f ($_.DNSServerSearchOrder -join ', '))
Write-Host (' MAC: {0}' -f $_.MACAddress)
Write-Host (' DHCP: {0}' -f $_.DHCPEnabled)
Write-Host ''
}
"
powershell.exe -NoProfile -Command "
try {
$result = Test-Connection -ComputerName 8.8.8.8 -Count 2 -ErrorAction Stop
$avg = ($result | Measure-Object -Property ResponseTime -Average).Average
Write-Host ('Internet: Connected (avg {0:N0}ms to 8.8.8.8)' -f $avg)
} catch {
Write-Host 'Internet: Disconnected or unreachable'
}
"
powershell.exe -NoProfile -Command "
Get-Process | Sort-Object CPU -Descending | Select-Object -First COUNT |
Select-Object Name, Id,
@{N='CPU(s)';E={[math]::Round($_.CPU, 1)}},
@{N='MemMB';E={[math]::Round($_.WorkingSet64/1MB, 1)}} |
Format-Table -AutoSize
"
Replace COUNT with the number of processes to show (e.g., 15).
powershell.exe -NoProfile -Command "
Get-Process | Sort-Object WorkingSet64 -Descending | Select-Object -First COUNT |
Select-Object Name, Id,
@{N='MemMB';E={[math]::Round($_.WorkingSet64/1MB, 1)}},
@{N='CPU(s)';E={[math]::Round($_.CPU, 1)}} |
Format-Table -AutoSize
"
powershell.exe -NoProfile -Command "
Get-Process -Name '*PROCESS_NAME*' -ErrorAction SilentlyContinue |
Select-Object Name, Id,
@{N='MemMB';E={[math]::Round($_.WorkingSet64/1MB, 1)}},
@{N='CPU(s)';E={[math]::Round($_.CPU, 1)}},
Path |
Format-Table -AutoSize
"
Replace PROCESS_NAME with a partial name (e.g., chrome, code, ollama).
powershell.exe -NoProfile -Command "
Stop-Process -Id PROCESS_ID -Force
Write-Host 'Process PROCESS_ID terminated.'
"
Replace PROCESS_ID with the PID from the process list.
powershell.exe -NoProfile -Command "
Get-CimInstance Win32_StartupCommand |
Select-Object Name, Command, Location |
Format-Table -AutoSize
"
powershell.exe -NoProfile -Command "
Get-CimInstance Win32_Product | Select-Object Name, Version, Vendor |
Sort-Object Name | Format-Table -AutoSize
"
Note: Win32_Product can be slow. For a faster check of a specific program, use winget list PROGRAM_NAME (via the winget skill).
powershell.exe -NoProfile -Command "
Get-ChildItem Env: | Sort-Object Name | Format-Table Name, Value -AutoSize
"
powershell.exe -NoProfile -Command "
Write-Host ('VAR_NAME = {0}' -f $env:VAR_NAME)
"
1. win-sysinfo: system overview (uptime, OS version)
2. win-sysinfo: CPU usage + memory usage
3. win-sysinfo: battery status
4. win-files: list drives (disk space)
5. Report any issues found
1. win-sysinfo: top processes by CPU
2. win-sysinfo: top processes by memory
3. win-sysinfo: memory usage percentage
4. Identify resource hogs and suggest actions
1. win-sysinfo: network adapters and IP config
2. win-sysinfo: internet connectivity test
3. Report connection status and suggest fixes
1. win-sysinfo: battery level
2. win-sysinfo: internet connectivity
3. win-sysinfo: CPU/memory headroom
4. Alert if any issues before joining
Get-CimInstance) and built-in PowerShell cmdlets.Win32_Product is slow (~30s) — prefer winget list for faster software queries.win-files skill's List Drives command.Win32_VideoController.AdapterRAM is a 32-bit field (max ~4 GB). For GPUs with >4 GB VRAM, the reported value will be incorrect. Use dxdiag or GPU-specific tools for accurate VRAM.