graph-evolution

Compares Trailmark code graphs between two snapshots to detect security-relevant structural changes.

Updated May 17, 2026
One-click install
npx skills add https://github.com/irrit-us/agent_misc --skill graph-evolution-irrit-us
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: graph-evolution
Source: https://github.com/irrit-us/agent_misc/tree/main/skills/trailmark-graph-evolution
Command: npx skills add https://github.com/irrit-us/agent_misc --skill graph-evolution-irrit-us

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires trailmark, and includes scripts (resource) and references (resource) components.

What problem does it solve? Text-level diffs miss structural security changes like new attack paths, taint propagation shifts, blast radius growth, and privilege boundary modifications. This Skill builds Trailmark code graphs at two source snapshots (git commits, tags, or directories) and computes a structural diff that surfaces these hidden changes. ## Core Features & Use Cases - Structural Graph Diffing: Builds Trailmark graphs at two snapshots, runs pre-analysis (blast radius, taint, privilege boundaries, entrypoints), and computes node, edge, and subgraph membership diffs. - Security-Focused Reporting: Generates a severity-classified markdown report (CRITICAL to INFO) covering new entrypoints, tainted paths, complexity spikes, and trust boundary changes. - Use Case: Before releasing v1.3.0, compare it against v1.2.0 to detect whether any new code created an untrusted path to a sensitive database function, or whether a security validation function was silently removed. ## Quick Start Ask the agent to compare the code structure between git tag v1.2.0 and v1.3.0 using graph-evolution and produce a security-focused structural diff report.

Frequently Asked Questions about graph-evolution

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

FAQPage Schema
How do I compare code structure between two git commits?▼

Create git worktrees for both refs, build Trailmark graphs with pre-analysis on each snapshot, then run trailmark diff and the graph_diff.py script. The result is a structural diff covering nodes, edges, entrypoints, and subgraph membership changes.

What security changes can graph diffing detect that text diffs miss?▼

Structural diffing detects new attack paths from untrusted entrypoints to sensitive functions, taint propagation changes, blast radius growth, privilege boundary shifts, and transitive complexity increases. Text diffs only show line-level edits and miss these graph-level effects.

Does graph-evolution work without the trailmark package installed?▼

No, trailmark must be installed via uv pip install trailmark before use. The Skill explicitly rejects manual comparison as a fallback because manual review cannot replicate graph-based taint and blast radius analysis.

When should I use differential-review instead of graph-evolution?▼

Use differential-review for line-level code review of text diffs with git blame context. Use graph-evolution for structural analysis across snapshots; the two skills are complementary and can be combined for full coverage.

What severity levels does the graph evolution report use?▼

Findings are classified as CRITICAL (new tainted path to sensitive function, removed auth boundary), HIGH (new entrypoint with high blast radius), MEDIUM (trust-boundary-crossing edges), LOW (unreachable additions), and INFO (dead code removal).