Netclaw.SkillServer.Cli 0.3.0

dotnet tool install --global Netclaw.SkillServer.Cli --version 0.3.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Netclaw.SkillServer.Cli --version 0.3.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Netclaw.SkillServer.Cli&version=0.3.0
                    
nuke :add-package Netclaw.SkillServer.Cli --version 0.3.0
                    

skillserver CLI

Command-line tool for publishing and managing skills on a SkillServer instance.

Installation

.NET Global Tool

dotnet tool install --global Netclaw.SkillServer.Cli

Standalone Binary (Linux/macOS)

curl -fsSL https://raw.githubusercontent.com/netclaw-dev/skill-server/dev/scripts/install-skillserver.sh | bash

Standalone Binary (Windows)

iwr -useb https://raw.githubusercontent.com/netclaw-dev/skill-server/dev/scripts/install-skillserver.ps1 | iex

Standalone binaries are self-contained and trimmed -- no .NET runtime required.

Configuration

Configure your server URL and API key:

skillserver config init

Or set individually:

skillserver config set server-url https://skills.example.com
skillserver config set api-key sk-your-key

For CI/CD, use environment variables:

export SKILLSERVER_URL=https://skills.example.com
export SKILLSERVER_API_KEY=sk-your-key

Priority: CLI flags > environment variables > config file (~/.skillserver/config.json).

Commands

Publishing

# Publish a single skill (reads name/version from SKILL.md frontmatter)
skillserver publish ./my-skill

# Override version
skillserver publish ./my-skill --version 2.0.0-rc.1

# Re-publish (idempotent -- skips if version exists)
skillserver publish ./my-skill

# Force re-publish (delete + re-upload)
skillserver publish ./my-skill --force

# Batch publish all skills in a directory
skillserver publish-all ./skills

# Dry run
skillserver publish-all ./skills --dry-run
# List all skills
skillserver list

# Search
skillserver list --search akka

# List versions of a skill
skillserver versions my-skill

# JSON output
skillserver list --output json

Verification

# Verify local files match the published version
skillserver verify ./my-skill

Deleting

# Delete a version (with confirmation prompt)
skillserver delete my-skill 1.0.0

# Skip confirmation
skillserver delete my-skill 1.0.0 --yes

API Key Management

skillserver api-key create --label "CI Pipeline"
skillserver api-key list
skillserver api-key delete 7

Global Options

Option Description
--server-url <url> SkillServer URL (overrides config/env)
--api-key <key> API key (overrides config/env)
--output <text\|json> Output format (default: text)
--verbose, -v Show HTTP request/response details
--help, -h Show help
--version Show version

Exit Codes

Code Meaning
0 Success
1 Error
2 Partial failure (batch operations)

License

Apache-2.0 - Copyright 2025 Petabridge, LLC

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.3.0 34 5/5/2026

**New Features**
- Add `skillserver` CLI tool for publishing and managing skills from the command line (#56)
 - Commands: `publish`, `publish-all`, `delete`, `list`, `versions`, `verify`, `config`, `api-key`
 - Distributed as a .NET global tool (`dotnet tool install -g Netclaw.SkillServer.Cli`) and standalone trimmed binaries for linux-x64, linux-arm64, osx-arm64, and win-x64
 - Install scripts for Linux/macOS (`install-skillserver.sh`) and Windows (`install-skillserver.ps1`)
- Add `UploadSkillWithResourcesAsync` and `UploadSkillIfNotExistsAsync` to `Netclaw.SkillClient` for idempotent publishing with resource file support (#56)

**Improvements**
- Consolidate `publish_nuget.yml` and `publish_container.yml` into a unified `release.yml` workflow — NuGet packages, CLI binaries, and container images build in parallel with a single coordinated publish stage (#56)
- Add CLI publish dry-run, trim warning checks, and install script linting to PR validation (#56)

**Dependency Updates**
- Bump YamlDotNet from 17.0.1 to 17.1.0 (#55)