@skillsmith/cli 0.8.6 → 0.8.8
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 +49 -0
- package/README.md +3 -3
- package/dist/.skillsmith-dist-hash +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli.js +1760 -589
- package/package.json +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,55 @@ All notable changes to `@skillsmith/cli` are documented here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## v0.8.8
|
|
8
|
+
|
|
9
|
+
- **Fix**: logout/whoami now detect JWT device-code sessions (#2578)
|
|
10
|
+
- **Fix**: `skillsmith logout` and `skillsmith whoami` now detect a JWT device-code session
|
|
11
|
+
(`skillsmith login`'s default flow, SMI-4402) — previously they only checked the legacy
|
|
12
|
+
API-key store, so `login` would report "Already authenticated" while `logout` immediately
|
|
13
|
+
after reported "Not authenticated. Nothing to log out.", a stuck loop with no way to
|
|
14
|
+
actually end the session. `logout` now clears both credential stores on confirm. (SMI-6235)
|
|
15
|
+
- **Docs**: README's framing sentence updated from the "lifecycle layer" tagline to a plain
|
|
16
|
+
descriptive sentence ("a registry for sharing, scanning, and tracking agent skills across
|
|
17
|
+
teams") as part of the site-wide positioning reframe. Wording-only. (SMI-6194)
|
|
18
|
+
- **Fix**: `skillsmith update` no longer force-installs an unrelated same-named registry skill
|
|
19
|
+
over a locally-authored one it was never asked to replace. `getSkillDiff()` now reads the
|
|
20
|
+
installed skill's own claimed author from its `SKILL.md` front-matter (`readClaimedAuthor()`)
|
|
21
|
+
and only trusts a local-registry-cache bare-name match when it agrees with the cache row's
|
|
22
|
+
author — scanning every same-name cache row for the matching author, not just the first one
|
|
23
|
+
found — otherwise it falls through to the existing confidence-gated manifest/`SourceRecoveryService`
|
|
24
|
+
path instead of silently substituting the wrong author's skill. Confirmed real incident: two
|
|
25
|
+
personal, unclaimed skills were overwritten with unrelated registry content this way (SMI-6103)
|
|
26
|
+
- **Fix**: the CLI's tier-gating messages (`require-tier.ts`) and `ab-test`'s upgrade prompt
|
|
27
|
+
(console and JSON `price` field) hardcoded the literal unpublished Enterprise price
|
|
28
|
+
(`$55/user/month`) — now `Custom pricing — Contact Sales`, matching the documented "unpublished"
|
|
29
|
+
pricing policy (SMI-6069, GH#2368-adjacent follow-up from SMI-5893)
|
|
30
|
+
|
|
31
|
+
- **Fix**: The Cursor MCP snippet (root README, `@skillsmith/mcp-server`'s README, and the website) no longer defaults to `npx`, which failed inside Cursor on two separate live UAT passes (a real Cursor-bundled-Node ENOENT). The copied `command` is now a resolved-path placeholder (`which`/`where skillsmith-mcp`) that can never point at a wrong path; `npx` stays documented as an explicit, clearly-labeled fallback. Also fixed in the canonical CLI snippet matrix (`templates/mcp-server.template.snippets.ts`, used to scaffold non-Skillsmith MCP servers via `skillsmith author mcp-init`): its Cursor placeholder was hardcoding the literal binary name `skillsmith-mcp` instead of deriving it from the scaffolded server's own package name, and `{{name}}` was never interpolated in a snippet's `notes` text at all — either bug would leak Skillsmith-specific text into a scaffolded (non-Skillsmith) server's generated README (SMI-5893 Wave 11, GH#2368 C-01)
|
|
32
|
+
- **Fix**: Community-tier quota corrected from a stale `1,000` to the actual `100` API calls/month in `displayLicenseStatus` (SMI-5893 Wave 11, GH#2368 C-19)
|
|
33
|
+
- **Fix**: `list`/`manage`'s footer "local: ..." segment, and `inventory status`'s
|
|
34
|
+
"Local skills: ..." line, both hand-typed the literal `./.claude/skills`
|
|
35
|
+
independent of `getLocalSkillsDir()`'s own path segments — now sourced from a
|
|
36
|
+
new `getLocalSkillsDirDisplay()` (`utils/local-skills-dir.ts`), which derives
|
|
37
|
+
from `getLocalSkillsDir()`'s actual return value via `path.relative()` rather
|
|
38
|
+
than reconstructing it from a separately-shared constant, so the two genuinely
|
|
39
|
+
can't drift apart (the `inventory status` instance was found as a sibling gap
|
|
40
|
+
during review — same bug class, second call site this wave hadn't touched
|
|
41
|
+
yet). Displayed text is unchanged in both places — SMI-1630's repo-local
|
|
42
|
+
convention still applies regardless of `--client`. `local-skills-dir.ts` is a
|
|
43
|
+
small new module split out of `utils/skills-directory.ts`, which was
|
|
44
|
+
approaching (not over — corrected from an earlier miswritten changelog entry)
|
|
45
|
+
the 500-line standard (SMI-6060)
|
|
46
|
+
|
|
47
|
+
## v0.8.7
|
|
48
|
+
|
|
49
|
+
- **Fix**: Cursor UAT follow-up — website onboarding, CLI/MCP parity, hooks schema (#2375)
|
|
50
|
+
- **Chore**: removed 3 confirmed-dead exports flagged by the new `code-health-auditor` skill's first real dogfooding run (SMI-6023) — `displayQuotaProgressBar`/`displayQuotaWarning` (`utils/license.ts`, superseded by inline rendering in `displayLicenseStatus`) and `getTrustTierColor` (`commands/search-formatters.ts`, a one-line wrapper — real call sites already index `TRUST_TIER_COLORS` directly), plus the now-dead re-export of `getTrustTierColor` from `commands/search.ts`. No public API surface change — `packages/cli` ships as a bin-only bundle with no `exports`/`main`/`types` field. 3 other candidates the scan flagged were verified as false positives (same-file callers the tool's coverage check missed) and kept.
|
|
51
|
+
- **Fix**: `list --client cursor`'s footer no longer hardcodes `~/.claude/skills` — it now names the resolved client's actual install path, via `manage.action.ts` reusing the existing `getInstallPath(client)` pattern (SMI-5893 Wave 7, GH#2368)
|
|
52
|
+
- **Fix**: `recommend`'s footer no longer hardcodes `~/.claude/skills` either — since `recommend`'s auto-detection scans across every installed client rather than one, the footer now describes multi-harness detection accurately instead of naming one client path. `recommend --context` also dedupes duplicate rows by `skill.id` (client-side mitigation; the schema-level root cause stays with the separately-tracked SMI-5898) (SMI-5893 Wave 7, GH#2368)
|
|
53
|
+
- **Feature**: `skillsmith setup` (`install-skill.ts`) gains `--client <id>` support, installing to the resolved client's path instead of always `~/.claude/skills/skillsmith/` (SMI-5893 Wave 7, GH#2368)
|
|
54
|
+
- **Fix**: `--quiet`/`SKILLSMITH_QUIET` is now wired once via a commander `preAction` hook at the CLI root instead of being duplicated per-command, and reuses the shared `isQuietModeEnabled()` check instead of a narrower literal-`'true'` comparison. Fixes a real bug where the new root `--quiet` flag was silently shadowing `install`/`registry-install`/`merge`'s own pre-existing local `--quiet` flags (SMI-5893 Wave 7, GH#2368)
|
|
55
|
+
|
|
7
56
|
## v0.8.6
|
|
8
57
|
|
|
9
58
|
- **Fix**: Harden manifest concurrency (uninstall lock, temp-file races) (#2331)
|
package/README.md
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
Command-line interface for Skillsmith — publish, manage, and author agent skills.
|
|
6
6
|
|
|
7
|
-
Part of Skillsmith: a
|
|
7
|
+
Part of Skillsmith: a registry for sharing, scanning, and tracking agent skills across teams.
|
|
8
8
|
|
|
9
9
|
## Contents
|
|
10
10
|
|
|
11
|
-
- [What's New](#whats-new-in-
|
|
11
|
+
- [What's New](#whats-new-in-v088)
|
|
12
12
|
- [Installation](#installation)
|
|
13
13
|
- [Commands](#commands)
|
|
14
14
|
- [inventory](#inventory)
|
|
@@ -16,7 +16,7 @@ Part of Skillsmith: a lifecycle layer for agent skills across teams.
|
|
|
16
16
|
- [Examples](#examples)
|
|
17
17
|
- [Privacy & Data Handling](#privacy--data-handling)
|
|
18
18
|
|
|
19
|
-
## What's New in v0.8.
|
|
19
|
+
## What's New in v0.8.8
|
|
20
20
|
|
|
21
21
|
- **Multi-client targeting fixed across the board**: `install`, `list`, `remove`, `update`, `sync`, and `search -i`'s install action now all honor `SKILLSMITH_CLIENT`/`--client` consistently — previously several of these silently acted on the Claude Code directory regardless of the flag or env var.
|
|
22
22
|
- **`update` no longer fails after a fresh install**: now resolves the installed skill's registry source from the manifest `install` already writes, instead of a dead-code path that could never find it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
93f1c12d37b8d391f5574a4964e52d2745aba0a8
|