Repository navigation
Releases
Releases · AlexRadch/skillsman
Release v0.5.0
Changed
- Fallback execution: Spawning
skillsthrough local package resolution now falls back safely to execution vianpxif the localskillspackage is not found, preventing execution crashes. - Shim auto-healing removal: Removed the global CLI shim self-healing script (
ensureSkillsLink) to avoid unauthorized writes or unnecessary checks on startup.
Fixed
- Resilient Symlink Synchronization: Configured synchronization mechanism to gracefully purge dead and mismatched active symlinks even when the source skill is missing from the local library folder.
- Robust Initialization Check: Enabled dynamic safety checks during state synchronization and preset listing to prevent runtime exceptions when the target library or presets directory does not exist.
- Local Agent Path Resolution: Fixed path resolution to strictly resolve local project paths (e.g.
./.agents/skills) instead of global ones when commands are executed in local project scope (without-g / --global). - Unified Local State Key Mapping: Configured all agents sharing the local
.agents/skillsdirectory to automatically map to thedefaultconfiguration key when in local project scope, resolving potential overlaps. Added automatic key merging and conversion (convertGlobalToLocalState) when falling back from global state to local state.
Release v0.4.1
Release 0.4.1
No detailed release notes provided for this version. See CHANGELOG.md for full history.
Release v0.4.0
Release 0.4.0
No detailed release notes provided for this version. See CHANGELOG.md for full history.
Release v0.3.0
Added
- Global Multi-Agent Support: Transitioned the layout of
state.jsonto an isolated multi-agent format. Commands dynamically target specific agents, managing active presets and symlinks independently per agent. - Commander
--agentoption: Introduced-a, --agent <agent...>native Commander variadic option incli.jssupporting space-separated lists and repeated flags (-a replit aider-desk -a universal), matching the original utility. - Dynamic Multi-Agent Actions: Overhauled
usePresets(),syncState(),collect(), andshowStatus()to run dynamically based on targeted agents or globally across all 50+ configured agent directories. - Cleaned Public API: Completely encapsulated low-level
syncStateand testing helpers into the privatetestsnamespace inindex.js, keeping the main exported API lightweight and focused on standard user commands. - Agent Key Validation:
collect(),showStatus(), andusePresets()now validate every supplied-aagent key against theSUPPORTED_AGENTSregistry. An unrecognised key (including comma-joined strings such asreplit,aider-desk) immediately printsError: Invalid agent: <agent>to stderr and exits with code 1.
Release v0.2.0
Added
- Modular API / CLI Separation: Refactored
index.jsinto a lightweight, pure programmatic API. Removed allcommanderimports and CLI logic, makingrequire('skillsman')extremely fast and clean of console artifacts. - Unified skills / skillsman CLI: Created
cli.jsas the new unified executable entry point, mapping both global commands (skillsandskillsman) to it, supercharging the standardskillstool with native preset management out-of-the-box. - Self-Healing Global Shims: Integrated a lightweight 1.5ms check (
ensureSkillsLink) run on every CLI execution. Automatically detects if the globalskillscommand was overwritten by another installation and restores it programmatically (cross-platform, zero-privilege on Windows). - Environment & Path Redirection: Configured delegated package-manager commands (
add,remove,update,find,list,initfor templates, etc.) to execute under sandboxedXDG_STATE_HOMEandXDG_DATA_HOMEenvironment variables, redirecting all operations seamlessly straight toskillsman's local library. - Automatic Ingestion & Preset Hooks (
skills collect): Replacedinit(for environment setup) with a unifiedcollectcommand. It scans~/.agents/skills/for physical directories, migrates them to the library, generates a corresponding preset on-the-fly (parsing metadata fromSKILL.mdusinggray-matter), and creates Directory Junctions. - Auto-Preset and Clean-up Hooks: Configured automatic hook post-processing that creates preset markdown files after successful
skills addinstallations, and purges orphaned library folders and preset files afterskills remove. - Renamed Overlapping Commands: Renamed preset listing
list/lstopresets(aliasps), and environment setupinittocollect, keepinginitreserved exclusively for initializing new skill project templates.
Release v0.1.2
Added
- Unified Release & Publish Pipeline: Merged separate workflows into a single, intelligent
release-and-publish.ymlfile. - Trusted Publishing Integration: Migrated NPM publishing to passwordless OIDC authentication (Trusted Publishing), eliminating long-lived credentials.
- Automated Provenance Badges: Added automatic package build provenance attestations (
--provenance) for verified supply chain security on npmjs.com. - Smart Deployment Guard: Configured real-time checks to query GitHub CLI and the public NPM registry to dynamically skip redundant releases or publishes.
- Resilient Changelog Extractor: Enhanced
extract-changelog.jsto gracefully fall back to default release notes if a version's changelog section is empty. - Workflow Cleanups: Removed obsolete branch triggers (
master) from the test execution runner (test.yml).
Release v0.1.1
This is the initial development preview release of skillsman — a modern, zero-dependency Node.js CLI utility designed to structure, manage, and dynamically swap presets of portable AI Agent Skills.
Added
- Dynamic Preset State Machine: Implemented robust state tracking via
state.jsonto manageactivePresets,alwaysPresets, andneverPresetsprofiles. - Cycle-Safe Preset Resolver: Designed a Depth-First Search (DFS) preset tree expansion with a
visitedSet to gracefully resolve nested preset connections and prevent infinite loops. - Built-In Conflict Overrides: Engineered overlapping preset conflict resolution to preserve linked skills when multiple active presets share identical skill names.
- Global Blacklist Priority: Implemented flat priority blacklisting via the designated
never.mdpreset, filtering out forbidden skills at the final stage of projection. - Safe Environment Initialization: Created
skillsman initto generate standardized directory trees (~/.agents) and perform copy-and-verify physical skills migrations. - Declarative CLI: Migrated parameters parsing to the industry-standard
commanderlibrary, providing automated validation, aliases, and clean Spec help output. - Modern Test Suite: Created a fully automated, sandbox-isolated test suite leveraging Node.js Native Test Runner (
node:test+node:assert) covering BDD-style unit, integration, and CLI subprocess edge cases. - Single Source of Truth Metadata: Configured the CLI to dynamically bind the program name, version, and description directly to
package.jsonconfigurations. - CI/CD Automation: Integrated a unified, multi-OS GitHub Actions test suite and a reusable publish workflow to automatically test and deploy to the
npmregistry upon release. - Auto-Release Pipeline: Created a tag-triggered GitHub workflow and custom Node.js script to extract release notes and automatically generate a formal GitHub Release on push.
- Lifecycle Version Hook: Implemented automated versioning and changelog dating via the native
npm versionhook. - NPM Package Polish: Configured
package.jsonwith a robust files whitelist and an extensive, alphabetically-sorted set of 55 discoverability keywords covering the entire AI agent IDE ecosystem. - Clean Git Integration: Configured automatic ignoring of temporary test sandboxes in
.gitignoreto prevent workspace clutter during test execution. - Modular Documentation: Refactored the codebase documentation layout into a clean high-level
README.md, an exhaustivedocs/user_guide.md, and a targeteddocs/developer_guide.md.