The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Development · SKILL.md

sem-integration

sem-integration

Provides sem semantic-diff detection, install-on-first-use, and fallback patterns. Use when building skills that consume git diff output.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: sem-integration description: Provides sem semantic-diff detection, install-on-first-use, and fallback patterns. Use when building skills that consume git diff output. alwaysApply: false category: infrastructure tags:

  • sem
  • semantic-diff
  • git
  • foundation provides: infrastructure:
    • sem-detection
    • sem-fallback patterns:
    • install-on-first-use
    • graceful-degradation estimated_tokens: 400 progressive_loading: true module_strategy: reference-based modules:
  • modules/detection.md
  • modules/fallback.md

sem Integration

Foundation patterns for using sem semantic diffs in night-market skills.

When To Use

Consult this skill when building or modifying skills that consume git diff output. It provides the detection, installation, and fallback patterns.

When NOT To Use

  • Direct sem CLI usage (just run sem diff yourself)
  • Skills that don't consume diff output

Detection Pattern

Check sem availability once per session:

# 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
}

When _sem_check returns 0, offer installation. See modules/detection.md for install-on-first-use logic and platform-specific commands.

Semantic Diff Pattern

Primary path (sem available):

sem diff --format json <baseline>

Fallback path (sem unavailable):

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>

See modules/fallback.md for output normalization that produces the same entity schema from both paths.

Impact Analysis Pattern

Primary path (sem available):

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

Fallback path (sem unavailable): use rg/grep to trace callers by filename. See modules/fallback.md.

Exit Criteria

  • _sem_check result cached per session at ${CLAUDE_CODE_TMPDIR:-/tmp}/sem-available; detection command runs at most once per session regardless of how many skills invoke it
  • When sem is unavailable, install offer presented and fallback path used automatically (git diff --name-only --diff-filter= variants); no silent failure
  • Fallback output normalized to the same entity schema as sem JSON output per modules/fallback.md; consumers downstream see the same structure from both paths
  • Skills consuming this integration declare dependencies: [leyline:sem-integration] in frontmatter rather than reimplementing the detection pattern
Saved skills