@skillsmith/cli 0.7.4 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ All notable changes to `@skillsmith/cli` are documented here.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## v0.8.1
8
+
9
+ - **Cadence**: Mechanical cadence alignment (no changes since v0.8.0).
10
+ - **Fix**: reduced displayed tier quota constants 10x (SMI-5558) — Community was 1,000/mo now 100/mo, Individual was 10,000/mo now 1,000/mo, Team was 100,000/mo now 10,000/mo. Display-only; actual enforcement is in `@skillsmith/mcp-server`.
11
+
12
+ ## v0.8.0
13
+
14
+ - **Feature**: per-user inventory purge, hard-delete (SMI-5510, R0 Wave 1a) (#1684)
15
+ - **Fix**: 0.7.4 security hotfix — interactive-search quarantine bypass (SMI-5447) (#1656)
16
+ - **Feature**: `sklx agent install` / `uninstall` command group — installs portable agent pack (SKILL.md + shims + hooks) to detected harnesses with per-harness MCP registration (SMI-5456)
17
+
7
18
  ## v0.7.4
8
19
 
9
20
  - **Security**: fix an interactive-search install path that bypassed the quarantine gate — `skillsmith search -i` → "Install this skill" no longer installs a quarantined skill (consolidated onto the quarantine-aware registry lookup shared with `install`) (SMI-5447).
package/README.md CHANGED
@@ -6,19 +6,20 @@ Command-line interface for Skillsmith - discover, manage, and author agent skill
6
6
 
7
7
  ## Contents
8
8
 
9
- - [What's New](#whats-new-in-v050)
9
+ - [What's New](#whats-new-in-v080)
10
10
  - [Installation](#installation)
11
11
  - [Commands](#commands)
12
+ - [inventory](#inventory)
12
13
  - [Configuration](#configuration)
13
14
  - [Examples](#examples)
14
15
  - [Privacy & Data Handling](#privacy--data-handling)
15
16
 
16
- ## What's New in v0.5.0
17
+ ## What's New in v0.8.0
17
18
 
18
- - **`skillsmith create` command**: Scaffold a new agent skill directly into `~/.claude/skills/<name>/` interactive prompts or non-interactive flags (`--description`, `--author`, `--type`, `--dry-run`, `--yes`)
19
- - **Stricter name validation**: `author init` and `create` share registry-safe validation (lowercase + hyphens only)
20
-
21
- > v0.5.1 is a version-bump-only release fixing an npm registry regression. No source changes.
19
+ - **`sklx agent install` / `uninstall`**: New command group installs a portable agent pack (SKILL.md + shims + hooks) to detected harnesses with per-harness MCP registration.
20
+ - **Per-user inventory purge**: New hard-delete path for clearing a user's full skill inventory.
21
+ - **`sklx audit collisions` / `audit advisories`**: Namespace-collision and legacy security-advisory audit subcommands, plus `sklx config set audit_mode <preventative|power_user|governance|off>`.
22
+ - **Remote-default search + provenance**: `search` now defaults to the remote registry with safety filters, and install provenance is reported as Local / source-identified / Pending.
22
23
 
23
24
  See [CHANGELOG.md](./CHANGELOG.md) for previous releases.
24
25
 
@@ -132,16 +133,83 @@ skillsmith remove author/skill-name --force
132
133
 
133
134
  ### update
134
135
 
135
- Update installed skills.
136
+ Update installed skills. Requires an explicit selector — a skill name, several
137
+ names, or `--all` — bare `skillsmith update` with none of those prints usage
138
+ guidance instead of updating anything.
136
139
 
137
140
  ```bash
138
141
  # Update all skills
139
- skillsmith update
142
+ skillsmith update --all
143
+
144
+ # Update one skill
145
+ skillsmith update skill-name
146
+
147
+ # Update a specific set of skills
148
+ skillsmith update skill-name another-skill
149
+
150
+ # Preview changes without applying them
151
+ skillsmith update skill-name --dry-run
152
+ ```
153
+
154
+ **Options:**
155
+ - `-a, --all` - Update all installed skills
156
+ - `-n, --dry-run` - Show what would update without installing
157
+ - `-d, --db <path>` - Database file path
140
158
 
141
- # Update specific skill
142
- skillsmith update author/skill-name
159
+ ### inventory
160
+
161
+ Cross-machine skill inventory for viewing which agent skills are installed across your machines and harnesses. Requires `skillsmith login` and opt-in via the [Cross-machine skill inventory toggle](https://www.skillsmith.app/account/telemetry) at skillsmith.app/account/telemetry (off by default). Once enabled, view your inventory at [skillsmith.app/account/skills](https://www.skillsmith.app/account/skills).
162
+
163
+ **Privacy:** Only skill IDs, versions, content hashes, declared SKILL.md front-matter fields (author, license, repository), and device platform metadata are uploaded. File contents, paths, and your raw hostname are never transmitted. Set `SKILLSMITH_INVENTORY_DISABLE=1` to hard-disable, or run `skillsmith inventory purge` to delete everything already stored.
164
+
165
+ #### inventory push
166
+
167
+ Push this device's installed-skill snapshot to your Skillsmith account.
168
+
169
+ ```bash
170
+ skillsmith inventory push
143
171
  ```
144
172
 
173
+ Requires:
174
+ - Active authentication via `skillsmith login`
175
+ - "Cross-machine skill inventory" toggle enabled at skillsmith.app/account/telemetry
176
+
177
+ #### inventory status
178
+
179
+ Show local device inventory status (read-only, no network call).
180
+
181
+ ```bash
182
+ skillsmith inventory status
183
+
184
+ # Verbose output
185
+ skillsmith inventory status --verbose
186
+ ```
187
+
188
+ **Options:**
189
+ - `--verbose` - List the individual skill IDs found under each harness
190
+
191
+ #### inventory forget-device
192
+
193
+ Clear the local device registration; the next push creates a fresh device ID and registers as a new machine.
194
+
195
+ ```bash
196
+ skillsmith inventory forget-device
197
+ ```
198
+
199
+ #### inventory purge
200
+
201
+ Permanently delete this account's entire stored cross-machine inventory from Skillsmith's servers (all devices and their skill rows). Irreversible. Prompts for confirmation unless `--yes` is passed.
202
+
203
+ ```bash
204
+ skillsmith inventory purge
205
+ skillsmith inventory purge --yes
206
+ ```
207
+
208
+ **Options:**
209
+ - `-y, --yes` - Skip the confirmation prompt (for scripts)
210
+
211
+ See [Cross-machine skill inventory](https://www.skillsmith.app/docs/inventory) for details.
212
+
145
213
  ### init
146
214
 
147
215
  Initialize a new skill project.
@@ -602,6 +670,49 @@ By default, the CLI uses `~/.skillsmith/skills.db`. Override with:
602
670
  SKILLSMITH_DB_PATH=/custom/path/skills.db skillsmith search "testing"
603
671
  ```
604
672
 
673
+ ### Error Logging
674
+
675
+ Structured error logs are automatically persisted to disk for debugging and diagnostics.
676
+
677
+ **Log Location:** `~/.skillsmith/logs/skillsmith-cli-<YYYY-MM-DD>.jsonl`
678
+
679
+ **Log Format:** One JSON-line record per error, with fields:
680
+ - `ts` — ISO 8601 timestamp
681
+ - `level` — log level (`debug`, `info`, `warn`, `error`)
682
+ - `surface` — invocation surface (`cli`, `mcp`, or `vscode`)
683
+ - `event` — short machine-readable category tag
684
+ - `msg` — human-readable message (redacted)
685
+ - `err` — normalized error object with `name`, `message`, and first 20 stack frames (all redacted)
686
+ - `correlationId` — trace ID linking related log entries and telemetry events
687
+ - `toolOrCommand` — CLI command name or MCP tool name
688
+ - `skillId` — skill ID when applicable
689
+ - `version` — package version
690
+ - `pid` — process ID
691
+ - `details` — additional structured context beyond the fields above, when provided (redacted)
692
+
693
+ **Redaction:** Secrets, tokens, API keys, passwords, connection strings, and PEM keys are automatically redacted before any record is written to disk — this applies to the message, error stack, and any structured context. Redaction happens synchronously at the call site, so disk logs are already safe to inspect or share.
694
+
695
+ **Rotation & Retention:** Log files rotate daily (new file per UTC calendar date) and are capped at ~10MB with `.1`, `.2` continuation files. Files older than 14 days are automatically deleted on startup (CLI or MCP server, whichever runs first).
696
+
697
+ **Control Logging:**
698
+
699
+ | Variable | Default | Description |
700
+ |----------|---------|-------------|
701
+ | `SKILLSMITH_ERROR_LOG_DISABLE` | unset (logging ON) | Set to `'1'` or `'true'` to disable error logging entirely |
702
+ | `SKILLSMITH_LOG_LEVEL` | `warn` | Filter log verbosity: `debug`, `info`, `warn`, or `error` |
703
+
704
+ Examples:
705
+
706
+ ```bash
707
+ # Turn off error logging
708
+ SKILLSMITH_ERROR_LOG_DISABLE=1 skillsmith search "testing"
709
+
710
+ # Enable debug-level verbosity (noisier, more detailed logs)
711
+ SKILLSMITH_LOG_LEVEL=debug skillsmith search "testing"
712
+ ```
713
+
714
+ **Inspect Logs:** Run `skillsmith diagnose` to view a redacted summary of recent error records, or `skillsmith logs --tail` to follow logs in real-time. Both commands redact secrets inline, so output is always safe to paste in chat or share.
715
+
605
716
  ## Privacy & Data Handling
606
717
 
607
718
  Skillsmith is designed with privacy as a core principle.
@@ -715,7 +826,7 @@ npm run dev
715
826
 
716
827
  ```bash
717
828
  # Update all installed skills
718
- skillsmith update
829
+ skillsmith update --all
719
830
 
720
831
  # Remove a skill
721
832
  skillsmith remove community/old-skill
@@ -0,0 +1 @@
1
+ 75c45d14dcefcb6f809b81c62c82679b31256451