| name | python-api-signature |
| description | Design or review public Python function and method signatures for safe defaults, clear parameter ordering, and explicit call-site contracts. |
| complexity | medium |
| risk_profile | ["ambiguity_sensitive"] |
| inputs | ["whether the API is public or internal","whether None is a legal business value or only a missing/default signal","whether the call site becomes ambiguous with positional arguments","whether flags, modes, or repeated related values are crowding the signature","whether the signature is wide enough to deserve a parameter object"] |
| outputs | ["a review-ready public Python API-signature rule set or review guide","defaults for safe parameter values, sentinel usage, ordering, keyword-only choices, and refactor signals","local examples for common signature smells, safer alternatives, and split signals"] |
| use_when | ["designing or reviewing a public Python function or method signature","deciding whether defaults, keyword-only parameters, or sentinel patterns make an API safer","reviewing boolean flags, broad *args / **kwargs, or crowded parameter lists","deciding when a signature should be refactored into a clearer parameter object"] |
| do_not_use_when | ["the main task is type-annotation syntax, strict typing policy, or container-type selection","the main task is choosing Enum, dataclass, ABC, or Protocol","the main task is ordinary class-shape design, naming policy, or error hierarchy design"] |