{"id":76341,"plugin_id":"plugin_asdk_app_6ad3a430b30481919b3d089dabbc9b93","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-02T18:12:09.692Z","digest":"fdaa3fe63c5090fdd3b2e591ef149638f13d2870123b961c557d6bcf328f4a5b","against":null,"payload":{"description":"Use when stating any dollar figure, multiple, ratio, or factual claim about a deal — every quantitative claim must cite its source with an inline `[N]` marker pointing at the retrieved chunk. Required for any IC-grade or audit-defensible output.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":457}],"name":"citation-discipline","skill_md_contents":"---\nname: citation-discipline\ndescription: \"Use when stating any dollar figure, multiple, ratio, or factual claim\\\n  \\ about a deal \\u2014 every quantitative claim must cite its source with an inline\\\n  \\ `[N]` marker pointing at the retrieved chunk. Required for any IC-grade or audit-defensible\\\n  \\ output.\"\n---\n\n# Citation Discipline\n\nEvery dollar figure, percentage, multiple, ratio, name, date, or factual claim about a deal must cite the source.\n\n## Inline citation format — `[N]` markers\n\nWhen `search_deal_documents` (or any document-retrieval MCP tool) returns evidence, each chunk is prefixed with a stable reference number: `[1] Source: file=10-K.pdf, p.42`, `[2] Source: file=audit.pdf, p.8`, and so on.\n\nAfter every claim you make in your final answer, write the corresponding `[N]` token. In OloLand-aware UIs (the AI Assistant, your assistant, your assistant with the plugin loaded), these become clickable links that open the source PDF at the cited page.\n\nExamples:\n- \"SigmaTron's revenue declined 18.5% YoY to $304.7M in FY2025 [1].\"\n- \"Auditors flagged a material weakness in revenue recognition [2], and the company has been in covenant default since August 2024 [3, 5].\"\n- \"Combined leverage stands at 5.0x EBITDA [1, 4].\"\n\nUse multiple numbers in one bracket — `[1, 4]` — when a single claim is supported by multiple chunks. Order them ascending.\n\n## Rules (hard)\n\n1. **Never invent numbers.** Only cite `[N]` values that actually appeared in a tool result this turn. If you didn't retrieve chunk `[7]`, do not write `[7]`. OloLand-aware runtimes will strip out-of-range markers and log a warning when this happens — the answer looks worse, not better, with stale numbers.\n2. **No citation, no figure.** If you cannot cite the source, do not state the number. Say what you searched and what is still missing.\n3. **Reconcile conflicts explicitly.** If `[1]` reports $X and `[3]` reports $Y, surface the discrepancy and cite both. Use the `source-hierarchy` skill to decide which one leads.\n4. **Computed metrics show the formula and cite each input.** \"EBITDA margin = $7.7M ÷ $304.7M = 2.5% [1]\" — the inputs come from `[1]`.\n5. **No round-trip hallucination.** Don't restate a number you computed as if a source said it.\n6. **Greetings and identity questions don't need citations.** This rule only applies when you're answering a factual deal question.\n\n## Failure modes to avoid\n\n- Plausible-sounding numbers without `[N]`. You know industry norms; don't substitute those for actual deal data.\n- Stale citations. If `[3]` is an FY2023 figure and the user asked about FY2025, flag the staleness in prose AND keep the citation.\n- The old free-form \"Source: <filename>\" block at the end of the answer is no longer the contract. Use inline `[N]` after each claim instead — the UI renders inline citations as clickable superscripts; trailing source blocks render as plain text and the user can't click through to the document.\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":{}}