skillctl 0.7.3
skillctl 0.7 introduce discovery, manutenzione pianificata, riconciliazione sicura dei target, plugin sperimentali, audit SARIF e completamenti shell. Tutti gli 11 pacchetti @skillctl/* sono allineati alla versione 0.7.3.
Novità principali
Discovery e informazioni
- Nuovi comandi
skillctl search [query]eskillctl info <name-or-specifier>. - Catalogo skills.sh con validazione stretta, timeout, retry, cache locale di 15 minuti e fallback stale quando la rete non è disponibile.
- Nuovo specifier selettivo
skills.sh/<owner>/<repo>/<skill>, risolto a commit SHA immutabile e riproducibile coninstall --frozen. - Ricerca interattiva nei terminali TTY e output deterministico/JSON per CI e agenti.
Outdated e aggiornamenti
- Nuovo comando
skillctl outdated [names...]con classificazionecurrent,outdated,modified,legacy,unavailableeunsupported. skillctl updatesupporta--dry-run,--latest,--save,--yes,--no-synce--json.- Piani distinti per aggiornamenti patch, minor, major, commit e contenuto.
- Aggiornamenti multipli atomici: staging completo prima del commit e rollback coordinato di store, manifest e lock in caso di errore.
Doctor e sync sicuri
- Ispezione dei target con stati
missing,current,managed-stale,unmanagedefailed. doctor --fixripara soltanto target mancanti o riconosciuti come gestiti.sync --replace-unmanagedrichiede selettori espliciti, conferma e scope non ambiguo.- I contenuti unmanaged sostituiti vengono salvati sotto
.skillctl/backups/sync/con metadati e ripristino automatico in caso di fallimento.
Plugin system sperimentale
- Lifecycle completo:
add,install,update,enable,disable,info,doctor,removeelist. - Manifest e lock separati in
~/.skillctl/plugins.jsone~/.skillctl/plugins.lock. - Supporto consigliato per plugin npm e supporto locale esplicito tramite
--allow-local. - Verifica SRI, API version e capabilities; protezioni contro path traversal, symlink in uscita ed entrypoint fuori package.
- Gli errori di caricamento sono isolati. I plugin eseguono codice Node.js con i permessi dell'utente e non sono presentati come sandboxed.
Audit, policy e SARIF
- Output SARIF 2.1.0 tramite
skillctl audit --format sarif, anche su file con--output. - Finding con location e fingerprint stabili, compatibili con il caricamento SARIF di GitHub.
- Policy
security.trustedSourcesMode:off,warnoppureerror. - Nuovi controlli offline per provenance incompleta, risoluzioni legacy mutable, script sospetti, escape di file/symlink, dimensioni, plugin e drift dei target canonici.
Completion e UX
- Nuovi completamenti per Bash, Zsh e PowerShell tramite
skillctl completion <shell>. - Completamento dinamico di comandi, opzioni, adapter, skill installate e plugin.
- Rendering centralizzato con supporto
NO_COLOR, fallback ASCII, spinner solo in TTY e assenza di ANSI in CI/JSON. - Warning ed errori umani sono inviati coerentemente su stderr; l'envelope JSON resta allo schema
1.
Release e automazione
- GitHub Actions aggiornate ai runtime Node 24 correnti.
- Workflow predisposto per npm Trusted Publishing tramite OIDC, senza
NPM_TOKEN. - Pubblicazione degli 11 pacchetti verificabile e ripetibile, con controllo dell'integrità prima della creazione di tag e release.
- Release con tag annotato, note curate e tarball npm allegati.
Compatibilità e sicurezza
- Node.js 22.13 o successivo; pnpm 11.x per lo sviluppo del workspace.
- Lock schema
1.0e configurazioneversion: 1restano invariati. - Manifest, lock e configurazioni
0.6.xcontinuano a essere leggibili. - Nessuna telemetria e nessuna installazione automatica silenziosa.
- I target unmanaged non vengono mai sovrascritti implicitamente.
- Tutti i pacchetti sono stati verificati su Ubuntu, macOS 15 e Windows con Node 22.13 e Node 24.
Installazione
npm install --global @skillctl/cli@0.7.3
skillctl --versionPacchetti pubblicati
@skillctl/core, @skillctl/manifest, @skillctl/lockfile, @skillctl/link-manager, @skillctl/plugin-system, @skillctl/project-state, @skillctl/adapters, @skillctl/security, @skillctl/registry, @skillctl/import e @skillctl/cli.
Confronto completo: v0.6.1...v0.7.3