agentleFS
botirkhaltaevbotirkhaltaev/botir-skills/skills/ethical-design-patterns/SKILL.md

ethical-design-patterns

Skill4 starsChanged 3 months agoApache-2.0View on GitHub

Recognize dark patterns and design with integrity. Covers the taxonomy of deceptive patterns, ethical frameworks, the regulatory landscape, and practical guidelines for ethical persuasion. Use when auditing interfaces for manipulation, establishing ethical design standards, or evaluating growth tactics. Triggers on: "dark patterns", "ethical design", "deceptive patterns", "ethical UX", "manipulative design", "persuasive design", "design ethics", "anti-patterns ethics".

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Fix: All actions a user might reasonably want are findable within 2 clicks.

    line 61
  2. Distinctive:

    Fix: Ask once. If declined, respect it.

    line 68
  3. Distinctive:

    Fix: Only show genuine scarcity.

    line 75
  4. Distinctive:

    If you had to explain this design choice to a user face-to-face, would you be embarrassed?

    line 97

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Ethical Design Patterns

Recognize manipulation and design with integrity. Ethical design builds trust; dark patterns destroy it.

"Dark patterns are not bad design. They are design that works exactly as intended — against the user." — Harry Brignull

Dark Patterns Taxonomy

1. Roach Motel

Easy to get in, hard to get out.

Examples: Subscriptions that are easy to start but require calling customer service to cancel. Accounts that can be created in one click but deletion requires emailing support.

Fix: Make exit as easy as entry. One-click cancellation. Self-service account deletion.

2. Sneak into Basket

Items added without explicit user consent.

Examples: Insurance pre-selected at checkout. Donation added without clear opt-in. "Premium" version auto-selected.

Fix: Nothing is added the user didn't explicitly select. Default to the base option.

3. Confirmshaming

Guilt-tripping users into opting in.

Examples: "No, I don't like saving money" / "No, I prefer to miss out."

Fix: Neutral language for both options. "Subscribe" / "No thanks" — not guilt-laden.

4. Forced Continuity

Auto-renewing subscriptions without adequate reminder.

Examples: Free trial converts to paid without clear warning. Annual subscription renews without email notice.

Fix: Send reminder 7 days before renewal. Make billing frequency clear at signup. Easy cancellation before renewal.

5. Misdirection

Visual design nudges users toward the company's preferred action.

Examples: Primary button styled as a ghost button. "Save" is small gray text; "Discard" is large green. Opt-out buried under expandable sections.

Fix: Visual hierarchy matches user intent, not business intent. Important user actions (cancel, delete, opt-out) get equal or greater visual weight.

6. Interface Interference

Making undesirable actions difficult through UI design.

Examples: Tiny gray "unsubscribe" link at the bottom. "Delete account" requires navigating 4 menus. Toggle switches with reversed logic.

Fix: All actions a user might reasonably want are findable within 2 clicks. Destructive actions and opt-outs are as visible as positive actions.

7. Nagging

Repeated interruptions until the user gives in.

Examples: Rate-this-app popup on every launch. Push notifications every day until enabled. Email opt-in modal on every page visit.

Fix: Ask once. If declined, respect it. Provide a "Don't ask again" option.

8. False Urgency

Creating artificial scarcity or time pressure.

Examples: "Only 2 left!" (when inventory is actually high). Countdown timer that resets. "Sale ends tonight" that's perpetual.

Fix: Only show genuine scarcity. If the timer resets, don't use a timer.

Ethical Design Framework

The Ethical Hierarchy of Persuasion

LevelApproachExample
EnableHelp users do what they already wantSmart defaults, clear paths
EducateInform users to make better decisionsNutrition labels, cost breakdowns
EncourageNudge toward beneficial behavior"You saved $10 by choosing annual"
DiscourageMake harmful choices slightly harderExtra confirmation for deletion
RestrictPrevent genuinely harmful actionsSpending limits, safety locks

Rules:

  • Enable and Educate are always ethical
  • Encourage is ethical if it benefits the user
  • Discourage is ethical for truly destructive actions
  • Restrict is ethical only for safety-critical contexts

The Test: Would You Explain This to a User?

If you had to explain this design choice to a user face-to-face, would you be embarrassed? That's your answer.

Questions to Ask

  1. Does this respect user autonomy?
  2. Is the user's interest aligned with the business interest?
  3. Would a reasonable user feel deceived?
  4. Is the default choice the safest/least committal option?
  5. Can users easily undo this action?

Regulatory Landscape

RegionRegulationWhat It Covers
EUGDPRConsent must be freely given, specific, informed, unambiguous
EUDigital Services ActDark patterns in online interfaces are prohibited
USAFTC ActDeceptive practices are unlawful (Section 5)
USA (state)California AADCRestricts dark patterns for minors
IndiaCPA GuidelinesBans dark patterns in consumer protection

Ethical Persuasion Techniques (The Good Kind)

TechniqueHowExample
Smart defaultsPre-select the option most users wantAnnual billing selected (but monthly visible)
Social proofShow what others do (truthfully)"Join 10,000+ teams"
Progressive disclosureShow complexity on demand"Advanced options" toggle
Friction for the right thingsAdd confirmation for irreversible actions"This deletes all data. Type DELETE to confirm."
Transparent pricingAll costs visible before commitmentShow total with tax before checkout

Reference Map

  • references/deceptive-patterns-checklist.md — Brignull taxonomy audit and persuasion hierarchy
  • references/regulatory-quickref.md — GDPR/DSA/FTC-oriented consent and subscription UI rules

Related Skills

  • For notifications and permissions → use notifications-permissions
  • For onboarding ethics → use onboarding-ux
  • For accessibility and inclusive design → use a11y-accessibility-design

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.