Night Market Skill — ported from claude-night-market/leyline. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
Foundation patterns for using sem semantic diffs in night-market skills.
Consult this skill when building or modifying skills that consume git diff output. It provides the detection, installation, and fallback patterns.
sem diff yourself)Check sem availability once per session:
bash
# 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.
Primary path (sem available):
bash
sem diff --format json <baseline>
Fallback path (sem unavailable):
bash
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.
Primary path (sem available):
bash
sem impact --json <file-or-entity>
Fallback path (sem unavailable): use rg/grep to trace
callers by filename. See modules/fallback.md.