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).
Install with Tessl CLI
npx tessl i github:ArabelaTso/Skills-4-SE --skill control-flow-abstraction-generator88
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
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%
Without context: $0.2601 · 2m 31s · 10 turns · 13 in / 5,155 out tokens
With context: $0.8695 · 3m 36s · 24 turns · 6,258 in / 11,328 out tokens
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%
Without context: $0.4197 · 4m 2s · 18 turns · 22 in / 8,178 out tokens
With context: $0.8407 · 3m 13s · 24 turns · 6,441 in / 10,286 out tokens
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%
Without context: $0.5746 · 4m 40s · 21 turns · 25 in / 11,504 out tokens
With context: $0.7729 · 3m 21s · 23 turns · 107 in / 13,946 out tokens
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.