setup
Bootstrap or repair the skill-concierge engine from scratch. Use this skill when installing skill-concierge on a new machine, right after a plugin update, or when skill-concierge:doctor reports the en
SKILL.mdskills/setup/SKILL.md
GitHubskill-concierge setup
First-time bootstrap (and post-update refresh) for the vendored skill-search engine.
setup.sh is idempotent — safe to re-run any time.
Prerequisites
- Python 3.10–3.12 on
PATH(or setSKILL_PYTHON=/path/to/python3.12). No Docker: the vector store is the local index owner (python -m skill_search.index_ownerfrom the venv, one SQLite file), whichsetup.shstarts itself.
If Python is missing, tell the user and stop — setup.sh cannot proceed without it.
Steps
Run the bootstrap from the plugin root:
bash "$CLAUDE_PLUGIN_ROOT/setup.sh"(When working from a git clone instead,
cdinto the repo and run./setup.sh.) It performs four idempotent steps: stable venv + deps → (re)start the index owner → build/refresh the index (discovers skills from every supported harness's skill roots) and the actionability-gate corpus → apply curated overrides to~/.claude/settings.json(backed up first; Claude Code only — a harmless no-op when run from Codex). Setup never builds the keep-off map: it is consent-only (ADR-0077).De-duplicate any prior user-scope MCP so only the bundled one runs:
claude mcp remove skill-search -s userRestart Claude Code so the MCP server and the settings overrides take effect.
Verify the install:
python3 "$CLAUDE_PLUGIN_ROOT/scripts/doctor.py"Expect
status: OK. In Claude Code,/mcpshould listskill-concierge:skill-searchas connected. If anything is degraded, hand off to theskill-concierge:doctorskill.
When to re-run
- After any plugin update (
/plugin marketplace update+ reinstall) — refreshes the engine copy in the stable venv and rebuilds the index. - When the owner's index file (
~/.cache/skill-search/index.sqlite) or the venv was wiped.
Notes
- The venv lives at
~/.claude/skill-concierge/venv(outside the plugin cache, so it survives reinstalls — ADR-0004). Override withSKILL_CONCIERGE_VENV. setup.shreads the embedder + store URL from.mcp.jsonso the built index can never diverge from the model the live MCP uses.