sem
SkillDev toolsEntity-aware code change analysis using the pi-sem tools. Use when the user asks what changed, wants blast radius or affected tests, needs focused context for a function/class, wants review help on a commit/branch/PR, or asks to compare semantic diff with raw git diff. Prefer sem_context and sem_impact; use sem_diff selectively for summaries and reviews.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the sem skill
What this skill tells your AI
The instructions your AI receives, as published by tomsej/pi-ext in skills/sem/SKILL.md and read by ahel’s review.
Use the pi-sem tools as a semantic lens, not as a universal replacement for raw git diff.
Default decision tree
Choose the smallest useful tool first:
-
Focused understanding of one entity →
sem_context- Best for a single function, method, class, block, or config section
- Prefer this before reading a whole large file
-
Blast radius / affected tests / hidden dependents →
sem_impact- Use when reasoning about what could break
- Prefer
scope=testsfor test selection - Prefer
scope=allwhen validating broader impact
-
Structural inventory of a file →
sem_entities- Use before drilling into a suspicious file
- Good for large files and mixed code/config files
-
What changed across a commit/range/working tree →
sem_diff- Use for semantic summaries, entity counts, and review overviews
- Do not default to it when you only need exact patch details or a single entity
-
History / ownership of an entity →
sem_log,sem_blame- Use for regressions, archaeology, and ownership questions
Review workflow
For commit / branch / PR review:
- Run
sem_diffonce for a semantic overview - Pick the riskiest changed entities
- Run
sem_impacton those entities - Run
sem_contexton the suspicious ones you need to understand deeply - Confirm final findings with raw
git diff,read, or direct file inspection before citing line numbers
For snapshot / folder review:
- Start with
sem_entities - Use
sem_contexton the most relevant entities - Use
sem_impactonly after you identify something suspicious
Important caveats
sem diff --format jsonis not always smaller than rawgit diffsemmay under-cover tests, assets, generated files, or non-semantic glue code- Do not cite
semoutput alone as final evidence for line-level review comments - If semantic coverage looks incomplete, fall back to raw
git diff,read,grep, and file inspection
Good prompts / tool choices
- “What changed in this commit?” →
sem_diff - “What tests are affected by this function?” →
sem_impactwithscope=tests - “Give me focused context for this class without reading the whole file.” →
sem_context - “What is in this Terraform file?” →
sem_entities - “How did this function evolve?” →
sem_log
Anti-patterns
Avoid these habits:
- Running
sem_diffrepeatedly whensem_contextwould answer the question faster - Using only raw
git difffor entity counts or blast radius questions - Treating
sem_impactas infallible; verify surprising results with file reads and grep - Writing review findings from semantic summaries without checking the actual changed code
Signals
- GitHub stars
- 72
- Forks
- 6
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
sem-tomsej- Source
- github.com/tomsej/pi-ext