prop-analyzerlisted
Install: claude install-skill soumit-kaz/lazysitter
# Prop analysis
A component's props are its public API. Once twenty files call it, changing them is a migration. This skill turns "does this API make sense" from a taste question into a measurement.
## Get the data first
```bash
lazysitter fe-index props <ComponentName>
lazysitter fe-index who <ComponentName> # call sites + props passed at each
lazysitter fe-index dead-props # repo-wide drift
lazysitter fe-index impact <path> # cost of a breaking change
```
`props` reconciles three sources — the TypeScript interface/type (following `extends` and `&` intersections), the destructured parameter pattern with its defaults, and `defaultProps` — and joins them against **every JSX call site's actual attributes**.
## The seven findings, in order of value
### 1. Dead prop surface — declared, passed at zero call sites
The most reliable "this API has drifted" signal in a mature codebase. Each one is untested code, extra branches, and a promise the component is still keeping to nobody.
Ask, per dead prop: was it *never* adopted, or was it *abandoned*? A prop added last week with no call sites is pending; a prop from two years ago with none is dead. The index gives you the file's newest-blame date to tell them apart. Removing it is a breaking change on paper and a no-op in practice — say exactly that, with the zero, rather than proposing a cautious deprecation for something nothing calls.
### 2. Undeclared props — passed but not declared
Something c