mcpbeat

Sem Integration

athola/sem-integration

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

2k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
324
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/athola/claude-night-market --skill sem-integration

The instruction itself

7 sections, as written by the author

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

How to use it

Copy the folder

Take athola/sem-integration from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.