What problem does it solve? Modeling dependency graphs, task ordering, reachability, and shortest paths in TypeScript often leads to ad-hoc mutable structures and hand-rolled traversal bugs. This Skill teaches the agent to use Effect's Graph module correctly, covering its immutable data model, scoped mutation, lazy walkers, and algorithm APIs so graph code is correct on the first pass. ## Core Features & Use Cases - Graph construction and scoped mutation: Create directed or undirected graphs with Graph.directed/Graph.undirected, and apply batched writes through Graph.mutate with addNode, addEdge, removeNode, and bulk map/filter transforms. - Traversal and analysis: Run lazy DFS, BFS, postorder, and topological walkers, detect cycles with isAcyclic and stronglyConnectedComponents, and compute connectivity, bridges, and bipartite matchings. - Shortest paths and visualization: Compute routes with Dijkstra, A*, Bellman-Ford, and Floyd-Warshall, then export diagrams via Graph.toGraphViz and Graph.toMermaid. - Use Case: Given a build system where tasks depend on each other, model the tasks as a directed graph, detect dependency cycles via strongly connected components, and emit a valid execution order with Graph.topo. ## Quick Start Use the effect-graph skill to model my task dependencies as a directed graph, check for cycles, and produce a topological execution order.