← OneNote (Beta)CONTENT HISTORY

Update to OneNote (Beta)

Snapshot Sep 30, 2026 · 22:47 UTC · version 0.1.4

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "export-onenote-to-markdown",
  "description": "Export, back up, archive, download, or migrate personal Microsoft OneNote pages, sections, or notebooks to downloadable Markdown files. Use for OneNote-to-Markdown and OneNote-to-Obsidian requests, including bounded multi-page exports.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 279
    }
  ],
  "skill_md_contents": "---\nname: export-onenote-to-markdown\ndescription: Export, back up, archive, download, or migrate personal Microsoft OneNote pages, sections, or notebooks to downloadable Markdown files. Use for OneNote-to-Markdown and OneNote-to-Obsidian requests, including bounded multi-page exports.\n---\n\n# Export OneNote to Markdown\n\n1. Establish the exact personal page, section, or notebook to export. Explain before a large scan that the current workflow returns one Markdown file per page; it does not create a ZIP, write directly to an Obsidian vault, embed images or attachments, rewrite OneNote links as Obsidian wikilinks, or export shared group/site pages.\n2. Keep the source read-only. During export, do not invoke `create_page`, `update_page`, `append_to_page`, `copy_page_to_section`, or `delete_page`. `list_notebooks` is a read-only action even though Microsoft Graph assigns it the connector's `Notes.Create` scope. Treat any request to delete originals as a separate consequential workflow requiring confirmation after export verification.\n3. Inventory one batch before exporting. Resolve the notebook with `list_notebooks`; recursively walk `list_section_groups` and `list_sections`; enumerate selected sections with `list_pages`. Collect no more than 20 pages in one turn, requesting only the remaining batch size. Retain the current section and `next_skip` cursor when the cap is reached instead of continuing discovery, along with every observed page ID, title, parent path, and source URL.\n4. Call `export_page_as_markdown` once for each page in the current inventory batch and preserve every returned file reference. Do not replace the deterministic export with model-generated Markdown from `get_page_text` or raw `fetch_page` HTML.\n5. Treat `resources_not_included`, `unsafe_links_removed`, `complex_table_structure_simplified`, and `unsupported_content_omitted` warnings as partial-fidelity results. The complex-table warning means nested tables or merged cells were flattened because GitHub-Flavored Markdown cannot represent their structure exactly. If the user needs a personal-page image or attachment separately, inspect that page with `fetch_page`, then call `fetch_page_resource` with both that page ID and the exact resource ID observed in its current HTML. State that the returned resource is separate and is not linked from the Markdown file.\n6. Reconcile the inventory against exported, partial, and failed page counts. Report every failure and warning, return all observed file references, and never say the migration is complete when a page failed or a pagination window remains.\n7. For a large notebook, finish the current bounded batch and offer to continue with the remaining observed page IDs. Do not claim durable checkpoint or resume support based only on chat history.\n\nUse a result summary shaped like:\n\n```text\nExported: <count>\nPartial: <count>\nFailed: <count>\nRemaining: <count or unknown>\nFiles: <returned Markdown file references>\nWarnings: <page-specific fidelity limitations>\n```\n"
}

SHA-256: ad7dac2f135f0f16bd245b424896c0475f49f3a24b613f928b6de798df93ceaa