reviewing-ethical-design

Installation
SKILL.md

reviewing-ethical-design

Does this manipulate or disadvantage the user? Dark patterns, manipulative defaults, discriminatory conditionals — detect-and-route to product/legal.

When to use

Reviews a change for diff-visible, code-level ethical / responsible-design defects — the non-ML analog of harmful-output review, a sibling of security (harm to the user/subject, not via an attacker): dark patterns and deceptive flows (sneaking, fabricated urgency/scarcity, misdirection/confirmshaming, obstruction, forced action, nagging), manipulative defaults and asymmetric choices (pre-checked consent, opt-out harder than opt-in, auto-renew), discriminatory business logic in plain conditionals (a hardcoded threshold or proxy disadvantaging a group, no model in sight), dishonest state/signals, and consent theater. Strictly detect-and-route: name the pattern with evidence, then route the decision — consent-as-law to #27/legal, product trade-offs to product, a11y mechanics to #23. Use when reviewing consent/opt-out flows, defaults, pricing/eligibility conditionals, or onboarding/checkout/cancellation funnels. Skip internal code with no user-facing behavior; deep model-fairness auditing is out of scope.

Shape: diff. Written for concrete code; not meant for design docs or plans.

Reviewer discipline

Report only real problems. If the code correctly handles the case, reply "No findings" and stop — do not invent issues. This guards against false positives on correct code; still report every genuine issue you do find, with its full detail.

Defects are the default; improvements are opt-in. By default this lens is defect-only: do not suggest changes to code that is already correct. When the team has opted up into improvement suggestions, a finding on already-correct code is admissible only as nit-severity, route: implementer (the author applies, defers, or ignores), and must clear the non-configurable anti-churn floor: it must genuinely improve — never offer a merely equivalent alternative — and must converge (once a dimension is as good as you can confidently make it, stop; never oscillate A→B then B→A, never re-order to an equivalent state). Defects keep the strict bar above regardless of this setting.

Team preferences. If the reviewed repo has .code-quality-atlas/preferences.md, apply it before reporting: a repo's .code-quality-atlas/preferences.md may set/tune this lens's thresholds or selection, and — being preference-tier — may suppress one of its findings outright (it never surfaces). Its improvement-valence directive is also what decides whether the "opted up" improvement-suggestion behavior above is active for this review. Absent the file, apply this lens's defaults exactly as written above.

Pre-existing defects in touched code are surfaceable, not yours to fix. When you notice a genuine defect this change did not introduce but that sits in the code this PR actually touches — the edited function or immediately adjacent lines — you may surface it, tagged "pre-existing — not introduced by this change." Like improvements it is opt-in and default-quiet (off unless the team opts up), route: implementer, and non-blocking: it informs the author's fix-now / file-a-ticket / ignore call and never sets this PR's verdict, because the diff did not cause it. Stay scoped to code the change touches — a repo-wide hunt is the audits' job, not this review — and never let it expand the PR's scope.

Installs
2
GitHub Stars
6
First Seen
Jun 23, 2026
reviewing-ethical-design — brandondees/code-quality-atlas