quality-gate
Installation
SKILL.md
Quality Gate
This is the smell gate. It exists because "it works" is not enough: workarounds, casts, assertions, giant branches, and shallow glue make code harder to change and easier to break. If a change trips this gate, fix the design or stop and escalate. Do not ship the smell and promise cleanup later.
The rule
No bandaids. No type-system escapes. No massive branching. No smell accepted as "good enough."
There are only two valid outcomes:
- Remove the smell properly with a root-cause change, better data flow, a deeper module, a maintained library, or a framework/tool-supported path.
- Stop and surface the real fix if removing it requires a larger design decision, migration, or upstream change.
Do not hide a defect behind a workaround, unsafe cast, non-null assertion, feature flag, fallback default, swallowed error, broad condition, or "temporary" branch.
Decision Order
Before adding code: