plugins/leyline/skills/sem-integration/SKILL.md
Provides sem semantic-diff detection, install-on-first-use, and fallback patterns. Use when building skills that consume git diff output.
npx skillsauth add athola/claude-night-market sem-integrationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
# 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):
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.
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.
_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 itgit diff --name-only --diff-filter=
variants); no silent failuremodules/fallback.md; consumers downstream
see the same structure from both pathsdependencies: [leyline:sem-integration] in frontmatter
rather than reimplementing the detection patterndata-ai
Models a business in its own language. Use when the domain has real business rules to capture.
research
Generate diverse solution candidates with category-spanning ideation methods and rotation. Use when stuck on a design or fighting repetitive LLM output.
development
Generates and self-executes a diff-derived test plan for a PR. Use when validating PR changes before merge. Do not use for code review; use sanctum:pr-review.
development
Ramps implementation ambition a notch only after the prior increment is understood. Use when building a feature you must understand, not just ship.