AST utility module for statically analyzing JSX
50
Pending
Does it follow best practices?
Impact
50%
1.42xAverage score across 10 eval scenarios
Pending
The risk profile of this skill
Gracefully handle unknown expression node types by logging and returning null instead of throwing
Value extraction
75%
37%
Unknown handling
33%
16%
Name resolution
0%
0%
Continues scanning
100%
53%
Extract JSX attribute names with namespace support
propName usage
0%
100%
Namespace fidelity
60%
100%
Spread filtering
100%
100%
Invalid input handling
25%
75%
Resolve JSX element type including members, namespaces, and fragments
Imports elementType
100%
100%
Fragment support
50%
100%
Member/namespaced
100%
100%
Invalid node errors
53%
80%
Shared normalization
100%
100%
Evaluate prop values to JavaScript equivalents for common literals, JSX, and expressions
Prop evaluation
0%
16%
Boolean coercion
0%
15%
JSX markup
0%
13%
Spread objects
0%
20%
Unsupported cases
33%
20%
Reconstruct arrays, objects, spreads, bind expressions, and new expressions into representative structures
Attribute naming
100%
100%
Value extraction
10%
0%
Spread handling
20%
0%
Bind expressions
13%
0%
New expressions
13%
0%
Literal-only prop value extraction that filters out non-primitive expressions
Literal extraction
0%
0%
Prop lookup
100%
75%
Boolean/null handling
0%
0%
Non-literal filtering
0%
0%
Array trimming
0%
0%
Reference canonical JSX event handler prop lists (flat and grouped)
Flat list usage
100%
100%
Grouped mapping
100%
100%
Category queries
100%
100%
Canonical sourcing
100%
100%
Rejects unknowns
100%
100%
Support optional chaining, optional calls, and TypeScript non-null assertions or casts in value extraction
Optional chains
0%
6%
Optional calls
0%
5%
TS assertions
0%
8%
Literal extraction
0%
53%
Unknown handling
50%
20%
Check for required props (single/any/all) with case-insensitive and spread-aware options
All-props check
0%
100%
Any-prop check
0%
100%
Spread handling
0%
100%
Case sensitivity toggle
0%
100%
Missing list accuracy
0%
100%
Retrieve JSX attributes directly or from object-literal spreads
Prop lookup
0%
0%
Spread support
20%
32%
Case handling
25%
25%
Value extraction
20%
0%