← OloLand DDCONTENT HISTORY

Update to OloLand DD

Snapshot Nov 2, 2026 · 18:12 UTC · version 1.26.7

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save OloLand DD and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Use when the user asks to run the OloLand ololand-dd-deal-canvas workflow. Create or update charts, KPI rows, tables, and infographics on the deal canvas — every value bound to an engine or a citation, never invented.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 449
    }
  ],
  "name": "ololand-dd-deal-canvas",
  "skill_md_contents": "---\nname: ololand-dd-deal-canvas\ndescription: \"Use when the user asks to run the OloLand ololand-dd-deal-canvas workflow.\\\n  \\ Create or update charts, KPI rows, tables, and infographics on the deal canvas\\\n  \\ \\u2014 every value bound to an engine or a citation, never invented.\"\n---\n\n\n# Workflow for ololand-dd-deal-canvas\n\nFollow the OloLand command instructions below when the user asks for `ololand-dd-deal-canvas` or the equivalent workflow.\n\n# Deal Canvas\n\nUse this command when the user asks for a chart, graph, KPI summary, table,\nor infographic **on the deal canvas** — a persisted, dock-visible artifact,\nnot a one-off markdown table in chat.\n\n## Usage\n\n```\nololand-dd-deal-canvas <deal_id> chart <chart_type> \"<title>\" <x_axis_key> <series...>\nololand-dd-deal-canvas <deal_id> kpi \"<title>\" <items...>\nololand-dd-deal-canvas <deal_id> table \"<title>\" <columns...> <items...>\nololand-dd-deal-canvas <deal_id> infographic \"<title>\" <sections...>\nololand-dd-deal-canvas <deal_id> update <tile_id> <changed fields...>\n```\n\n## The binding contract (applies to every kind)\n\nEvery numeric series, item, or column must be bound one of two ways — there\nis no free-text numeric value on this surface:\n\n- **Engine-bound** — `{\"mode\": \"engine\", \"metric\": <engine metric>}` and\n  OloLand fills the value from its own engines (financial snapshot / DCF /\n  LBO). Never set `unit`/`scale` on an engine-bound value; they're ignored if\n  present.\n- **Cited** — `{\"mode\": \"cited\", \"citations\": [{\"document_id\": <file in this\n  deal>, \"page\": <n>}]}` with the row values passed in `data` (charts) or\n  inline on the item/column (KPI/table/infographic). Every cited series must\n  carry at least one citation that resolves to a file in **this** deal, or\n  the call is refused with `error_code=\"uncited_series\"`. For KPI rows,\n  tables, and infographics specifically, a cited entry also requires an\n  explicit `unit` (`usd` | `percent` | `ratio` | `count`) and, when\n  `unit=\"usd\"`, an explicit `scale` (`actual` | `thousands` | `millions` |\n  `billions`) — OloLand converts to canonical absolute USD before storing.\n  Missing or invalid unit/scale is refused the same way, never defaulted.\n\n## Execution\n\n1. **chart** — call `create_deal_chart(deal_id, chart_type,\n   title, x_axis_key, series, data, filters, insights)`. `chart_type` is one\n   of `line`, `bar`, `area`, `scatter`, `pie`, `composed`. `data` carries the\n   rows for cited series only (ignored for engine series). Re-issuing an\n   identical chart returns the existing tile (`deduped: true`) instead of\n   minting a duplicate — don't apologize for or hide a dedupe response, just\n   report the existing tile.\n2. **kpi / table / infographic** — call `create_deal_artifact(\n   deal_id, kind, title, items, columns, x_axis_key, data, sections,\n   insights)` with `kind` set to `kpi_row`, `table`, or `infographic`. Use\n   `kind=\"infographic\"` with 1-12 ordered `sections` for composite requests\n   that combine several of the above. Never author raw HTML or sandbox files\n   for this surface — the artifact system renders it.\n3. **update** — for any follow-up like \"make it a bar chart\" or \"add EBITDA\n   margin,\" call `update_deal_artifact(deal_id, tile_id, ...)`\n   with the `tile_id` the create call returned, **restating the full\n   binding** (`series`/`items`/`columns`/`sections`) — every value is\n   re-verified against engines/citations exactly as on creation, so a partial\n   restatement drops whatever isn't repeated. The prior spec is kept as a\n   restorable version, so this is safe to iterate on.\n\n## Output\n\nReport the tile/artifact reference and kind, whether it was newly created,\nupdated, or deduped, and — for cited series — which document(s)/page(s) back\neach value. If a call comes back `uncited_series`, tell the user exactly\nwhich item is missing its citation, unit, or scale rather than retrying with\na guessed value.\n\n## Guardrails\n\n- **No invented numbers.** Every value is engine-bound or cited to a document\n  in this deal — never a value typed from memory or estimated in chat.\n- **Update in place, don't duplicate.** A follow-up edit to an existing tile\n  goes through `update_deal_artifact` with its `tile_id`, not a fresh\n  `create_deal_chart`/`create_deal_artifact` call.\n- Cell-level workbook authoring is a different surface — see `ololand-dd-workbook` for\n  Excel-style analysis workbooks; this command is for canvas-visible\n  charts/KPIs/tables/infographics only.\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"
}

SHA-256 of public snapshot: 6dd6689a8f2d368c18988d6d4396057bd78f51736f9cbe197a6de007a65e6295