agentleFS
asgard-ai-platformasgard-ai-platform/skills/algo-net-centrality/SKILL.md

algo-net-centrality

Skill238 starsChanged 6 months agoMITView on GitHub

Calculate network centrality metrics to identify important nodes in graphs. Use this skill when the user needs to find key influencers, critical infrastructure nodes, or central actors in a network — even if they say 'who is most important in this network', 'key nodes', or 'network influence measurement'.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Check: centrality values normalized [0,1].

    line 49
  2. Distinctive:

    Gate: All metrics computed, top nodes make intuitive sense.

    line 50
  3. Distinctive:

    Verify: C is the bridge — highest in ALL four metrics.

    line 86

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Network Centrality Metrics

Overview

Centrality measures quantify node importance in a network. Four classical metrics: degree (connections), betweenness (bridge role), closeness (proximity), eigenvector (connection quality). Each captures a different aspect of importance. Complexity ranges from O(V+E) for degree to O(V×E) for betweenness.

When to Use

Trigger conditions:

  • Identifying key influencers or critical nodes in social/organizational networks
  • Analyzing network vulnerabilities (which node failure causes most damage)
  • Comparing node importance across different dimensions

When NOT to use:

  • For group/community detection (use community detection algorithms)
  • For information spread modeling (use epidemic models)

Algorithm

IRON LAW: Different Centrality Metrics Answer DIFFERENT Questions
- Degree: Who has the most connections? (popularity)
- Betweenness: Who bridges communities? (brokerage)
- Closeness: Who can reach everyone fastest? (efficiency)
- Eigenvector: Who is connected to important people? (prestige)
Using the WRONG metric answers the WRONG question. Choose based on
what "important" means in your context.

Phase 1: Input Validation

Build network graph from edge list or adjacency matrix. Determine: directed vs undirected, weighted vs unweighted, connected vs disconnected. Gate: Graph is well-formed, largest connected component identified.

Phase 2: Core Algorithm

  1. Degree centrality: C_D(v) = deg(v) / (N-1). O(V+E).
  2. Betweenness centrality: C_B(v) = Σ(σ_st(v) / σ_st) for all s,t pairs. Fraction of shortest paths through v. O(V×E).
  3. Closeness centrality: C_C(v) = (N-1) / Σd(v,u). Inverse of average shortest path. O(V×(V+E)).
  4. Eigenvector centrality: Score proportional to sum of neighbors' scores. Power iteration until convergence. O(k×E).

Phase 3: Verification

Check: centrality values normalized [0,1]. Top nodes by each metric may differ — this is expected and informative. Sanity check top-5 against domain knowledge. Gate: All metrics computed, top nodes make intuitive sense.

Phase 4: Output

Return centrality scores with multi-metric comparison.

Output Format

{
  "centralities": [{"node": "Alice", "degree": 0.85, "betweenness": 0.42, "closeness": 0.71, "eigenvector": 0.90}],
  "metadata": {"nodes": 500, "edges": 2000, "directed": false, "connected_components": 1}
}

Examples

Sample I/O

Input: 5-node undirected graph (bridge topology): edges = {(A,B), (A,C), (B,C), (C,D), (D,E)}

    A --- B
     \  /
      C
      |
      D --- E

Expected centralities (normalized by N-1 = 4):

NodeDegreeBetweennessClosenessEigenvector
A0.50 (2/4)0.0000.571 (4/7)0.452
B0.50 (2/4)0.0000.571 (4/7)0.452
C0.75 (3/4)0.6670.800 (4/5)0.628
D0.50 (2/4)0.5000.667 (4/6)0.386
E0.25 (1/4)0.0000.500 (4/8)0.201

Verify: C is the bridge — highest in ALL four metrics. E is the periphery — lowest in all metrics. A and B are symmetric (identical scores). D has nonzero betweenness (bridges C to E) but lower degree than C.

Edge Cases

InputExpectedWhy
Star graphCenter has max all centralitiesHub dominates in all metrics
Disconnected graphCloseness undefined for disconnected pairsUse harmonic centrality instead
Directed graphIn-degree ≠ out-degree centralityPopularity (in) vs activity (out)

Gotchas

  • Disconnected graphs: Closeness centrality is undefined when nodes can't reach each other. Use harmonic centrality: C_H(v) = Σ(1/d(v,u)) as an alternative.
  • Scale dependence: Raw centrality values depend on network size. Use normalized versions for cross-network comparison.
  • Betweenness is expensive: O(V×E) makes it impractical for very large networks (millions of nodes). Use approximation algorithms (random sampling of shortest paths).
  • Dynamic networks: Centrality in a snapshot may not reflect influence over time. Temporal centrality metrics exist but are more complex.
  • Correlation between metrics: In many real networks, centrality metrics are correlated. But the DIFFERENCES are often the most informative (high degree but low betweenness = local hub, not broker).

References

  • For centrality metric comparison framework, see references/metric-comparison.md
  • For approximate betweenness algorithms, see references/approximate-betweenness.md

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.