Назад към всички

graph-algorithm-selector

// Select optimal graph algorithm based on problem constraints

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namegraph-algorithm-selector
descriptionSelect optimal graph algorithm based on problem constraints
allowed-toolsRead,Write,Grep,Glob

Graph Algorithm Selector Skill

Purpose

Select the optimal graph algorithm based on problem constraints, graph properties, and performance requirements.

Capabilities

  • Constraint analysis for algorithm selection
  • Trade-off analysis (Dijkstra vs Bellman-Ford vs Floyd-Warshall)
  • Special case detection (sparse vs dense, negative edges)
  • Algorithm complexity mapping to constraints
  • Suggest algorithm variants and optimizations

Target Processes

  • shortest-path-algorithms
  • advanced-graph-algorithms
  • graph-traversal
  • graph-modeling

Algorithm Selection Matrix

Shortest Path

ScenarioAlgorithmComplexity
UnweightedBFSO(V+E)
Non-negative weightsDijkstraO((V+E)log V)
Negative weightsBellman-FordO(VE)
All pairsFloyd-WarshallO(V^3)
DAGTopological + DPO(V+E)

MST

ScenarioAlgorithmComplexity
Sparse graphKruskalO(E log E)
Dense graphPrimO(V^2) or O(E log V)

Input Schema

{
  "type": "object",
  "properties": {
    "problemType": {
      "type": "string",
      "enum": ["shortestPath", "mst", "connectivity", "flow", "matching", "traversal"]
    },
    "graphProperties": { "type": "object" },
    "constraints": {
      "type": "object",
      "properties": {
        "V": { "type": "integer" },
        "E": { "type": "integer" },
        "negativeWeights": { "type": "boolean" },
        "negativeCycles": { "type": "boolean" }
      }
    }
  },
  "required": ["problemType", "constraints"]
}

Output Schema

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "recommendedAlgorithm": { "type": "string" },
    "complexity": { "type": "string" },
    "alternatives": { "type": "array" },
    "reasoning": { "type": "string" }
  },
  "required": ["success", "recommendedAlgorithm"]
}