compass/skills/compass-setup/SKILL.md
compass プラグインの環境セットアップ手順。初回設定・DB 起動・設定ファイルの管理方法。
npx skillsauth add hidetsugu-miya/claude-plugins compass-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
cocoindex update CLI)compass(pgvector-stack の cocoindex コンテナ内)compassindex_<host>_<project>__chunksCompassIndex_<host>_<project>${CLAUDE_PLUGIN_ROOT}/scripts/~/.config/compass/secrets.env / ~/.config/compass/.env(compass 専用)~/.config/cocoindex/secrets.env(cocoindex-setup プラグイン管理、共通 hub)以下が未インストールならまずインストールする:
/plugin install pgvector-stack@hidetsugu-miya
/plugin install cocoindex-setup@hidetsugu-miya
pgvector-stack: PostgreSQL コンテナ(cocoindex)を提供。compass の DB 基盤cocoindex-setup: ~/.config/cocoindex/ の secrets/config hub。VOYAGE_API_KEY 等を共有docker compose -f ~/.config/cocoindex/compose.yml up -d
bash ~/.claude/plugins/cache/hidetsugu-miya/cocoindex-setup/scripts/check_config.sh
# または手動:
# cp ~/.claude/plugins/cache/hidetsugu-miya/cocoindex-setup/templates/secrets.example.env ~/.config/cocoindex/secrets.env
~/.config/cocoindex/secrets.env の VOYAGE_API_KEY を設定する。
bash ${CLAUDE_PLUGIN_ROOT}/scripts/setup_db.sh
このスクリプトが冪等に以下を実行:
~/.config/compass/.env / secrets.env の auto-provision(雛形コピー、既存は触らない)compass database の作成compass DB に vector extension を作成HOST_PREFIX=$(hostname | sed 's/[^a-zA-Z0-9]/_/g' | tr '[:upper:]' '[:lower:]')
PROJECT_NAME=$(basename "${CLAUDE_PROJECT_DIR:-$PWD}")
INDEX_NAME=$(echo "${HOST_PREFIX}_${PROJECT_NAME}" | sed 's/[^a-zA-Z0-9]/_/g')
APP_NAME="CompassIndex_${INDEX_NAME}"
cd ${CLAUDE_PLUGIN_ROOT}/scripts \
&& SOURCE_PATH="${CLAUDE_PROJECT_DIR:-$PWD}" \
INDEX_NAME="$INDEX_NAME" \
PATTERNS="**/*.rb,**/*.py" \
uv run cocoindex update -f "main.py:${APP_NAME}"
インデックステーブル名は hostname プレフィックス付きで、ホストごとに衝突しない:
compassindex_<hostname>_<project>__chunkscompassindex_macbookpro_local_wonder_front__chunks<hostname> は hostname コマンド出力を [^a-zA-Z0-9] → _ に置換して小文字化したもの。
<project> は CLAUDE_PROJECT_DIR のベース名を同じサニタイズ規則で変換したもの。
同一 DB を複数ホストで共有しても、プレフィックスで名前空間が分離される。
cocoindex 1.0 系では cocoindex update CLI を使う。同じ App を再実行すると差分更新(追跡テーブルで管理)。
cd ${CLAUDE_PLUGIN_ROOT}/scripts
SOURCE_PATH=<src> INDEX_NAME=<name> PATTERNS="**/*.rb" \
uv run cocoindex update -f main.py:<AppName>
主な CLI フラグ:
--reset — 既存セットアップを drop してから rebuild--full-reprocess — キャッシュ無視で全再処理-L, --live — LiveUpdater モード(差分監視を継続)hooks/session-start.sh が SessionStart で cocoindex update -L をバックグラウンド起動し、session-end.sh が SessionEnd で停止する。既存インデックスがあるプロジェクトのみ起動するため、初回構築前は無動作。
ログ: /tmp/compass-live-updater.log
PID: ~/.claude/tmp/.pid_compass_<sanitized_index>
埋め込み列は halfvec(dim) 型で保存し、ベクトルインデックスは hnsw (embedding halfvec_cosine_ops) を declare_sql_command_attachment で付与する。pgvector の ivfflat は 2000 dim 上限のため、Matryoshka 出力 dim=2048 を使う場合は HNSW 必須。
chunk_text から to_tsvector('simple', chunk_text) の生成列 chunk_tsv と GIN index を declare_sql_command_attachment で付与している。現状の search.py は dense vector + voyage rerank のみだが、将来 BM25 RRF を組み込む際にこのインフラを活用できる。
tools
Slack MCP CLI の初期セットアップ skill。`~/.config/slack/bin/slack-mcp` wrapper を作成し、Codex / Claude / terminal から `CLAUDE_PLUGIN_ROOT` なしで Slack MCP を使えるようにする。「Slack MCP をセットアップ」「slack-mcp コマンドを作成」等で起動する。
tools
Slack MCP 連携の共通リファレンス。公式 MCP Python SDK、固定 Slack CLIENT_ID、ワークスペース単位の OAuth token 保存、Slack MCP CLI の実行規約を定義する。slack-connect / slack-bridge から参照する。
tools
Slack MCP 用の初回接続 skill。`~/.config/slack/bin/slack-mcp login` で公式 MCP Python SDK による OAuth 認証を実行し、ワークスペース単位で token を保存する。「Slack を接続」「Slack MCP の初回登録」等で起動する。
tools
登録済み Slack workspace を使って Slack MCP tool を実行する skill。`~/.config/slack/bin/slack-mcp call` 方式で、検索・チャンネル履歴・スレッド取得・送信を行う。「Slack を検索」「Slack の permalink を読んで」「Slack チャンネル履歴を見て」等で起動する。