Data & analysis

choco

Try it

Chocolatey 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

AreaProblemResolution Topic
Package pathAfter choco upgrade, the nssm Application path becomes stale due to version-specific foldersupdate-path.md
Service compatibilityAfter major upgrade (e.g., syncthing v1→v2), NSSM fails with service-specific errorshawl-migration.md
MetadataRuntime install succeeds + chocolatey .nuspec is stale (UniGetUI shows repeated upgrades)metadata-fix.md
DiagnosisIdentify which service has issues / which package is stalediagnose.md
Bulk post-processingAutomatically check affected services after choco upgradepost-upgrade.md

Path Strategy (HARD STOP — required decision before nssm set Application)

StrategyExample PathProsCons
Stable shim path (recommended)%ChocolateyInstall%\bin\syncthing.exePath remains unchanged after choco upgradeWithout --shimgen-waitforexit, nssm may misinterpret shim exit as a crash
Version-specific actual path%ChocolateyInstall%\lib\syncthing\tools\...-v2.1.0\syncthing.exeNo shim issuesPath 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

TopicFileDescription
diagnosediagnose.mdnssm service diagnosis procedure
metadata-fixmetadata-fix.mdRecovery for UniGetUI/choco metadata (.nuspec) update failures
post-upgradepost-upgrade.mdPost-processing after choco upgrade
shawl-migrationshawl-migration.mdNSSM → shawl migration (major upgrades like syncthing v2)
update-pathupdate-path.mdnssm path refresh

Scripts

ModeCommandDescription
diagnosenode /scripts/nssm-manager.js diagnoseCheck all nssm services
update-pathnode /scripts/nssm-manager.js update-path Output path refresh command for a specific service
post-upgradenode /scripts/nssm-manager.js post-upgradeFull 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:

  1. Are the trigger keywords in description sufficient?
  2. Was the topic selection accurate? (e.g., misrouting metadata stale to update-path)
  3. Was the procedure complete? (Was no manual correction needed?)
  4. Were there no omissions in the deliverables?

References

Related skills

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.

by Iván535 installs31 stars

More from drumrobot

Browse all skills

Run a 4-stage research → plan → review → TDD-implement workflow for code changes with optional PR capture.

by drumrobot27 installs

Manage Claude Code sessions: lookup, search, repair, migration, compression, and cleanup in one command surface.

by drumrobot26 installs

Manage Git worktrees, ghq clones, SourceGit registration, and multi-account credentials with safety checks.

by drumrobot26 installs

Diagnose agent mistakes, harden the prompt that caused them, and finish the original task.

by drumrobot25 installs

Convert plans and code changes into GitHub issues and PRs, with auth handling, dependency tracking, and pre-publish scans.

by drumrobot18 installs

Convert functionality into Claude Code automations (Agent, Skill, Rule, Hook, Command)

by drumrobot17 installs