Generate abstract Control Flow Graph (CFG) representations of programs showing loops, branches, and function calls for static analysis or verification. Use when users need to: (1) Visualize program control flow structure, (2) Generate CFGs for static analysis tools, (3) Create control flow abstractions for formal verification, (4) Analyze program paths and reachability, (5) Document program structure. Supports both function-level (intraprocedural) and program-level (interprocedural) analysis with multiple output formats (textual, DOT/Graphviz, JSON).
89
86%
Does it follow best practices?
Impact
95%
1.31xAverage score across 3 eval scenarios
Risky
Do not use without reviewing
Loop constructs: back edges, break, continue, DOT format
ENTRY node present
0%
100%
EXIT node present
100%
100%
For-loop desugared
20%
100%
Back edge present
62%
100%
Break edge to loop exit
100%
100%
Continue back edge
100%
50%
Condition nodes with T/F branches
100%
100%
Merge nodes at conditionals
0%
0%
Return to EXIT edge
100%
100%
DOT entry/exit ellipse shape
37%
100%
DOT condition diamond shape
100%
100%
DOT true edges green
0%
100%
DOT false edges red
0%
100%
DOT default shape box
50%
100%
Interprocedural CFG: call/return edges, exception handling, JSON output
ENTRY per function
83%
100%
EXIT per function
83%
100%
Call edges with correct label
100%
100%
Return edges with correct label
100%
100%
Exception edge in try block
100%
100%
Finally both paths
100%
100%
Return to EXIT edges
100%
100%
JSON nodes array structure
70%
100%
JSON edges array structure
50%
100%
Node types used correctly
75%
100%
Both call sites modeled
100%
100%
Assumptions documented
100%
100%
Nested conditionals: merge nodes, textual format, all output formats, reachability
ENTRY and EXIT present
100%
100%
Merge nodes at every join
0%
100%
Condition nodes for all branches
50%
100%
All 5 node types used
37%
100%
Return to EXIT edge
100%
100%
Textual format structure
100%
100%
DOT condition diamond shape
100%
100%
DOT entry/exit ellipse shape
87%
100%
DOT T/F edge labels and colors
25%
100%
JSON nodes with id/label/type
100%
100%
JSON edges with from/to/type
100%
100%
Reachability validation output
100%
100%
0f00a4f
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.