Claude-night-market sem-integration
install
source · Clone the upstream repo
git clone https://github.com/athola/claude-night-market
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/athola/claude-night-market "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/leyline/skills/sem-integration" ~/.claude/skills/athola-claude-night-market-sem-integration && rm -rf "$T"
manifest:
plugins/leyline/skills/sem-integration/SKILL.mdsource content
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
yourself)sem diff - 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.