{"id":76398,"plugin_id":"plugin_asdk_app_6ad3a430b30481919b3d089dabbc9b93","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-02T18:12:11.202Z","digest":"9f9a5645920f964ea458981b86da3d26445b761bec7742fd4533c51a3dbfe3df","against":null,"payload":{"description":"Use when the OloLand deal target is a SaaS, subscription, or recurring-revenue business. Loads SaaS-specific KPI definitions (ARR vs revenue, NRR/GRR, Rule of 40, magic number, CAC payback) and the verifier checklist for software-deal diligence.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":439}],"name":"ololand-dd-saas-diligence","skill_md_contents":"---\nname: ololand-dd-saas-diligence\ndescription: Use when the OloLand deal target is a SaaS, subscription, or recurring-revenue\n  business. Loads SaaS-specific KPI definitions (ARR vs revenue, NRR/GRR, Rule of\n  40, magic number, CAC payback) and the verifier checklist for software-deal diligence.\n---\n\n# SaaS diligence\n\nFor SaaS / subscription deals, KPI definitions are load-bearing — wrong ones produce a wrong thesis.\n\n## Canonical KPI definitions\n\n| KPI | Definition | Mistake to avoid |\n|---|---|---|\n| **ARR** | Annualized contract value of subscription revenue at period end, excluding one-time, services, usage-overage | Counting bookings or TCV as ARR |\n| **NRR** | Period-end ARR from prior-period cohort ÷ prior-period ARR (incl. upsell − churn − contraction) | Forgetting contraction |\n| **GRR** | NRR but excluding upsell — ceiling 100% | Conflating with NRR |\n| **CAC payback** | Fully-loaded S&M ÷ new ARR × gross margin (months) | Excluding marketing or capitalized sales comp |\n| **Magic number** | Net new ARR × 4 ÷ prior-quarter S&M | Using gross new ARR (ignores churn) |\n| **Rule of 40** | Revenue growth % + EBITDA margin % | Mixing GAAP and adjusted EBITDA |\n\n## Verifier checklist\n\n- [ ] ARR walk reconciles (opening + new + upsell − contraction − churn = closing)\n- [ ] NRR cohort methodology disclosed (by dollar/logo, gross/net)\n- [ ] ASC 606 revenue policy: multi-element split, ratable vs point-in-time, professional services\n- [ ] Deferred revenue trend aligned with ARR\n- [ ] Gross margin reconciliation: hosting + CS + 3p SaaS COGS\n- [ ] Top-10 customer % of ARR\n- [ ] Free-to-paid conversion trended (if PLG)\n- [ ] Usage-based revenue volatility separated\n\n## Common red flags\n\n- ARR flat with NRR > 110% → implies massive logo churn\n- Gross margin > 85% without breakdown of hosting/CS\n- CAC payback < 12 months with growth < 30%\n- \"Committed ARR\" or \"ARR ex-pilots\" (non-standard)\n- One-time services in ARR\n- Multi-year prepay treated as full-year ARR\n\nEvery KPI reported MUST cite source with `[N]` AND state the methodology used (cohort dollar vs logo, gross vs net). If methodology is not disclosed in source, mark the KPI as \"methodology not confirmed.\"\n\n\n## OpenAI execution requirements\n\nUse the connected MCP server's current tool schemas. Do not invent tool arguments, job-status endpoints, inputs, or outputs. If a referenced tool is unavailable, explain the limitation and request the needed connection or data. Invoke writes only when the user has requested the corresponding action. Do not initiate purchases or payments. An unrun, unsupported, or unavailable procedure is a gap, never a passing result.\n\n\nOpenAI cannot execute local lifecycle hooks. Use the packaged explicit setup/review workflow when requested. Server-side MCP auditing remains authoritative; preserve evidence blockers and human-only approval gates.\n\nClaim-correction submission is unsupported in this OpenAI upload because the current handler records surface=cowork. Do not invoke submit_agent_claim_correction from OpenAI. Explain the limitation and retain proposed correction text for human review without claiming submission. See unsupported-workflows.json for the excluded canonical workflow.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}