Skip to content

Releases

Release v0.5.0

Choose a tag to compare

@github-actions github-actions released this 27 May 20:48

Changed

  • Fallback execution: Spawning skills through local package resolution now falls back safely to execution via npx if the local skills package 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/skills directory to automatically map to the default configuration 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

Choose a tag to compare

@github-actions github-actions released this 27 May 05:24

Release 0.4.1

No detailed release notes provided for this version. See CHANGELOG.md for full history.

Release v0.4.0

Choose a tag to compare

@github-actions github-actions released this 27 May 02:24

Release 0.4.0

No detailed release notes provided for this version. See CHANGELOG.md for full history.

Release v0.3.0

Choose a tag to compare

@github-actions github-actions released this 26 May 17:14

Added

  • Global Multi-Agent Support: Transitioned the layout of state.json to an isolated multi-agent format. Commands dynamically target specific agents, managing active presets and symlinks independently per agent.
  • Commander --agent option: Introduced -a, --agent <agent...> native Commander variadic option in cli.js supporting space-separated lists and repeated flags (-a replit aider-desk -a universal), matching the original utility.
  • Dynamic Multi-Agent Actions: Overhauled usePresets(), syncState(), collect(), and showStatus() to run dynamically based on targeted agents or globally across all 50+ configured agent directories.
  • Cleaned Public API: Completely encapsulated low-level syncState and testing helpers into the private tests namespace in index.js, keeping the main exported API lightweight and focused on standard user commands.
  • Agent Key Validation: collect(), showStatus(), and usePresets() now validate every supplied -a agent key against the SUPPORTED_AGENTS registry. An unrecognised key (including comma-joined strings such as replit,aider-desk) immediately prints Error: Invalid agent: <agent> to stderr and exits with code 1.

Release v0.2.0

Choose a tag to compare

@github-actions github-actions released this 26 May 06:35

Added

  • Modular API / CLI Separation: Refactored index.js into a lightweight, pure programmatic API. Removed all commander imports and CLI logic, making require('skillsman') extremely fast and clean of console artifacts.
  • Unified skills / skillsman CLI: Created cli.js as the new unified executable entry point, mapping both global commands (skills and skillsman) to it, supercharging the standard skills tool 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 global skills command 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, init for templates, etc.) to execute under sandboxed XDG_STATE_HOME and XDG_DATA_HOME environment variables, redirecting all operations seamlessly straight to skillsman's local library.
  • Automatic Ingestion & Preset Hooks (skills collect): Replaced init (for environment setup) with a unified collect command. It scans ~/.agents/skills/ for physical directories, migrates them to the library, generates a corresponding preset on-the-fly (parsing metadata from SKILL.md using gray-matter), and creates Directory Junctions.
  • Auto-Preset and Clean-up Hooks: Configured automatic hook post-processing that creates preset markdown files after successful skills add installations, and purges orphaned library folders and preset files after skills remove.
  • Renamed Overlapping Commands: Renamed preset listing list/ls to presets (alias ps), and environment setup init to collect, keeping init reserved exclusively for initializing new skill project templates.

Release v0.1.2

Choose a tag to compare

@github-actions github-actions released this 25 May 06:51

Added

  • Unified Release & Publish Pipeline: Merged separate workflows into a single, intelligent release-and-publish.yml file.
  • 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.js to 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

Choose a tag to compare

@github-actions github-actions released this 24 May 18:16

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.json to manage activePresets, alwaysPresets, and neverPresets profiles.
  • Cycle-Safe Preset Resolver: Designed a Depth-First Search (DFS) preset tree expansion with a visited Set 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.md preset, filtering out forbidden skills at the final stage of projection.
  • Safe Environment Initialization: Created skillsman init to generate standardized directory trees (~/.agents) and perform copy-and-verify physical skills migrations.
  • Declarative CLI: Migrated parameters parsing to the industry-standard commander library, 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.json configurations.
  • CI/CD Automation: Integrated a unified, multi-OS GitHub Actions test suite and a reusable publish workflow to automatically test and deploy to the npm registry 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 version hook.
  • NPM Package Polish: Configured package.json with 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 .gitignore to prevent workspace clutter during test execution.
  • Modular Documentation: Refactored the codebase documentation layout into a clean high-level README.md, an exhaustive docs/user_guide.md, and a targeted docs/developer_guide.md.