What problem does it solve?
In the Remotion monorepo, new optional parameters and type members (foo?: T) in internal APIs force callers to make implicit choices, hide absence behind undefined, and break nullable checks when falsy values like 0 or '' are valid. This Skill enforces a strict convention: internal contracts must use required nullable types (name: T | null) so every caller passes an explicit value.
Core Features & Use Cases
- Diff Scanner: Runs a Bun script that parses
git diff output and flags newly added optional members, parameters, and methods in TypeScript files.
- Public vs Internal Classification: Guides you to determine whether a candidate is exported from a package entrypoint or documented in
packages/docs/docs (keep optional) versus an internal helper (convert to required nullable).
- Refactoring Workflow: Provides concrete before/after patterns for type members, function parameters, and call-site updates, including how to handle public API boundaries with backwards-compatible overloads.
- Use Case: A contributor opens a PR adding a new
frozenFrame?: number prop to an internal component. Use this Skill to scan the diff, classify the prop as internal, refactor it to frozenFrame: number | null, update all call sites to pass null explicitly, and verify with focused tests.
Quick Start
Scan my current diff for newly added optional parameters and convert any internal ones to required nullable values.