sem

Analyze entity-level code changes with tree-sitter and Git.

2|Updated Mar 2, 2026
One-click install
npx skills add https://github.com/joegoldin/agent-skills --skill sem-joegoldin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sem
Source: https://github.com/joegoldin/agent-skills/tree/main/skills/sem
Command: npx skills add https://github.com/joegoldin/agent-skills --skill sem-joegoldin

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill provides a detailed view of code changes at the entity level, enabling precise understanding and impact analysis without delving into line-level diffs.

Core Features & Use Cases

  • Entity-Level Diffing: Analyze changes to functions, methods, and classes.
  • Impact Assessment: Understand the dependencies and effects of code changes.
  • Contextual Information: Fetch dependencies and dependents to make informed decisions.
  • Use Case: When you're planning a refactor, use sem impact to see what depends on the entity you're modifying, and sem context to get a token-budgeted LLM context for the symbol.

Quick Start

Analyze the impact of changes on the 'authenticateUser' function with sem impact authenticateUser.

Frequently Asked Questions about sem

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

FAQPage Schema
How do I analyze code changes at the function level instead of reviewing line diffs?

Entity-level code analysis parses your repository with tree-sitter to detect and match functions, methods, and classes across versions. This approach provides a structured view of modifications, letting you assess changes without reading raw line-level diffs.

How do I assess the impact of modifying a specific function in a Git repository?

To assess the impact of modifying a function in a Git repository, you can fetch its dependencies and dependents. This reveals what relies on the entity you are changing, helping you understand the potential effects before refactoring.

Does entity-level diffing detect renamed or moved functions across versions?

Yes, entity-level diffing detects renamed and moved functions across different versions. By using structured parsing, it tracks entities through changes, ensuring accurate attribution of modifications in your Git history.

Do I need tree-sitter installed to perform entity-level code analysis?

Yes, you need tree-sitter installed to perform entity-level code analysis. The tool relies on tree-sitter for structured parsing, and you must have a Git environment configured to analyze the repository.

How do I get token-budgeted LLM context for a specific code symbol?

You can generate token-budgeted LLM context for a specific code symbol by requesting contextual information for that entity. This fetches relevant dependencies and dependents to provide an informed, size-limited context window.