nav-release

Validates plugin integrity and publishes Navigator releases to the marketplace via git tags.

232|12|Updated Oct 10, 2025
One-click install
npx skills add https://github.com/qf-studio/navigator --skill nav-release-qf-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nav-release
Source: https://github.com/qf-studio/navigator/tree/main/skills/nav-release
Command: npx skills add https://github.com/qf-studio/navigator --skill nav-release-qf-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Releasing a Claude Code plugin manually risks shipping broken installs: skills referenced in plugin.json may be missing or uncommitted, versions can drift across manifest files, and hooks can silently fail when environment variables are unset. This Skill enforces a validated, repeatable release process that catches these failures before users hit them. ## Core Features & Use Cases - Pre-Release Validation: Runs release_validator.py to confirm every skill in plugin.json exists and is committed, and that versions match across plugin.json, marketplace.json, CLAUDE.md, and README.md. - Hook Smoke Testing: Executes every plugin manifest hook command with CLAUDE_PLUGIN_ROOT both set and unset, detecting silent-failure regressions where payload-emitting hooks exit 0 with no output. - Tag-Based Release Flow: Commits, pushes, and creates an annotated git tag that triggers the CI release workflow, then verifies the published GitHub release and tag contents. - Use Case: When you say "release Navigator v6.16.0", the Skill validates all skills and hooks, confirms the version with you, pushes the tag, watches the CI workflow, and verifies the published release. ## Quick Start Ask the assistant to release Navigator version X.Y.Z and it will validate the plugin, run the hook smoke test, and publish the release through the git tag workflow.

Frequently Asked Questions about nav-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I release a Claude Code plugin to a marketplace?

Run the release flow which validates plugin integrity, commits pending changes, pushes to main, and creates an annotated git tag. The tag triggers a CI workflow that publishes the GitHub release, so you never run gh release create locally.

How do I validate plugin.json skills before release?

Run python3 functions/release_validator.py --check-all. It verifies every skill referenced in plugin.json exists on disk, is committed to git, and that versions match across plugin.json, marketplace.json, CLAUDE.md, and README.md.

Why do Claude Code plugin hooks silently fail after install?

Hooks can exit 0 with no output when a shell guard depends on CLAUDE_PLUGIN_ROOT being set but the variable is unset in the hook spawn environment. The --verify-hooks smoke test runs each hook command with the variable both set and unset to detect this signature.

Can I create the GitHub release manually with gh release create?

No. The release.yml workflow owns release publication from the pushed tag. Running gh release create locally races the workflow and causes 'release with the same tag name already exists' CI failures.

What happens if release validation fails?

The process stops before any tag is created. The validator reports missing skills, uncommitted or untracked skill files, and version mismatches, with specific fixes such as committing skills/ or updating the mismatched manifest file.