Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Update an installed EvoNexus plugin to a newer version from its source. Use when the user asks to update, upgrade, or bump a plugin to the latest version. Triggers on "atualiza plugin X", "update plugin X", "upgrade plugin Y".
.claude/skills/evolution-foundation-plugin-update/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-16 | ✗→✓ | ▲ Improved | -68% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-17 | ✗→✓ | ▲ Improved | -46% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -53% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -21% | 0% |
Pull the latest version of an installed plugin and re-run the install flow with migrations applied safely.
pythonfrom dashboard.backend.sdk_client import evo detail = evo.get(f"/api/plugins/{slug}") current_version = detail["version"]
If 404, redirect to plugin-install.
Check marketplace for latest:
pythonmarketplace = evo.get("/api/plugins/marketplace") latest = next((p for p in marketplace if p["id"] == slug), None)
If latest.version == current_version, tell user it's already up to date and stop.
Show user:
latest has changelog or release_notes, display itenv_vars_required the user hasn't set, flag itAccept only clear affirmatives. Cancel is always safe — current version keeps working.
pythonresult = evo.post(f"/api/plugins/{slug}/update", {})
On success, summarise version change + anything that needs user action (new env var, scheduler restart if routines changed).
HTTP 404 not_found — plugin not installed. Suggest plugin-install.HTTP 409 migration_chain_pending — previous install/update left pending migration. Tell user to resolve manually (usually means checking plugin state file) before retrying.HTTP 409 already_latest — nothing to do.HTTP 500 update_failed — install flow failed mid-way. Backend's crash recovery will revert; previous version should still work. Surface the specific step that failed.tier: full-stack with subprocess backend, the subprocess is restarted by the updater.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 5,188 | 7,572 | +46% | 1 | 1 | 0% | 843 | 1,873 | +122% | 0 | 0 | — |
case-02 | pass→pass | 12,246 | 8,113 | -34% | 1 | 1 | 0% | 2,322 | 2,006 | -14% | 0 | 0 | — |
case-16 | fail→pass | 16,325 | 3,230 | -80% | 1 | 1 | 0% | 3,002 | 948 | -68% | 0 | 0 | — |
case-03 | pass→pass | 11,411 | 7,622 | -33% | 1 | 1 | 0% | 2,017 | 1,909 | -5% | 0 | 0 | — |
case-04 | pass→pass | 13,615 | 10,569 | -22% | 1 | 1 | 0% | 2,738 | 2,609 | -5% | 0 | 0 | — |
case-05 | fail→pass | 7,052 | 1,929 | -73% | 1 | 1 | 0% | 1,195 | 919 | -23% | 0 | 0 | — |
case-06 | pass→pass | 4,138 | 2,145 | -48% | 1 | 1 | 0% | 689 | 874 | +27% | 0 | 0 | — |
case-17 | fail→pass | 10,149 | 2,582 | -75% | 1 | 1 | 0% | 1,643 | 889 | -46% | 0 | 0 | — |
case-07 | pass→pass | 12,391 | 5,830 | -53% | 1 | 1 | 0% | 2,050 | 1,517 | -26% | 0 | 0 | — |
case-08 | pass→fail | 11,908 | 3,176 | -73% | 1 | 1 | 0% | 2,132 | 1,084 | -49% | 0 | 0 | — |
case-09 | fail→fail | 4,446 | 6,646 | +49% | 1 | 1 | 0% | 713 | 1,737 | +144% | 0 | 0 | — |
case-10 | fail→pass | 10,362 | 1,883 | -82% | 1 | 1 | 0% | 1,693 | 789 | -53% | 0 | 0 | — |
case-11 | pass→pass | 11,777 | 5,815 | -51% | 1 | 1 | 0% | 1,988 | 1,554 | -22% | 0 | 0 | — |
case-12 | pass→pass | 8,125 | 2,806 | -65% | 1 | 1 | 0% | 1,464 | 980 | -33% | 0 | 0 | — |
case-13 | fail→pass | 10,876 | 5,025 | -54% | 1 | 1 | 0% | 1,783 | 1,417 | -21% | 0 | 0 | — |
case-14 | pass→pass | 10,548 | 3,233 | -69% | 1 | 1 | 0% | 1,728 | 1,060 | -39% | 0 | 0 | — |
case-15 | fail→pass | 7,227 | 2,128 | -71% | 1 | 1 | 0% | 1,139 | 854 | -25% | 0 | 0 | — |
case-18 | fail→pass | 9,219 | 4,277 | -54% | 1 | 1 | 0% | 1,547 | 1,371 | -11% | 0 | 0 | — |
case-19 | fail→pass | 10,426 | 4,178 | -60% | 1 | 1 | 0% | 1,530 | 1,191 | -22% | 0 | 0 | — |
case-20 | pass→pass | 4,058 | 2,613 | -36% | 1 | 1 | 0% | 655 | 888 | +36% | 0 | 0 | — |
case-21 | fail→pass | 14,837 | 4,247 | -71% | 1 | 1 | 0% | 2,504 | 1,219 | -51% | 0 | 0 | — |
case-22 | pass→pass | 8,643 | 2,699 | -69% | 1 | 1 | 0% | 1,636 | 1,002 | -39% | 0 | 0 | — |
case-23 | fail→pass | 10,278 | 2,856 | -72% | 1 | 1 | 0% | 1,618 | 880 | -46% | 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. 23 cases were attempted. The headline lift of +39 percentage points is the difference between those two pass rates over the 23 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.