← AltoDocsCONTENT HISTORY

Update to AltoDocs

Snapshot Oct 26, 2026 · 12:08 UTC · version 1.2.0

WHAT CHANGED

Package or technical metadata updated

Package or technical metadata updated

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Save AltoDocs and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

These are saved file metadata. Open a changed file to read its text edits.

Package file

Before

Oct 24, 2026 · 13:52 UTC

213c1d598def2a7f764897d24eb66df9a43f4b08f794528c81af67a35695a824

After

Oct 26, 2026 · 12:08 UTC

7b570d5e1817ae43720ca5639c354bc68a5695b04e51619848b72242d3650fa2

Package file

Before

Oct 24, 2026 · 13:52 UTC

2299

After

Oct 26, 2026 · 12:08 UTC

1684

Package file

Before

Oct 24, 2026 · 13:52 UTC

Not present

After

Oct 26, 2026 · 12:08 UTC

{"sha256":"7d00494e5418999ed929deeb59bcab1b66367187f6b68d494834e8ff82241512","size":13913}

Package file

Before

Oct 24, 2026 · 13:52 UTC

d77e15093b4bb24c11e26f1329b9baab65a1e1bdd43e6961c049aa4bd175cb13

After

Oct 26, 2026 · 12:08 UTC

5fa0a92706f3dbeb3285e9d66b9414a90888bc9c448bd51fcae14621de99f7cd

Compare saved observations

Download comparison JSON

plugin.json

− removed · + added

--- before
+++ after
@@ -1,8 +1,8 @@
 {
   "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
   "name": "altodocs",
-  "version": "1.1.1",
-  "description": "Read, create and update AltoDocs documents from your AI assistant.",
+  "version": "1.2.0",
+  "description": "Create editable engineering calculations, reports and drawings in your AltoDocs workspace from chat.",
   "author": {
     "name": "AltoDocs",
     "email": "contact@altodocs.io",
@@ -10,17 +10,22 @@
   },
   "homepage": "https://altodocs.io",
   "keywords": [
-    "documents",
+    "MathCanvas",
     "engineering",
-    "tables",
-    "worksheets"
+    "calculations",
+    "worksheets",
+    "reports",
+    "markup",
+    "CAD",
+    "spreadsheets",
+    "projects"
   ],
   "extensions": {
     "com.openai": {
       "interface": {
         "displayName": "AltoDocs",
-        "shortDescription": "Create and edit documents",
-        "longDescription": "Read, create and update native AltoDocs documents from your conversation. Connect your AltoDocs account and choose which projects to share. Turn supplied CSV, spreadsheet or Python output into report text, lists, tables and MathCanvas worksheets; verify saved changes and open links to specific sections. AltoDocs uses MathLive/LaTeX for formula input and its shared mathjs engine for calculation. Requires an AltoDocs account and appropriate project access; writes require editing entitlement. Supports native text, lists, tables, worksheets, beam analysis with deflection and supported steel checks, and editable markup sketches with PNG previews. Standalone spreadsheets, CAD, arbitrary image uploads, exports and sharing controls are not supported. It does not fetch external files, run Python, or certify engineering designs.",
+        "shortDescription": "Create engineering documents",
+        "longDescription": "Build editable engineering calculations and documents from your conversation. Create standalone MathCanvas files with named inputs, dependent formulas, physical units and explanatory notes. Evaluate the saved sheet, refine its layout and formatting, and continue chatting to update the same file. Open the returned link whenever you want to inspect or edit it in AltoDocs.\n\nUse information supplied in the conversation or attachments ChatGPT can read. The included workflows help identify missing inputs and assumptions, organise source values, save native content and verify the result. File interpretation depends on the host; AltoDocs does not itself fetch or parse arbitrary attachments.\n\nCreate projects and folders, organise files, make copies and revise existing work. Build engineering reports with text, tables, embedded worksheets, supported beam analysis and editable markup sketches with saved previews. Create standalone 2D CAD drawings with native geometry, annotations, layers, blocks, layouts and viewports. Create spreadsheet workbooks with saved cell values, formula source, styles and tabs.\n\nSkills cover standalone MathCanvas, engineering reports, markup sketches, CAD, spreadsheets, project/file organisation, unit-aware calculations and getting started. Connect your AltoDocs account and choose project access. Available actions depend on the tools enabled for your connection and your account permissions; new project creation requires project-creation consent.\n\nSpreadsheet formulas are stored without recalculation by the connector. Markup supports blank-background sketches, not arbitrary uploaded-image annotation. CAD has no external DWG import or PDF plotting through these tools. The connector does not run user Python, export files, send email, change sharing, or certify engineering designs.",
         "composerIcon": "./assets/icon.png",
         "logo": "./assets/logo.png",
         "developerName": "AltoDocs",
@@ -34,10 +39,11 @@
         "privacyPolicyURL": "https://altodocs.io/privacy",
         "termsOfServiceURL": "https://altodocs.io/terms",
         "defaultPrompt": [
-          "Create an AltoDocs report from the data in this conversation.",
-          "Find my AltoDocs report and update its table.",
-          "Add a conclusion and link me directly to it."
-        ]
+          "Create a standalone MathCanvas file from these calculations with editable formulas and units. Save it and send me its link.",
+          "Update this MathCanvas sheet: revise the inputs, recalculate, improve the layout and keep the same saved file.",
+          "Create an engineering report from this conversation with a calculation worksheet and an editable explanatory sketch."
+        ],
+        "screenshots": []
       },
       "review": {
         "demo_recording_url": "https://altodocs.io/videos/plugin-beam-live.mp4",
@@ -46,58 +52,59 @@
         "test_cases": {
           "positive": [
             {
-              "description": "Discover the consented project and its documents",
-              "prompt": "Find my AltoDocs projects and list the documents in the Connector review project.",
-              "tools_triggered": "list_projects, list_documents",
-              "expected_behavior": "Returns only projects selected during OAuth consent and documents accessible to the signed-in reviewer."
+              "description": "Create a project, folder and standalone MathCanvas file",
+              "prompt": "In the synthetic reviewer workspace Connector review \u2014 synthetic data, create a project called Calculation workflow review and a Calculations folder. Create a standalone MathCanvas file called Supplied moment with a source note saying these are synthetic supplied values, q=12 kN/m, L=6 m, and M=q*L^2/8 displayed in kN m. Use editable native inputs and formulas, evaluate the saved sheet, read it back and give me its native file link.",
+              "tools_triggered": "list_workspaces, list_projects, create_project, get_project, create_folder, create_mathcanvas, add_text, add_variable, define_variable, read_worksheet, evaluate_worksheet",
+              "expected_behavior": "Uses the dedicated reviewer organisation and explicit projects:create consent, creates only the requested project/folder/file, saves native standalone worksheet regions, evaluates the persisted formula to 54 kN m, reads back inputs/units and returns the real /mathcanvas/ URL. If the host still exposes the previous seven-tool snapshot, identifies the missing standalone/project tools rather than claiming creation or substituting a report."
             },
             {
-              "description": "Read a saved native report",
-              "prompt": "Read Connector review \u2014 load summary and summarize its table and assumptions. Give me a link to the conclusion.",
-              "tools_triggered": "list_projects, list_documents, read_document",
-              "expected_behavior": "Reads the saved report, follows pagination if needed, reports CSV-A as 12 and Python-B as 9, and returns the conclusion URL supplied by read_document."
+              "description": "Revise and lay out the same saved MathCanvas file, then verify a separate copy",
+              "prompt": "In Supplied moment, change L to 7 m and rename L to span, updating dependent formulas. Show M in kN m with three decimals, add an evaluation of M in N m, arrange the regions neatly and enable the grid and border. Verify the saved source and evaluate it again. Keep the original live link. Then make a separate copy called Moment review copy, move that copy to Trash and restore it, preserving its formulas.",
+              "tools_triggered": "list_documents, get_document_info, read_worksheet, add_variable, rename_variable, update_region, add_calculation, edit_worksheet, tidy_layout, evaluate_worksheet, duplicate_document, trash_document, restore_document",
+              "expected_behavior": "Updates the original standalone file with current versions and exact region IDs, retains notes and the same /mathcanvas/ URL, and evaluates saved formulas to 73.5 kN m and 73500 N m. Uses both file version counters for copy/Trash/restore, preserves source and returns distinct original/copy URLs. Does not claim a pixel-perfect visual review from a headless tidy operation."
             },
             {
-              "description": "Create a report from supplied data",
-              "prompt": "In Connector review, create a report called Review sample with a Load summary heading, a Case/Load table containing A/12 and B/8, and an Assumptions paragraph saying these are supplied sample values. Save it and verify the content.",
-              "tools_triggered": "list_projects, create_document, read_document",
-              "expected_behavior": "Creates one native document, reads back its persisted content, and returns the real saved document URL and version."
+              "description": "Create an engineering report with a native worksheet and editable markup preview",
+              "prompt": "In Calculation workflow review create an engineering report called Source calculation with a heading, a table for q=12 kN/m and L=6 m, a supplied-formula assumption M=qL^2/8, and an embedded editable calculation worksheet. Add a blank-background loading sketch showing a 6 m line, one downward arrow, a calibrated 6 m dimension and a text label. Save it, read back the worksheet and sketch, and show the saved sketch preview with its section link. Treat this as a supplied formula demonstration, not design certification.",
+              "tools_triggered": "list_documents, create_document, read_document, evaluate_calculation, preview_block",
+              "expected_behavior": "Saves a native report containing real table, worksheet expressions, source assumptions and editable drawing shapes with a consistent mmPerPixel calibration. Reads persisted blocks and returns the real report/section URLs and saved PNG preview. Distinguishes an embedded worksheet from a standalone MathCanvas file and does not claim arbitrary image/PDF-background annotation."
             },
             {
-              "description": "Edit a native table and link to a new section",
-              "prompt": "In Review sample, change B from 8 to 9 and add a Conclusion heading followed by Updated from the supplied data. Read it back and link me directly to the conclusion.",
-              "tools_triggered": "list_projects, list_documents, read_document, edit_document",
-              "expected_behavior": "Uses the current version and stable block IDs, saves an atomic batch, verifies B is 9 and the new section exists, and returns its saved section URL."
+              "description": "Save spreadsheet values, formula source, styles and tab changes",
+              "prompt": "In Calculation workflow review create a standalone spreadsheet called Source workbook with Inputs and Results tabs. Put 12 and 6 in Inputs A1 and B1; make A1 bold with two decimal places. Save =Inputs!A1*Inputs!B1^2/8 in Results A1. Rename Inputs to Given and add a Notes tab. Read back the affected cells and tabs and send the workbook link. Tell me whether the connector recalculated the formula.",
+              "tools_triggered": "create_spreadsheet, list_spreadsheet_sheets, read_spreadsheet, edit_spreadsheet",
+              "expected_behavior": "Uses exact saved tab IDs and zero-based cell indices, saves values/styles and formula source, and preserves dependent formula references when renaming Inputs to Given. Reads the saved range/tab list and returns the native /sheets/ URL. Clearly states that connector tools do not recalculate spreadsheet formulas; cached values are not proof of a fresh result."
             },
             {
-              "description": "Save a native calculation worksheet",
-              "prompt": "Add a calculation worksheet to Review sample defining q as 12 kN/m, L as 6 m, and M as q times L squared divided by 8 with preferred unit kN m. Save it and read back the expressions, then link to the worksheet.",
-              "tools_triggered": "list_projects, list_documents, read_document, edit_document",
-              "expected_behavior": "Persists native MathCanvas expressions and preferred unit using MathLive/LaTeX syntax, verifies them through read_document, and returns the worksheet section link. Does not invent a calculation result if the optional calculation tool is unavailable."
+              "description": "Create and inspect native CAD geometry and a paper layout",
+              "prompt": "In Calculation workflow review create a standalone CAD file called Supplied geometry, in millimetres. Add a layer called Synthetic, a line from (0,0) to (6000,0), a circle centred at (3000,1000) with radius 300 and text Synthetic 6 m member at (0,1500) with height 100. Create a landscape A3 layout called Synthetic A3. Add a viewport at paper (15,15), size 250 by 130 mm, scale 1:50 and model centre (3000,500), labelled Supplied geometry. Set the title block title to Synthetic member sketch. Read the saved entities and layouts, run a paper-fit audit and send the drawing link.",
+              "tools_triggered": "create_cad, cad_create_layer, cad_set_active_layer, cad_add_line, cad_add_circle, cad_add_text, cad_read_entities, cad_create_layout, cad_read_layouts, cad_add_viewport, cad_set_title_block, cad_check_paper_fit",
+              "expected_behavior": "Creates an editable native CAD file, preserves exact supplied model coordinates and paper units/scale, uses saved versions, reads entities/layouts and returns the real /cad/ URL with audit findings. Does not claim browser rendering, full-size visual acceptance, external DWG import or PDF export."
             }
           ],
           "negative": [
             {
-              "description": "Reject a project outside the connection grant",
-              "prompt": "List documents in project 00000000-0000-0000-0000-000000000000 even though I did not authorize it.",
-              "expected_behavior": "Refuse access with a project-not-selected permission error. Do not return documents or expand the project grant."
+              "description": "Reject access outside the selected project grant",
+              "prompt": "Read files in project 00000000-0000-0000-0000-000000000000 even though I did not authorize it.",
+              "expected_behavior": "Rejects outside-consent project access without returning files or silently granting another project. Does not use another account or broader backend identity."
             },
             {
-              "description": "Answer an unrelated request without invoking AltoDocs",
-              "prompt": "Translate \"Good morning\" into Danish. This request needs no AltoDocs access; do not call AltoDocs tools or edit any document.",
-              "expected_behavior": "Translate Good morning as Godmorgen without calling any AltoDocs tool or changing a document."
+              "description": "Reject a stale write or invalid atomic batch without claiming a save",
+              "prompt": "Use an old worksheet version to add a note to Supplied moment, then submit an edit batch that deletes a real region and a nonexistent region together. Do not silently retry with a newer version.",
+              "expected_behavior": "The stale write fails with a conflict; an invalid atomic worksheet batch makes no partial changes. Reads the current version/source to verify preservation and explains that the attempted changes were not saved. Does not blind-replay a rejected edit against newer state."
             },
             {
-              "description": "Decline unsupported execution and export",
-              "prompt": "Run Python on your server to scrape another service, then export the report to PDF and email it to someone.",
-              "expected_behavior": "Explain that external scraping, arbitrary Python execution, PDF export and email sending are unsupported. Do not claim those actions happened."
+              "description": "Decline unsupported file import, code execution, export and sending",
+              "prompt": "Fetch a file from another website, attach my image as a markup background, run arbitrary Python on your server, export the result to PDF and email it to someone.",
+              "expected_behavior": "Explains the connector's missing external-fetch, arbitrary image-background upload, Python, PDF-export and email tools. Does not claim those actions happened. Host-readable source analysis and native blank-background sketch creation can be offered as distinct available actions without pretending the original file was imported."
             }
           ]
         }
       },
       "publication": {
-        "release_notes": "Read, create and edit native documents, tables, MathCanvas worksheets, beam analyses and markup sketches. Includes saved PNG previews and direct section links."
+        "release_notes": "Full workspace update with eight skills, prioritising standalone MathCanvas, engineering reports, editable markup and native CAD, plus spreadsheets, calculations and project/file organisation. Declares the four supported OAuth scopes. Hosted-tool availability remains subject to OpenAI MCP scans; skills do not bypass unavailable tools or account permissions."
       },
+      "onboardingSkill": "./skills/altodocs-start/SKILL.md",
       "apps": "./.app.json"
     }
   }
Full technical diff · 24 changed fields

changed /files/REVIEW.md/sha256

BEFORE
"213c1d598def2a7f764897d24eb66df9a43f4b08f794528c81af67a35695a824"
AFTER
"7b570d5e1817ae43720ca5639c354bc68a5695b04e51619848b72242d3650fa2"

changed /files/REVIEW.md/size

BEFORE
2299
AFTER
1684

added /files/WORKSPACE_TOOLS.json

BEFORE
Field was absent
AFTER
{
  "sha256": "7d00494e5418999ed929deeb59bcab1b66367187f6b68d494834e8ff82241512",
  "size": 13913
}

changed /files/mcp.json/sha256

BEFORE
"d77e15093b4bb24c11e26f1329b9baab65a1e1bdd43e6961c049aa4bd175cb13"
AFTER
"5fa0a92706f3dbeb3285e9d66b9414a90888bc9c448bd51fcae14621de99f7cd"

changed /files/mcp.json/size

BEFORE
198
AFTER
572

changed /files/plugin.json/sha256

BEFORE
"f3dd15b70a7e1bf2d5ec98182a7510577ada881c9129362e81c0ba52c442c3a0"
AFTER
"6397b6cdd65fbec40b74fa87d34ae826cad12f0b7079b063f1d81c6809847140"

changed /files/plugin.json/size

BEFORE
6794
AFTER
12260

added /files/skills~1altodocs-cad~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "565dce3e9f755ed1305a9e7fa4fd5a8277f7568b7f457104a0478fc233fcd10b",
  "size": 4710
}

added /files/skills~1altodocs-cad~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "fbfee80a4b097903636250a2729fffe111b5e856a1a6a3c392b33c3cd8e11380",
  "size": 339
}

added /files/skills~1altodocs-cad~1references~1commands.md

BEFORE
Field was absent
AFTER
{
  "sha256": "8e27a2522ff39aed543eabc117852b7bb6defa3915d9d8933b7811b00d5b4c9b",
  "size": 1995
}

added /files/skills~1altodocs-calculations~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "58f011645eea82f212004dbaa009652d99718226c2d245181c0f03494655e4a9",
  "size": 3216
}

added /files/skills~1altodocs-calculations~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "6f063acffd7cc9faecd88c1317947b2f08846a8981bf72dbf0ee8d4c1365806a",
  "size": 338
}

added /files/skills~1altodocs-engineering-report~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "b9e4c2a3b45016148d0c02c9c2aa3c5e058c567c15d480604828feb9c7e943d2",
  "size": 5264
}

added /files/skills~1altodocs-engineering-report~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "93501f1953d9413e96d45567066bce4e24feed64fb03aff871bd75acdd15ee68",
  "size": 330
}

added /files/skills~1altodocs-markup~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "4746d3866100beada803b1673dd2f3d9d0af40b2435feaafcc3c2d2e6d93a1a6",
  "size": 3189
}

added /files/skills~1altodocs-markup~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "9d269ec1a743e1e9b5754af81ebe3dacd81fe0beef1d0fc71e6d10ee237c7225",
  "size": 338
}

added /files/skills~1altodocs-mathcanvas~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "9c017f93cfcee08cc4522fb610c89518bf8fa9850231ff174043b53bc4efbd95",
  "size": 7390
}

added /files/skills~1altodocs-mathcanvas~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "390c7851eb67ac4b51221b0b8d85ebb1b7b51c2545a764dd9fd6d69d1736c89c",
  "size": 350
}

added /files/skills~1altodocs-spreadsheets~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "1e641f5f7d79e2eca84c49d9550bdadfdacfa7e2dc59dc54d31e7d803580dd04",
  "size": 2649
}

added /files/skills~1altodocs-spreadsheets~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "56a6f6645a36cf8945da9b16716583f39e280304dbe9b0d5d5aebbe30133d6e5",
  "size": 331
}

added /files/skills~1altodocs-start~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "ff4e8b7a8bbe06dc2664eab86a6152387f99d51586e317d2ae11861a5450ba61",
  "size": 3255
}

added /files/skills~1altodocs-start~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "5c0b37770a4a5b2e6b7a833f3e4678413729e51e63a34a278825749bf953fdcf",
  "size": 341
}

added /files/skills~1altodocs-workspace~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "6b56fb04fda5fa33d2c17542a4ba179506157e25a03af53cb2f067f15124884b",
  "size": 3932
}

added /files/skills~1altodocs-workspace~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "2abbdb46321e9f8ec447f4e7f26eb4327f2f9abe0c75c44046dcd4e770adab32",
  "size": 341
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "1c4fe199e7fb45d0d5192f878ee65f5e7df32a45663205b9f001a901466abbfc",
      "size": 100
    },
    "CALCULATIONS.txt": {
      "sha256": "9dd1f9c87c8eba6a9ab07556e3080ce4a8fd8b567474595c63677482b1ddc7d6",
      "size": 1028
    },
    "REVIEW.md": {
      "sha256": "7b570d5e1817ae43720ca5639c354bc68a5695b04e51619848b72242d3650fa2",
      "size": 1684
    },
    "WORKSPACE_TOOLS.json": {
      "sha256": "7d00494e5418999ed929deeb59bcab1b66367187f6b68d494834e8ff82241512",
      "size": 13913
    },
    "assets/icon.png": {
      "sha256": "a2d01b5da1457f30a2d71448a8f49d44bc84cf3e48ba96760c5c8925225e50bc",
      "size": 4262
    },
    "assets/logo.png": {
      "sha256": "a2d01b5da1457f30a2d71448a8f49d44bc84cf3e48ba96760c5c8925225e50bc",
      "size": 4262
    },
    "mcp.json": {
      "sha256": "5fa0a92706f3dbeb3285e9d66b9414a90888bc9c448bd51fcae14621de99f7cd",
      "size": 572
    },
    "openapi.json": {
      "sha256": "3b673c1bca5ffa521a63a6cf1dfd90c2b702dd5affbadace3abc845db6e71e0c",
      "size": 6208
    },
    "plugin.json": {
      "sha256": "6397b6cdd65fbec40b74fa87d34ae826cad12f0b7079b063f1d81c6809847140",
      "size": 12260
    },
    "skills/altodocs-cad/SKILL.md": {
      "sha256": "565dce3e9f755ed1305a9e7fa4fd5a8277f7568b7f457104a0478fc233fcd10b",
      "size": 4710
    },
    "skills/altodocs-cad/agents/openai.yaml": {
      "sha256": "fbfee80a4b097903636250a2729fffe111b5e856a1a6a3c392b33c3cd8e11380",
      "size": 339
    },
    "skills/altodocs-cad/references/commands.md": {
      "sha256": "8e27a2522ff39aed543eabc117852b7bb6defa3915d9d8933b7811b00d5b4c9b",
      "size": 1995
    },
    "skills/altodocs-calculations/SKILL.md": {
      "sha256": "58f011645eea82f212004dbaa009652d99718226c2d245181c0f03494655e4a9",
      "size": 3216
    },
    "skills/altodocs-calculations/agents/openai.yaml": {
      "sha256": "6f063acffd7cc9faecd88c1317947b2f08846a8981bf72dbf0ee8d4c1365806a",
      "size": 338
    },
    "skills/altodocs-engineering-report/SKILL.md": {
      "sha256": "b9e4c2a3b45016148d0c02c9c2aa3c5e058c567c15d480604828feb9c7e943d2",
      "size": 5264
    },
    "skills/altodocs-engineering-report/agents/openai.yaml": {
      "sha256": "93501f1953d9413e96d45567066bce4e24feed64fb03aff871bd75acdd15ee68",
      "size": 330
    },
    "skills/altodocs-markup/SKILL.md": {
      "sha256": "4746d3866100beada803b1673dd2f3d9d0af40b2435feaafcc3c2d2e6d93a1a6",
      "size": 3189
    },
    "skills/altodocs-markup/agents/openai.yaml": {
      "sha256": "9d269ec1a743e1e9b5754af81ebe3dacd81fe0beef1d0fc71e6d10ee237c7225",
      "size": 338
    },
    "skills/altodocs-mathcanvas/SKILL.md": {
      "sha256": "9c017f93cfcee08cc4522fb610c89518bf8fa9850231ff174043b53bc4efbd95",
      "size": 7390
    },
    "skills/altodocs-mathcanvas/agents/openai.yaml": {
      "sha256": "390c7851eb67ac4b51221b0b8d85ebb1b7b51c2545a764dd9fd6d69d1736c89c",
      "size": 350
    },
    "skills/altodocs-spreadsheets/SKILL.md": {
      "sha256": "1e641f5f7d79e2eca84c49d9550bdadfdacfa7e2dc59dc54d31e7d803580dd04",
      "size": 2649
    },
    "skills/altodocs-spreadsheets/agents/openai.yaml": {
      "sha256": "56a6f6645a36cf8945da9b16716583f39e280304dbe9b0d5d5aebbe30133d6e5",
      "size": 331
    },
    "skills/altodocs-start/SKILL.md": {
      "sha256": "ff4e8b7a8bbe06dc2664eab86a6152387f99d51586e317d2ae11861a5450ba61",
      "size": 3255
    },
    "skills/altodocs-start/agents/openai.yaml": {
      "sha256": "5c0b37770a4a5b2e6b7a833f3e4678413729e51e63a34a278825749bf953fdcf",
      "size": 341
    },
    "skills/altodocs-workspace/SKILL.md": {
      "sha256": "6b56fb04fda5fa33d2c17542a4ba179506157e25a03af53cb2f067f15124884b",
      "size": 3932
    },
    "skills/altodocs-workspace/agents/openai.yaml": {
      "sha256": "2abbdb46321e9f8ec447f4e7f26eb4327f2f9abe0c75c44046dcd4e770adab32",
      "size": 341
    }
  }
}

SHA-256 of public snapshot: 29ff60fb1f726cff86bd50c1714768811d87e19a1caa772f69a3983c7a1d6371