What problem does it solve? Working with network and graph data—social networks, citation networks, biological interactions, transportation systems—requires specialized algorithms for paths, centrality, communities, and visualization that are tedious to implement from scratch. This Skill provides comprehensive guidance for using NetworkX to handle the full graph analysis workflow in Python. ## Core Features & Use Cases - Graph Construction & I/O: Build directed, undirected, and multi-edge graphs from edge lists, GraphML, GML, JSON, CSV, Pandas DataFrames, NumPy arrays, and SciPy sparse matrices. - Graph Algorithms: Compute shortest paths, centrality measures (degree, betweenness, PageRank), clustering coefficients, community detection, maximum flow, and spanning trees. - Synthetic Network Generation: Generate random, scale-free, small-world, lattice, and stochastic block model networks with reproducible seeds. - Visualization: Render networks with matplotlib layouts (spring, circular, spectral, Kamada-Kawai), customize node/edge appearance, and export publication-quality figures. - Use Case: Given a CSV of protein-protein interactions, load it as a graph, detect functional communities via modularity maximization, rank proteins by betweenness centrality, and export a colored network figure for a paper. ## Quick Start Use the networkx skill to load my edge list CSV, compute PageRank centrality for all nodes, and draw the network with a spring layout.