Agent skill

Graph Analysis

by mendixlabs in mendixlabs/mxcli

Query the project as a dependency graph to assess the blast radius of a change, find dead or risky elements, and evaluate module health.

Apache-2.0Auto-check passedDevelopment

Install Graph Analysis

skills CLI
$ npx skills add mendixlabs/mxcli --skill graph-analysis -a claude-code

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

GitHub CLI
$ gh skill install mendixlabs/mxcli graph-analysis --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/mendixlabs/mxcli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/mendix/graph-analysis .claude/skills/graph-analysis && 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
graph-analysis
GitHub stars
128
Token cost
~3.9k tokens
SKILL.md length
1,313 words
Files
1
Skills in repo
75
Repo updated
First seen
Licence
Apache-2.0

At a glance

Query the project as a dependency graph to assess the blast radius of a change, find dead or risky elements, and evaluate module health.

  • Planning a refactor
  • SKILL.md covers When to Read This Skill, Setup: Two-Step Refresh, Use Case 1: Pre-Change Impact… and Use Case 2: Dead Code…, plus 9 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Judging what a change will break

What it does

Graph Analysis is an agent skill from mendixlabs/mxcli. Query the project as a dependency graph to assess the blast radius of a change, find dead or risky elements, and evaluate module health. Use when planning a refactor, judging what a change will break, or looking for unused documents.

Its SKILL.md is about 3.9k 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 Refactoring. The repository describes itself as: Mendix cli tool, a headless way to work with Mendix projects. Enables Mendix projects for use with 3rd party agentic coding tools like Claude Code and Copilot. Includes a… The licence is Apache-2.0.

When your agent uses it

  • Planning a refactor
  • Judging what a change will break
  • Looking for unused documents

Example prompts

  • “/graph-analysis”

What it can do on your machine

Read from SKILL.md and the folder at commit a924d11. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are sql and bash).

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

  • Network

    No URLs in SKILL.md.

    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

Graph Analysis loads about 3.9k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 1,313 words of instructions outside code blocks.

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

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 mendixlabs/mxcli at commit a924d11, republished under its Apache-2.0 licence (© mendixlabs). 1,313 words, ~3,871 tokens.

Download SKILL.mdSave it as .claude/skills/graph-analysis/SKILL.md (or your agent's skills folder).
name
graph-analysis
description
Query the project as a dependency graph to assess the blast radius of a change, find dead or risky elements, and evaluate module health. Use when planning a refactor, judging what a change will break, or looking for unused documents.

Graph Analysis: Impact Assessment & Architecture Evaluation

Use this skill when assessing the impact of a change, identifying risky elements, evaluating module health, or planning a structural refactor. The graph tables model the entire project as a dependency graph and expose topology metrics on top of it.

When to Read This Skill

  • Before modifying an entity or microflow that might be widely used
  • Before moving elements between modules
  • When assessing architectural health (coupling, cohesion, god nodes)
  • When planning to split a module or extract a bounded context
  • When identifying dead code to remove

Setup: Two-Step Refresh

Two separate commands are needed. The full catalog must exist before community detection runs.

bash
# Step 1: Build the full catalog (activities, widgets, cross-references)
# Skip if already fresh — check .mxcli/catalog.db mtime
./mxcli -p app.mpr -c "REFRESH CATALOG FULL"

# Step 2: Run graph algorithms (community detection, centrality, layers, cycles)
./mxcli -p app.mpr -c "REFRESH CATALOG COMMUNITIES"

What each step populates:

StepTables populated
REFRESH CATALOG FULLGRAPH_GOD_NODES, GRAPH_MODULE_COUPLING, GRAPH_MODULE_COHESION, GRAPH_DEAD_ASSETS, GRAPH_ENTITY_HOTSPOTS, GRAPH_MODULE_DEPENDENCIES, GRAPH_REFKIND_DISTRIBUTION
REFRESH CATALOG COMMUNITIESCOMMUNITIES, COMMUNITY_SUMMARY, GRAPH_CYCLES, GRAPH_LAYERS, GRAPH_CENTRALITY, GRAPH_INTEGRATION_SURFACE

An empty table from the second row is ambiguous unless you check. Step 2 is not a build mode — it augments whatever the catalog is, so Build mode: full says nothing about whether it ran, and before mendixlabs/mxcli#1060 an un-run pass and a genuinely cycle-free project produced the same 0 rows. A query now warns requires refresh catalog communities (not run for this catalog) when the pass is missing, and SHOW CATALOG STATUS has a Graph analysis: line. No warning plus no rows is a real answer; treat anything else as "not computed yet", not as "clean".

REFRESH CATALOG COMMUNITIES with a resolution modifier:

  • REFRESH CATALOG COMMUNITIES — default resolution (balanced granularity)
  • REFRESH CATALOG COMMUNITIES resolution 0.6 — coarser clusters (fewer, larger communities; good for monolith-to-multi-app planning)
  • REFRESH CATALOG COMMUNITIES resolution 2.0 — finer clusters (more, smaller communities; good for identifying sub-modules within a large module)

Use Case 1: Pre-Change Impact Assessment

Run before modifying any entity, microflow, or association. Takes under a minute.

sql
-- Is this element a god node? How many things depend on it?
SELECT Asset, ObjectType, InDegree, OutDegree, Degree
FROM CATALOG.GRAPH_GOD_NODES
WHERE Asset = 'MyModule.MyEntity';

-- What layer is it in? (0 = leaf/data, higher = orchestration)
SELECT AssetName, Layer
FROM CATALOG.GRAPH_LAYERS
WHERE AssetName = 'MyModule.MyMicroflow';

-- Is it a bridge? Would breaking it disconnect subsystems?
SELECT AssetName, PageRank, Betweenness
FROM CATALOG.GRAPH_CENTRALITY
WHERE AssetName = 'MyModule.MyMicroflow';

-- Which community does it belong to? What else is in that cluster?
SELECT c.AssetName, c.CommunityId, cs.Label
FROM CATALOG.COMMUNITIES c
JOIN CATALOG.COMMUNITY_SUMMARY cs ON c.CommunityId = cs.CommunityId
WHERE c.AssetName = 'MyModule.MyEntity';

Interpretation:

  • InDegree > 15: many callers — changing this will require wide testing
  • Betweenness > 100: this element is a bridge; removing or changing its signature will disconnect subsystems
  • High layer number (8+): orchestration-level code; changes propagate downward
  • Layer 0: pure data entity or leaf microflow — changes affect only direct callers

Use Case 2: Dead Code Identification

sql
-- All unreferenced elements project-wide
SELECT QualifiedName, ObjectType, ModuleName
FROM CATALOG.GRAPH_DEAD_ASSETS
WHERE NOT (ModuleName IN ('System', 'Atlas_Core', 'Atlas_Web_Content',
    'Atlas_NativeMobile_Content', 'WorkflowCommons', 'CommunityCommons',
    'NanoflowCommons', 'NativeMobileResources', 'WebActions', 'DataWidgets'))
ORDER BY ModuleName, ObjectType;

False positives to exclude before deleting:

PatternWhy it's a false positive
Microflows named *_ToolRegistered as LLM agent tools dynamically — never called directly in code
ApplicationCore.ASU and ASU_*Configured in project settings, not referenced in MDL
Pages used as workflow user task pagesWorkflow activities reference pages via model GUID, not code edges
Pages used as navigation home pagesNavigation assignments are not code edges
IVK_* microflowsCalled by external systems via published REST/web services
SCH_* microflowsCalled by scheduled events — no code edge

Safe to delete: pages, snippets, and microflows with no inbound edges that do not match any of the patterns above, and that are not referenced in navigation (check LIST NAVIGATION).


Use Case 3: Module Health (Cohesion & Coupling)

sql
-- Cohesion per module: low % = module does too many things / should be split
SELECT ModuleName, IntraEdges, InterEdges, CohesionPct
FROM CATALOG.GRAPH_MODULE_COHESION
ORDER BY CohesionPct ASC;

-- Cross-module coupling: find unexpected entanglements
-- Filter to custom modules by replacing the IN list
SELECT SourceModule, TargetModule, Edges, RefKinds
FROM CATALOG.GRAPH_MODULE_COUPLING
WHERE SourceModule IN ('MyModule1', 'MyModule2', 'MyModule3')
  AND TargetModule IN ('MyModule1', 'MyModule2', 'MyModule3')
ORDER BY Edges DESC;

-- Dependency direction breakdown: what kinds of references cross module boundaries?
SELECT SourceModule, TargetModule, RefKind, Edges
FROM CATALOG.GRAPH_MODULE_DEPENDENCIES
WHERE SourceModule = 'MyModule'
ORDER BY Edges DESC;

Interpreting CohesionPct:

RangeMeaning
70–100%Self-contained module — good
40–70%Moderate coupling to other modules — watch if it drops further
< 40%Low cohesion — module is a cross-cutter or should be split; investigate whether this is intentional (e.g. an orchestration/startup module)

Coupling RefKinds to watch:

  • retrieve, datasource, create, change: data access across module boundaries — should go through a service microflow in the owning module
  • call: microflow calls across modules — acceptable if intentional API
  • generalize: entity inheritance across modules — hard to refactor, flag as a blocker for splits
  • layout: purely structural, always acceptable

Use Case 4: Community Analysis (Bounded Context Validation)

sql
-- What communities exist, how large are they, which modules do they span?
SELECT CommunityId, Label, Size, Modules
FROM CATALOG.COMMUNITY_SUMMARY
ORDER BY Size DESC;

-- Which community does a specific element belong to?
SELECT c.AssetName, c.CommunityId, cs.Label, cs.Size
FROM CATALOG.COMMUNITIES c
JOIN CATALOG.COMMUNITY_SUMMARY cs ON c.CommunityId = cs.CommunityId
WHERE c.AssetName LIKE 'MyModule.%'
ORDER BY c.CommunityId;

-- Elements from your module that landed in a foreign community
-- (indicates tight coupling to that community's domain)
SELECT c.AssetName, cs.Label AS CommunityLabel
FROM CATALOG.COMMUNITIES c
JOIN CATALOG.COMMUNITY_SUMMARY cs ON c.CommunityId = cs.CommunityId
WHERE c.AssetName LIKE 'MyModule.%'
  AND cs.Label != 'MyModule'
ORDER BY cs.Label;

What to look for:

  • If your module's elements are split across multiple communities, the module spans more than one bounded context — consider splitting it.
  • If elements from module A consistently land in module B's community, module A has a hidden dependency on B's domain.
  • Two communities both labeled the same marketplace module (e.g. AgentCommons appears twice) signals a natural internal split within that module.

Use Case 5: Finding Bridges (Centrality)

sql
-- Top microflows by betweenness in your custom modules
-- High betweenness = bridge; breaking it disconnects subsystems
SELECT AssetName, PageRank, Betweenness
FROM CATALOG.GRAPH_CENTRALITY
WHERE AssetName LIKE 'MyModule.%'
   OR AssetName LIKE 'AnotherModule.%'
ORDER BY Betweenness DESC
LIMIT 20;

-- God nodes by PageRank (most influential, not just most-referenced)
SELECT Asset, ObjectType, ModuleName, InDegree, OutDegree, Degree
FROM CATALOG.GRAPH_GOD_NODES
WHERE ModuleName IN ('MyModule1', 'MyModule2')
ORDER BY Degree DESC
LIMIT 20;

Betweenness vs Degree:

  • Degree (InDegree + OutDegree): raw connection count. High degree = popular or knows-too-much.
  • Betweenness: fraction of shortest paths in the graph that pass through this node. High betweenness = bridge between clusters. A node can have low degree but high betweenness (a narrow connector between two large clusters).
  • PageRank: recursive importance — being depended on by important things matters more than being depended on by many small things.

Use betweenness to find microflows where an interface change would require coordinating across many callers simultaneously.


Use Case 6: Entity Hotspots

sql
-- Entities used by the most microflows, and across the most modules
SELECT Entity, UsedByFlows, AcrossModules
FROM CATALOG.GRAPH_ENTITY_HOTSPOTS
WHERE Entity LIKE 'MyModule.%'
ORDER BY UsedByFlows DESC;

An entity appearing in AcrossModules with 3+ module names is a candidate for an explicit service layer — instead of every module reading it directly, route access through a DS_ or SUB_ microflow in the owning module.


Show full SKILL.md (549 more words)Show less

Use Case 7: Dependency Cycles

sql
-- All cycles: self-references (size 1) and mutual references (size 2+)
SELECT AssetName, ModuleName, CycleId, CycleSize
FROM CATALOG.GRAPH_CYCLES
ORDER BY CycleSize DESC, CycleId;

Size 1: self-referencing element (e.g. a workflow that references its own context entity — usually harmless).
Size 2: mutual reference between two elements — e.g. workflow A calls workflow B which triggers workflow A. Investigate before assuming it's intentional; these can cause infinite loops at runtime.
Size 3+: a dependency ring — must be broken before the module can be split or properly layered.

Module cycles are a different query, not a rollup

GRAPH_CYCLES is document-level. Two modules referencing each other almost never means two documents do — Administration calls something in Atlas_Core from one page while Atlas_Core reaches back from another — so GRAPH_CYCLES is correctly empty for a genuinely circular pair of modules. Reading it as "no circular dependencies" was mendixlabs/mxcli#1060. Ask the module question of the module table:

sql
SELECT ModuleName, CycleSize, RefKinds
FROM CATALOG.GRAPH_MODULE_CYCLES
ORDER BY CycleSize DESC, ModuleName;

RefKinds names the kinds on that module's edges into the rest of the cycle — the references to go and break, as opposed to everything else the module points at.

The two also read different edges. GRAPH_MODULE_CYCLES uses every reference kind, matching GRAPH_MODULE_COUPLING; the computed asset pass (GRAPH_CYCLES/COMMUNITIES/GRAPH_LAYERS/GRAPH_CENTRALITY) is restricted to the structural kinds so navigational edges do not blur the clustering. On a stock app that is about a third of the edges. GRAPH_ANALYSIS_SCOPE reports the split per kind, which is the query to run when coupling shows an edge and the computed tables act as though it were not there:

sql
SELECT RefKind, Edges, InAssetGraph FROM CATALOG.GRAPH_ANALYSIS_SCOPE
ORDER BY InAssetGraph, Edges DESC;

Use Case 8: Monolith-to-Multi-App Planning

For splitting a project into separate Mendix apps connected via OData, REST, or Business Events:

bash
# Use coarse resolution for candidate app groupings
./mxcli -p app.mpr -c "REFRESH CATALOG COMMUNITIES resolution 0.6"
sql
-- Each cross-community edge becomes an integration contract after a split
-- RefKind tells you what protocol would be needed
SELECT * FROM CATALOG.GRAPH_INTEGRATION_SURFACE
ORDER BY SourceCommunity, TargetCommunity;

-- 'generalize' edges are blockers — entity inheritance cannot cross app boundaries
SELECT * FROM CATALOG.GRAPH_INTEGRATION_SURFACE
WHERE RefKind = 'generalize';

RefKind to integration protocol mapping (matches the Mechanism column the view computes):

RefKindMechanism labelProtocol after split
associateOData / shared entityOData / shared entity
retrieveOData readOData (read)
create, changeevent / REST writeREST or Business Events
callREST (published microflow)REST (synchronous) or Business Events (async)
generalizeBLOCKER: inheritance across boundaryBlocker — cannot cross app boundaries; must restructure
anything else (e.g. datasource, layout)reviewInspect manually — layouts are UI-only and duplicate per app; others case-by-case

Topological Layer Reference

GRAPH_LAYERS assigns each element a layer number via topological sort (Kahn's algorithm on the dependency DAG):

LayerTypical elements
0Entities, associations — pure data, no outgoing calls
1Leaf microflows: tool callbacks, event handlers, simple helpers
2–3Business logic: workflow triggers, process microflows
4–6Orchestration: agent calls, composites
7+Startup / configuration: ASU chain, import pipelines

Elements at the same layer can be parallelised safely. A microflow calling something at a higher layer than itself indicates a layering violation (upward dependency).


Quick Reference: Which Table Answers What

QuestionTable
How many things depend on X?GRAPH_GOD_NODES (InDegree)
Is X a bridge between subsystems?GRAPH_CENTRALITY (Betweenness)
What layer is X in?GRAPH_LAYERS
What community (bounded context) is X in?COMMUNITIES + COMMUNITY_SUMMARY
Which modules are tightly coupled?GRAPH_MODULE_COUPLING
Is module M self-contained?GRAPH_MODULE_COHESION
What is unused / dead?GRAPH_DEAD_ASSETS
Are there circular dependencies between documents?GRAPH_CYCLES
Are there circular dependencies between modules?GRAPH_MODULE_CYCLES
Why isn't an edge I see in coupling affecting the cycles/layers?GRAPH_ANALYSIS_SCOPE
Which entities are hotspots?GRAPH_ENTITY_HOTSPOTS
What contracts would a split require?GRAPH_INTEGRATION_SURFACE
What reference types cross module boundaries?GRAPH_MODULE_DEPENDENCIES

© mendixlabs, 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/mendix/graph-analysis of mendixlabs/mxcli.

Open the folder on GitHubat commit a924d11

Compare with similar skills

Graph Analysis 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.

Graph Analysis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Graph Analysis this skillmendixlabs/mxcli128—~3.9kAutomated safety check: PassApache-2.0
Guidelinesakash-network/node1.1k22 repos~577Automated safety check: PassMIT
Component Refactoringlangflow-ai/langflow156k—~3.5kAutomated safety check: PassMIT
Migrate Core Code to Submodulestinyhumansai/openhuman41k—~2.6kAutomated safety check: PassGPL-3.0
ast-grep Structural Searchcode-yeongyu/oh-my-openagent70k—~3.3kAutomated safety check: PassMIT
Systematic Code Refactoringluongnv89/claude-howto42k—~3kAutomated safety check: PassMIT

Similar skills

  • Guidelines

    akash-network/node

    Behavioral guidelines to reduce common LLM coding mistakes. An agent skill from akash-network/node.

    1.1k GitHub starsUsed in 22 repos~577 tokens
    DevelopmentAuto-check passed
  • Component Refactoring

    langflow-ai/langflow

    Refactor high-complexity React components in Langflow frontend.

    156k GitHub stars~3.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    41k GitHub stars~2.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • ast-grep Structural Search

    code-yeongyu/oh-my-openagent

    Searches and rewrites code by syntax-tree shape across 25 languages with ast-grep, for codemods, structural queries and YAML lint rules, using a Python wrapper script.

    70k GitHub stars~3.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Systematic Code Refactoring

    luongnv89/claude-howto

    Guides refactoring in phases based on Martin Fowler's method: research, test coverage check, planning and small tested steps, with your approval at each phase.

    42k GitHub stars~3k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Codex

    skills-directory/skill-codex

    A skill your agent uses when the user asks to run Codex CLI (codex exec, codex resume) or references OpenAI Codex for code analysis, refactoring, or automated editing

    1.5k GitHub starsUsed in 3 repos~1.8k tokens
    DevelopmentAuto-check passed

More from mendixlabs/mxcli

All 75 skills in this repo
  • Mendix Odata Pushdown

    mendixlabs/mxcli

    Push OData query options into the SQL of a Mendix resource served by a read microflow, so $filter, $orderby, $top, $skip, $count and the key lookup reach the database instead of being silently…

    128 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Mendix Vega Charts

    mendixlabs/mxcli

    Chart a Mendix app with Vega-Lite through a pluggable widget that takes the specification and the data as separate properties, so the model emits rows and never assembles a chart payload.

    128 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Agents

    mendixlabs/mxcli

    Author Mendix AI agent documents in MDL — Model, Knowledge Base, Consumed MCP Service and Agent, with variables, tools and multi-line prompts.

    128 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • Mendix Bulk Oql Dml

    mendixlabs/mxcli

    Run set-based INSERT, UPDATE and DELETE against Mendix entities through OQL statements, which the runtime supports and Studio Pro cannot author.

    128 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Mock REST APIs

    mendixlabs/mxcli

    Stand up an HTTP endpoint you control instead of a live third-party API, and point the Mendix app at it — Prism from an OpenAPI contract, a constant swap, or a forward proxy.

    128 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • REST Client

    mendixlabs/mxcli

    Call external REST APIs from Mendix — the three approaches (inline REST CALL, consumed REST client document, generated from OpenAPI) and how to choose.

    128 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed

Categories

Questions about Graph Analysis

What does Graph Analysis do?

Query the project as a dependency graph to assess the blast radius of a change, find dead or risky elements, and evaluate module health. Graph Analysis is an agent skill from mendixlabs/mxcli. Query the project as a dependency graph to assess the blast radius of a change, find dead or risky elements, and evaluate module health.

When should I use Graph Analysis?

Graph Analysis fits situations like: planning a refactor; judging what a change will break; looking for unused documents.

How do I install Graph Analysis in Claude Code?

Run `npx skills add mendixlabs/mxcli --skill graph-analysis -a claude-code`. Or copy the skill folder (.claude/skills/mendix/graph-analysis in mendixlabs/mxcli) into .claude/skills/graph-analysis in your project. Claude Code loads it when a task matches its description.

How do I install Graph Analysis in Codex?

Run `npx skills add mendixlabs/mxcli --skill graph-analysis -a codex`. Or copy the skill folder (.claude/skills/mendix/graph-analysis in mendixlabs/mxcli) into .agents/skills/graph-analysis in your project. Codex loads it when a task matches its description.

Can I use Graph Analysis 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 mendixlabs/mxcli --skill graph-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/graph-analysis, .gemini/skills/graph-analysis, .github/skills/graph-analysis and .opencode/skills/graph-analysis in your project.

What does Graph Analysis need to run?

SKILL.md names no scripts, command-line tools or credentials: Graph Analysis is instructions for the agent only.

Does Graph Analysis access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Graph Analysis 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 Graph Analysis use?

Graph Analysis 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 Graph Analysis use?

About 3.9k tokens (SKILL.md is roughly 15k 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 Graph Analysis?

Skills that share tags, products or a category with Graph Analysis: Guidelines (akash-network/node, 1.1k stars), Component Refactoring (langflow-ai/langflow, 156k stars), Migrate Core Code to Submodules (tinyhumansai/openhuman, 41k stars) and ast-grep Structural Search (code-yeongyu/oh-my-openagent, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Graph Analysis?

mendixlabs (a GitHub organization) maintains it in mendixlabs/mxcli, which has 128 GitHub stars. The repository holds 75 skills in this directory. The repository was last updated on October 7, 2026.

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