sem is a Git-based semantic version control tool that compares changes to code entities such as functions, methods, and classes instead of individual lines. It helps developers and coding agents review changes, trace responsibility, and assess their impact across repositories. Catalogue add-ons provide agent integrations and workflows for operating sem.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Ataraxy-Labs/sem --skill agent-skillgit clone --depth 1 https://github.com/Ataraxy-Labs/semWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ataraxy-labs/sem/agent-skill)<a href="https://agentmods.dev/skills/ataraxy-labs/sem/agent-skill"><img src="https://agentmods.dev/badge/skills/ataraxy-labs/sem/agent-skill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ataraxy-labs/sem/agent-skill"><img src="https://agentmods.dev/badge/skills/ataraxy-labs/sem/agent-skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 157 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00122 | $0.01577 |
| Opus 5.5 | $0.00049 | $0.00631 |
| Sonnet 5.5 | $0.00024 | $0.00315 |
| Haiku 4.5 | $0.00012 | $0.00158 |
Grade A, and why
sem scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 16d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 131 lines — stays where its author put it; the contents beside it link to each section on GitHub.
sem
sem parses 30+ languages with tree-sitter and answers questions about entities
(functions, classes, methods) and the calls between them. Instead of "lines
43-51 changed" it says "function validateToken in src/auth.ts was
modified, and these 3 callers and 2 tests reach it". It works in any Git repo
with no setup. Answers are deterministic; when a caller set may be incomplete,
sem says so.
Four questions, four verbs
| Question | CLI | MCP tool |
|---|---|---|
| Where is it? | sem find NAME, sem grep TEXT |
sem_find, sem_grep |
| What does my change touch? | sem impact NAME, sem impact --diff HEAD --tests |
sem_impact |
| Is it correct? | sem check |
sem_check |
| What should a human review? | sem certify main..HEAD |
sem_certify |
Also: sem diff (which entities changed), sem graph (how the code is
connected), sem history (how an entity changed; --blame for a file).
Every verb takes --json.
Use the MCP tools first
If the agent has the sem MCP server (tools named mcp__sem__*), call those
instead of running sem in a shell. They return compact results and carry
elapsed_ms. If they are deferred, load them first rather than falling back
to Bash.
| Task | MCP call |
|---|---|
where is X defined |
sem_find with query: "X" |
read and understand X |
sem_find with query: "X", mode: "context": body plus callers and callees, one call, no file needed |
who calls X |
sem_find with mode: "callers" |
what X calls |
sem_find with mode: "refs" |
| what is in this file or directory | sem_find with in: "src/auth.ts" |
| find code by intent, name unknown | sem_find with intent: "where retries are scheduled" |
| a string, error message, config key | sem_grep, or sem_find with text (hits named by entity) |
| what breaks / which tests to run | sem_impact (mode: "tests" for tests only) |
| is the change correct | sem_check |
| what to review in a range | sem_certify with range: "main..HEAD" |
| what changed | sem_diff |
how X evolved / who changed it |
sem_history (blame: true with file_path for a file) |
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 16d ago Changed · -27 lines · +10 tokens per session c9e41163a805
- 1mo ago First seen · 158 lines · 112 tokens per session scan A 30b9aec0543d
sem is a skill published in the GitHub repository Ataraxy-Labs/sem (3,415 stars, last pushed yesterday), licensed Apache-2.0. It adds 122 tokens to every session and 1,577 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
inspect
Entity-level code review for Git. Scores changes by risk and groups them by logical dependency.
poly-and-release-workflow
Commit step lint/test/harness order.
commit
A commit candidate is the exact patch that will enter the commit. A coherent change has one task or issue as its reason for existing.
resolving-merge-conflicts
Use when you need to resolve an in-progress git merge/rebase conflict.
pr
Draft a PR body from OMC's paper trail — the smallest visual that proves the change, evidence consumed from the verify protocol (never re-collected), reversibility from the ADR test on the diff, glossary language throughout.
otto-pr-review-loop
Run Polly and OCR on a PR until all findings settle.