mirror of
https://github.com/chainbase-labs/Agentkey.git
synced 2026-09-20 14:20:23 +08:00
bc740c8015
## Problem The skill assumed the whole repo is the plugin root (`PLUGIN_ROOT` = repo root, `version.txt` at repo root). That holds in Claude Code plugin mode, where Claude Code injects `CLAUDE_PLUGIN_ROOT`. But the README's recommended path — ``` npx skills add chainbase-labs/agentkey ``` — uses [vercel-labs/skills](https://github.com/vercel-labs/skills), which only copies the `skills/agentkey/` subdirectory to `~/.claude/skills/agentkey/`. The repo-root `version.txt` doesn't come along. In that layout, `check-update.sh`'s fallback ```bash PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." 2>/dev/null && pwd)}" ``` resolves `../../..` from `~/.claude/skills/agentkey/scripts/` to `~/.claude/`, so `VERSION_FILE` points at `~/.claude/version.txt` — which doesn't exist. `LOCAL_VERSION` ends up empty, the script silently `exit 0`s at line 35, and **skills-CLI users never see upgrade prompts at all**. (Worse case: if some other tool ever drops a `~/.claude/version.txt`, AgentKey would read it as its own version.) This is an interface contract mismatch between the two distribution models, not a one-sided bug — both are valid, but the skill needs to work under either. ## Fix 1. Move `version.txt` into the skill directory (`skills/agentkey/version.txt`) so it travels with whichever subset of the repo gets copied. 2. In `check-update.sh`, anchor on `SKILL_ROOT` (one level above `scripts/`) instead of an external `CLAUDE_PLUGIN_ROOT`. Both distribution paths now resolve identically: - Plugin: `<repo>/skills/agentkey/version.txt` - Skills CLI: `~/.claude/skills/agentkey/version.txt` 3. Point release-please at the new path via `version-file`. The `plugin.json` `extra-files` entry is unchanged. 4. Update docs (README, `docs/README_zh.md`, `.claude/CLAUDE.md`, `SECURITY.md`, `claude-pr-review.yml`) to reflect the new path. ## Test plan - [x] `bash skills/agentkey/scripts/check-update.sh` in repo: resolves `SKILL_ROOT` to `<repo>/skills/agentkey`, reads `LOCAL_VERSION=1.2.2` correctly. - [x] Simulated skills-CLI install: `cp -r skills/agentkey /tmp/sim/` then ran `bash /tmp/sim/agentkey/scripts/check-update.sh` with `CLAUDE_PLUGIN_ROOT` unset → resolves `SKILL_ROOT=/tmp/sim/agentkey`, reads `LOCAL_VERSION=1.2.2` correctly. - [ ] After merge, the next release-please Release PR should bump `skills/agentkey/version.txt` (along with `plugin.json` and `CHANGELOG.md`) — please verify the Release PR diff before merging it. - [ ] After release, on a fresh `npx skills add chainbase-labs/agentkey` install, an out-of-date version should now correctly produce `UPGRADE_AVAILABLE <old> <new>` and trigger the existing AskUserQuestion prompt flow. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>