Agent skill
nav-release
Validate and release Navigator plugin to marketplace. Auto-invoke when user says "release plugin", "publish navigator", "create release", or "deploy new version".
Install this agent skill to your Project
npx add-skill https://github.com/alekspetrov/navigator/tree/main/skills/nav-release
SKILL.md
Navigator Release Skill
Validate plugin integrity and release to marketplace with all safety checks.
Why This Exists
After v5.1.0 incident where nav-profile was referenced in plugin.json but never committed, causing install failures. This skill ensures:
- All referenced skills exist and are committed
- Version consistency across all files
- Tag created AFTER all commits
- Post-release verification
When to Invoke
Auto-invoke when:
- User says "release plugin", "publish navigator"
- User says "create release", "deploy new version"
- User says "release vX.Y.Z"
DO NOT invoke if:
- Just committing changes (no release)
- Updating documentation only
- Testing locally
Execution Steps
Step 1: Pre-Release Validation [CRITICAL]
Run validation script:
python3 functions/release_validator.py --check-all
This validates:
- All skills in plugin.json exist
- All skill files are committed (not untracked)
- Version consistency across files
- No uncommitted changes in skills/
If validation fails: STOP and fix issues before proceeding.
Step 2: Display Validation Results
Show validation summary:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NAVIGATOR RELEASE VALIDATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Skills Check:
[x] nav-loop ✓ exists, committed
[x] nav-profile ✓ exists, committed
[x] nav-diagnose ✓ exists, committed
...
Version Check:
plugin.json: 5.1.0 ✓
marketplace.json: 5.1.0 ✓
CLAUDE.md: 5.1.0 ✓
README.md: 5.1.0 ✓
Git Status:
Uncommitted skills: 0 ✓
Untracked skills: 0 ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VALIDATION: PASSED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 3: Confirm Version
Ask user to confirm version:
Ready to release Navigator vX.Y.Z
This will:
1. Commit any pending changes
2. Push to origin/main
3. Create git tag vX.Y.Z
4. Create GitHub release
Proceed? [Y/n]
Step 4: Execute Release
If confirmed, run release sequence:
# 1. Commit if needed
git add .
git commit -m "chore(release): prepare vX.Y.Z" || true
# 2. Push to origin
git push origin main
# 3. Create tag (AFTER push)
git tag -a vX.Y.Z -m "Navigator vX.Y.Z: [description]"
git push origin vX.Y.Z
# 4. Create GitHub release
gh release create vX.Y.Z --title "Navigator vX.Y.Z" --notes-file RELEASE-NOTES-vX.Y.Z.md
Step 5: Post-Release Verification
Verify tag contains all skills:
python3 functions/release_validator.py --verify-tag vX.Y.Z
Clear local cache (for testing):
rm -rf ~/.claude/plugins/cache/navigator-marketplace/
Instruct user to test:
Release complete! To verify:
1. Run: /plugin install navigator
2. Check plugin list shows vX.Y.Z
3. Verify no errors in plugin details
If errors occur, see: .agent/sops/deployment/plugin-release.md
Predefined Functions
functions/release_validator.py
Validates plugin integrity before release:
# Check all skills exist and are committed
python3 functions/release_validator.py --check-all
# Verify specific version
python3 functions/release_validator.py --check-version 5.1.0
# Verify tag contents
python3 functions/release_validator.py --verify-tag v5.1.0
Error Handling
Missing skill detected:
❌ VALIDATION FAILED
Missing skills:
- skills/nav-profile/ (referenced in plugin.json but not found)
Fix: Create the skill or remove from plugin.json
Uncommitted skills detected:
❌ VALIDATION FAILED
Uncommitted skills:
- skills/nav-loop/ (modified)
- skills/nav-profile/ (untracked)
Fix: git add skills/ && git commit -m "Add missing skills"
Version mismatch detected:
❌ VALIDATION FAILED
Version mismatch:
plugin.json: 5.1.0
marketplace.json: 5.0.0 ← MISMATCH
CLAUDE.md: 5.1.0
Fix: Update marketplace.json to 5.1.0
Success Criteria
Release is successful when:
- All skills validated (exist + committed)
- Version consistent across all files
- Git tag created after all commits
- GitHub release published
- Test installation succeeds (no errors)
Quick Reference
# Full release with validation
"Release Navigator v5.2.0"
# Just validate (no release)
"Validate plugin for release"
# Fix after failed release
"Fix release tag v5.1.0"
Related
- SOP:
.agent/sops/deployment/plugin-release.md - Config:
.claude-plugin/plugin.json - Marketplace:
.claude-plugin/marketplace.json
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
social-media-post
Generate optimized social media posts for Threads, X (Twitter), and LinkedIn. Analyzes platform algorithms, applies best practices, and creates engaging content tailored to each platform. Local skill for Navigator marketing only.
plugin-slash-command
Generate new Navigator slash commands following project conventions. Use when user says "add slash command", "create command", "new /nav command", or "add /nav:[name] command".
nav-skill-creator
Analyze codebase patterns and create custom skills for repetitive workflows. Use when project needs automation or pattern enforcement. Auto-invoke when user says "create a skill for...", "automate this workflow", or "we keep doing X manually".
frontend-test
Generate frontend component tests (unit, snapshot, e2e). Auto-invoke when user says "test this component", "write component test", or "add component test".
nav-install-multi-claude
Install Navigator multi-Claude workflow orchestration scripts. Auto-invokes when user says "install multi-Claude workflows", "set up multi-Claude", or "enable parallel execution".
nav-onboard
Interactive onboarding for Navigator - learn by doing. Auto-invoke when user says "onboard me", "teach me Navigator", "how do I use Navigator", "Navigator tutorial", "learn Navigator", "new to Navigator", or "what skills should I use".
Didn't find tool you were looking for?