Official agent skill

Analyze Changes

by JetBrains in JetBrains/youtrackdb

Analyze git changes (branch, commit, or current branch) and produce a design-oriented markup document with Mermaid diagrams, query/usage examples, data walkthroughs, PR context, and impact assessment.

OfficialApache-2.0Auto-check passedDevelopment

Install Analyze Changes

skills CLI
$ npx skills add JetBrains/youtrackdb --skill analyze-changes -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install JetBrains/youtrackdb analyze-changes --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/JetBrains/youtrackdb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/analyze-changes .claude/skills/analyze-changes && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
analyze-changes
GitHub stars
437
Token cost
~2.4k tokens
SKILL.md length
869 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
Apache-2.0

At a glance

Analyze git changes (branch, commit, or current branch) and produce a design-oriented markup document with Mermaid diagrams, query/usage examples, data walkthroughs, PR context, and impact assessment.

  • Works in 5 steps: Determine the input type and gather… → Check for an associated Pull Request → Read all changed files at their final… → …
  • Tasks that involve Git workflow
  • SKILL.md covers Input and Steps
  • Calls git and gh

What it does

Analyze Changes is an agent skill from JetBrains/youtrackdb, published by the product's own GitHub organization. Analyze git changes (branch, commit, or current branch) and produce a design-oriented markup document with Mermaid diagrams, query/usage examples, data walkthroughs, PR context, and impact assessment.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Git workflow. It works with Git. The repository describes itself as: YouTrackDB is a general-use object-oriented graph database with storage format native to handle graph relations. YouTrackDB supports Gremlin queries and ACID transactions. YTDB… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Git workflow

Example prompts

  • “/analyze-changes”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Determine the input type and gather changes
  2. Check for an associated Pull Request
  3. Read all changed files at their final state
  4. Analyze the changes
  5. Generate the markup document

What it can do on your machine

Read from SKILL.md and the folder at commit 94c4ac0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Analyze Changes loads about 2.4k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 869 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from JetBrains/youtrackdb at commit 94c4ac0, republished under its Apache-2.0 licence (© JetBrains). 869 words, ~2,439 tokens.

Download SKILL.mdSave it as .claude/skills/analyze-changes/SKILL.md (or your agent's skills folder).
name
analyze-changes
description
Analyze git changes (branch, commit, or current branch) and produce a design-oriented markup document with Mermaid diagrams, query/usage examples, data walkthroughs, PR context, and impact assessment.
argument-hint
[branch-name | commit-sha]
user-invocable
true

Analyze the git changes specified by the argument and produce a design-oriented analysis document.

Input

The argument $ARGUMENTS is either:

  • Empty / not provided — analyze the current branch compared to develop
  • A commit SHA (short or full) — analyze that single commit
  • A branch name — analyze all commits on that branch relative to develop

Steps

1. Determine the input type and gather changes

If $ARGUMENTS is empty or blank, get the current branch name:

bash
git rev-parse --abbrev-ref HEAD

Then treat it as a branch name (see branch handling below).

Otherwise, run these git commands to figure out what was provided:

bash
git cat-file -t "$ARGUMENTS" 2>/dev/null
git branch --list "$ARGUMENTS"
  • If it resolves to a commit and is not a branch name (git branch --list "$ARGUMENTS" is empty), treat it as a single commit SHA. Gather:

    • git show --stat <SHA>
    • git diff <SHA>~1..<SHA> (the full diff)
    • git log -1 --format="%H%n%s%n%b" <SHA> (commit message)
  • If it resolves to a branch, gather:

    • git log --oneline develop..<branch> (all commits on the branch)
    • git diff develop...<branch> (combined diff)
    • git log --format="%H%n%s%n%b%n---" develop..<branch> (all commit messages)
2. Check for an associated Pull Request

Use gh to find a PR associated with the branch or commit:

bash
# For a branch:
gh pr list --head "<branch-name>" --json number,title,body,comments,reviews,url --limit 1

# For a commit (search PRs that contain the SHA):
gh pr list --search "<SHA>" --state all --json number,title,body,comments,reviews,url --limit 1

If a PR is found:

  • Read the PR title, description/body, and URL
  • Read all review comments and issue comments via:
    bash
    gh pr view <number> --json comments,reviews,reviewDecision # Fetches top-level issue comments, review summaries, and decision
    gh api repos/{owner}/{repo}/pulls/<number>/comments # Fetches detailed line-level review comments
  • Include the PR context in your analysis
3. Read all changed files at their final state

For every file that was added or modified in the diff, use the Read tool to read the final version of the file. This gives you the full source to understand the design, not just the diff hunks.

4. Analyze the changes

Study the diff, commit messages, PR description, and PR comments carefully. Identify:

  • Purpose: What is the overall goal of these changes?
  • Architecture: What are the new algorithms, data structures, and execution flows? How do they connect?
  • Concrete usage: What queries, API calls, or scenarios trigger each new code path? What does the old behavior look like vs the new?
  • Non-trivial decisions: Why was this approach chosen? What trade-offs were made?
  • Trivial parts: Simple renames, formatting, config — note briefly, don't over-analyze.
5. Generate the markup document

Create a file named changes-analysis-<identifier>.md in the project root directory, where <identifier> is the short SHA or branch name (sanitized for filenames — replace / with -).

The document MUST follow this structure:

markdown
# Change Analysis: <short description>

**Ref**: `<SHA or branch name>`
**PR**: [#<number> <title>](<url>) *(if PR exists, omit section if no PR)*
**Date**: <commit date(s)>
**Author**: <author(s)>

## Summary

<2-5 sentence high-level summary of what these changes accomplish and why.>

## Design

<Start with the shared concepts that apply across all changes: the overall
algorithm/approach, common data structures, shared invariants, configuration.
Then break into per-feature/per-algorithm subsections.>

### <Shared concept: e.g., overall algorithm, detection pipeline>

<Explain the top-level algorithm or decision flow that ties the changes together.
Include a Mermaid diagram showing the overall flow.>

### <Shared concept: e.g., common data structures, eligibility checks>

<Describe data structures, class relationships, and preconditions shared across
multiple features. Include a class diagram if new types are introduced.>

### <Feature/Algorithm 1>

<For each distinct feature or algorithm, write a SELF-CONTAINED section that
flows in this order:>

**Algorithm.** <What it does, when it triggers, what the eligibility conditions
are. Keep this concise — the reader should understand the approach before seeing
code or examples.>

**Execution flow:**

<Mermaid diagram showing the internal decision/data flow for this specific
feature. NOT a rehash of the overall diagram — zoom into this feature's logic.>

**Query/usage example:**

<A concrete, real-world example that triggers this code path. For a database,
this is a SQL query with schema context. For an API, this is a request/response.
For a library, this is a code snippet. Pick the most representative example —
prefer production queries (e.g., from benchmarks) over synthetic test data.>

**Data walkthrough:**

<Walk through the example step by step with ACTUAL VALUES. Show what the old
code did (with cost), then what the new code does (with cost). Use concrete
data — not "vertex A" but "Alice" or "n1". Show the build phase output, the
probe phase per row, and the final result. This is what makes the design
understandable — abstract descriptions alone are not enough.>

<Repeat for each feature/algorithm.>

### Summary

Provide a table mapping each feature to its trigger condition, implementation class, data structure, and real-world impact (benchmark numbers if available).

| Feature | Trigger | Implementation | Data Structures | Impact |
|---|---|---|---|---|
| ... | ... | ... | ... | ... |>

## PR Discussion Summary

*(Only if a PR with comments exists)*

<Summarize key points from PR comments and reviews. Note any decisions made,
concerns raised, or alternatives discussed.>

## Impact Assessment

- **Risk level**: Low / Medium / High
- **Affected components**: <list>
- **Testing considerations**: <what should be tested>
- **Backward compatibility**: <any breaking changes?>
Important Rules
  1. Design-first, not file-first. Never organize the document by file, by diff hunk, or by commit. Organize by algorithm/feature. A single feature may span multiple files — the document should explain it as one unit. Each section should be self-contained: a reader should understand one feature without reading the others.

  2. Every feature section must have a concrete example with a data walkthrough. Abstract algorithm descriptions are insufficient. Show real values flowing through the system. For database changes, use actual SQL queries (from benchmarks or tests) and walk through with sample data. Show both old behavior and new behavior with cost comparison.

  3. Mermaid diagrams are REQUIRED for non-trivial changes. Use:

    • Flowchart for decision logic, algorithm flow, execution paths
    • Class diagram for new type hierarchies and relationships
    • Sequence diagram for multi-component interactions
    • State diagram for state machine changes Place diagrams INSIDE the feature section they belong to, right after the algorithm description and before the example. Do not collect all diagrams in one place.
  4. Do NOT include a "Changed Files" table. It duplicates what git diff --stat already shows and adds no design insight. The document is about understanding, not inventory.

  5. Do NOT use file:line references. They go stale after any rebase or edit and clutter the text. Refer to classes and methods by name (e.g., "traceBackwardBranch() in MatchExecutionPlanner"). The reader can find them with grep.

  6. Shared concepts go at the top of the Design section. If multiple features share a data structure, an invariant (like context isolation), a safety mechanism (like a runtime fallback), or a configuration knob — describe it once before the per-feature sections, not repeated in each.

  7. Explain WHY, not just what. Use commit messages and PR description for motivation. When a design choice has trade-offs, state them. When something looks redundant (e.g., a check that always passes with current data), explain when it matters.

  8. Be honest about limitations. If a feature is only exercised by synthetic tests and not by any production query, say so. If a pattern never actually filters in symmetric cases, explain what the real win is (cost reduction, not filtering).

  9. Use the Agent tool with subagent_type: "Explore" if you need to understand surrounding code context that isn't in the diff — e.g., to find which real queries trigger a new optimization, or to understand the old behavior being replaced. When the question is reference-accuracy (callers/overrides/usages of a Java symbol, "is this slot consumed anywhere", "which classes implement this interface"), instruct the Explore sub-agent in its prompt to use mcp-steroid PSI find-usages / find-implementations / type-hierarchy via steroid_execute_code, not grep, when the mcp-steroid MCP server is reachable per the SessionStart hook. Sub-agents default to grep otherwise; an unannotated delegation routes through grep and silently misses polymorphic call sites and identifiers in Javadoc/comments. See CLAUDE.md § MCP Steroid → "Grep vs PSI — when to switch" for the full routing rule.

  10. The output file goes in the project root directory (the current working directory).

© JetBrains, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/analyze-changes of JetBrains/youtrackdb.

Open the folder on GitHubat commit 94c4ac0

Compare with similar skills

Analyze Changes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Analyze Changes compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Analyze Changes this skillJetBrains/youtrackdb437—~2.4kAutomated safety check: PassApache-2.0
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Migrate Internal Package into GhostTryGhost/Ghost55k—~3.8kAutomated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    55k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Git Merge Conflict Resolver

    tailcallhq/forgecode

    Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.

    7.6k GitHub starsUsed in 1 repo~4.5k tokens
    DevelopmentAuto-check passed

More from JetBrains/youtrackdb

All 16 skills in this repo
  • Readability Feedback

    JetBrains/youtrackdb

    Official

    Audit a finished design document for hard-to-read or hard-to-understand paragraphs, then harden the house-style rules so future design docs avoid them.

    437 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Review Docs

    JetBrains/youtrackdb

    Official

    Review documentation files for grammar, factual accuracy, and query correctness.

    437 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Edit Design

    JetBrains/youtrackdb

    Official

    Apply an edit to design.md or design-mechanics.md through the mutation discipline: apply → auto-review → iterate → present.

    437 GitHub stars~21k tokensUpdated today
    Auto-check passed
  • Migrate Workflow

    JetBrains/youtrackdb

    Official

    Migrate a branch's docs/adr/<dir/workflow/ artifacts by replaying workflow-format commits from the per-artifact stamp base through HEAD.

    437 GitHub stars~12k tokensUpdated today
    Auto-check passed
  • Run Jmh Benchmarks Hetzner

    JetBrains/youtrackdb

    Official

    Provision a Hetzner CCX33 server, deploy the project, run JMH benchmarks, collect results, and destroy the server.

    437 GitHub stars~3.7k tokensUpdated today
    Auto-check: warnings
  • Review Workflow PR

    JetBrains/youtrackdb

    Official

    Review a workflow-style PR's design, plan, and track files in research-mode Q&A; auto-records observations and submits a line-anchored review via gh api.

    437 GitHub stars~11k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Analyze Changes

What does Analyze Changes do?

Analyze git changes (branch, commit, or current branch) and produce a design-oriented markup document with Mermaid diagrams, query/usage examples, data walkthroughs, PR context, and impact assessment. Analyze Changes is an agent skill from JetBrains/youtrackdb, published by the product's own GitHub organization. Analyze git changes (branch, commit, or current branch) and produce a design-oriented markup document with Mermaid diagrams, query/usage examples, data walkthroughs, PR context, and impact assessment.

When should I use Analyze Changes?

Analyze Changes fits situations like: tasks that involve Git workflow.

How do I install Analyze Changes in Claude Code?

Run `npx skills add JetBrains/youtrackdb --skill analyze-changes -a claude-code`. Or copy the skill folder (.claude/skills/analyze-changes in JetBrains/youtrackdb) into .claude/skills/analyze-changes in your project. Claude Code loads it when a task matches its description.

How do I install Analyze Changes in Codex?

Run `npx skills add JetBrains/youtrackdb --skill analyze-changes -a codex`. Or copy the skill folder (.claude/skills/analyze-changes in JetBrains/youtrackdb) into .agents/skills/analyze-changes in your project. Codex loads it when a task matches its description.

Can I use Analyze Changes in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JetBrains/youtrackdb --skill analyze-changes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/analyze-changes, .gemini/skills/analyze-changes, .github/skills/analyze-changes and .opencode/skills/analyze-changes in your project.

What does Analyze Changes need to run?

Going by SKILL.md and its folder, Analyze Changes needs the command-line tools its instructions call (git and gh).

Does Analyze Changes access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Analyze Changes safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Analyze Changes use?

Analyze Changes is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Analyze Changes use?

About 2.4k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Analyze Changes?

Skills that share tags, products or a category with Analyze Changes: Finishing a Development Branch (obra/superpowers, 296k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Migrate Internal Package into Ghost (TryGhost/Ghost, 55k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Analyze Changes?

JetBrains (a GitHub organization, an official publisher) maintains it in JetBrains/youtrackdb, which has 437 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 8, 2026.

Source: JetBrains/youtrackdb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.