Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Data & analysis
choco
Try itChocolatey operations integration — post-processing after choco upgrade, nssm service path refresh, NSSM → shawl migration (syncthing v2 etc.), resync on UniGetUI/choco metadata update failures. diagnose [diagnose.md], metadata-fix [metadata-fix.md], post-upgrade [post-upgrade.md], shawl-migration [shawl-migration.md], update-path [update-path.md]. Use when: "choco", "chocolatey", "choco upgrade", "choco outdated", "vcredist", "nssm", "nssm recovery", "nssm path", "service path refresh", "after choco upgrade", "service failure", "SERVICE_STOPPED", "shim issue", "syncthing nssm", "syncthing v2", "shawl migration", "nssm deprecation", "service-specific error", "UniGetUI", "metadata update failure", "metadata stale", ".nuspec stale", "choco metadata".
What it does
Chocolatey operations integration skill. Pre- and post-processing for choco upgrade, nssm service compatibility management, and metadata update failure recovery.
The skill document
Choco
Chocolatey operations integration skill. Pre- and post-processing for choco upgrade, nssm service compatibility management, and metadata update failure recovery.
Core Problems
| Area | Problem | Resolution Topic |
|---|---|---|
| Package path | After choco upgrade, the nssm Application path becomes stale due to version-specific folders | update-path.md |
| Service compatibility | After major upgrade (e.g., syncthing v1→v2), NSSM fails with service-specific error | shawl-migration.md |
| Metadata | Runtime install succeeds + chocolatey .nuspec is stale (UniGetUI shows repeated upgrades) | metadata-fix.md |
| Diagnosis | Identify which service has issues / which package is stale | diagnose.md |
| Bulk post-processing | Automatically check affected services after choco upgrade | post-upgrade.md |
Path Strategy (HARD STOP — required decision before nssm set Application)
| Strategy | Example Path | Pros | Cons |
|---|---|---|---|
| Stable shim path (recommended) | %ChocolateyInstall%\bin\syncthing.exe | Path remains unchanged after choco upgrade | Without --shimgen-waitforexit, nssm may misinterpret shim exit as a crash |
| Version-specific actual path | %ChocolateyInstall%\lib\syncthing\tools\...-v2.1.0\syncthing.exe | No shim issues | Path breaks on every upgrade — this is why this skill exists |
Default choice: stable shim path. Use version-specific path + post-upgrade hook combination only for services where shim issues occur. When NSSM compatibility itself breaks (like syncthing v2), apply shawl-migration.
Using environment variable paths in nssm
nssm supports REG_EXPAND_SZ but nssm set defaults to REG_SZ. Set registry directly via PowerShell:
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\\Parameters"
Set-ItemProperty -Path $regPath -Name "Application" -Value '%ChocolateyInstall%\bin\' -Type ExpandString
Or use an expanded literal path:
gsudo nssm set Application "C:\ProgramData\chocolatey\bin\"
Topics
| Topic | File | Description |
|---|---|---|
| diagnose | diagnose.md | nssm service diagnosis procedure |
| metadata-fix | metadata-fix.md | Recovery for UniGetUI/choco metadata (.nuspec) update failures |
| post-upgrade | post-upgrade.md | Post-processing after choco upgrade |
| shawl-migration | shawl-migration.md | NSSM → shawl migration (major upgrades like syncthing v2) |
| update-path | update-path.md | nssm path refresh |
Scripts
| Mode | Command | Description |
|---|---|---|
| diagnose | node /scripts/nssm-manager.js diagnose | Check all nssm services |
| update-path | node /scripts/nssm-manager.js update-path | Output path refresh command for a specific service |
| post-upgrade | node /scripts/nssm-manager.js post-upgrade | Full post-processing check |
`` = ~/.claude/skills/choco
Note: node may not be on PATH in bash. In an fnm environment, use the full path:
"$APPDATA/fnm/node-versions/v20.20.0/installation/node.exe" /scripts/nssm-manager.js
Administrator Privileges
nssm set/stop/start and choco upgrade commands require administrator privileges. Per the Windows rule, using gsudo is the default:
gsudo choco upgrade -y
gsudo nssm set Application ""
Or invoke via the PowerShell tool:
gsudo powershell -ExecutionPolicy Bypass -File ""
Topic Dependencies
choco (main workflow)
├─→ diagnose (step 1 diagnosis)
├─→ metadata-fix (recover stale choco/UniGetUI metadata)
├─→ post-upgrade (bulk check after choco upgrade)
├─→ update-path (nssm path refresh)
└─→ shawl-migration (NSSM → shawl migration)
└─→ shawl binary (~/.local/bin/shawl.exe, downloaded from GitHub releases)
- Simple path refresh →
update-path - Major upgrade requiring nssm deprecation →
shawl-migration - Runtime OK + only chocolatey metadata stale →
metadata-fix - Multiple services in bulk →
diagnose+post-upgrade
Self-heal
This skill is subject to self-improvement after execution.
If malfunction is detected, improve it via /skill-kit upgrade choco.
Checklist:
- Are the trigger keywords in description sufficient?
- Was the topic selection accurate? (e.g., misrouting metadata stale to update-path)
- Was the procedure complete? (Was no manual correction needed?)
- Were there no omissions in the deliverables?
References
- Previous skill:
choco-nssm(absorbed into this skill, moved to~/.claude/.bak/) - Chocolatey docs
- UniGetUI repo
- shawl repo
Related skills
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.
Write, debug, and tune Playwright specs with locator strategy, trace diagnosis, and CI-aware timeouts.
More from drumrobot
Browse all skillsRun a 4-stage research → plan → review → TDD-implement workflow for code changes with optional PR capture.
Manage Claude Code sessions: lookup, search, repair, migration, compression, and cleanup in one command surface.
Manage Git worktrees, ghq clones, SourceGit registration, and multi-account credentials with safety checks.
Diagnose agent mistakes, harden the prompt that caused them, and finish the original task.
Convert plans and code changes into GitHub issues and PRs, with auth handling, dependency tracking, and pre-publish scans.
Convert functionality into Claude Code automations (Agent, Skill, Rule, Hook, Command)