CtrlK
BlogDocsLog inGet started
Tessl Logo

control-flow-abstraction-generator

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).

83

1.31x
Quality

78%

Does it follow best practices?

Impact

95%

1.31x

Average score across 3 eval scenarios

SecuritybySnyk

High

Do not use without reviewing

Fix and improve this skill with Tessl

tessl review fix ./skills/control-flow-abstraction-generator/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is well-organized with concrete, runnable DOT/JSON examples and a clear generation workflow, supported by a real, properly anchored reference file. Its main weakness is verbosity: it re-explains basic CFG and graph-theory concepts (dominance, post-dominance, reachability, SCC) that Claude already knows.

Suggestions

Remove or compress the 'CFG Properties' section (Dominance, Post-Dominance, Reachability, SCC) — these are textbook definitions Claude already knows; if needed, move them into references/cfg_patterns.md.

Tighten the node/edge type definitions in Steps 2–3 to just the label/arrow conventions (T/F, ↶, ⇒, ⇐) rather than re-describing what entry/exit/statement/condition/merge nodes are.

Promote the reachability validation from a closing 'Tip' into an explicit Step 6 checkpoint ('Validate: confirm every node is reachable from ENTRY; fix orphans and re-check') to strengthen the workflow's feedback loop.

DimensionReasoningScore

Conciseness

The ~510-line body re-explains textbook concepts Claude already knows — node/edge type definitions and especially the 'CFG Properties' section ('Node A dominates node B if every path from ENTRY to B passes through A', post-dominance, reachability, SCC) — so it is mostly efficient but padded with unnecessary explanation.

3 / 5

Actionability

Provides concrete, runnable artifacts — a complete DOT example, a JSON schema, a render command ('dot -Tpng cfg.dot -o cfg.png'), and specific edge-label conventions (T/F, ↶, ⇒, ⇐) — but the textual and ASCII 'visual' CFGs are illustrative rather than executable, leaving minor gaps.

4 / 5

Workflow Clarity

A clearly sequenced 5-step workflow (Parse → Create Nodes → Create Edges → Handle Special Constructs → Generate Output) is present, with a validation hint (Tip 7: 'Check that all nodes are reachable from ENTRY'), but validation is a tip rather than an explicit checkpoint with a feedback loop.

4 / 5

Progressive Disclosure

Good structure with one-level-deep, clearly signaled references — 'See [cfg_patterns.md](references/cfg_patterns.md#loop-statements)' pointing to verified anchors — though the inlined 'CFG Properties' and output-format sections could arguably live in the reference file.

4 / 5

Total

15

/

20

Passed

Description

88%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, well-structured description that clearly states capabilities and provides an explicit enumerated 'Use when...' trigger list. It is comprehensive and largely distinct, with only minor jargon-heaviness and slight overlap risk holding it back from a perfect score.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Visualize program control flow structure', 'Generate CFGs for static analysis tools', 'Create control flow abstractions for formal verification', 'Analyze program paths and reachability', 'Document program structure' — plus scope (intra/interprocedural) and output formats (textual, DOT/Graphviz, JSON), giving comprehensive coverage.

5 / 5

Completeness

Explicitly answers both 'what' ('Generate abstract Control Flow Graph (CFG) representations...') and 'when' ('Use when users need to: (1)...(5)...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Good natural-term coverage for the domain — 'control flow', 'CFG', 'static analysis', 'formal verification', 'paths and reachability', 'DOT/Graphviz', 'JSON' — but is somewhat jargon-bound and lacks synonyms/file-extension variants, so not a 5.

4 / 5

Distinctiveness Conflict Risk

Clear CFG-generation niche with distinct triggers and minimal conflict risk, though it could marginally overlap with broader static-analysis or call-graph skills, keeping it just below 5.

4 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (515 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
ArabelaTso/Skills-4-SE
Reviewed

Table of Contents

Is this your skill?

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.