feat: Claude Code marketplace plugin + binary-only installer#11
Merged
Conversation
- Add .claude-plugin/plugin.json (plugin `upkeep`, v0.2.0) - Add .claude-plugin/marketplace.json (marketplace `llbbl-upkeep`) - Rename skills/upkeep-audit → skills/audit, skills/upkeep-deps → skills/deps, skills/upkeep-quality → skills/quality - Update SKILL.md frontmatter name: to audit/deps/quality - Update doc titles and cross-references to /upkeep:audit, /upkeep:deps, /upkeep:quality for clean plugin-namespaced invocation Closes #9
- Resolve "latest" via GitHub API to get the concrete tag before building the download URL (fixes broken download introduced in #7 where assets moved from raw upkeep-<platform> names to versioned tarballs) - Download upkeep_<version>_<os>_<arch>.tar.gz and extract the binary (Windows still gets a raw .exe) - Fix amd64 arch token: was emitting x64, now correctly emits amd64 - Remove skill-copying logic (install_skills, SKILLS_DIR, bin/ symlinks) — skills are now distributed via the plugin marketplace - Rename download_binary → download_file; remove get_download_url in favor of resolve_version - Update tests to match new contract: resolve_version, download_file, amd64 tokens, binary-only / marketplace-pointer assertions
- Update set-version, update-all-versions, show-versions, and commit-version targets to use the new skills/deps, skills/audit, skills/quality paths - Wire .claude-plugin/plugin.json into version bump targets so plugin version stays in sync with package.json - Update auto-release.yml git add step to include .claude-plugin/plugin.json in the release commit
- Add Homebrew as the primary recommended installation method - Document two-part install: CLI binary (Homebrew/script) + skills (marketplace) - Update manual install asset table to versioned tarballs with checksums note - Update skill invocation names to /upkeep:audit, /upkeep:deps, /upkeep:quality - Add /plugin marketplace add + /plugin install instructions for skills - Update project structure tree to reflect renamed skills dirs and new .claude-plugin/ directory
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
llbbl-upkeep), replacing the DIY skill-copy approach in the install scriptinstall.shto correctly resolve the latest release tag and download the versioned tarball assets (fixes breakage introduced when Publish Homebrew-compatible release artifacts (checksums.txt + tarballs) #7 changed asset names fromupkeep-<platform>toupkeep_<version>_<os>_<arch>.tar.gz)Closes #9
Changes
Claude Code Plugin Distribution
upkeep, version0.2.0, authorllbblllbbl-upkeep, cataloging theupkeepplugin at source./skills/upkeep-audit/): Renamed + frontmattername: audit, doc title# /upkeep:audit, cross-references updatedskills/upkeep-deps/): Renamed + frontmattername: deps, doc title# /upkeep:depsskills/upkeep-quality/): Renamed + frontmattername: quality, doc title# /upkeep:qualityInstall Script Fix
get_download_urlwithresolve_version(queries GitHub API to turn "latest" into a concrete tag). Downloadsupkeep_<ver>_<os>_<arch>.tar.gzand extracts the binary. Fixesx64→amd64arch token. Removesinstall_skills,SKILLS_DIR, and the bin/ symlink — the installer is now binary-only; skills come from/plugin install upkeep@llbbl-upkeep. Note: this additionally fixes the broken binary download introduced in Publish Homebrew-compatible release artifacts (checksums.txt + tarballs) #7 when release assets were renamed to versioned tarballs.resolve_version,download_file,amd64tokens, binary-only assertions, and marketplace-pointer check. All 403 tests pass, biome lint clean, shellcheck clean, actionlint clean.Build / CI Sync
set-version,update-all-versions,show-versions, andcommit-versiontargets to use new skill paths and include.claude-plugin/plugin.jsonin version bumps.claude-plugin/plugin.jsonto the release commit'sgit addDocumentation
/upkeep:audit,/upkeep:deps,/upkeep:quality); added plugin marketplace install instructions; updated project structure treeTest plan
bun testpasses (403 / 0 fail)bun run lintclean (biome)shellcheck scripts/install.shcleanactionlintclean on.github/workflows/auto-release.ymljust show-versionsincludes.claude-plugin/plugin.jsonversion