Test Slack App
slackapi/slack-skills-plugin
A skill your agent uses when a developer wants to test, try out, smoke-test, verify, or confirm that a Slack app built with the Slack CLI (or a plain Bolt app) actually works, by running it in a…
Validate and release Navigator plugin to marketplace. An agent skill from qf-studio/navigator.
$ npx skills add qf-studio/navigator --skill nav-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install qf-studio/navigator nav-release --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/nav-release .claude/skills/nav-release && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "nav-release" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-release into .claude/skills/nav-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-release", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/qf-studio/navigator/tree/main/skills/nav-releaseType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add qf-studio/navigator --skill nav-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install qf-studio/navigator nav-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/nav-release .agents/skills/nav-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nav-release" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-release into .agents/skills/nav-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-release", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qf-studio/navigator --skill nav-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install qf-studio/navigator nav-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/nav-release .cursor/skills/nav-release && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "nav-release" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-release into .cursor/skills/nav-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-release", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/qf-studio/navigator.git --path skills/nav-release--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add qf-studio/navigator --skill nav-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install qf-studio/navigator nav-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/nav-release .gemini/skills/nav-release && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "nav-release" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-release into .gemini/skills/nav-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-release", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install qf-studio/navigator nav-releaseInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add qf-studio/navigator --skill nav-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/nav-release .github/skills/nav-release && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "nav-release" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-release into .github/skills/nav-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-release", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qf-studio/navigator --skill nav-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install qf-studio/navigator nav-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/nav-release .opencode/skills/nav-release && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "nav-release" agent skill from https://github.com/qf-studio/navigator/tree/main/skills/nav-release into .opencode/skills/nav-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nav-release", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
nav-releaseValidate and release Navigator plugin to marketplace. An agent skill from qf-studio/navigator.
Nav Release is an agent skill from qf-studio/navigator. Validate and release Navigator plugin to marketplace. Auto-invoke when user says "release plugin", "publish navigator", "create release", or "deploy new version".
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `functions/release_validator.py` and `functions/test_release_validator.py`).
It sits in Agent Workflows, covering Hooks and plugins. The repository describes itself as: Finish What You Start — Context engineering for Claude Code. Sessions last 20+ exchanges instead of crashing at 7. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3bb9eac. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashGrepGlobAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
python3gitghclaudebunFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
navigator.quantflow.studioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Nav Release loads about 2.5k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 655 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Bash, Grep, Glob, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from qf-studio/navigator at commit 3bb9eac, republished under its MIT licence (© qf-studio). 655 words, ~2,452 tokens.
.claude/skills/nav-release/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Validate plugin integrity and release to marketplace with all safety checks.
After v5.1.0 incident where nav-profile was referenced in plugin.json but never committed, causing install failures. This skill ensures:
Auto-invoke when:
DO NOT invoke if:
Run validation script:
python3 functions/release_validator.py --check-allThis validates:
If validation fails: STOP and fix issues before proceeding.
Run hook smoke-test:
python3 functions/release_validator.py --verify-hooksThis executes every plugin manifest hook command via bash twice — once with $CLAUDE_PLUGIN_ROOT bound to the repo under release, once with it unset and HOME pointed at a tmp dir whose .claude/plugins/marketplaces/navigator-marketplace links to the repo, so the manifest fallback path is what resolves (TASK-99). NAVIGATOR_MOD_OWNS and PILOT_EXECUTOR are scrubbed from both runs; inside a Claude Code session the mod's ownership list would otherwise make the Python dispatcher exit silently and fake the v6.14.0 signature. It detects the v6.14.0 silent-fail signature: a payload-emitting hook (SessionStart, PreCompact, PostCompact) that exits 0 with no stdout and no stderr.
Other hook events (Stop, UserPromptSubmit, PreToolUse, PostToolUse) are silent by design — they're state-writers or blocking-only — so quiet exit 0 there is correct behavior and is not flagged.
Expected output on a healthy release:
Hook smoke-test: 20/20 passed, 0 failed
✓ SessionStart [set ] exit=0 out=10353B err=0B
✓ SessionStart [unset] exit=0 out=10353B err=0B
✓ PreCompact [set ] exit=0 out=2B err=87B
✓ PreCompact [unset] exit=0 out=2B err=87B
...Regression output (what v6.14.0 would have shown):
❌ SessionStart [unset] silent exit 0 — payload-emitting hook produced no output
python3 "${CLAUDE_PLUGIN_ROOT:-...}/hooks/nav_session_start.py"If --verify-hooks fails: STOP. The hook command in plugin.json is broken in the CLAUDE_PLUGIN_ROOT-unset case. Fix the command (typically a fallback-path expansion issue) and re-run before proceeding.
Also run the two static runtime gates (both are CI steps in release.yml since TASK-99):
python3 functions/release_validator.py --verify-dispatcher # every manifest hook routes through nav_dispatch.py; every registry op has a committed, importable hooks/ops/<name>.py
python3 functions/release_validator.py --verify-conformance # a harness-conformance results file exists for `claude --version` (CI passes the pinned version)Background: this check was added in v6.15.2 after v6.14.0 shipped a shell guard (if [ -n "$CLAUDE_PLUGIN_DIR" ]; then ... fi) that silently no-opped every hook when the variable was unset. The bug masked itself for two releases because the navigator source repo had a project-local .claude/settings.json backstop. Other Nav-initialized projects (no backstop) got zero injection with zero error signal. See mem-036 and releases/RELEASE-NOTES-v6.15.1.md / v6.15.2.md.
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
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━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 and push git tag vX.Y.Z
4. CI workflow (.github/workflows/release.yml) publishes the GitHub release from the tag
Proceed? [Y/n]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 and push tag — this triggers .github/workflows/release.yml,
# which creates the GitHub release from releases/RELEASE-NOTES-vX.Y.Z.md.
git tag -a vX.Y.Z -m "Navigator vX.Y.Z: [description]"
git push origin vX.Y.ZDo NOT run gh release create locally. The workflow owns release
publication. Local creation races the workflow and historically caused
"release with the same tag name already exists" CI failures.
Wait for the Publish Release workflow and verify it succeeded:
# Watch the most recent run; exits non-zero if it fails.
gh run watch --exit-status "$(gh run list --workflow=release.yml --limit=1 --json databaseId --jq '.[0].databaseId')"
# Confirm the release is published
gh release view vX.Y.Z --json tagName,name,isDraft,assetsIf the workflow fails, inspect with gh run view --log-failed and fix
before retrying — do NOT fall back to gh release create locally.
Verify tag contains all skills:
python3 functions/release_validator.py --verify-tag vX.Y.ZClear 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.mdclaude plugin update navigator && claude plugin list | grep -A1 navigator@ # then restartThe docs site is a separate repo (qf-studio/navigator-docs, local
~/Projects/startups/navigator-site, live at https://navigator.quantflow.studio on AWS);
it does not update itself. Bump lib/version.ts, add/adjust content/skills/*.mdx and
content/reference/nav-config-schema.mdx for anything new, bun run build, commit and push
main, then push a prod-<VERSION>-$(date +%s) tag: "Build image" publishes the image to
GHCR and "Deploy QuantFlow AWS" rolls it to ECS and invalidates CloudFront. Confirm the live
version string at navigator.quantflow.studio. Full procedure:
.agent/sops/development/release-workflow.md Step 7.
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 v6.15.2
# Smoke-test plugin manifest hook commands (v6.15.2+)
python3 functions/release_validator.py --verify-hooks
# Python fallback runtime: dispatcher routing + registry ops exist, committed, import (TASK-99)
python3 functions/release_validator.py --verify-dispatcher
# Harness-conformance results exist for a Claude Code version (default: `claude --version`)
python3 functions/release_validator.py --verify-conformance 2.1.287Missing skill detected:
❌ VALIDATION FAILED
Missing skills:
- skills/nav-profile/ (referenced in plugin.json but not found)
Fix: Create the skill or remove from plugin.jsonUncommitted 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.0Release is successful when:
--verify-hooks reports zero failures)# 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".agent/sops/deployment/plugin-release.md.claude-plugin/plugin.json.claude-plugin/marketplace.json© qf-studio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in skills/nav-release of qf-studio/navigator.
Open the folder on GitHubat commit 3bb9eac
Nav Release next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Nav Release this skillqf-studio/navigator | 355 | — | ~2.5k | Automated safety check: Notes | MIT | |
| Test Slack Appslackapi/slack-skills-plugin | 147 | — | ~2.4k | Automated safety check: Notes | MIT | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 38k | 10 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 38k | 7 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Claude Code Skill Developer Guidediet103/claude-code-infrastructure-showcase | 10k | 11 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Plugin Settings Patternanthropics/claude-plugins-official | 38k | 7 repos | ~3k | Automated safety check: Pass | Apache-2.0 |
slackapi/slack-skills-plugin
A skill your agent uses when a developer wants to test, try out, smoke-test, verify, or confirm that a Slack app built with the Slack CLI (or a plain Bolt app) actually works, by running it in a…
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
diet103/claude-code-infrastructure-showcase
A guide to creating and managing Claude Code skills with auto-activation: skill-rules.json triggers, hooks, enforcement levels, YAML frontmatter and progressive disclosure.
anthropics/claude-plugins-official
Shows how Claude Code plugins keep per-project settings and state in .claude/plugin-name.local.md files with YAML frontmatter and a markdown body.
anthropics/claude-plugins-official
Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.
qf-studio/navigator
Load Navigator documentation navigator when starting development session, resuming work, or beginning new feature.
qf-studio/navigator
Create REST/GraphQL API endpoint with validation, error handling, and tests.
qf-studio/navigator
Generate backend tests (unit, integration, mocks) for existing code.
qf-studio/navigator
Create database migration with schema changes and rollback. An agent skill from qf-studio/navigator.
qf-studio/navigator
Create React/Vue component with TypeScript, tests, and styles.
qf-studio/navigator
Generate frontend component tests (React Testing Library, Vue Test Utils, snapshot) for existing components.
Categories
Validate and release Navigator plugin to marketplace. An agent skill from qf-studio/navigator. Nav Release is an agent skill from qf-studio/navigator. Validate and release Navigator plugin to marketplace.
Nav Release fits situations like: says release plugin; publish navigator; deploy new version.
Run `npx skills add qf-studio/navigator --skill nav-release -a claude-code`. Or copy the skill folder (skills/nav-release in qf-studio/navigator) into .claude/skills/nav-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add qf-studio/navigator --skill nav-release -a codex`. Or copy the skill folder (skills/nav-release in qf-studio/navigator) into .agents/skills/nav-release in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add qf-studio/navigator --skill nav-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nav-release, .gemini/skills/nav-release, .github/skills/nav-release and .opencode/skills/nav-release in your project.
Going by SKILL.md and its folder, Nav Release needs Python for the scripts in its folder and the command-line tools its instructions call (python3, git, gh, claude and bun). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Bash, Grep, Glob, AskUserQuestion.
SKILL.md names 1 domain. As links in the text: navigator.quantflow.studio. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Nav Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Nav Release: Test Slack App (slackapi/slack-skills-plugin, 147 stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Claude Code Agent Development (anthropics/claude-plugins-official, 38k stars) and Claude Code Skill Developer Guide (diet103/claude-code-infrastructure-showcase, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
qf-studio (a GitHub organization) maintains it in qf-studio/navigator, which has 355 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 8, 2026.
Source: qf-studio/navigator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.