If a directed graph contains a cycle, all nodes in that cycle belong to the same SCC. To detect if the graph has any cycle: Run SCC detection. If any SCC contains more than one node, the graph has at least one cycle.
To find all cycles: Find all SCCs with size . Each such SCC contains at least one cycle (possibly many). To extract individual cycles, run DFS within each multi-node SCC and track back edges.