← EasyGerberCONTENT HISTORY

Update to EasyGerber

Snapshot Nov 3, 2026 · 06:11 UTC · version 0.3.8

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 EasyGerber 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

Nov 3, 2026 · 00:12 UTC

47a1cf167b4eac61864165d4a0bd999e959f8cc02e26fc95a472bdaa5a9c0134

After

Nov 3, 2026 · 06:11 UTC

70bca2e553895b549512acc2b438465409dc8899edd0cf12e662f429792271a4

Package file

Before

Nov 3, 2026 · 00:12 UTC

40023

After

Nov 3, 2026 · 06:11 UTC

40325

Package file

Before

Nov 3, 2026 · 00:12 UTC

d32e4b776c1ceb716810935381e4752d880ad7f5b388dbc97be03221fe189483

After

Nov 3, 2026 · 06:11 UTC

6b67356fce5efc7296fdd16aabb4ecfc6ea2f062c2dbb85e484901bdd65d9a2d

Package file

Before

Nov 3, 2026 · 00:12 UTC

572

After

Nov 3, 2026 · 06:11 UTC

575

Compare saved observations

Download comparison JSON

Changed files

Choose a file to see its text changes. Binary or large files show metadata only.

README.md →

mcp.json →

plugin.json →

skills/easygerber/SKILL.md →

skills/easygerber/references/workflow.md →

README.md

− removed · + added

--- before
+++ after
@@ -4,20 +4,20 @@
 
 This package connects coding agents to EasyGerber's hosted board-design tools. Its public files contain workflow instructions, connection metadata, icons, and a small installer. Board layout, routing, and scoring run on EasyGerber's servers.
 
-Version 0.3.6 aligns editable EasyGerber backups with the deployed service: valid saved projects export directly even with missing, incomplete, or stale layouts, without generation or a layout check. Manufacturing exports still require current geometry and applied electrical requirements. Issued private download links preserve the exact exported snapshot after source-board edits, deletion, guest claim, and cleanup. Installer runtime, connection URLs, OAuth scopes, deletion consent, and feedback behavior are unchanged. Hosted tools are discovered dynamically from the connected service.
+Version 0.3.8 uses one private board reference for creation and continued work. The service selects account ownership or private access automatically, exposes the current layout job for status reads, and preserves existing-client compatibility. Ordinary OpenAI sign-in explicitly requests only workflow permissions; deletion remains a separate consent. Hosted tools and package instructions must both be current; package checks alone do not establish a live client workflow.
 
 Source is available in the [public integration repository](https://github.com/EasyGerber/easygerber-agent-plugin). The npm installer and platform plugin packages have separate client-validation processes and share the EasyGerber workflow skill and hosted service.
 
 ## Start without signing up
 
-Use **`https://www.easygerber.com/api/mcp`** for guest-first access. No EasyGerber account, OAuth grant, or API key is needed to connect, initialize, or discover tools. An agent starts a private session with `start_guest_session`, then uses its `guestToken` for catalog searches and work on that session's one board, including layout, checks, previews, and exports. Keep the token and private viewer link private.
+Use **`https://www.easygerber.com/api/mcp`** to search published parts and create a board without signing up. The agent uses one private `boardRef` for creation, edits, layout, checks, previews, and exports. The service uses the connected account when valid or establishes private access automatically. There is no user-facing guest setup or separate token to manage. Keep the private board link out of public messages and repositories.
 
 | Connection URL | When to use it | Sign-in |
 | --- | --- | --- |
 | `https://www.easygerber.com/api/mcp` | General MCP connections and guest-first directory listings | Not required for guests; required for account boards, organization access, and saving a guest board to an account |
 | `https://www.easygerber.com/api/mcp/account` | Saved account boards in clients that request OAuth only during setup | Required before initialization or tool discovery; this connection does not start in guest mode |
 
-The Codex installer, OpenAI packages, and Claude package use the general URL. The Grok account connector and native Cursor and Antigravity configurations below use the account-only URL. For a new guest connection, leave authentication unset; a rejected existing account credential must be reauthorized and will not silently become a guest connection. See **Try before signing up** for session limits and saving a guest board.
+The Codex installer, OpenAI packages, and Claude package use the general URL. The Grok account connector and native Cursor and Antigravity configurations below use the account-only URL. For a new guest connection, leave authentication unset; a rejected existing account credential must be reauthorized and will not silently become a guest connection. See **Create and continue without signing up** for private access and account transitions.
 
 ## Grok
 
@@ -89,7 +89,7 @@
 cline mcp add easygerber https://www.easygerber.com/api/mcp --transport http --yes
 ```
 
-This command saves the connection; it does not by itself prove successful setup. In Cline, verify that the connection succeeds and EasyGerber tools such as `search_parts`, `get_part`, and `start_guest_session` appear. For an installation-only check, stop after tool discovery; do not start a guest session, create or modify a board, generate a layout, export files, or send feedback.
+This command saves the connection; it does not by itself prove successful setup. In Cline, verify that the connection succeeds and EasyGerber tools such as `search_parts`, `get_part`, and `create_board` appear. For an installation-only check, stop after tool discovery; do not start a guest session, create or modify a board, generate a layout, export files, or send feedback.
 
 For later user-requested board work, guest access supports one board per session before signup. Saved account boards require EasyGerber OAuth consent. Clients that require authorization during connection setup can use the separate `https://www.easygerber.com/api/mcp/account` entry described above. Account authorization and board workflows need their own Cline validation; the guest connection check does not verify them.
 
@@ -135,7 +135,7 @@
 devin
 ```
 
-Start a new session after installation and use `/easygerber:easygerber` to load the workflow. Keep normal tool approvals enabled. For a minimal connection check, ask: “Use EasyGerber as a guest to find a published two-pin connector and confirm its catalog pins. Do not create a board.” The agent starts one guest session and uses the catalog tools; it must keep the guest token and private viewer link private.
+Start a new session after installation and use `/easygerber:easygerber` to load the workflow. Keep normal tool approvals enabled. For a minimal catalog check, ask: “Use EasyGerber to find a published two-pin connector and confirm its catalog pins. Do not create a board.” The agent uses the public catalog tools without starting a guest session or requesting account authorization.
 
 On October 20, 2026, Devin CLI 3000.11.92 installed the generated local package and discovered its shared skill and hosted MCP configuration. A fresh native session using the Free account's available SWE-1.6 Slow model created one guest session, searched published connectors, and read a returned part to confirm its two catalog pins. No board creation, layout, export, or EasyGerber account authorization was tested. The earlier SWE-2 attempt required Pro and stopped before calling a tool; no paid upgrade was purchased. Marketplace review and listing remain separate from these native checks.
 
@@ -143,12 +143,12 @@
 
 ## Codex in VS Code or the terminal
 
-Requires Node.js 22 or newer and Codex. These npm commands require version 0.3.6 to be published to npm; check `npm view @easygerber/agent-plugin version` first. If npm is behind the source release, use the [source installation instructions](#update-and-remove) below.
+Requires Node.js 22 or newer and Codex. These npm commands require version 0.3.8 to be published to npm; check `npm view @easygerber/agent-plugin version` first. If npm is behind the source release, use the [source installation instructions](#update-and-remove) below.
 
 ```sh
-npx @easygerber/agent-plugin@0.3.6 setup --dry-run
-npx @easygerber/agent-plugin@0.3.6 setup
-npx @easygerber/agent-plugin@0.3.6 doctor
+npx @easygerber/agent-plugin@0.3.8 setup --dry-run
+npx @easygerber/agent-plugin@0.3.8 setup
+npx @easygerber/agent-plugin@0.3.8 doctor
 ```
 
 Setup installs `~/.agents/skills/easygerber` and adds a small managed MCP table to `$CODEX_HOME/config.toml` (default `~/.codex/config.toml`). It preserves existing TOML text and other servers. An ownership receipt lives in `~/.easygerber/agent-plugin/codex-install.json`. No project files or firmware are changed. Codex is the default and only installer target; optional `--client codex` makes that choice explicit. All commands support unattended use, and `--yes` is accepted for scripts.
@@ -161,21 +161,25 @@
 codex mcp login easygerber
 ```
 
-The client opens the account authorization flow and stores its credentials. The managed MCP configuration requests `boards:read`, `boards:write`, `boards:generate`, `boards:export`, and `offline_access`, so account consent covers ordinary board workflows and renewable access, without deletion. Deletion requires separate, explicit `boards:delete` consent; an existing `boards:write` grant is insufficient. Organization permissions, account limits, and the user's consent still control account access. The installer never asks for, reads, or stores access tokens or guest capabilities. `doctor` checks local configuration and skill integrity; it does not prove that authentication, guest mode, or the live service works.
+The client opens the account authorization flow and stores its credentials. The managed MCP configuration requests `boards:read`, `boards:write`, `boards:generate`, `boards:export`, and `offline_access`, so account consent covers ordinary board workflows and renewable access, without deletion. The OpenAI plugin also sets these as explicit `defaultScopes`, overriding scopes otherwise inferred from all advertised tools; additive `baseScopes` would not exclude deletion. See the [OpenAI OAuth configuration reference](https://developers.openai.com/plugins/build/plugins#oauth-configuration-reference). Deletion requires separate, explicit `boards:delete` consent; an existing `boards:write` grant is insufficient. Organization permissions, account limits, and the user's consent still control account access. The installer never asks for, reads, or stores access tokens or guest capabilities. `doctor` checks local configuration and skill integrity; it does not prove that authentication, guest mode, or the live service works.
 
 Try: “Use EasyGerber to create a board from the pin assignments in this firmware.” The agent reads relevant local code, selects published parts, and sends board requirements through the MCP service. Ordinary account scopes are `boards:read`, `boards:write`, `boards:generate`, and `boards:export`; organization permissions, quotas, and billing still apply.
 
-## Try before signing up
+## Create and continue without signing up
 
-Guest access is live on EasyGerber's production MCP service and uses the published component catalog. The agent can create one board per session with unlimited edits, layouts, checks, previews, and manufacturing ZIP or `.egb` exports before signup. The board and session have no automatic expiry. Normal request-rate, board-complexity, and shared compute protections still apply. The service returns `limits: { boards: 1 }`; `expiresAt: null` means no scheduled expiration. The board limit applies to a session, not a verified person.
+Public `search_parts` and `get_part` calls need no board or account. A board-scoped lookup uses its `boardRef` and preserves the board's strict Part List. For each new board, the agent generates a private reference once: `egbr1_` plus 32 cryptographically random bytes encoded as unpadded base64url. It sends that reference with the normal name, intent, and UUID `requestId` to `create_board`. The service saves an account-owned board when valid account access exists or establishes private access automatically. Subsequent board tools use the same reference, without coordinating a board UUID and a separate guest token.
 
-The guest viewer shares the application's workspace and interactive schematic and PCB canvases, without inspector panels. Saved schematics are visible before PCB layout generation. The EasyGerber logo and a compact sign-in form sit beside the preview; signing in saves the board and opens it automatically after the server confirms the save. Existing signed-in users can save directly to their account. The guest page focuses on sign-in and the board preview, without a full-width header, refresh, or download controls. Make changes and request exports through the connected agent; reload the page to see updates. Agent exports and save-to-account actions keep their existing guest authorization.
+A stateless client must retain this one reference in private tool context. After an uncertain creation result, it replays the exact original reference, request ID, and arguments; the service returns the original result without another board. Existing work must never be replaced because a reference was lost or rejected. Public UUIDs, request IDs, IP addresses, and client labels do not grant access. The reference is never a user-facing setup question and must not appear in source files, diagnostic logs, analytics, or public support requests. Account references still require the owning account's authorization.
 
-The agent keeps the guest capability in its tool context. Keep its private viewer link to return to the board; anyone with that link can access the guest design. Neither the raw token nor that link belongs in firmware repositories, public issues, or diagnostic logs. The viewer removes the token fragment and uses a private browser session. Guest access depends on keeping that capability or link; creating another session cannot recover a lost one. New exports require current board access. Each issued private download link returns the exact exported snapshot without automatic expiry, including after board edits or deletion, guest claim, and guest cleanup. The download page refreshes its internal storage authorization automatically; customers do not need to renew the link. Keep download links private: anyone with a complete link can download its file. Only explicit download-link revocation or deletion of the exported file ends access; a retired guest viewer or agent connection does not invalidate an issued download link.
+Reads expose the current saved revision, layout freshness, and current generation. A client can read `get_generation` with the board reference alone when it does not have the job ID. It should not submit another generation as a status check or reuse a request ID with changed input. A completed job, current saved layout, and successful manufacturing check remain distinct facts.
 
-For account ownership, account-based recovery, and additional boards under your normal plan, sign in or create an account from the private viewer. The viewer saves the board to your personal account automatically after that sign-in handoff. Simply opening a guest preview in a browser that was already signed in leaves it as a guest board. In an agent task with a guest board, choosing sign-in or account board work likewise includes saving that board without a separate **Keep board** confirmation, except when signing in solely to delete an account board or submit feedback: the agent uses `claim_guest_board` with the original guest token to start authorization and retries the claim after normal account consent. Generic native Settings **Authenticate** has no guest-board context, so the agent must resume the claim after that sign-in; the callback alone does not save the board.
+Private access before signup supports a board's edits, layouts, checks, previews, manufacturing ZIPs, and editable `.egb` backups without lifetime operation caps or scheduled expiration. Normal request-rate, complexity, and compute protections still apply. The private viewer displays the saved schematic and PCB. Make changes and request exports through the agent; reload the viewer to see saved changes.
 
-A successful claim returns a new account board ID and ends guest access. The agent reads that account board before making further changes. If layout is still running, it waits and retries automatically without cancelling the job; if the claim fails or its response is lost, it retains the original token for a safe retry. Reuse the original guest session; do not create extra sessions to bypass the board limit or service protections. An expired account connection must be reauthorized; it does not silently become a guest connection.
+Keep the returned private viewer link to return to the board. New exports require current board access; an issued private download link returns its exact exported snapshot without automatic expiry, including after board edits, deletion, claim, or cleanup. Only explicit link revocation or deletion of the exported file ends that download access. The download page refreshes its internal storage authorization automatically. Anyone with a complete private link can use its granted access.
+
+When you connect an account to keep working on the board, the agent calls `get_board` with the same reference and the service saves it into that personal account with authorized write access. It reads the returned saved state before further edits. No separate claim tool or extra save confirmation is needed. Finish an active layout first; generation polling and stopping do not themselves transfer the board. A busy response calls for waiting, not cancellation or replacement. The account copy preserves the saved layout without copying the old job history; a missing job after transfer is not a reason to regenerate a current layout. Browser sign-in and agent OAuth are separate: the private viewer can save a board after sign-in, but the agent connection still needs its own authorization for account work. Signing in solely for feedback or deletion does not authorize transferring another private board.
+
+Older clients can continue using their existing `guestToken`, `guestCreationKey`, and explicit guest-start/claim calls at the compatibility boundary. These are not normal setup steps for new work. Existing credentials remain subject to their original revocation and ownership checks; an expired account connection never silently becomes anonymous.
 
 ## Delete an account board
 
@@ -229,7 +233,7 @@
 
 ## Update and remove
 
-Run `npx @easygerber/agent-plugin@0.3.6 setup`, then restart the Codex chat/IDE to load the aligned project-backup and manufacturing instructions. Upgrading from 0.2.x also replaces the retired `score_board` name with `check_board_layout`; no compatibility alias is provided.
+Run `npx @easygerber/agent-plugin@0.3.8 setup`, then restart the Codex chat/IDE to load the board-reference workflow and current permission instructions. Upgrading from 0.2.x also replaces the retired `score_board` name with `check_board_layout`; no compatibility alias is provided.
 
 The public source repository, npm, and client directories have separate publication steps. Check `npm view @easygerber/agent-plugin version` before requesting a specific npm version. If the source release is newer than npm, the npm command cannot install that release yet. From a checkout of the matching public release tag, run `npm install --ignore-scripts --no-package-lock`, then `node bin/easygerber.mjs setup` to use the same installer from that source. Restart the Codex chat/IDE afterward.
 
@@ -238,8 +242,8 @@
 Run `setup` from the new package version to update unchanged managed files. Repeating the same setup is a no-op. A conflicting MCP entry or modified skill file causes setup to stop without replacing it. Keep the file, or move it aside yourself before retrying. Symlinked managed destinations are refused to avoid changing unexpected locations.
 
 ```sh
-npx @easygerber/agent-plugin@0.3.6 uninstall --dry-run
-npx @easygerber/agent-plugin@0.3.6 uninstall
+npx @easygerber/agent-plugin@0.3.8 uninstall --dry-run
+npx @easygerber/agent-plugin@0.3.8 uninstall
 ```
 
 Uninstall removes only unchanged files and the unchanged managed connection, preserving unrelated settings and modified files. It reports preserved paths and retains their ownership receipt. Revoke the account connection separately in Codex or EasyGerber; deleting local files does not revoke OAuth grants or invalidate an existing guest viewer link. Guest access ends after claim or revocation, not on an automatic timer. Cleanup can remove the retired guest copy; the claimed account copy and previously issued export links remain available. Interrupted setup can resume from its receipt. If a stale installer lock remains, verify no installer process is running before removing the lock path reported by the CLI.
@@ -254,11 +258,11 @@
 
 The public repository's default branch is `main`. The [square Grok marketplace logo](https://raw.githubusercontent.com/EasyGerber/easygerber-agent-plugin/main/assets/grok-marketplace.svg) is exported only to the repository, outside the npm and plugin packages. The archival `codex/grok-submission-assets` tag preserves the original artwork URL.
 
-The repository's `server.json` declares release `0.1.1` of the [MCP Registry entry `io.github.EasyGerber/easygerber`](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.EasyGerber%2Feasygerber/versions/latest), using the general `https://www.easygerber.com/api/mcp` URL for guest discovery and optional account authorization. Directories that import Registry metadata should use that URL for guest-first access. Account-only client configurations remain available separately as described above. The manifest is exported only to the public repository; the npm and plugin packages contain no local MCP server or private engines. Registry version `0.1.1` tracks hosted-service metadata independently of npm and plugin version `0.3.6`.
+The repository's `server.json` declares release `0.1.1` of the [MCP Registry entry `io.github.EasyGerber/easygerber`](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.EasyGerber%2Feasygerber/versions/latest), using the general `https://www.easygerber.com/api/mcp` URL for guest discovery and optional account authorization. Directories that import Registry metadata should use that URL for guest-first access. Account-only client configurations remain available separately as described above. The manifest is exported only to the public repository; the npm and plugin packages contain no local MCP server or private engines. Registry version `0.1.1` tracks hosted-service metadata independently of npm and plugin version `0.3.8`.
 
 The product's normal save and release scripts do not publish npm, the public integration repository, or MCP Registry. The private checkout's `npm run release:agent-plugin -- --output <directory>` prepares sanitized artifacts; `npm run check:agent-release -- --release-dir <directory>` verifies them. Publish only the generated `public-source` files to the existing public repository, preserving reviewed client configurations. Validate `public-source/server.json` with `mcp-publisher validate`, then publish it with `mcp-publisher publish` under the existing Registry identity and verify the latest metadata. Registry versions are immutable, so Registry metadata changes require a new Registry version independently of npm package releases.
 
-For npm version 0.3.6, run `npm pack --ignore-scripts --pack-destination ..` from `<directory>/public-source`. From the private checkout, verify the resulting archive with `npm run check:agent-release -- --release-dir <directory> --npm-tarball <directory>/easygerber-agent-plugin-0.3.6.tgz`. Publish that exact verified archive with `npm publish <directory>/easygerber-agent-plugin-0.3.6.tgz --access public`.
+For npm version 0.3.8, run `npm pack --ignore-scripts --pack-destination ..` from `<directory>/public-source`. From the private checkout, verify the resulting archive with `npm run check:agent-release -- --release-dir <directory> --npm-tarball <directory>/easygerber-agent-plugin-0.3.8.tgz`. Publish that exact verified archive with `npm publish <directory>/easygerber-agent-plugin-0.3.8.tgz --access public`.
 
 The package contains the installer runtime, connection metadata, skills, and assets. The public repository also contains a GitHub Actions workflow and an installer smoke test. On pushes and pull requests, the workflow checks the packed installer on Linux, Windows, and macOS with Node.js 22 and 24. It tests temporary user profiles without connecting to EasyGerber or using account credentials. These checks cover installation behavior; they do not certify authentication or board operations in a particular agent client. See the [Actions results](https://github.com/EasyGerber/easygerber-agent-plugin/actions) for actual run status.
 
@@ -272,7 +276,7 @@
 
 Kiro uses the generated eight-file `kiro` folder with standard Agent Plugins manifests and the guest-capable endpoint. Its skill includes the complete canonical workflow inline because relative workflow references did not resolve in the tested native session. The standalone reference remains unchanged. The Kiro folder is repository-only and adds no files to the npm package or OpenAI/Claude ZIPs; submit its public folder URL for Kiro review.
 
-Gemini CLI uses the generated root `gemini-extension.json` and the same root skill. Its Streamable HTTP configuration uses `httpUrl` and leaves authorization optional for guest access. The release also generates `easygerber-gemini-extension-0.3.6.zip`, containing the manifest, shared skill and workflow reference, artwork, README, and license. The manifest and Gemini archive are outside the npm and other clients' packages. Publish that verified archive as the sole installable asset of the matching GitHub release; Gemini prefers the latest release when installing from the repository URL. Preserve historical releases, including the review video, and keep a valid extension archive on the latest release. No npm publication is needed for Gemini distribution.
+Gemini CLI uses the generated root `gemini-extension.json` and the same root skill. Its Streamable HTTP configuration uses `httpUrl` and leaves authorization optional for guest access. The release also generates `easygerber-gemini-extension-0.3.8.zip`, containing the manifest, shared skill and workflow reference, artwork, README, and license. The manifest and Gemini archive are outside the npm and other clients' packages. Publish that verified archive as the sole installable asset of the matching GitHub release; Gemini prefers the latest release when installing from the repository URL. Preserve historical releases, including the review video, and keep a valid extension archive on the latest release. No npm publication is needed for Gemini distribution.
 
 Devin uses the generated root `.devin-plugin/plugin.json`, with the shared root skill and `assets/logo.svg`. Its inline MCP configuration selects the general guest-capable endpoint; native Devin manifests do not automatically read the portable root `mcp.json`. This repository-only metadata adds no files to the npm package or other clients' archives. Marketplace entries reference the existing public repository at a reviewed full commit SHA. Before submitting one, follow the marketplace's native installation and real tool-call requirement. Preserve the published Gemini release and its asset when publishing repository-only metadata.
 
Full technical diff · 10 changed fields

changed /files/README.md/sha256

BEFORE
"47a1cf167b4eac61864165d4a0bd999e959f8cc02e26fc95a472bdaa5a9c0134"
AFTER
"70bca2e553895b549512acc2b438465409dc8899edd0cf12e662f429792271a4"

changed /files/README.md/size

BEFORE
40023
AFTER
40325

changed /files/mcp.json/sha256

BEFORE
"d32e4b776c1ceb716810935381e4752d880ad7f5b388dbc97be03221fe189483"
AFTER
"6b67356fce5efc7296fdd16aabb4ecfc6ea2f062c2dbb85e484901bdd65d9a2d"

changed /files/mcp.json/size

BEFORE
572
AFTER
575

changed /files/plugin.json/sha256

BEFORE
"0eef00a745815122f4a97a73200b4e82dbc870368db6b5df8652653d9a9f72bd"
AFTER
"66c9a2a0e164396ef8df1763cce0fe6f8dd46d7b96f2e0554c3642c82600c57a"

changed /files/plugin.json/size

BEFORE
15295
AFTER
15582

changed /files/skills~1easygerber~1SKILL.md/sha256

BEFORE
"286cc0e8895945ba489ee2f8d08ed37dc81161328184986b43de3bf39fd44cdd"
AFTER
"3f07312b3b513e320a15da3191d501dee8587a81200cee5dd955a637fbb915e4"

changed /files/skills~1easygerber~1SKILL.md/size

BEFORE
8151
AFTER
6686

changed /files/skills~1easygerber~1references~1workflow.md/sha256

BEFORE
"5a7e81acdaeea5e5637884cedbbf100fdc45c6e7337184b73462fb0ad9ed0f29"
AFTER
"ace285e12f863b7c47c0af1c036846e3861881771725759a4de5586140e913ec"

changed /files/skills~1easygerber~1references~1workflow.md/size

BEFORE
22437
AFTER
21532
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "2e93a7759a5028b441e5e82e2e4dc461fbcf8e39f4b3ef6b589080abf0483ee3",
      "size": 102
    },
    "LICENSE": {
      "sha256": "5203e343b9e8e6bb0711f8bd81a350ae5512eef3678d078aa1a22b2dfd27f968",
      "size": 1219
    },
    "README.md": {
      "sha256": "70bca2e553895b549512acc2b438465409dc8899edd0cf12e662f429792271a4",
      "size": 40325
    },
    "assets/icon.svg": {
      "sha256": "a338ee5a78deb12eb9656fb4ea56bcdfa0b8879ca6cdc607f9fd7f52c756ea15",
      "size": 325
    },
    "assets/logo.svg": {
      "sha256": "7f6de0c5edef7e8f7ac76ab818bd0153bbfe50108f2382ea39f165a8c907e77e",
      "size": 327
    },
    "mcp.json": {
      "sha256": "6b67356fce5efc7296fdd16aabb4ecfc6ea2f062c2dbb85e484901bdd65d9a2d",
      "size": 575
    },
    "plugin.json": {
      "sha256": "66c9a2a0e164396ef8df1763cce0fe6f8dd46d7b96f2e0554c3642c82600c57a",
      "size": 15582
    },
    "skills/easygerber/SKILL.md": {
      "sha256": "3f07312b3b513e320a15da3191d501dee8587a81200cee5dd955a637fbb915e4",
      "size": 6686
    },
    "skills/easygerber/references/workflow.md": {
      "sha256": "ace285e12f863b7c47c0af1c036846e3861881771725759a4de5586140e913ec",
      "size": 21532
    }
  }
}

SHA-256 of public snapshot: 9499fc4f22398299a11e3c5677340ae1323685b05f7af1b751b447b889d1c6a0