Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when diagnosing stale or orphaned Node.js processes launched by VCO, auditing ownership/liveness, or safely simulating cleanup without touching external Node workloads.
.claude/skills/foryourhealth111-pixel-node-zombie-guardian/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 229% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -44% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -37% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -24% | 0% |
This skill is for managed-process hygiene inside the VCO ecosystem.
It exists to answer one question safely: which Node processes belong to VCO, which of them are stale, and which of those are eligible for cleanup without risking live external workloads.
ownership = vco-managed can ever become cleanup candidates.external and unknown processes remain audit-only.-Apply mode remains simulation-only and must never terminate real processes.This skill is a focused wrapper around the operator scripts that live in the bundled vibe skill:
../vibe/scripts/common/NodeLaunchWrapper.ps1../vibe/scripts/governance/Invoke-NodeProcessAudit.ps1../vibe/scripts/governance/Invoke-NodeZombieCleanup.ps1../vibe/scripts/verify/vibe-node-zombie-gate.ps1Use the wrapper when VCO starts a Node workload that should be tracked in the ledger.
powershell& "..\vibe\scripts\common\NodeLaunchWrapper.ps1" ` -RepoRoot "C:\path\to\repo" ` -Command "node" ` -ArgumentList @("scripts\worker.js")
Default mode is read-only and emits a report.
powershell& "..\vibe\scripts\governance\Invoke-NodeProcessAudit.ps1" ` -RepoRoot "C:\path\to\repo" ` -WriteArtifacts
Expected outcomes:
managed_live, managed_stale, external_audit_onlyCleanup remains report-only unless explicitly switched, and the safety filters still apply.
powershell& "..\vibe\scripts\governance\Invoke-NodeZombieCleanup.ps1" ` -RepoRoot "C:\path\to\repo" ` -WriteArtifacts
Use this to confirm which managed stale processes would be targeted before any real cleanup path is considered.
Run the dedicated gate before trusting changes in this area:
powershell& "..\vibe\scripts\verify\vibe-node-zombie-gate.ps1" -WriteArtifacts
The gate proves:
-Apply mode stays simulated| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 19,021 | 7,260 | -62% | 1 | 1 | 0% | 3,786 | 1,128 | -70% | 0 | 0 | — |
case-02 | fail→pass | 3,475 | 4,790 | +38% | 1 | 1 | 0% | 488 | 1,606 | +229% | 0 | 0 | — |
case-03 | fail→fail | 7,692 | 5,895 | -23% | 1 | 1 | 0% | 1,326 | 1,012 | -24% | 0 | 0 | — |
case-04 | fail→pass | 12,449 | 2,642 | -79% | 1 | 1 | 0% | 2,013 | 1,128 | -44% | 0 | 0 | — |
case-05 | fail→pass | 13,831 | 3,874 | -72% | 1 | 1 | 0% | 2,324 | 1,471 | -37% | 0 | 0 | — |
case-06 | fail→pass | 14,714 | 5,078 | -65% | 1 | 1 | 0% | 2,513 | 1,663 | -34% | 0 | 0 | — |
case-07 | pass→pass | 10,581 | 3,343 | -68% | 1 | 1 | 0% | 1,750 | 1,274 | -27% | 0 | 0 | — |
case-08 | fail→pass | 12,204 | 4,263 | -65% | 1 | 1 | 0% | 1,879 | 1,426 | -24% | 0 | 0 | — |
case-09 | fail→pass | 10,258 | 3,575 | -65% | 1 | 1 | 0% | 1,623 | 1,256 | -23% | 0 | 0 | — |
case-14 | fail→pass | 9,388 | 1,847 | -80% | 1 | 1 | 0% | 1,625 | 963 | -41% | 0 | 0 | — |
case-10 | fail→pass | 9,109 | 5,187 | -43% | 1 | 1 | 0% | 1,660 | 1,579 | -5% | 0 | 0 | — |
case-11 | pass→pass | 17,908 | 2,464 | -86% | 1 | 1 | 0% | 1,351 | 1,126 | -17% | 0 | 0 | — |
case-12 | fail→pass | 8,633 | 2,556 | -70% | 1 | 1 | 0% | 1,387 | 1,077 | -22% | 0 | 0 | — |
case-13 | pass→pass | 13,725 | 5,553 | -60% | 1 | 1 | 0% | 2,090 | 1,647 | -21% | 0 | 0 | — |
case-15 | fail→pass | 7,127 | 2,694 | -62% | 1 | 1 | 0% | 1,231 | 1,146 | -7% | 0 | 0 | — |
case-16 | fail→pass | 12,674 | 1,726 | -86% | 1 | 1 | 0% | 2,216 | 984 | -56% | 0 | 0 | — |
case-17 | fail→fail | 8,705 | 6,814 | -22% | 1 | 1 | 0% | 1,438 | 1,000 | -30% | 0 | 0 | — |
case-18 | fail→pass | 12,291 | 6,819 | -45% | 1 | 1 | 0% | 2,002 | 1,836 | -8% | 0 | 0 | — |
case-19 | pass→pass | 12,352 | 12,689 | +3% | 1 | 1 | 0% | 2,472 | 3,123 | +26% | 0 | 0 | — |
case-20 | pass→pass | 13,073 | 11,061 | -15% | 1 | 1 | 0% | 2,205 | 2,566 | +16% | 0 | 0 | — |
case-21 | pass→pass | 11,912 | 9,629 | -19% | 1 | 1 | 0% | 2,286 | 2,556 | +12% | 0 | 0 | — |
case-22 | pass→pass | 13,699 | 15,218 | +11% | 1 | 1 | 0% | 2,748 | 3,732 | +36% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.