mcpField
S
sem-integration

sem-integration

github.com/athola開発34384 回インストール1 日前に更新
リポジトリ

sem-integration について

git diff の出力を扱う night-market skills 向けの連携パターンをまとめたスキルです。sem の検出、セマンティック差分、git による代替処理、影響分析と出力形式の統一を扱います。

主な機能

  1. 01sem の有無をセッション単位でキャッシュ
  2. 02sem によるセマンティック差分
  3. 03sem 不在時の git diff へのフォールバック
  4. 04sem または grep による影響分析
  5. 05代替出力を sem の形式に統一

活用シーン

  1. 01night-market skill に差分処理を追加
  2. 02sem がない環境で差分処理を継続
  3. 03変更が呼び出し元に与える影響を追跡

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/athola/claude-night-market --skill sem-integration

インストール後、Claude Code で/sem-integrationを入力して読み込まれたか確認します。

同梱ファイルmodules/detection.mdmodules/fallback.md

詳細

sem 連携

night-market スキルで sem のセマンティック差分を使用するための基礎パターンです。

使用する場合

git diff の出力を利用するスキルを作成または変更するときに、このスキルを参照してください。検出、インストール、フォールバックのパターンを説明します。

使用しない場合

  • sem CLI を直接使用する場合(sem diff を実行してください)
  • diff の出力を利用しないスキル

検出パターン

セッションごとに一度、sem が利用可能か確認します。

# Detection (cache per session)
_sem_check() {
  local cache="${CLAUDE_CODE_TMPDIR:-/tmp}/sem-available"
  if [ -f "$cache" ]; then
    cat "$cache"
    return
  fi
  if command -v sem &>/dev/null; then
    echo "1" | tee "$cache"
  else
    echo "0" | tee "$cache"
  fi
}

_sem_check が 0 を返した場合は、インストールを提案します。 初回使用時のインストールロジックとプラットフォーム固有のコマンドについては、modules/detection.md を参照してください。

セマンティック差分のパターン

優先パス(sem が利用可能な場合):

sem diff --format json <baseline>

フォールバックパス(sem が利用できない場合):

git diff --name-only --diff-filter=A <baseline>
git diff --name-only --diff-filter=M <baseline>
git diff --name-only --diff-filter=D <baseline>
git diff --name-only --diff-filter=R <baseline>

両方のパスから同じエンティティスキーマを生成する出力の正規化については、modules/fallback.md を参照してください。

影響分析のパターン

優先パス(sem が利用可能な場合):

sem impact --json <file-or-entity>

フォールバックパス(sem が利用できない場合):rg/grep を使用して、ファイル名から呼び出し元を追跡します。詳しくは、modules/fallback.md を参照してください。

完了条件

  • _sem_check の結果は、${CLAUDE_CODE_TMPDIR:-/tmp}/sem-available にセッションごとにキャッシュされます。どのスキルから呼び出される場合でも、検出コマンドの実行はセッションごとに最大1回です
  • sem が利用できない場合は、インストールの提案を提示し、フォールバックパスを自動的に使用します(git diff --name-only --diff-filter= の各種形式)。サイレントに失敗することはありません
  • フォールバックの出力は、modules/fallback.md に従って sem の JSON 出力と同じエンティティスキーマに正規化されます。下流のコンシューマーには、どちらのパスでも同じ構造が提供されます
  • この連携を利用するスキルは、検出パターンを再実装するのではなく、frontmatter で dependencies: [leyline:sem-integration] を宣言します

コメント