
referral-abuse-guardrails
Define the operational guardrails that stop end customers from gaming a refer-a-friend program - reward caps, velocity limits and cooldowns, reward-hold windows tied to the refund window, eligibility rules, identity-verification gates, a published enforcement ladder, and abuse-monitoring signals. Produces a guardrail spec for B2C and B2B SaaS referral program managers. Use whenever the user mentions referral abuse, self-referral, fake accounts claiming referral rewards, referral rings, or a referral code leaking to coupon forums, even if they never say abuse. Do NOT use for professional-affiliate traffic fraud - use mbfinotti/partnerships-skills@affiliate-fraud-detection instead.
- Installs
- 13.5K
- Last 24h
- +495
- Trending rank
- #702
- Security
- Pass
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/mbfinotti/partnerships-skills --skill referral-abuse-guardrails- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads referral-abuse-guardrails automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
Security audits
Independent scans of the skill's instructions and bundled files.
SKILL.md
The instructions your agent reads when the skill is triggered.
Referral Abuse Guardrails
Define the guardrails that stop end customers from gaming a customer refer-a-friend program, and deliver them as a guardrail spec: rules with thresholds, verification gates, a reward-hold policy, an enforcement ladder, and monitoring signals. This skill protects whatever reward structure already exists - it never redesigns it.
No ratified standard covers consumer referral abuse. Borrow exactly four things, nothing more, and only as a mental model, never as a compliance claim:
- GIVT/SIVT shape (ad-measurement standards): a cheap deterministic tier plus an expensive corroborative tier.
- OWASP OAT-019 Account Creation: the automated slice only.
- Trust-and-safety enforcement-ladder principles: proportionality, consistency, transparency, for the enforcement section.
- Sybil-attack result, as the strategic frame: fake identities can never be fully detected without a central identity authority, so every guardrail is really a cost imposed on the abuser.
The goal is making abuse unprofitable, not catching everything.
Ground Rules
- Strictly defensive. Describe each abuse pattern only to the depth a defender needs to recognize and block it: state the observable tell in program data, never evasion technique, tooling, or step-by-step exploitation.
- Label every numeric threshold with its provenance: published program terms, academic result, vendor rule of thumb, or a baseline the user derives from their own data. Never present a vendor heuristic as an industry constant.
- Warn off two circulating numbers: "referral fraud = 21% of all ecommerce fraud" is circular vendor citation (vendors quoting each other) and the "$443B in false declines vs $48B fraud" figure is unverifiable precision. Cite the mechanism - false positives cost more than fraud because they carry lost LTV - never those numbers.
- Separate the genuine abuser from the aggressive bargain-hunter. The first gets the enforcement ladder; the second gets a rule tweak and is often worth retaining.
- A rule not published in the program terms before a referral was made is not enforceable against that referral. Design every rule together with its publication.
Interview
Ask before designing anything. One question per message; multiple-choice where possible; skip anything already answered.
- What are the program mechanics and reward structure in force: sidedness, reward type and value per side, payout trigger?
- B2B, B2C, or both?
- What is the user-account and identity model: email-only signup? Phone? Payment instrument on file before the qualifying event?
- Which verification capabilities exist today (email confirmation, SMS, disposable-domain blocking, device signals, billing webhooks)?
- What data can actually be queried: referral events, signup metadata, payment records, refund/chargeback records, retention by cohort?
- What abuse has been seen so far, and how was it noticed?
- What reward value is at risk: per reward, and per month across the program?
- How long is the refund or chargeback window on the underlying purchase?
- What is the tolerance for friction versus leakage - would you rather overpay a few gamers or lose a few real referrals?
- Are program terms published today, and what do they already say about caps, eligibility, and reward denial?
- By what date must the guardrails be live - a relaunch, a board review, or an incident already bleeding?
- Do you want a one-off fix for the abuse already seen, or a compounding control set that keeps holding as the program scales?
- What is the effort ceiling: engineering time this cycle, review headcount, and is the qualifying event changeable at all?
The last three set the control ordering in Workflow step 4, so ask them before designing anything - by step 4 the reader has already committed to a path.
Workflow
-
Run the Interview; collect every answer the spec depends on.
-
Confirm the scope boundary: the reward structure (sidedness, type, size, trigger) is a given. If it is the problem, say so and route to
mbfinotti/partnerships-skills@referral-incentive-design(see Reference). -
Map the program's abuse surface from references/abuse-patterns.md: which patterns the reward value, identity model, and qualifying event actually expose it to.
-
Work the control ladder, using references/guardrail-mechanics.md. Six controls compete for the same hours:
- Event: qualifying-event design.
- Caps: budget ceiling, velocity limits, cooldowns.
- Hold: reward hold window.
- Eligibility: rules with memory.
- Verification: gates.
- Review: manual review.
Vendor blogs present this order backwards - detection tooling first, program design last. Rank them:
- efficiency:
event > caps == hold > eligibility > verification > review - value:
event > eligibility > hold > verification > caps > review - effort:
review > verification > event > eligibility > caps == hold - compliance cost:
verification > eligibility > event == caps == hold > review
Caps and hold tie because each is a payout-side number published in terms, shipped in one config change, gating no legitimate user, and each bounds a loss the other cannot - caps bound volume, hold bounds reversal. Event, caps and hold tie on compliance cost because none touches identity data or needs sign-off. Review sits lowest on that axis because a human in the loop reduces exposure: several regimes bar a fully automated denial.
Effort is composite here - friction charged to legitimate users, build time, reversibility. Rewiring the event trigger is several weeks of product and billing work, yet verification still ranks above it: that cost is one-time engineering, while verification charges every legitimate signup forever. Event design leads on efficiency for the same reason.
Default: caps, hold, and published eligibility in the first pass, always. Climb to event redesign whenever the current qualifying event is bare signup or an unpaid action - nothing below it holds while the event is free to fake.
This order starves verification gates and manual review. Both are high value against the two abuses caps and holds cannot touch - automated account farming, B2B shell entities - and both lose every efficiency round. Promote them when per-item review cost sits below the reward value (the B2B default), or when an incident is confirmed automated rather than opportunistic.
Re-rank on the Interview answers and name in the spec which answer moved which control:
- A hard live-by date promotes caps, hold, and eligibility (config, a few days) and schedules event redesign for the next cycle - never drops it.
- A compounding mandate promotes event design and eligibility memory, which keep working at no ongoing cost.
- A low effort ceiling deletes manual review and the upper verification rungs from the spec outright rather than parking them at the bottom; record which you deleted and why.
Re-rank again on what you already know about this program:
- A payment instrument collected before the qualifying event moves verification up sharply - the strongest gate is already paid for.
- An existing trust-and-safety function collapses review's effort.
- A regulated program already runs identity checks, so its top rung costs nothing at the margin.
Treat the ordering as a default, not a law: it shifts with context and with who executes it.
-
Handle B2B and B2C explicitly. Caps, holds, and eligibility memory work identically for both - say so. B2B diverges on:
- Domain-overlap checks between referrer and referee: the check that matters, since a work-email check alone is weak because a shell company has a real domain.
- Pre-payout human review: ROI-positive in B2B, not in B2C.
- Company-account credit by default: paying an individual employee is a procurement/gift-policy problem before it is a fraud problem.
-
Choose monitoring signals from references/detection-signals.md, which carries the full per-axis ranking.
- efficiency:
payment-reuse == cohort-quality > velocity > email-similarity > graph > fingerprint
The two leaders tie because both already sit in billing data, neither degrades with a browser or device change, and each catches exactly what the other misses. Cookie and IP linkage are excluded from the ranking, not demoted: their value is already at the floor, so ordering them would be false precision. Graph signals are what this order starves; see the reference for the condition that promotes them.
- efficiency:
-
Design the enforcement ladder from references/enforcement-and-compliance.md: published rungs, a specific reason string for every denial, and a working appeal path - build the reason string and the appeal path before the detector. Keep legal constraints as design constraints and route the actual legal questions to counsel.
-
Verify every rule is publishable: flag any rule missing from current terms as unenforceable until published, and route the clause drafting to
mbfinotti/partnerships-skills@affiliate-program-terms. -
If you can query the program's event data, derive velocity and flag thresholds from the user's own legitimate-referrer distribution (e.g. p95-p99 of weekly referrals); otherwise mark them as illustrative defaults to replace with derived baselines within the first review cycle.
-
Emit the guardrail spec (Output Shape below), one section at a time for user validation; ground it in a matching worked example from references/worked-examples.md.
-
Attach the calibration plan from the Pass Threshold below and iterate until it holds.
-
If your harness has persistent memory, memorize the decided thresholds, hold window, and enforcement rungs so a later tuning run starts from them instead of re-interviewing.
Output Shape
Deliver every engagement as this artifact. Every threshold line carries a provenance tag; every rule line names the legitimate behavior that could trip it.
REFERRAL GUARDRAIL SPEC - <program>, <date>
Qualifying event : reward trigger + why it is costly to fake + reversibility note
Caps : per-referrer (period + lifetime), per-referee, program budget ceiling.
Take the values from the existing reward design where one exists and
record them as given; this spec enforces caps, it does not size them
Velocity : referrals/claims per referrer per window + cooldown after a burst
Hold policy : hold length = refund/chargeback window (+ processing), pending-state display
Eligibility : new-customer definition, self/household exclusion, cross-referrer cooldown,
B2B domain-overlap rule
Verification : gates by friction rung, escalation condition per rung, what is never gated
Monitoring : signals watched, expected flag baseline, cohort-quality dashboard
Enforcement : published ladder rungs, reason strings, appeal path + response SLA
Terms status : where each rule is published; unpublished rule = not yet enforceable
Calibration : holdout cell design, review cadence, leakage/friction computation
Pass Threshold
Judge the spec on leakage and friction together - never a catch rate or precision target alone. No referral-specific false-positive benchmark is published anywhere; never substitute an industry number for the user's own holdout.
- Compute both on the same unit: Leakage = (invalid rewards paid) x (reward cost); Friction = (rewards wrongly withheld) x (reward cost + support cost + P(churn) x LTV). The friction term carries an LTV multiplier the leakage term does not, so a 1:1 error-rate trade is almost never break-even - when in doubt, loosen.
- Calibrate with a holdout: run a small cell under looser rules and compare it to the strict rules on all three conditions below. The spec passes only when all three hold:
- Total value, not per-signup: the strict cell's 90-day cohort value per 1,000 exposed referrers is at least the holdout's. This condition is load-bearing and must never be replaced by a per-signup average.
- Tightening removes marginal signups, so per-signup value is non-decreasing in strictness.
- A per-signup gate is satisfied most easily by the most over-tight configuration and can never fail for over-tightening, which is the failure this whole section exists to catch.
- Quality: the referred cohort beats organic on retention, refund rate, and 90-day revenue.
- Net of the formula above: leakage saved by the strict rules exceeds the friction cost they incur, both computed on the same exposure base.
- Total value, not per-signup: the strict cell's 90-day cohort value per 1,000 exposed referrers is at least the holdout's. This condition is load-bearing and must never be replaced by a per-signup average.
- If the referred cohort loses to organic even with sane guardrails, the program is buying signups, not acquiring customers - the defect is the reward structure, so route to
mbfinotti/partnerships-skills@referral-incentive-designrather than tightening further. - Iterate thresholds until all three conditions hold; if data to calibrate does not exist yet, say so in the deliverable and schedule the holdout as the first post-launch review gate.
Common Failure Modes
| Defect | Consequence | Fix |
|---|---|---|
| Guardrails so tight they kill legitimate referrals | Program starves; friction cost exceeds leakage saved | Apply the leakage/friction formula; loosen until cohort value per 1,000 exposed referrers recovers. A rising per-signup average alongside falling volume is the signature of this defect, never evidence against it |
| Caps without velocity checks | Abuser hits the lifetime cap in a weekend, undetected | Pair every cap with a per-window velocity limit and burst cooldown |
| Ignoring device and payment-instrument reuse | Cheap deterministic self-referral catches missed | Check payment-instrument reuse first; it is the strongest signal already held |
| Silent reward denial | Trust damage, support load, legal exposure in several regimes | Specific reason string + published appeal path, built before the detector |
| Retroactive rule tightening | Unenforceable against past referrals; regulator attention | Publish first, enforce after; grandfather already-earned rewards |
| Hold window shorter than the refund window | Referee refunds after payout; reward unrecoverable | Set hold = refund/chargeback window + processing time, per product line |
| Treating an enthusiastic advocate as a ring | Top referrer banned; worst possible word of mouth | Require corroboration beyond graph shape: reward-splitting, refunds, cohort collapse |
| Manual review cost exceeds reward value | Every review is a net loss regardless of accuracy | Reserve review for rewards above the review cost; B2B default, B2C exception |
| Full KYC on a low-value consumer reward | Sign-up abandonment dwarfs fraud prevented | Stop at payment-instrument verification; KYC is for regulated programs |
KPIs
- Track:
- invalid-reward rate (leakage)
- wrongly-withheld rate from appeals upheld (friction)
- referred-vs-organic cohort deltas on retention, refund rate and 90-day revenue
- flag rate against the expected multi-accounting baseline
- hold-to-release time
- budget ceiling burn
- support tickets on denied rewards
- Report leakage and friction in currency on the same unit, side by side - one number alone always misleads.
- Escalate the spec itself when:
- appeals-upheld rate climbs (rules too tight)
- cohort quality decays while flag rate stays flat (rings under the radar)
- the qualifying event's refund rate rises (event too cheap)
Invocation Examples
- "Our meal-kit box gives $25 to both sides and someone just farmed it with 40 plus-addressed email accounts. Write the guardrails before we relaunch."
- "We're launching give-10-get-10 in our fitness app next month - design the caps, hold policy, and verification gates so it doesn't get gamed on day one."
- "Our B2B SaaS pays $500 in account credit per referred workspace that converts to paid; finance suspects an agency is referring its own shell accounts. Set up the abuse guardrails and review process."
Reference
- Read references/abuse-patterns.md when mapping the abuse surface - the consumer-gaming taxonomy with each pattern's observable tell, plus documented incidents.
- Read references/guardrail-mechanics.md when setting caps, holds, eligibility rules and verification gates - published values with provenance, the friction ladder, B2B specifics.
- Read references/detection-signals.md when choosing monitoring signals - strength ratings, which signals are degrading, calibration baselines.
- Read references/enforcement-and-compliance.md when writing the enforcement ladder, reason strings, appeals, and the legal design constraints.
- Read references/worked-examples.md when shaping the deliverable - one B2C and one B2B filled spec, plus one negative example.
- See
mbfinotti/partnerships-skills@referral-incentive-designfor reward structure (sidedness, type, size, payout trigger, tiers) - this skill protects that structure, never redesigns it. - See
mbfinotti/partnerships-skills@affiliate-fraud-detectionfor professional-affiliate traffic and commission fraud. - See
mbfinotti/partnerships-skills@affiliate-program-termsfor the consumer refer-a-friend terms wording only when the program also has a professional-affiliate tier.
FAQ
What does the referral-abuse-guardrails skill do?
Define the operational guardrails that stop end customers from gaming a refer-a-friend program - reward caps, velocity limits and cooldowns, reward-hold windows tied to the refund window, eligibility rules, identity-verification gates, a published enforcement ladder, and abuse-monitoring signals. Produces a guardrail spec for B2C and B2B SaaS referral program managers. Use whenever the user mentions referral abuse, self-referral, fake accounts claiming referral rewards, referral rings, or a referral code leaking to coupon forums, even if they never say abuse. Do NOT use for professional-affiliate traffic fraud - use mbfinotti/partnerships-skills@affiliate-fraud-detection instead.
How do I install referral-abuse-guardrails?
Run npx skills add https://github.com/mbfinotti/partnerships-skills --skill referral-abuse-guardrails in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/referral-abuse-guardrails/ (personal) or .claude/skills/referral-abuse-guardrails/ (project).
Which AI agents can use referral-abuse-guardrails?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is referral-abuse-guardrails safe to install?
Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed. As with any skill, read the SKILL.md and bundled scripts before installing.
Who maintains referral-abuse-guardrails?
It is published by mbfinotti in mbfinotti/partnerships-skills. It has 13,529 recorded installs.
More from mbfinotti/partnerships-skills
affiliate-payout-audit
mbfinotti/partnerships-skills
Audit an affiliate or partner commission payout run for accuracy before money is disbursed - per-line rate and tier recomputation, double-counted conversions, clawback and validation windows, period cutoff, currency, rounding, and tax-form status, delivered as an audit report with severities and recommended holds. Covers B2B SaaS recurring revenue-share and B2C ecommerce order-level CPA programs. Use whenever the user mentions an affiliate payout audit, commission accuracy, payout reconciliation, overpaid or underpaid affiliates, or a pre-disbursement review, even if they never say audit. Do NOT use for spotting fraudulent affiliates - use mbfinotti/partnerships-skills@affiliate-fraud-detection instead.
affiliate-disclosure-compliance
mbfinotti/partnerships-skills
Check a specific piece of affiliate or influencer content (caption, video script, transcript, screenshot, or live URL) against disclosure regulations and return a pass/fail compliance review with placement, wording, and per-format fixes. Covers FTC affiliate disclosure (16 CFR 255 and 465), UK CAP/CMA rules, EU UCPD and DSA, and German, French and Italian overlays, pre-publication or already live. Use whenever the user mentions affiliate disclosure, FTC disclosure, paid partnership labeling, sponsored content, ad tags, or a partner post that may be missing or burying its disclosure, even if they never say compliance. Reviews content only - for disclosure clauses inside program terms use mbfinotti/partnerships-skills@affiliate-program-terms.
affiliate-performance-dashboard
mbfinotti/partnerships-skills
Define the metric set and layout for an affiliate performance dashboard, delivered as a dashboard specification document - metric definitions with explicit formulas, views per audience, refresh and review cadence, and alert thresholds for top affiliates, conversion by source, and program ROI. Covers B2B SaaS recurring revenue-share and B2C ecommerce order-level CPA programs. Use whenever the user mentions affiliate program reporting, affiliate KPIs, affiliate ROI, revenue concentration, or what to put on an affiliate dashboard, even if they never say dashboard. Specifies metrics, never builds them in a BI tool. Do NOT use for one creator campaign's measurement plan - use mbfinotti/partnerships-skills@influencer-measurement-framework instead.
affiliate-fraud-detection
mbfinotti/partnerships-skills
Build the detection rule set an affiliate program manager uses to flag fraudulent affiliate activity, plus the investigation and escalation path behind it - cookie stuffing, fake lead and form-fill fraud, self-referral rings, traffic-quality baselines, commission holds and clawbacks, and separating real fraud from legitimate low-incrementality coupon or cashback partners. Covers B2B SaaS lead-gen and B2C ecommerce programs. Use whenever the user mentions affiliate fraud, suspicious affiliate traffic, invalid clicks or leads, bot traffic, or an affiliate whose numbers look too good, even if they never say fraud. Do NOT use for consumer refer-a-friend gaming - use mbfinotti/partnerships-skills@referral-abuse-guardrails instead.
alliance-prioritization
mbfinotti/partnerships-skills
Rank named candidate strategic alliances and technology partnerships by expected value, effort, and risk, to decide where partner-team capacity goes - must-pass screens, a weighted alliance scorecard with sensitivity analysis, co-innovation and platform-dependency risk checks, a ranked shortlist, and a go/no-go recommendation memo. Covers B2B tech alliances and B2C brand and creator partnerships. Use whenever the user mentions alliance prioritization, partnership ranking, partner shortlisting, or asks which of several named partners deserves investment, even if they never say prioritization. Portfolio-level comparison only. Do NOT use for modeling one partner's P&L - use mbfinotti/partnerships-skills@partner-economics instead.
affiliate-recruitment-outreach
mbfinotti/partnerships-skills
Draft the outreach copy and sequence plan used to recruit new affiliates into a commission-based affiliate program - prospect qualification and tiering, pitch angle, first-touch recruitment email, follow-up sequence with a breakup touch, channel mix, and outreach tracking. Covers B2B SaaS and B2C ecommerce/DTC programs. Use whenever the user mentions recruiting affiliates, affiliate sourcing, or pitching content and review sites, coupon and cashback partners, newsletter operators, communities, podcasters, or agencies to join a program, even if they never say recruitment. Do NOT use for pitching one individually vetted creator - use mbfinotti/partnerships-skills@influencer-outreach instead.
Popular devops & cloud skills
microsoft-foundry
microsoft/azure-skills
Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure
azure-diagnostics
microsoft/azure-skills
Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.
azure-prepare
microsoft/azure-skills
Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.
azure-ai
microsoft/azure-skills
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.
azure-deploy
microsoft/azure-skills
Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.
azure-validate
microsoft/azure-skills
Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.