{"id":76385,"plugin_id":"plugin_asdk_app_6ad3a430b30481919b3d089dabbc9b93","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-02T18:12:10.877Z","digest":"b74aef2e28369309bc04a3b63e067ba8e672dcc256069f6cd315a4c76fc5a623","against":null,"payload":{"description":"Use when the user asks to run the OloLand ololand-dd-qoe-analysis workflow. Run or retrieve OloLand's deal-scoped Quality of Earnings analytical workbench for revenue quality, EBITDA adjustments, working capital, and evidence-backed QoE findings — plus an optional cross-document conflict scan that surfaces contradictions across the data room.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":437}],"name":"ololand-dd-qoe-analysis","skill_md_contents":"---\nname: ololand-dd-qoe-analysis\ndescription: \"Use when the user asks to run the OloLand ololand-dd-qoe-analysis workflow.\\\n  \\ Run or retrieve OloLand's deal-scoped Quality of Earnings analytical workbench\\\n  \\ for revenue quality, EBITDA adjustments, working capital, and evidence-backed\\\n  \\ QoE findings \\u2014 plus an optional cross-document conflict scan that surfaces\\\n  \\ contradictions across the data room.\"\n---\n\n\n# Workflow for ololand-dd-qoe-analysis\n\nFollow the OloLand command instructions below when the user asks for `ololand-dd-qoe-analysis` or the equivalent workflow.\n\n# QoE Analysis\n\nRun the deal-scoped Quality of Earnings workbench. The backend auto-hydrates from the latest financial snapshot when explicit data is not provided, while still accepting overrides for replay or power-user workflows.\n\n## Usage\n\n```\nololand-dd-qoe-analysis <deal_id> [latest|run]\n```\n\n## Arguments\n\n- `deal_id` (required) - The deal to analyze.\n- `mode` (optional) - `latest` to inspect the cached result; `run` to create a fresh analysis. Default: `latest`, then run if no result exists.\n\n## Execution\n\n1. Call `get_latest_qoe_analysis(deal_id)`.\n2. If there is no cached result, or the user asks to rerun, call `run_qoe_analysis(deal_id)`.\n3. If the user supplied structured overrides, pass them through to `run_qoe_analysis`: `revenue_items`, `expense_items`, `financial_data`, `transactions`, `adjustments`, `reported_ebitda`, `revenue_data`, and `working_capital_data`.\n4. Use the returned `view_url` for the web app handoff.\n\n## Cross-document conflict scan (optional)\n\nQoE findings are only as good as the documents agree with each other. When the user asks to \"find contradictions\", \"check the documents against each other\", or is prepping a data-room quality read, run the cross-document conflict detector:\n\n1. Call `run_conflict_detection(deal_id)`. This dispatches the Deal Document Conflict Detector over the cross-doc reconciliation engines, surfacing conflicts across financials, dates, entities, and terms. It returns a `task_id` and dual-writes a replayable `agent_runs` row plus a `conflict_report` artifact.\n2. Poll `check_task_status(task_id)` until complete (it runs async).\n3. Fold the returned conflicts into the QoE read as evidence gaps or blockers — a management figure that contradicts the CPA financials is a QoE concern, not a footnote. Cite the two conflicting documents for each finding.\n\nThis is the all-in-one equivalent of the standalone `ololand-forensic-qoe` plugin's `/conflicts` command.\n\n## Output\n\nRender:\n\n- **QoE verdict** - clean / watch / concern / blocker, based on the returned risk and adjustment profile.\n- **EBITDA bridge** - returned base, computed adjustment totals, classes, dollar impacts, and evidence limitations; do not infer accepted normalized earnings from a computed total.\n- **Revenue quality** - concentration, cut-off, recurring/non-recurring indicators, and any source gaps.\n- **Working capital** - DSO/DPO/DIO and normalization flags.\n- **Evidence gaps** - data classes that prevented stronger conclusions.\n\nFor a separate `build_ebitda_bridge` invocation on OpenAI, confirm the current\nlive schema and require explicit `financial_data` with finite numerical\n`reported_ebitda` and an explicit `adjustments` list alongside `deal_id`.\nDo not transfer this workbench's native snapshot fallback to that tool. Its\nOpenAI result is a caller-supplied unverified scenario with `base_ebitda`,\n`basis_is_canonical=false`, and `evidence_verification=not_performed`;\nsource/documentation labels and `source_claim` fields are not verified\ncitations. Heuristic classifications do not approve adjustments or establish\naccepted normalized earnings. Missing evidence remains a blocker for a full\nsource-backed normalized review.\n\n## Output URL Conventions\n\nUse the tool-returned `view_url`. Canonical surface:\n\n- QoE workbench: `https://app.ololand.ai/deals/{deal_id}/valuation/qoe`\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":{}}