← LayerzCONTENT HISTORY

Update to Layerz

Snapshot Nov 10, 2026 · 00:09 UTC · version 1.1.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 Layerz and check future changes in Following.

Up to 3 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 30, 2026 · 00:05 UTC

Not present

After

Nov 10, 2026 · 00:09 UTC

{"sha256":"70678f7eda4655a1ad238f81e3685e8c2c986a0b73b3a32fa0a0260bd87dd2a9","size":1063}

Package file

Before

Oct 30, 2026 · 00:05 UTC

Not present

After

Nov 10, 2026 · 00:09 UTC

{"sha256":"071cc41d8faade00877bd3f1b8cfcb8bc49955838386af4d3a3d73a9d77a183e","size":12343}

Package file

Before

Oct 30, 2026 · 00:05 UTC

Not present

After

Nov 10, 2026 · 00:09 UTC

{"sha256":"d1e7dec8c83e45fff22d201ccbab90f4aa71f5a4d06ae54536c80e65ae9c06b3","size":2468}

Package file

Before

Oct 30, 2026 · 00:05 UTC

9c991d60d1dc8fb18d95812287ee489d315e2890ae17ceb5e062aaf623b98dbc

After

Nov 10, 2026 · 00:09 UTC

a2f47bf5394c466aef8538d07149285b2d8fd5b7b7a07666bbd538d4a3824f01

Compare saved observations

Download comparison JSON

README.md

− removed · + added

--- before
+++ after
@@ -0,0 +1,171 @@
+# Layerz MCP
+
+**Financial models your AI agent builds and edits: items, formulas, dependencies, branches. Exports to Excel.**
+
+Layerz is a structured spreadsheet for financial models, ready for AI. This repository is its **plugin**: the hosted MCP server plus five skills that teach an agent how to drive it (first session, business plan, monthly close, scenarios and cash, review and fix). Claude, ChatGPT, Codex, Cursor or any MCP client works on the model structure itself, not on loose cells, so formulas hold when the agent changes an assumption and the model is still there next session.
+
+- **Endpoint:** `https://layerz.cc/mcp` (streamable HTTP)
+- **Auth:** OAuth 2.1 with PKCE and dynamic client registration, or a Layerz API key
+- **Docs:** [layerz.cc/for-agents](https://layerz.cc/for-agents) · [llms.txt](https://layerz.cc/llms.txt)
+- **Registry:** `io.github.layerzlabs/layerz` on the [official MCP Registry](https://registry.modelcontextprotocol.io)
+
+[![Layerz MCP connector](https://glama.ai/mcp/connectors/cc.layerz.app/layerz/badges/score.svg)](https://glama.ai/mcp/connectors/cc.layerz.app/layerz)
+
+The server is hosted. There is nothing to run locally: this repository holds the plugin manifests (Agent Plugins 1.0, Claude Code, Cursor), the five skills under `skills/`, the setup instructions and the metadata MCP directories read. Installing the plugin adds one connection to `https://layerz.cc/mcp` and nothing else; `SECURITY.md` says exactly what is sent.
+
+---
+
+## Why
+
+Ask an AI to build a financial model and you get a workbook in 30 seconds. Then one assumption changes: links break, values get hardcoded, and the next session starts from scratch.
+
+Layerz keeps the **structure** of a model (items, formulas with named references, the dependency graph, timelines) apart from its **data** (values, scenarios, actuals). The agent edits that structure through MCP tools, every change is versioned with a readable summary, and Excel is an export format: clean, standard `.xlsx` with live formulas, the file you send to people who never see the agent.
+
+## Install
+
+Where a plugin can be installed, install the plugin: it is the same server with the skills on top. The bare URL remains the fallback for every other MCP client.
+
+| Client | How |
+|---|---|
+| Claude (claude.ai, desktop app, Cowork) | Connector: [layerz.cc/claude](https://layerz.cc/claude) opens Settings → Connectors with Layerz pre-filled. Skills: add the **Layerz plugin** from Customize → Plugins → Discover once it is listed; it pairs with the connector, so one set of tools. |
+| Claude Code | In a session: `/plugin install layerz --marketplace layerzlabs/layerz-mcp`. From the shell: `claude plugin marketplace add layerzlabs/layerz-mcp` then `claude plugin install layerz`. If you had added the server by hand, `claude mcp remove layerz` so the tools are not listed twice. A plugin added on claude.ai also reaches Claude Code as a synced plugin. |
+| ChatGPT and Codex | [layerz.cc/chatgpt](https://layerz.cc/chatgpt) opens the Layerz plugin in the directory; the skills ship with it. From Codex CLI: `codex plugin marketplace add layerzlabs/layerz-mcp`. |
+| Cursor and Grok Bot | Install **Layerz** from the Cursor Marketplace (shared with Grok Bot). The plugin carries the server, so the deeplink below is not needed. |
+
+Sign in to Layerz the first time a tool is called. Free for one person working alone.
+
+### Server only (any MCP client)
+
+Every client below speaks to the same server at `https://layerz.cc/mcp` (streamable HTTP, OAuth 2.1 with PKCE and dynamic client registration, or a Layerz API key as a bearer token). It gets the tools, the conventions and the modeling guide, not the skills.
+
+**Cursor, without the plugin**
+
+[![Add Layerz to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=layerz&config=eyJ1cmwiOiJodHRwczovL2xheWVyei5jYy9tY3AifQ%3D%3D)
+
+```json
+{
+  "mcpServers": {
+    "layerz": { "url": "https://layerz.cc/mcp" }
+  }
+}
+```
+
+**Claude Code, without the plugin**
+
+```bash
+claude mcp add -t http layerz https://layerz.cc/mcp
+```
+
+**OpenAI Codex, without the plugin**
+
+```bash
+codex mcp add layerz --url https://layerz.cc/mcp
+codex mcp login layerz
+```
+
+**Claude, without the link**: Settings → Connectors → Add custom connector → `https://layerz.cc/mcp`
+
+**ChatGPT, without the directory**: Settings → Security and login → Developer mode, then Plugins → + → `https://layerz.cc/mcp`
+
+**Mistral Le Chat**: Settings → Connectors → Add custom MCP connector → `https://layerz.cc/mcp`
+
+**OpenCode**: add to `opencode.json`, then run `opencode mcp auth layerz`
+
+```json
+{
+  "$schema": "https://opencode.ai/config.json",
+  "mcp": {
+    "layerz": {
+      "type": "remote",
+      "url": "https://layerz.cc/mcp",
+      "oauth": {}
+    }
+  }
+}
+```
+
+**Grok** (grok.com): Connectors → New Connector → Custom → `https://layerz.cc/mcp`
+
+**Antigravity CLI** (formerly Gemini CLI): add to `mcp_config.json`
+
+```json
+{
+  "mcpServers": {
+    "layerz": { "serverUrl": "https://layerz.cc/mcp" }
+  }
+}
+```
+
+**Any other MCP client**: point it at `https://layerz.cc/mcp` over streamable HTTP. Clients without OAuth can send a Layerz API key, created in the Layerz app, as a bearer token.
+
+## The skills
+
+Five skills, each named after a job the user asks for. The `SKILL.md` is a short sequence of tool calls for that job; the matter comes from the Layerz modeling guide, copied verbatim into `references/` by a script in the Layerz code repo, so the skills can never drift from what the server documents.
+
+| Skill | When the agent loads it | What it does |
+|---|---|---|
+| [`start`](skills/start/SKILL.md) | First conversation, a workspace with no model yet, "where do I start" | Lists the models, offers a template or a few questions, reads the workspace conventions, builds a first model in one pass, hands over the link |
+| [`business-plan`](skills/business-plan/SKILL.md) | Build or extend a business plan, a budget, a three-statement model | Conventions first, the structure the workspace expects, one validated build, every stock as a rolling balance, checks at zero, then incremental patches |
+| [`monthly-close`](skills/monthly-close/SKILL.md) | Import actuals, map accounts, resync, comment variances | Upload, dry run, the mapping loop, sync, health on the actuals branch, diff, pinned version |
+| [`scenarios-and-cash`](skills/scenarios-and-cash/SKILL.md) | Scenarios, runway, cash-flow forecast, actuals versus forecast | Scenario branches, values written on the branch only, branch versus base, the cash balance and the cutover |
+| [`review-and-fix`](skills/review-and-fix/SKILL.md) | A failing check, wrong numbers, a refactor to verify, undo | Health by branch, the cycle or the typed number, dry run before a structural change, history, diff, restore |
+
+Every skill opens with the same rule: explicit instructions from the user come first, then the model's FINANCE.md and the workspace conventions (both returned by the tools), then the user's own skills, then the skill's defaults. The skills state no fact about any business and never quote a workspace's text. Finance judgement (is this plan credible) is not in the plugin: the [cookbook](https://github.com/layerzlabs/cookbook) has skills for that, yours to fork.
+
+### Where instructions come from
+
+Four places, one owner each. The plugin skills (this repository, Layerz) say how the tools work and in which order. Your own skills and instructions, in your agent, say how you work. The **workspace Context**, written in the Layerz app and shared by the workspace's members, says what this workspace expects of a model (depth, structure, presentation); every client receives it in tool results. Each model's **FINANCE.md** says what is true of that model (currency, units, signs, statement structure, objective). When they disagree, the narrower one wins: your request in the conversation, then the FINANCE.md, then the Context, then your skills, then the plugin's defaults.
+
+### Updates
+
+Two rhythms. The server (tools, conventions, modeling guide, engine messages) is live for everyone as soon as it is deployed. The skills change with a commit here: Claude Code refreshes marketplace plugins at startup or with `claude plugin update layerz`; Cursor re-reads the repository; ChatGPT and Anthropic's directory take a new version through their review. The skills are written to stay stable: they point at the server for everything that moves.
+
+## What the agent can do
+
+29 tools, grouped by job. Read-only tools are annotated as such, so clients can run them without asking.
+
+| Job | Tools |
+|---|---|
+| Find and read models | `layerz_list_models`, `layerz_get_model`, `layerz_read`, `layerz_dependencies`, `layerz_validate_model` |
+| Build and edit | `layerz_create_model`, `layerz_build_from_blueprint`, `layerz_list_templates`, `layerz_patch`, `layerz_match_items` |
+| Conventions | `layerz_get_conventions`, `layerz_set_finance_md`, `layerz_set_custom_instructions` |
+| Scenarios and actuals | `layerz_update_branch`, `layerz_delete_branch`, `layerz_import_branch`, `layerz_list_transactions` |
+| Import files and sources | `layerz_create_upload_url`, `layerz_parse_file`, `layerz_list_integrations`, `layerz_manage_integration`, `layerz_list_mappings`, `layerz_manage_mapping`, `layerz_external_ref` |
+| Versions | `layerz_history`, `layerz_diff`, `layerz_manage_version` |
+| Share and export | `layerz_share_model`, `layerz_export` |
+
+The server also exposes reference resources the agent reads on its own: `modeling-guide://reference` (session workflow, modeling patterns, validated patch examples), `formula-spec://reference` (the formula language) and `format-spec://reference` (number formats).
+
+## Using it well
+
+The facts live on the server and travel with the model; the method is in the skills above and in the guide the server serves:
+
+- **Conventions travel with the model.** Each model carries a [FINANCE.md](https://github.com/layerzlabs/finance-md) (currency, units, sign convention, how the statements are built), and each workspace carries standing instructions for agents. The agent receives both when it opens a model.
+- **The modeling guide** comes from `layerz_get_conventions { include_guide: true }`. Agents read it at the start of a session.
+- **Recipes** (prompts for budgets, three-statement models, monthly closes, LBOs) are in the [cookbook](https://github.com/layerzlabs/cookbook).
+
+A good first prompt:
+
+> Build a three-statement model for a B2B SaaS company: 2 M€ ARR, 40 % growth, 18-month runway. Ask me what you need to know first.
+
+## Pricing
+
+Free for one person working alone: unlimited models, MCP and REST API, Excel and JSON export. A paid plan starts when a second person edits the same models. Details at [layerz.cc/pricing](https://layerz.cc/pricing).
+
+## Related
+
+- [finance-md](https://github.com/layerzlabs/finance-md): the open standard for financial conventions an agent reads
+- [cookbook](https://github.com/layerzlabs/cookbook): recipes for financial work with AI agents
+- [layerz.cc](https://layerz.cc): the web app, where people review, share and collaborate on the same models
+
+## Versioning
+
+One version, the server's. The number published to the [official MCP Registry](https://registry.modelcontextprotocol.io) (`io.github.layerzlabs/layerz`, from the `server.json` of the Layerz code repo) is the only version; `plugin.json`, `.claude-plugin/plugin.json`, `.cursor-plugin/plugin.json`, `lhm.plugin.json`, the `X-Layerz-Client` header of the Claude and Cursor MCP entries (the Agent Plugins `mcp.json` read by ChatGPT and Codex carries none: OpenAI's public submission rejects server headers) and the `layerz_version` of every skill mirror it, never one of their own. A change to this repository alone (a skill reworded, a tool declared) ships under the current version. `node scripts/check-version.mjs` (run on every push and weekly) fails when they disagree or run behind the registry, and only warns when a publish is pending.
+
+## Support
+
+Questions or stuck on setup: [contact@layerz.cc](mailto:contact@layerz.cc). Bugs and requests: open an issue in this repository.
+
+## License
+
+The contents of this repository (documentation and metadata) are released under the [MIT License](LICENSE). The Layerz server and web app are proprietary.
Full technical diff · 25 changed fields

added /files/LICENSE

BEFORE
Field was absent
AFTER
{
  "sha256": "70678f7eda4655a1ad238f81e3685e8c2c986a0b73b3a32fa0a0260bd87dd2a9",
  "size": 1063
}

added /files/README.md

BEFORE
Field was absent
AFTER
{
  "sha256": "071cc41d8faade00877bd3f1b8cfcb8bc49955838386af4d3a3d73a9d77a183e",
  "size": 12343
}

added /files/assets~1logo.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "d1e7dec8c83e45fff22d201ccbab90f4aa71f5a4d06ae54536c80e65ae9c06b3",
  "size": 2468
}

changed /files/plugin.json/sha256

BEFORE
"9c991d60d1dc8fb18d95812287ee489d315e2890ae17ceb5e062aaf623b98dbc"
AFTER
"a2f47bf5394c466aef8538d07149285b2d8fd5b7b7a07666bbd538d4a3824f01"

changed /files/plugin.json/size

BEFORE
8296
AFTER
9170

added /files/skills~1business-plan~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "2085170d6ca795ee4ebdbf745757e1caa8a11b142b1b56cf36ed46cd391d6948",
  "size": 4308
}

added /files/skills~1business-plan~1references~102-structure-roles-and-hierarchy.md

BEFORE
Field was absent
AFTER
{
  "sha256": "11017e187b0465d8d8587010e0aa47cf91985c82e51aaae233147985476688e9",
  "size": 2881
}

added /files/skills~1business-plan~1references~103-building-blueprint-vs-patch.md

BEFORE
Field was absent
AFTER
{
  "sha256": "6397f2d16176bfb193e3bebdafd5518967125eedd30ba22d47a8dd45b5ee76ff",
  "size": 2233
}

added /files/skills~1business-plan~1references~104-stock-flow-rolling-balances.md

BEFORE
Field was absent
AFTER
{
  "sha256": "bbe6d790be9fac0c4bfb5d75d748318eae33bbde0e66dd945c7811d7bb2734c3",
  "size": 906
}

added /files/skills~1business-plan~1references~105-lists-per-element-series.md

BEFORE
Field was absent
AFTER
{
  "sha256": "74ceebf59a73c36e3ba58913b7983d0ad9e3f4075f5d827af544591c09583df2",
  "size": 3718
}

added /files/skills~1business-plan~1references~106-values-two-regimes.md

BEFORE
Field was absent
AFTER
{
  "sha256": "126cb62777dcb4a76f4cec2569456a74d7b96e14cfb3a70f6fe130f9e974ea48",
  "size": 2002
}

added /files/skills~1business-plan~1references~113-patch-examples.md

BEFORE
Field was absent
AFTER
{
  "sha256": "7444b0327a10a2157a12e3c64b946abbd2d19fb04e92f75f3b30314184355935",
  "size": 6079
}

added /files/skills~1monthly-close~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "9e72f623c43e7065f19669901ec3074d14e9fcb69ae4dcf5c903dff2bd29d4c0",
  "size": 3623
}

added /files/skills~1monthly-close~1references~107-branches-scenarios-and-actuals.md

BEFORE
Field was absent
AFTER
{
  "sha256": "6305fef93eff23ab10d65be806010cbd58134a499fc9654be50e200c5156e2bc",
  "size": 4265
}

added /files/skills~1monthly-close~1references~108-sources-and-mapping-rules.md

BEFORE
Field was absent
AFTER
{
  "sha256": "047d960fb90e810e45e68eff47d810767a37a978989a9aa6fa0e55be6050d997",
  "size": 1964
}

added /files/skills~1review-and-fix~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "7f0c5c7872ad359b30b6fcdd9b91c18ec101cde7eac71a83a0593875e39b1e5a",
  "size": 3831
}

added /files/skills~1review-and-fix~1references~110-checks-health-and-broken-dags.md

BEFORE
Field was absent
AFTER
{
  "sha256": "72a989db77a2c57cffeb15d039b002271d130f45dd0d56790b4e81b8a14690b9",
  "size": 1267
}

added /files/skills~1review-and-fix~1references~111-versions.md

BEFORE
Field was absent
AFTER
{
  "sha256": "aa020b0a64edf256d39d812f380e5bc1462f0aa41215a96fd305dd722be60711",
  "size": 1139
}

added /files/skills~1scenarios-and-cash~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "43767561a0d7c052bb6a7af5df6b673593aa0f4f6ae26ee4356d0057c2f136d9",
  "size": 3168
}

added /files/skills~1scenarios-and-cash~1references~104-stock-flow-rolling-balances.md

BEFORE
Field was absent
AFTER
{
  "sha256": "bbe6d790be9fac0c4bfb5d75d748318eae33bbde0e66dd945c7811d7bb2734c3",
  "size": 906
}

added /files/skills~1scenarios-and-cash~1references~107-branches-scenarios-and-actuals.md

BEFORE
Field was absent
AFTER
{
  "sha256": "6305fef93eff23ab10d65be806010cbd58134a499fc9654be50e200c5156e2bc",
  "size": 4265
}

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

BEFORE
Field was absent
AFTER
{
  "sha256": "cb8d84b9991d823ee770218342a62139104e7cc09fae88f83ead51a457d35226",
  "size": 4525
}

added /files/skills~1start~1references~101-session-start.md

BEFORE
Field was absent
AFTER
{
  "sha256": "0e12ce5f7b1c7928e1078cc9444292aa09fcccc36f230061afac8aaffe2b0b9e",
  "size": 2714
}

added /files/skills~1start~1references~109-templates.md

BEFORE
Field was absent
AFTER
{
  "sha256": "21e34828b1e4fc519847d494c4fa6b449411325ac91937685d93f150d6345089",
  "size": 1121
}

added /files/skills~1start~1references~112-rebuilding-a-workbook.md

BEFORE
Field was absent
AFTER
{
  "sha256": "982e1348e2d85820da5ced6ce453e61611817360a6f2cab929b48215bcef843e",
  "size": 2421
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "bb00cec3a6411c8ddfabf80ffea96cb6588fa85f722ac3abb2ae9deb1dc9a1ae",
      "size": 98
    },
    "LICENSE": {
      "sha256": "70678f7eda4655a1ad238f81e3685e8c2c986a0b73b3a32fa0a0260bd87dd2a9",
      "size": 1063
    },
    "README.md": {
      "sha256": "071cc41d8faade00877bd3f1b8cfcb8bc49955838386af4d3a3d73a9d77a183e",
      "size": 12343
    },
    "assets/icon.png": {
      "sha256": "bbfcacd20868c0ae9a0901eecd99d53ecbe624ade5e3c9752cac427f1a7467da",
      "size": 16875
    },
    "assets/logo.png": {
      "sha256": "bbfcacd20868c0ae9a0901eecd99d53ecbe624ade5e3c9752cac427f1a7467da",
      "size": 16875
    },
    "assets/logo.svg": {
      "sha256": "d1e7dec8c83e45fff22d201ccbab90f4aa71f5a4d06ae54536c80e65ae9c06b3",
      "size": 2468
    },
    "mcp.json": {
      "sha256": "aefbd4e77f87eade881dec137ce788359421e4b925fc664c8614109b836269d0",
      "size": 190
    },
    "plugin.json": {
      "sha256": "a2f47bf5394c466aef8538d07149285b2d8fd5b7b7a07666bbd538d4a3824f01",
      "size": 9170
    },
    "skills/business-plan/SKILL.md": {
      "sha256": "2085170d6ca795ee4ebdbf745757e1caa8a11b142b1b56cf36ed46cd391d6948",
      "size": 4308
    },
    "skills/business-plan/references/02-structure-roles-and-hierarchy.md": {
      "sha256": "11017e187b0465d8d8587010e0aa47cf91985c82e51aaae233147985476688e9",
      "size": 2881
    },
    "skills/business-plan/references/03-building-blueprint-vs-patch.md": {
      "sha256": "6397f2d16176bfb193e3bebdafd5518967125eedd30ba22d47a8dd45b5ee76ff",
      "size": 2233
    },
    "skills/business-plan/references/04-stock-flow-rolling-balances.md": {
      "sha256": "bbe6d790be9fac0c4bfb5d75d748318eae33bbde0e66dd945c7811d7bb2734c3",
      "size": 906
    },
    "skills/business-plan/references/05-lists-per-element-series.md": {
      "sha256": "74ceebf59a73c36e3ba58913b7983d0ad9e3f4075f5d827af544591c09583df2",
      "size": 3718
    },
    "skills/business-plan/references/06-values-two-regimes.md": {
      "sha256": "126cb62777dcb4a76f4cec2569456a74d7b96e14cfb3a70f6fe130f9e974ea48",
      "size": 2002
    },
    "skills/business-plan/references/13-patch-examples.md": {
      "sha256": "7444b0327a10a2157a12e3c64b946abbd2d19fb04e92f75f3b30314184355935",
      "size": 6079
    },
    "skills/monthly-close/SKILL.md": {
      "sha256": "9e72f623c43e7065f19669901ec3074d14e9fcb69ae4dcf5c903dff2bd29d4c0",
      "size": 3623
    },
    "skills/monthly-close/references/07-branches-scenarios-and-actuals.md": {
      "sha256": "6305fef93eff23ab10d65be806010cbd58134a499fc9654be50e200c5156e2bc",
      "size": 4265
    },
    "skills/monthly-close/references/08-sources-and-mapping-rules.md": {
      "sha256": "047d960fb90e810e45e68eff47d810767a37a978989a9aa6fa0e55be6050d997",
      "size": 1964
    },
    "skills/review-and-fix/SKILL.md": {
      "sha256": "7f0c5c7872ad359b30b6fcdd9b91c18ec101cde7eac71a83a0593875e39b1e5a",
      "size": 3831
    },
    "skills/review-and-fix/references/10-checks-health-and-broken-dags.md": {
      "sha256": "72a989db77a2c57cffeb15d039b002271d130f45dd0d56790b4e81b8a14690b9",
      "size": 1267
    },
    "skills/review-and-fix/references/11-versions.md": {
      "sha256": "aa020b0a64edf256d39d812f380e5bc1462f0aa41215a96fd305dd722be60711",
      "size": 1139
    },
    "skills/scenarios-and-cash/SKILL.md": {
      "sha256": "43767561a0d7c052bb6a7af5df6b673593aa0f4f6ae26ee4356d0057c2f136d9",
      "size": 3168
    },
    "skills/scenarios-and-cash/references/04-stock-flow-rolling-balances.md": {
      "sha256": "bbe6d790be9fac0c4bfb5d75d748318eae33bbde0e66dd945c7811d7bb2734c3",
      "size": 906
    },
    "skills/scenarios-and-cash/references/07-branches-scenarios-and-actuals.md": {
      "sha256": "6305fef93eff23ab10d65be806010cbd58134a499fc9654be50e200c5156e2bc",
      "size": 4265
    },
    "skills/start/SKILL.md": {
      "sha256": "cb8d84b9991d823ee770218342a62139104e7cc09fae88f83ead51a457d35226",
      "size": 4525
    },
    "skills/start/references/01-session-start.md": {
      "sha256": "0e12ce5f7b1c7928e1078cc9444292aa09fcccc36f230061afac8aaffe2b0b9e",
      "size": 2714
    },
    "skills/start/references/09-templates.md": {
      "sha256": "21e34828b1e4fc519847d494c4fa6b449411325ac91937685d93f150d6345089",
      "size": 1121
    },
    "skills/start/references/12-rebuilding-a-workbook.md": {
      "sha256": "982e1348e2d85820da5ced6ce453e61611817360a6f2cab929b48215bcef843e",
      "size": 2421
    }
  }
}

SHA-256 of public snapshot: 77d617de5b09cdae5f9e223c05c8b2b7b17350c068309bc2d745b3e3b3a5dbdf