sem

Generate entity-level change summaries for code repositories using tree-sitter parsing.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/leynos/dev-env-rocky --skill sem
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sem
Source: https://github.com/leynos/dev-env-rocky/tree/main/agent-skills/sem
Command: npx skills add https://github.com/leynos/dev-env-rocky --skill sem

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Traditional line-level diffs produce noisy output that hides the structural meaning of code changes, making reviews and impact analysis difficult.

Core Features & Use Cases

  • Semantic diff that reports added, modified, and deleted functions, classes, and other entities across supported languages.
  • Entity-level blame and impact analysis to identify who changed what and what downstream code may break.
  • Dependency graph generation for visualizing relationships between code entities.
  • JSON output for machine-readable summaries, ideal for AI agents and CI pipelines.
  • Support for seventeen programming languages and several data formats, with fallback chunk-based diffing for unsupported files.

Quick Start

Use the sem skill to summarize the changes introduced by the latest commit on the current branch.

Frequently Asked Questions about sem

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a semantic diff for code reviews instead of a standard line-level diff?

A semantic diff reports added, modified, and deleted functions and classes rather than raw line changes, making structural meaning clearer during code reviews. This skill applies tree-sitter parsing to produce entity-level change summaries for commits and pull requests.

Can I get JSON output from a semantic code diff for CI pipelines and AI agents?

Yes, semantic code diff results can be exported as machine-readable JSON output. This format is ideal for integrating entity-level change summaries into AI agent workflows or automated CI pipelines.

What programming languages are supported by entity-level code diffing?

Entity-level code diffing supports seventeen programming languages along with several data formats. For unsupported files, the tool applies a fallback chunk-based diffing method to ensure coverage across diverse repositories.

How do I analyze the downstream impact of code changes on dependent functions and classes?

Impact analysis identifies what downstream code may break when functions or classes change by generating a dependency graph. This visualizes relationships between code entities and highlights potentially affected modules.

Does semantic code diffing require tree-sitter parsing to identify changed entities?

Yes, tree-sitter parsing is required to extract structural entities like functions and classes for semantic code diffing. This enables accurate entity-level change summaries across the supported programming languages.

What is the best way to find who modified a specific function in a code repository?

Entity-level blame analysis identifies who changed specific functions or classes by tracking modifications at the structural level rather than individual lines. This provides clearer accountability during code reviews and impact analysis.