# Fair or Dark > Paste one piece of marketing - a landing or pricing page, an email, a checkout or signup screen, an onboarding screen, an ad or a popup, as text or HTML - pick the challenge it is failing at, and see which psychological principles it pulls and whether it pulls them honestly. The browser reads the copy line by line and finds the principles (social proof, authority, scarcity, urgency, loss aversion, anchoring, charm pricing, price relativity, mental accounting, reciprocity, regret aversion, commitment and more) and the dark patterns (confirmshaming, fake urgency, preselection, sneak into basket, hidden costs, forced continuity, obstruction, trick questions), every price's style and per-day equivalent, the Rule of 100 framing, the calls to action, the form fields and the skill's models for the challenge, for free. Then a map lane rates every principle working, weak or misused and genuine, needs proof or manipulative, with the dark patterns, their honest versions and the missing principles; and an apply lane writes paste-ready honest rewrites and A/B hypotheses. URL: https://fair-or-dark.skillsafe.ai/ API tutorial: https://fair-or-dark.skillsafe.ai/api.html ## Who it is for Founders, marketers, copywriters and growth people who have a page, email or checkout that is not converting (or converts in a way that feels wrong) and want to know which levers it already pulls, which of them are honest, which cross the line, and which principles fit the problem they actually have - price objections, trust, urgency, onboarding, churn, decision paralysis, low conversions or stalled growth. ## The free reading (in the browser, no model) - The copy as plain text or HTML: HTML is reduced to its visible text one block per line, with checked boxes as [x], unchecked as [ ] and struck-through text as ~~...~~. - Principle cues by keyword, each with its lines and the match: social proof (counts of 100 or more customers, ratings, "trusted by"), authority, scarcity, urgency, loss aversion, anchoring (was/now, struck prices), mental accounting (per day), zero-price effect, reciprocity, regret aversion (guarantees, cancel anytime), default effect, price relativity, framing, goal-gradient, Zeigarnik, commitment (free trials), liking, unity, present bias, status-quo bias, contrast, pratfall, IKEA effect. - Dark-pattern cues with a severity: high for confirmshaming, preselection of a paid or consent box, sneak into basket, obstruction (call to cancel) and trick questions; medium for countdowns, live-activity claims, fees and billing terms the headline hides, and auto-renewals. - Arithmetic: every price's style (charm: ends in 9, 7, .99, .97, .95; round: a whole ten; anchor: struck or after "was"), its per-day equivalent (monthly x 12 / 365, yearly / 365), the Rule of 100 (under 100 a percentage off reads bigger, at 100 or more an amount off does - using the real old-minus-new gap when both prices are shown), the number of pricing tiers, distinct calls to action (three or more is Hick's law working against you) and form fields. - The skill's Quick Reference models for the chosen challenge, each marked cued or not cued. - Exports: the reading as Markdown, every line with its cues and prices as CSV. ## The paid lanes (gpt-terra, metered) - map: every principle the copy really uses, once, with its lines, a word-for-word quote, use (working, weak, misused), honesty (genuine, needs proof, manipulative) and why; one answer per page cue (confirmed or disputed with a reason); every dark pattern with lines, quote, risk (high or medium) and the honest version; one to five missing principles for the challenge with where to put them and a priority; and a verdict that follows from the lists: crosses the line (any high dark pattern or manipulative principle), needs proof (any medium pattern or unproven claim), honest but underpowered (a high-priority principle missing), or honest and working. - apply: three to eight rewrites, each on one line with its exact old text, the principle it applies or the dark pattern it fixes, the new copy, why it works and a guardrail that keeps it honest; every high dark pattern fixed on its own line; one to five A/B hypotheses written "If ..., then ... because ..." with a metric and a guardrail metric; levers this copy should not pull. With a map handed over (the button under the map), the rewrites answer the map. ## How replies are held to the input Every reply is reconciled in the browser against the page's own reading: principle and dark-pattern names must be the skill's; quotes word for word from the cited lines; every line and cue id the page's; every page cue answered once, in order; the verdict the lists imply; no missing principle that is already working; every high dark pattern fixed; no rewrite that the page's own detector reads as shaming, pre-ticked, hidden or obstructive; and no figure that the copy, the product line, the question or the page's reading does not contain - proof the copy lacks (a customer count, a rating, a deadline, a quote) must come back as a [placeholder] the owner fills with a true value. ## Limits - Up to 220 lines or 16,000 characters of copy per run; the middle of a longer paste is dropped and the page says which lines. - It reads the copy as pasted, not your analytics or your audience: test a lever before you trust it. - It recommends honest levers only: no fake urgency or scarcity, no fake reviews, no shaming decline links, no pre-ticked paid boxes, no hidden costs, no hard-to-cancel flows - not even as a test. ## Source Derived from the agent skill @coreyhaines31/marketing-psychology (https://skillsafe.ai/skill/@coreyhaines31/marketing-psychology), from the repository coreyhaines31/marketingskills (MIT): the mental models and their marketing applications, the Quick Reference by challenge, the pricing psychology (charm and rounded prices, the Rule of 100, good-better-best, mental accounting) and the instruction to implement every model ethically. ## Pages - https://fair-or-dark.skillsafe.ai/ - the app - https://fair-or-dark.skillsafe.ai/api.html - API tutorial (cURL, Python, JavaScript, Go, Java, Ruby, PHP, C#)