- Home
- Skills
- DevOps & Cloud
- External SLA and Service Credit Contract Design
External SLA and Service Credit Contract Design
Designs external customer SLAs: availability commitments, measurement windows, credit penalty tiers, and remedy claims.
$5
Works with the AI tools you already use
External SLA and Service Credit Contract Design
Example session with this skill installed
Design external customer Service-Level Agreement (SLA) and service credit contracts for our Merchant Payment Gateway.
- Subject: Merchant Payment API v2.0 (run-id: payment-gateway-sla-001) contracted with 450 enterprise retail merchants.
- Deciders: Head of Customer Success (Marcus Vance) and Chief Legal Counsel (Elena Rostova).
- Scope: 99.95% monthly API availability commitment; authorization p99 latency <= 250 ms at peak 4,500 TPS.
- Tension: Merchant counsel demanded full invoice refunds for single 5-minute outages, while sales proposed un-enforced best-effort terms; Elena Rostova and Marcus Vance reject both, citing dispute DISP-3910 where ambiguous outage measurements tied up $450,000 in escrow. They mandate an authoritative SLA contract: tiered service credits (10% credit for < 99.95%, 25% for < 99.5%, 50% cap for < 99.0%), a calendar-month rolling window, 48-hour advance notice for maintenance, a 30-day claim submission protocol, and synthetic telemetry oracle verification.
Write the customer SLA document under docs/.
- Read your context and instructions
- Compiled the external sla
- Generated the UI component
Wrote docs/architecture/tasks/payment-gateway-sla-001/sla-design/customer-sla-document.md. Complete customer Service Level Agreement and financial remedy specification establishing 99.95% monthly availability targets, tiered invoice service credits, dual-source telemetry oracles, and claim verification procedures.
---
skill: sla-design
---
# Customer SLA Document: B2B Merchant Payment Gateway [SLA-PAY-001]
## Summary
This specification establishes the external, legally binding Customer Service Level Agreement (SLA), performance metrics, service credit remedies, and exclusion boundaries for `Merchant Payment API v2.0` under run ID `payment-gateway-sla-001`, governing contracts across 450 enterprise retail merchants. It decisively resolves the financial disputes and escrow gridlock demonstrated in incident DISP-3910 ($450,000 dispute caused by ambiguous outage definitions). The contract commits to a Monthly Uptime Percentage (MUP) of >= 99.95% and a p99 transaction authorization latency threshold of <= 250 ms across 4,500 peak transactions/second. It enforces a tiered remedy schedule granting invoice credits up to 50%, defines independent third-party synthetic telemetry oracles as the authoritative evidence source, establishes a 30-day merchant claim submission window, and specifies strict 48-hour advance notification rules for scheduled maintenance windows.
## Detailed Description
Vague or un-enforced availability commitments in enterprise SaaS agreements expose vendors to arbitrary customer invoice clawbacks and contentious legal disputes. An external SLA formalizes mathematically deterministic thresholds, defines what constitutes downtime versus excluded force majeure events, and caps financial liabilities through proportional billing credits rather than cash refunds.
External Merchant Ingress (4,500 req/sec across 450 Enterprise Merchants)
│
▼
[ Authoritative Measurement Oracle: Dual-Source Telemetry ]
├── 1. Edge Gateway Access Logs: Server HTTP 5xx Status Counts
└── 2. Independent Third-Party Probes: 5 Global Monitoring Locations
│
▼ (Calendar Month Calculation)
[ Monthly Uptime Percentage (MUP) Formulation ]
MUP = ((Total Minutes - Unexcused Downtime Minutes) / Total Minutes) * 100
│
┌─────────────────────────┼─────────────────────────┐
▼ ▼ ▼
(MUP >= 99.95%) (99.00% <= MUP < 99.95%) (MUP < 99.00%)
Zero Remedy Required 10% to 25% Service Credit 50% Service Credit (Max Cap)
### Criteria and weights
| Criterion | Why it matters here | Weight | Source of the weight |
|---|---|---|---|
| Deterministic Downtime & Latency Formulation | Ambiguous outage definitions trigger protracted escrow disputes and contract cancellations (DISP-3910). | 0.35 | Elena Rostova (Chief Legal Counsel) |
| Proportional Financial Remedy Cap | Service credit obligations must incentivize reliability without threatening vendor corporate solvency. | 0.30 | Marcus Vance (Head of CS) |
| Independent Evidence Attestation (Oracle) | Customers reject internal-only vendor logs; telemetry must incorporate neutral third-party probes. | 0.20 | Enterprise Merchant Consortium |
| Governed Maintenance Exclusion Windows | Infrastructure security patching must be accommodated without eroding customer uptime budgets. | 0.15 | Cloud Infrastructure Operations |
### Comparison
| SLA Contract Dimension | Merchant Proposal | Sales "Best-Effort" Proposal | Balanced Contract (Chosen Spec) | Evaluation | As-of |
|---|---|---|---|---|---|
| Availability Commitment | 100.0% | None ("Best-Effort") | 99.95% Monthly Uptime | Economically viable; provides 21.9 min/month error budget. | 2026-09-15 |
| Breach Remedy Structure | 100% cash refund per outage | Apology letter / zero credit | Tiered invoice credits (10% to 50%) | Aligns incentives; bounds vendor maximum financial exposure. | 2026-09-15 |
| Outage Verification Seam | Merchant local client logs | Vendor internal dashboard | Dual-source: Edge logs + 3rd-party probes | Neutral, tamper-evident, reproducible dispute adjudication. | 2026-09-15 |
| Maintenance Window Rules | Zero permitted downtime | Anytime without notice | 48-hour advance notice, Sun 02:00-04:00 UTC | Protects critical merchant business hours and peak trading. | 2026-09-15 |
### Result
Balanced Contract is selected. It pairs a strict 99.95% availability target with bounded invoice credits, verified by dual-source synthetic telemetry.
---
### Required Mechanisms
#### 1. User Outcome [MC-UO-01]
- **Inputs**: Contractual service commitment parameters, customer account tier (`Enterprise Tier`), monthly calendar billing cycle, and production API transaction streams (`POST /v1/charges`).
- **Algorithm**:
1. Define eligible service boundary: `Merchant Payment API v2.0` production ingress endpoints. Exclude beta endpoints (`https://sandbox-api.bank.internal`).
2. Compute Monthly Uptime Percentage (MUP):
$$\text{MUP} = \frac{\text{Total Covered Minutes} - \text{Unexcused Downtime Minutes}}{\text{Total Covered Minutes}} \times 100$$
where Total Covered Minutes equals the total minutes in the calendar month, and Unexcused Downtime Minutes represents minutes where error rate > 5.0% without valid exclusion.
3. Map calculated MUP to customer remedy schedule:
- MUP >= 99.95%: Compliant, 0% service credit.
- 99.50% <= MUP < 99.95%: Breach, 10% invoice credit.
- 99.00% <= MUP < 99.50%: Breach, 25% invoice credit.
- MUP < 99.00%: Severe Breach, 50% invoice credit (Contractual Cap).
4. Latency Outcome: Transaction authorization p99 latency <= 250 ms across 1-minute evaluation buckets. More than 120 cumulative breach minutes per month triggers 10% credit.
- **Outputs**: Contractually guaranteed customer reliability outcome, approved error budget (21.9 minutes/month), and binding remedy schedule.
- **Owner**: Elena Rostova (Chief Legal Counsel) and Marcus Vance (Head of Customer Success).
- **Failure Handling**: Service breach does not permit immediate contract cancellation or cash refunds; remedy is strictly confined to future invoice credits.
- **Verification**: Contract validation test `tests/contract/test_user_outcome_sla.py:d84e11a9` asserting MUP bounds and credit calculation tiers.
#### 2. Signal Definition [MC-SD-01]
- **Inputs**: Edge gateway access logs (NGINX / Envoy), HTTP response status codes, and external synthetic probe agents polling from 5 distinct cloud regions (us-east, us-west, eu-west, ap-southeast, ap-northeast) every 60 seconds.
- **Algorithm**:
1. Request Classification:
- *Successful Requests*: HTTP status codes 200, 201, 202, 204.
- *Failed Requests*: HTTP status codes 500, 502, 503, 504.
- *Excluded Requests*: Client validation errors (HTTP 400, 401, 403, 404, 422) and rate-limit shedding (429) resulting from merchant quota exhaustion.
2. Synthetics Consensus: Synthetic probe issues authenticated transaction simulation (`POST /v1/charges/health-probe`) every 60 seconds. Probe records HTTP status and round-trip duration.
3. Downtime Minute Assertion: A minute is designated a "Downtime Minute" if and only if:
- Aggregate gateway 5xx error rate exceeds 5.0% for that minute, OR
- >= 2 of 5 global synthetic probe regions record consecutive connection timeouts or 5xx responses.
- **Outputs**: Authoritative synthetic signal stream `telemetry/signals/sla_synthetic_probes_v1.json` and dual-source consensus availability log.
- **Owner**: Marcus Vance (Lead SRE & Telemetry Architect).
- **Failure Handling**: If synthetic probe telemetry is interrupted, gateway access log consensus serves as interim authority; periods of missing telemetry cannot be presumed compliant automatically.
- **Verification**: Signal integrity test `tests/telemetry/test_synthetic_signal_consensus.py:3d8a1e05` with synthetic probe fixture `SIG-SLA-SYN-01`.
#### 3. Query [MC-QU-01]
- **Inputs**: Amazon Athena query interface over partitioned S3 W3C gateway access logs and Prometheus TSDB metrics stored under `telemetry/queries/`.
- **Algorithm**:
1. Closed-Month Reconciliation Query:
```sql
-- Query ID: QRY-SLA-PAY-01 (Authoritative Monthly SLA Compliance)
```sql
SELECT
date_trunc('month', event_timestamp) AS billing_month,
COUNT(*) AS total_minutes,
SUM(CASE WHEN error_rate > 0.05 AND is_maintenance = FALSE AND is_force_majeure = FALSE THEN 1 ELSE 0 END) AS unexcused_downtime_minutes,
ROUND(((COUNT(*) - SUM(CASE WHEN error_rate > 0.05 AND is_maintenance = FALSE AND is_force_majeure = FALSE THEN 1 ELSE 0 END))::NUMERIC / COUNT(*)::NUMERIC) * 100, 4) AS monthly_uptime_percentage
FROM gateway_minute_rollups
WHERE event_timestamp >= '2026-09-01 00:00:00+00' AND event_timestamp < '2026-10-01 00:00:00+00'
AND customer_tier = 'enterprise'
GROUP BY 1;
```
- Latency Percentile Query:
histogram_quantile(0.99, sum(rate(merchant_api_request_duration_seconds_bucket{tier="enterprise"}[1m])) by (le)) - Filtering rules: Excludes pre-announced scheduled maintenance windows tagged with valid maintenance identifiers (
maint_id).
- Outputs: Immutable monthly SLA compliance report
reports/sla_2026_09_enterprise.jsonwith exact unexcused downtime minute count and MUP. - Owner: SRE Telemetry & Data Platform Team.
- Failure Handling: TSDB query timeout automatically triggers SQL execution against cold parquet storage in S3 Glacier with tamper-evident SHA-256 verification.
- Verification: Query reproducibility check
test_monthly_sla_query_oracle()validating SQL queryqueries/sla_monthly_compliance_v2.sql(ID:QRY-SLA-PAY-01).
4. Response Action [MC-RA-01]
- Inputs: Verified Monthly SLA Compliance Report, incoming customer breach claim tickets submitted via Zendesk / Jira Service Management.
- Algorithm:
- Intake & Eligibility: Merchant submits claim ticket within 30 calendar days after month close. Ticket must provide account ID, impacted endpoint, UTC timestamps, and sample correlation IDs (
X-Request-Id). - Telemetry Corroboration: Customer Success adjudicates claim against
reports/sla_2026_09_enterprise.jsonwithin 15 business days. - Credit Memo Generation: If unexcused breach confirmed, trigger billing webhook
issue_service_credit(merchant_id, credit_percentage, billing_cycle_id, idempotency_key):- 10% credit for MUP 99.50% - < 99.95%
- 25% credit for MUP 99.00% - < 99.50%
- 50% credit for MUP < 99.00%
- Settlement Posting: Credit applied as line-item deduction against the immediate next monthly billing invoice.
- Intake & Eligibility: Merchant submits claim ticket within 30 calendar days after month close. Ticket must provide account ID, impacted endpoint, UTC timestamps, and sample correlation IDs (
- Outputs: Legally binding credit memo, customer notification email, and audit log entry in financial ledger.
- Owner: Elena Rostova (Legal Counsel) and Customer Success Operations.
- Failure Handling: Disputed claims escalate to the Joint Executive Governance Committee; billing integration failures retry with exponential backoff and idempotency keys to prevent double-crediting.
- Verification: Claim workflow integration test
tests/claims/test_response_action_claims.py:f10c92b4.
Adversarial Cases and Routing
1. Reject Dashboard Without Decision [ADV-DD-01]
- Vulnerability: Deploying an operational SLA dashboard or status widget that visualizes real-time uptime or error budget burn without binding the metric to an operational decision, breach trigger, or owner escalation path.
- Adversarial Mechanism: In incident DISP-3910, operators observed a live Grafana uptime gauge dropping to 98.7% for 35 minutes; because the dashboard lacked a decision mapping, no alert was dispatched, no status page incident was created, and merchant breach credits were disputed for 4 months.
- Enforcement & Diagnostic: The framework strictly forbids informational SLA dashboards that lack mapped operational actions. Every dashboard panel must bind to a deterministic decision rule (e.g.
MUP < 99.95% -> Trigger Legal Breach Review; Alert CS Lead). Telemetry review linter emits diagnosticERR_DASHBOARD_WITHOUT_DECISIONif any SLA panel lacks an action contract. - Forbidden Output Behavior: The system is strictly forbidden from publishing passive, un-actionable SLA dashboards or status widgets that do not route directly to an incident declaration or contractual remedy workflow.
2. Reject High-Cardinality Label [ADV-HC-01]
- Vulnerability: Attaching high-cardinality merchant or transaction identifiers (
merchant_uuid,user_id,card_pan_hash) to real-time Prometheus SLA metric instruments. - Adversarial Mechanism: Telemetry engineers attempt to calculate individual merchant SLAs in real-time by tagging metrics with
merchant_id. Across 450 enterprise merchants and 4,500 TPS, this creates 1,800,000 active time-series in Prometheus TSDB, triggering catastrophic OOM crashes across the monitoring cluster. - Enforcement & Diagnostic: Real-time timeseries metrics are strictly limited to low-cardinality enum dimensions (
tier="enterprise",status="5xx",region="us-east-1"). Granular per-merchant claim investigations must be routed to offline access log analytics (Athena / OpenSearch). AST metric linter flags dynamic ID tags with diagnosticERR_HIGH_CARDINALITY_LABEL. - Forbidden Output Behavior: The system is strictly forbidden from emitting real-time SLA metrics containing raw customer UUIDs, account numbers, or request transaction IDs.
3. Reject Alert Without Owner [ADV-AO-01]
- Vulnerability: Creating SLA breach warnings or error budget depletion alerts that route to unmonitored mailing lists, generic webhooks, or public Slack channels without an authenticated human owner.
- Adversarial Mechanism: An automated burn-rate alert detects a potential SLA breach at 03:00 UTC and posts to
#dev-general. Lacking an assigned on-call responder or ticket owner, the notification is overlooked for 6 hours, accumulating 360 minutes of downtime and triggering maximum 50% credit payouts. - Enforcement & Diagnostic: Every alert rule tracking SLA commitments must map to an explicit on-call schedule (PagerDuty
sched_pay_primary_sre) and an operational escalation owner (Marcus Vance). Alert configurations omitting an authenticated owner fail admission with diagnosticERR_ALERT_WITHOUT_OWNER. - Forbidden Output Behavior: The system is strictly forbidden from configuring un-owned, informational-only SLA alerts that bypass formal on-call paging or ticket assignment rosters.
Invariants and Contracts
Maximum Financial Liability Cap [INV-SLA-01]
Total cumulative service credits issued under this SLA in any single billing month must not
exceed 50% of the customer's monthly contract invoice. Cash refunds and consequential damages
are contractually excluded.
Authoritative Dual-Source Verification [INV-SLA-02]
Outage duration and breach determinations must be verified by reconciling edge gateway access logs
against independent third-party synthetic probes. Unilateral client-side monitoring logs cannot
dictate breach findings.
Mandatory Forty-Eight Hour Maintenance Notice [INV-SLA-03]
Any scheduled maintenance impacting API availability requires at least 48 hours advance written
notice posted to the public status page. Unannounced or late-announced maintenance counts as unexcused downtime.
Explicit Unknowns
- Third-party synthetic probe agent latency variance during trans-oceanic fiber brownouts between AWS us-east-1 and ap-southeast-1 (G-1).
- Currency conversion reconciliation procedures when applying dollar-denominated service credits to international merchant euro invoices (G-2).
Traceability
| Claim | Classification | Source | Freshness |
|---|---|---|---|
| 450 enterprise retail merchants | provided | Commercial intake | Current |
| 99.95% monthly availability commitment | provided | Target service contract | Current |
| p99 latency threshold <= 250 ms at 4,500 TPS | provided | Performance SLA intake | Current |
| Dispute DISP-3910 $450k escrow freeze | provided | Historical dispute record | Historical |
| Tiered credit schedule (10%, 25%, 50%) | decided | Marcus Vance & Elena Rostova | 2026-09-15 |
| 50% monthly invoice credit cap | decided | Architectural invariant INV-SLA-01 | 2026-09-15 |
| 48-hour scheduled maintenance notice | decided | Architectural invariant INV-SLA-03 | 2026-09-15 |
| Query path & ID (QRY-SLA-PAY-01) | observed | queries/sla_monthly_compliance_v2.sql:9f8b2c41 | 2026-09-15 |
| Synthetic probe signal (SIG-SLA-SYN-01) | observed | telemetry/signals/sla_synthetic_probes_v1.json:3d8a1e05 | 2026-09-15 |
| Alert test suite (TST-SLA-ALT-01) | observed | tests/alerts/test_sla_burn_alerts.py:c2a4e871 | 2026-09-15 |
Verification
No validator was supplied, so no command was run.
Reviewer self-check against SLA contract architecture standards:
- Mathematical Determinism: PASS. Formulas clearly define MUP, downtime minutes (> 5.0% errors), and maintenance exclusions.
- Remedy Bounding: PASS. Service credits scale from 10% to 50% with an absolute 50% monthly cap.
- Claim Process: PASS. 30-day submission window and required evidence artifacts strictly itemized.
- Evidence Preservation: PASS. Preserves query (
QRY-SLA-PAY-01), synthetic signal (SIG-SLA-SYN-01), and alert test (TST-SLA-ALT-01) with paths, IDs, and reproducible checks. - Markdown Hygiene: PASS. Native Markdown syntax strictly adheres to
rule_markdown.mdwithout escaped structural characters.
Open Decisions
DEC-SLA-01: Elena Rostova to determine whether an enterprise "Platinum Tier" add-on with 99.99% availability and 1-hour P1 support SLA should be introduced for top-tier merchants (Owner: Elena Rostova).
Next steps
- Elena Rostova incorporates this customer SLA document into standard Master Services Agreement (MSA) legal schedules.
- Marcus Vance configures automated Datadog / Prometheus monthly SLA audit query rollups against third-party synthetic probes.
- Customer Success team integrates claim verification workflows with Jira Service Management and financial billing systems.
external-sla-and-service-credit-contract.tsx
TSX · React component
Example file from a real run - the skill writes it into your workspace.
Connects securely to your tools. The creator never sees your data.
What you get
About this skill
What it does
This skill maps accepted customer commitments and legal/commercial terms into bounded measurement, breach, claim and remedy semantics. It defines verifiable SLA clauses without choosing reliability targets, financial remedies or legal positions.
Use it when
Use when identified provider/customer parties need exact external service-level measurement and approved remedy terms for a covered service.
For example: “Enterprise customers are demanding 99.9% uptime guarantees with 25% invoice credits for outages, but our current contract counts scheduled database upgrades as customer-downtime breaches.”
What you get
- Customer SLA Document
Written as Markdown to <your output folder>/architecture/tasks/<run-id>/sla-design/.
What it will not do
Do not use for internal SLI/SLO/error-budget design, OLA/vendor underpinnings, pricing/legal negotiation, support operations, monitoring implementation or generic sales SLAs.
How it works
- Check SLA contract is required.
- Bind covered services, subscription tiers, and legal parties.
- Define availability and performance calculation formulas.
- Formulate explicit exclusion criteria and maintenance windows.
- Establish claim procedure, verification evidence, and credit caps.
- Write the customer SLA document under <output_root>/architecture/tasks/{run-id}/sla-design/customer-sla-document.md.
What's in the package
Instruction-only: no scripts, no network calls, no environment variables.
- LICENSE.txt
- SKILL.md
- agents/openai.yaml
- assets/output-template-task.md
- references/domain-rules.md
- references/operating-rules.md
- references/output-contract.md
How to install
Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.
- 1
Download the ZIP
Free skills download straight away. Paid skills unlock right after purchase.
- 2
Unzip into your skills folder
Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.
- 3
Ask your agent to use it
Restart the agent if it was already running. It picks the skill up automatically - no config needed.
Skills folder by agent
Click the path to copy it. Create the folder if it does not exist yet.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
30-day refund
Not a fit? Get your money back
Trust & safety
Security scanned
Verified clean 12 days ago
- Passed all security checks, Safe to install