Releases: xFurti/leogriel
Release list
Leogriel v1.0.0-beta.4
Fixed
- Ignore Leogriel-managed adapter targets during coexistence detection while continuing to report genuinely unmanaged skills.
- Honor
init --with-skill --no-promptin non-interactive and JSON workflows. - Keep audit policy findings on domain exit code
1; exit code2remains reserved for invalid input and fatal failures. - Report npm versions without mislabeling them as Git commit provenance in remote
infooutput. - Limit GitHub subpath extraction to the requested skill tree so unrelated repository symlinks do not break Windows installs.
- Treat native Windows Codex sandbox launch failures as incomplete behavioral runs instead of successful completions.
- Discover a complete standalone Codex installation on Windows so the elevated sandbox can locate both setup and command-runner helpers.
- Exclude directory-only scaffolding from
max-changed-fileswhile continuing to count created, removed, and modified files and symlinks. - Update current Vercel skill examples to the repository's
skills/web-design-guidelinespath. - Include the root architecture document in coordinated version preparation so release candidates cannot retain a stale version label.
- Keep idempotent release verification strict for runtime files while tolerating only cross-platform line endings in package documentation and generated completion scripts, plus non-runtime TypeScript incremental metadata.
Validation
- Completed the opt-in Windows Codex live smoke through an explicit ChatGPT authentication profile, exact model
gpt-5.4, elevated native sandbox, denied network, and a sandboxed Node.js file proof. - Exercised a real two-run paired test with the immutable public
documentation-writerskill; Leogriel correctly returnedinconclusivewhen one skill-side run timed out instead of claiming an unsupported improvement or regression.
Leogriel v1.0.0-beta.3
Leogriel 1.0.0-beta.3
This prerelease consolidates the 1.0 candidate with stricter target diagnostics, complete structured import output, local opt-in runner validation, updated architecture and security documentation, and coordinated package hardening.
Full comparison: v1.0.0-beta.2...v1.0.0-beta.3
npm packages
All coordinated packages are published with the next dist-tag and verified against the attached tarballs:
@leogriel/core@1.0.0-beta.3@leogriel/manifest@1.0.0-beta.3@leogriel/lockfile@1.0.0-beta.3@leogriel/link-manager@1.0.0-beta.3@leogriel/plugin-system@1.0.0-beta.3@leogriel/project-state@1.0.0-beta.3@leogriel/adapters@1.0.0-beta.3@leogriel/security@1.0.0-beta.3@leogriel/registry@1.0.0-beta.3@leogriel/import@1.0.0-beta.3@leogriel/testing@1.0.0-beta.3@leogriel/cli@1.0.0-beta.3
Install the prerelease CLI with npm install --global @leogriel/cli@next.
Added
- Added
leogriel test <skill> --compare <git-ref>to run paired regressions between the skill at an immutable Git commit and the current working-tree candidate, recording both integrity hashes. - Added an official composite GitHub Action with frozen restore, Job Summary, redacted JSON/Markdown/HTML reports, downloadable artifacts, Shields badge data, optional pull-request comments, and fail-after-report regression enforcement.
- Added an experimental Claude Code
AgentRunneralongside Codex, with version/capability detection, isolated configuration, fail-closed native sandboxing, subprocess credential filtering, default-deny networking, explicit staged-skill injection, and an opt-in live smoke. - Added bilingual public-contract and 1.0 migration candidates plus an evidence-based external validation matrix for local, redacted runner validation.
Changed
- Made live runner validation local and opt-in, removing the hosted credential workflow while retaining the composite Action as an optional consumer feature.
- Replaced the mixed current/historical design document with a concise Leogriel architecture and archived the original skillctl proposal under
docs/history/. - Removed the unused
registriesandexperimental.pluginsconfig type fields; legacy values are ignored without changing config schema version 1. - Added repository security guidance, structured issue and pull-request templates, and automated documentation/version/meta-skill contract checks.
- Restricted every published package to an explicit public root export in preparation for stable API contracts.
- Extended plugin audit findings with categories, remediation, confidence, and evidence fields matching the first-party audit model.
- Updated
tarto 7.5.20 and removed the deprecated external@types/tarpackage.
Fixed
- Made
doctorreport missing and managed-stale targets as warnings with exit code1, expose state counts, and re-inspect targets after--fix. - Added structured schema-1 JSON output to plain
leogriel import, including deterministic dry-run and empty-project results. - Completed help descriptions for backup and plugin lifecycle subcommands and rejected interactive import flags in JSON mode.
- Ignored the built-in Pi adapter target directory in the repository dogfood state.
- Aligned the README, package documentation, bilingual site, migration guide, validation matrix, roadmap, contributor guide, and first-party skill with the beta.3 candidate.
- Made non-interactive Codex runs set an explicit no-prompt approval policy and require the elevated native Windows sandbox, preserving fail-closed workspace writes and network denial.
- Made the release gate execute the root test command so release-script contract tests cannot be skipped.
- Updated the architecture document to reflect the completed Leogriel rebrand and current beta baseline.
- Removed active
0.5.0fallbacks from HTTP and import runtime metadata; both now derive their version from the owning package and useunknownonly when package metadata is unavailable. - Included
ANTHROPIC_API_KEYin centralized CLI output redaction and kept authentication variables out of runner installation steps.
Leogriel v1.0.0-beta.2
Leogriel beta
- Published the first reproducible Leogriel-branded prerelease across all twelve coordinated
@leogriel/*packages with the npmnextdist-tag. - Carries forward the complete rebrand from skillctl: the
leogrielcommand,@leogriel/*package scope,.leogriel/state paths, repository and documentation URLs, first-party skill, and woven-thread visual identity. - Preserves
agent-skills.json,agent-skills.lock, lock schema1.0, config schema1, the canonical integrity algorithm, and read compatibility for documented legacy skillctl state.
Capabilities included
- Includes discovery and provider-aware search, immutable GitHub/npm/skills.sh resolution,
info, deterministicoutdatedand atomicupdateplanning. - Includes reconciliable
doctor/sync, explicit unmanaged-target replacement with verified backups, full backup lifecycle commands, plugin inspection and lifecycle management, offline audit with SARIF, and shell completions. - Includes the shared strict
SKILL.mdparser, field-aware streaming secret redaction, opt-in versioned artifacts, and advanced audit categories with remediation and confidence. - Includes experimental paired behavioral testing through
@leogriel/testing, with an isolated Codex runner, deterministic assertions and verdicts, default-deny networking, API-key or explicit ChatGPT-profile authentication, and opt-in live smoke diagnostics.
Fixed
- Clean every package
distdirectory and remove TypeScript incremental build metadata before release builds, preventing stale Windows output from leaking into npm tarballs. - Rebuild packages topologically from a clean state before
npm pack, then install and smoke-test all twelve generated archives. - Mark semantic prerelease versions as GitHub prereleases instead of stable releases.
- Keep release publication idempotent: verify existing npm SRI or canonical archive content, run registry smoke tests on Windows, macOS, and Linux, and create the tag and GitHub prerelease only after every gate succeeds.
Publishing and migration
- Uses npm Trusted Publishing for all twelve packages from
.github/workflows/release.ymlin thenpm-productionenvironment, without a long-livedNPM_TOKEN; npm generates provenance automatically. - New installations use
npm install -g @leogriel/cli@1.0.0-beta.2. Existing users should uninstall@skillctl/cliand install@leogriel/cli. - The historical
@skillctl/*packages remain separate and receive no new code. They can be deprecated with a migration notice after this prerelease passes registry verification.
v0.7.3
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
skillctl v0.6.1
Highlights
skillctl 0.6.1 is a maintenance release focused on cross-platform integrity, reproducible project state, documentation accuracy, and a more reliable release pipeline.
- Directory integrity hashes are now portable between Windows, macOS, and Linux. Existing legacy Windows/POSIX hashes remain accepted during migration.
- The repository's first-party
skillctlmeta-skill now uses the project-local store and portable lock state introduced in 0.6. - CI and release automation are aligned with Node 24 action runtimes, macOS 15, and deterministic workspace test execution.
Fixes and changes
- Realigned the bundled
skillctlskill and its references with the 0.6 project-local store, plainimportflow, explicit global operations, and Pi adapter. - Migrated the repository dogfood manifest, lockfile, and vendored skill away from the legacy global canonical path, so
doctorandauditwork on a fresh clone. - Made directory integrity calculation independent of native path separators and added compatibility for legacy hashes generated on either Windows or POSIX systems.
- Updated integrity verification in core operations, registry materialization, security auditing, and managed-copy checks.
- Added regression coverage for portable integrity hashes and legacy Windows hash compatibility.
- Serialized workspace tests to prevent intermittent Node test-runner IPC deserialization failures under CI load.
- Upgraded GitHub Actions to Node 24-compatible releases and pinned the macOS test matrix to macOS 15.
- Fixed the publish workflow initialization order so pnpm is available before Node configures its package-manager cache.
Documentation
- Corrected stale Italian and English examples that still produced
local:importedentries or referenced removed import flags. - Added migration guidance for pre-0.6 local locks and clarified which manifest, lock, and vendored store files should be committed.
- Updated the design baseline and documentation site to distinguish project stores from personal/global stores consistently.
- Updated the first-party skill guidance for the plain import workflow and Pi support.
Validation
- Full build, type-check, test, coverage, security audit, doctor, dogfood, and package-install preflight passed.
- CI passed on Ubuntu, macOS, and Windows with Node.js 22.13 and 24.
- All 11
@skillctl/*packages were verified at version 0.6.1 and are attached below as installable archives.
Upgrade
npm install --global @skillctl/cli@0.6.1
skillctl --versionFor reproducible project installs after upgrading:
skillctl install --frozen
skillctl doctorFull changelog: v0.6.0...v0.6.1
v0.6.0
Project-local skills, explicit global installs, and Pi support
skillctl now treats a project as the default home for its skills. Version 0.6.0 makes local skill sets reproducible and shareable with the repository, while keeping personal skills available through an explicit global mode.
Added
- Project-local skill store:
skillctl initcreates.skillctl/skills/. Local commands find the nearest parent project containingagent-skills.json, so they work from subdirectories too. - Vendored local skills:
skillctl add ./path/to/skillcopies the skill into.skillctl/skills/<name>and records a portablefile:./.skillctl/skills/<name>entry. Commit this directory to share private or unpublished skills with the team. - Explicit global operations: use
-gfor personal skills outside a project:skillctl add -g <source>skillctl list -gskillctl doctor -gskillctl remove -g <name>
- Simplified import:
skillctl importdiscovers skills in supported agent directories, copies them into the project store, deduplicates identical content, and stops safely on conflicting same-name skills.--dry-run,--select,--interactive, and--sourcesare supported. - Pi adapter: supports
.pi/skillsfor project skills and~/.pi/agent/skillsfor global skills.
Changed
- Project-local storage is now the default; the global
~/.skillctl/skillsstore is reserved for explicit-goperations. - Local operations outside an initialized project fail with a clear next step: initialize a project or install globally.
- Imported skills are reproducible project files instead of depending on an agent directory or another developer's home directory.
- README, changelog, and contributor guidance now document the local/global workflow.
Compatibility and safety
- Existing immutable GitHub, npm, and skills.sh resolution metadata and integrity checks remain in place.
- Legacy global lock paths remain readable.
- Frozen installs resolve project-local stores correctly.
- Sync and removal retain managed-target safety protections.
Verification
The release passed build, lint, tests, coverage, production audit, skill validation, packaging checks, and CI on Ubuntu, macOS, and Windows with Node.js 22.13 and 24.
Install
npm install --global @skillctl/cli@0.6.0
skillctl --versionv0.5.0
v0.4.0 — meta-skill, Grok adapter, skill validate
Added
- First-party meta-skill — \skills/skillctl/\ (\SKILL.md\ +
eferences/) teaches agents how to use skillctl; repo dogfoods via root \�gent-skills.json\ + \�gent-skills.lock. - Grok adapter — sync to .grok/skills\ (project) and ~/.grok/skills\ (global).
- *\skillctl skill validate [path]* — lint a \SKILL.md\ directory (frontmatter, scripts, size); CI validates \skills/skillctl.
- *\skillctl init --with-skill* — bootstrap manifest and add meta-skill from GitHub (or \ile:./skills/skillctl\ when developing skillctl itself).
Changed
- Default \ rustedSources\ includes \github:xFurti/skillctl/*.
Install:
npm install -g @skillctl/cli