Exception

by

  • CUSTOMER SERVICE
  • POLICY
  • MARGIN
  • ECOMMERCE
Works with the AI tools you already use
+19 agents

Policy exception decisions for ecommerce teams: weigh each request against customer value and order margin, then approve or deny with the reason written down.

Every support team runs on exceptions: a return outside the window, a discount that expired yesterday, a replacement on an order nobody can find. The decision usually depends on who is on shift, because the agent has neither the customer's value nor the order's margin in front of them. That produces two costs at once. Generous agents give away margin on customers who would have stayed anyway, and cautious ones refuse a request from someone worth ten times the amount in question. This skill weighs each request against customer value and order margin and returns approve or deny with the reason documented.

What It Does

  • Reads customer lifetime value and contribution margin behind the request.
  • Prices the exception against the relationship it would protect.
  • Checks the customer's own exception history for a pattern.
  • Applies your policy consistently rather than per agent.
  • Returns approve or deny with the reason and the numbers behind it.
  • Logs every decision so the pattern across agents becomes reviewable.

Use Cases

  • Stop the approval depending on which agent picked up the ticket.
  • Approve an out-of-window return for a customer worth many times the order.
  • Spot the customer whose fifth exception this year is the real pattern.
  • Give an agent a documented reason to send rather than an improvised one.

Example Session

Customer wants a refund 12 days outside our return window. Approve?

Approve. The customer is worth 14 times the order and has never asked before.

  • Factor | Value | Weight
  • Order value | $78 | The amount at stake
  • Customer lifetime value | $1,090 | 14x the order
  • Contribution margin, lifetime | $410 | What is actually at risk
  • Prior exceptions | 0 in 3 years | No pattern
  • Days outside window | 12 | Within discretionary range

Refusing protects $78 and risks $410 of contribution from a customer who has never asked for anything in three years. Approve and say yes without conditions, because a grudging approval costs the same and buys none of the goodwill. If the same customer asks a third time this year the calculation changes, and the log is what will show that.

Why This Beats Prompting It Yourself

A Policy Line vs The Relationship Behind It: The Hidden Risk

A generic prompt applies the policy, which is exactly what the policy is for and exactly why exceptions exist. Twelve days outside the window is a refusal on the rule and an expensive mistake on a customer worth fourteen times the order. The agent has neither number in front of them, so the answer depends on who is on shift.

When You Still Need The Decision Logged

One decision is easy and the hundredth is the problem. This skill states $410 of contribution at risk against a $78 order and zero prior exceptions, then logs it, so the customer asking for a fifth time this year is visible as a pattern rather than as five separate reasonable requests. Consistency across agents comes from the same log.

Known Limitations

Customer value needs order history joined to the ticket, and where the contact cannot be matched to a customer record the skill says so rather than deciding on the order alone. It applies your policy as configured, so an exception category you have never written down will come back as unclassified rather than guessed. It recommends the decision and does not issue refunds or replacements.

Install It

  • Download the ZIP.
    It is free and there is no account to create.
  • Unzip it into your agent's skills folder.
    Claude Code reads ~/.claude/skills/, which is hidden by default: the command in the folder block opens it. Other agents scan their own directory, so drop the same folder there instead.
  • Ask your agent to use it.
    Restart the agent if it was already running, then it picks the skill up with no config.

skills folder

Copy

~/.claude/skills/exception/
  SKILL.md
  references/policy-map.md
  log/
  # every decision logged, with its reason

# macOS: create the folder and open it in Finder
mkdir -p ~/.claude/skills && open ~/.claude/skills

# Windows: paste in the Explorer address bar
%USERPROFILE%\.claude\skills\

Frequently asked questions

How is this different from following the return policy?

The policy handles the ordinary case. This handles the case the policy was never going to fit, by putting the customer's value and the order's margin next to the request. It applies your rules consistently and shows the arithmetic when it departs from them.

Which agents does the skill run in?

Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision.

What does it need connected to work?

The ticket, the order, and customer history including previous exceptions. Where a contact cannot be matched to a customer record it decides on order value alone and says that the relationship view is missing, which usually makes it more conservative.

Does it just approve everything for good customers?

No. It prices the request against what is actually at risk, which for a low value order from a low value customer with three prior exceptions is a denial. The pattern check exists precisely so that generosity does not become a standing arrangement.

Why does it insist on logging?

Because the cost of exceptions is invisible one ticket at a time and obvious across a quarter. The log is what makes an agent-by-agent inconsistency visible, and what turns a customer's fifth request into a conversation rather than a sixth approval.

What is included with the skill?

The skill itself, the policy map reference, the decision log format, and the value thresholds. It is free and security scanned. We re-publish the ZIP when the policy map changes, so download it again if your decisions start drifting.

Every exception granted has a cost someone absorbs.

Polar carries customer value and order margin in one semantic layer, so approving or denying is documented against a number.

Book a demo

Popular in E-commerce

<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How is this different from following the return policy?","acceptedAnswer":{"@type":"Answer","text":"The policy handles the ordinary case. This handles the case the policy was never going to fit, by putting the customer's value and the order's margin next to the request. It applies your rules consistently and shows the arithmetic when it departs from them."}},{"@type":"Question","name":"Which agents does the skill run in?","acceptedAnswer":{"@type":"Answer","text":"Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision."}},{"@type":"Question","name":"What does it need connected to work?","acceptedAnswer":{"@type":"Answer","text":"The ticket, the order, and customer history including previous exceptions. Where a contact cannot be matched to a customer record it decides on order value alone and says that the relationship view is missing, which usually makes it more conservative."}},{"@type":"Question","name":"Does it just approve everything for good customers?","acceptedAnswer":{"@type":"Answer","text":"No. It prices the request against what is actually at risk, which for a low value order from a low value customer with three prior exceptions is a denial. The pattern check exists precisely so that generosity does not become a standing arrangement."}},{"@type":"Question","name":"Why does it insist on logging?","acceptedAnswer":{"@type":"Answer","text":"Because the cost of exceptions is invisible one ticket at a time and obvious across a quarter. The log is what makes an agent-by-agent inconsistency visible, and what turns a customer's fifth request into a conversation rather than a sixth approval."}},{"@type":"Question","name":"What is included with the skill?","acceptedAnswer":{"@type":"Answer","text":"The skill itself, the policy map reference, the decision log format, and the value thresholds. It is free and security scanned. We re-publish the ZIP when the policy map changes, so download it again if your decisions start drifting."}}]}</script>