← ArchLangCONTENT HISTORY

Update to ArchLang

Snapshot Nov 1, 2026 · 12:10 UTC · version 1.50.1

Collection source: downloaded plugin package.

WHAT CHANGED

Instructions updated for archlang-export

Full description — Now says: through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run.

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save ArchLang and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

Full description

Before

Nov 1, 2026 · 07:17 UTC

all through the archlang CLI.

After

Nov 1, 2026 · 12:10 UTC

through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run.

Skill instructions

Before

Nov 1, 2026 · 07:17 UTC

all through the archlang CLI. Not for writing or changing the plan itself. compatibility: Needs a shell with Node 18+ and the archlang CLI (npx -y @chanmeng666/archlang@1.50.0, or npm i -g @chanmeng666/archlang@1.50.0 for a global archla...

After

Nov 1, 2026 · 12:10 UTC

through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself. compatibility: Needs a shell with Node 18+ and the archlang CLI (npx -y @chanmeng666/ar...

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -1,8 +1,8 @@
 ---
 name: archlang-export
-description: Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. "export this plan as PDF", "give me a DXF for CAD", "a PNG I can paste into a document", "one sheet per floor", "print it at 1:50 on A3". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, all through the archlang CLI. Not for writing or changing the plan itself.
+description: Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. "export this plan as PDF", "give me a DXF for CAD", "a PNG I can paste into a document", "one sheet per floor", "print it at 1:50 on A3". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself.
 license: MIT
-compatibility: Needs a shell with Node 18+ and the archlang CLI (npx -y @chanmeng666/archlang@1.50.0, or npm i -g @chanmeng666/archlang@1.50.0 for a global archlang). PNG and PDF need optional packages that the CLI can install with --install.
+compatibility: Needs a shell with Node 18+ and the archlang CLI (npx -y @chanmeng666/archlang@1.50.0, or npm i -g @chanmeng666/archlang@1.50.0 for a global archlang). PNG and PDF need optional packages that the CLI can install with --install. Without them, the ArchLang MCP tools and a browser.
 ---
 
 # Export a plan
@@ -49,6 +49,21 @@
 - The paper size and scale of the sheet, and whether you or `finish` chose them.
 - Any storey or input that failed, with its diagnostic.
 
+## When the CLI cannot run
+
+Some hosts have no shell, or a shell that cannot reach npm: in ChatGPT's sandbox `npx` only times
+out, and a retry ends in `ENOTCACHED`. Stop after the first such failure and do not substitute
+another PDF tool. With the ArchLang MCP tools:
+
+1. Set the plan's `paper` and `scale`, then check it with the `validate` tool and render it with
+   the `compile` tool. `W_SCALE_OVERFLOW` means the sheet cannot hold the drawing at that scale:
+   choose a smaller scale or a larger sheet, and say which.
+2. For SVG, `compile` returns the drawing.
+3. For PDF, PNG or DXF, call the `link` tool and give the user its `playground` URL. In the
+   Playground they choose the format beside the Download button and press it.
+4. Say plainly that the user downloads the file and that you wrote none. A Playground PDF is an
+   image on a page of the sheet's paper size; a vector PDF needs the CLI.
+
 ## When something goes wrong
 
 - A missing optional package for PNG or PDF: repeat the command with `--install`.
Full technical diff · 2 changed fields

changed /description

BEFORE
"Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, all through the archlang CLI. Not for writing or changing the plan itself."
AFTER
"Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself."

changed /skill_md_contents

BEFORE
"---\nname: archlang-export\ndescription: Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, all through the archlang CLI. Not for writing or changing the plan itself.\nlicense: MIT\ncompatibility: Needs a shell with Node 18+ and the archlang CLI (npx -y @chanmeng666/archlang@1.50.0, or npm i -g @chanmeng666/archlang@1.50.0 for a global archlang). PNG and PDF need optional packages that the CLI can install with --install.\n---\n\n# Export a plan\n\nProduce drawing files from a `.arch` plan.\nIf `archlang` is not on the path, write `npx -y @chanmeng666/archlang@1.50.0` in its place.\nNever run a bare `arch`: on Linux, macOS and Git Bash that name is the coreutils command.\n\nThis skill is a workflow, not a language reference. `archlang compile --help` lists every format and\nflag; `archlang spec` describes the `paper` and `scale` statements.\n\n## Steps\n\n1. **Check the plan compiles.** `archlang compile plan.arch --json` writes nothing and reports `ok`\n   and the diagnostics. Do not export a plan with errors; fix it first.\n2. **Make sure it is a sheet.** A plan with no `paper` statement has no physical size.\n   `archlang finish plan.arch --only sheet --dry-run --json` shows the sheet statements the plan lacks\n   (paper, scale, dimensions, title block, room schedule, legend). `archlang finish plan.arch --only sheet`\n   adds them on the smallest sheet the drawing fits.\n3. **If the user names a paper size or a scale,** edit the plan's `paper` and `scale` statements\n   to those values and compile again. If the drawing does not fit the sheet the plan declares,\n   `archlang finish plan.arch --reissue -o issued.arch` writes a copy in which only `paper` and `scale`\n   are replaced by ones that fit. Tell the user when the sheet they asked for cannot hold the\n   drawing at that scale.\n4. **Export.** Pick the format by what the file is for:\n   - SVG, for the web or further editing: `archlang compile plan.arch -o plan.svg --json`\n   - PDF, for print at true size: `archlang compile plan.arch -f pdf -o plan.pdf --install --json`\n   - PNG, for a document or a chat: `archlang compile plan.arch -f png -o plan.png --install --json`\n     (`-s 2` doubles the raster scale)\n   - DXF, for CAD: `archlang compile plan.arch -f dxf -o plan.dxf --json`\n5. **Multi-storey plans.** A plan written with `level` blocks compiles to one file per storey,\n   named `<stem>.L<level>.<ext>`, and the JSON result lists them in `outputs[]`. To write one\n   storey to one named file, add `--level <n>`.\n6. **Many plans at once.** Create the output directory first; `batch` does not create it. Then\n   `archlang batch a.arch b.arch -f pdf -o out/ --json` renders each input into it and returns one\n   result row per input.\n7. **Confirm what was written.** Read `output` (or `outputs[]` for a multi-storey plan) and\n   `bytes` in the JSON result and list the files for the user. For a PNG you can look at it; for the other formats report the\n   path, the sheet size and the scale.\n\n## Report to the user\n\n- Each file written, with its format.\n- The paper size and scale of the sheet, and whether you or `finish` chose them.\n- Any storey or input that failed, with its diagnostic.\n\n## When something goes wrong\n\n- A missing optional package for PNG or PDF: repeat the command with `--install`.\n- Exit code `2` is a fault in the plan source, not in the export: read the diagnostic.\n  `3` is a wrong flag: run `archlang compile --help`.\n- Text or dimensions too small on the sheet: the scale is too small for the paper. Choose a\n  larger sheet or a larger scale in the plan, or let `archlang finish plan.arch --reissue` choose.\n"
AFTER
"---\nname: archlang-export\ndescription: Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself.\nlicense: MIT\ncompatibility: Needs a shell with Node 18+ and the archlang CLI (npx -y @chanmeng666/archlang@1.50.0, or npm i -g @chanmeng666/archlang@1.50.0 for a global archlang). PNG and PDF need optional packages that the CLI can install with --install. Without them, the ArchLang MCP tools and a browser.\n---\n\n# Export a plan\n\nProduce drawing files from a `.arch` plan.\nIf `archlang` is not on the path, write `npx -y @chanmeng666/archlang@1.50.0` in its place.\nNever run a bare `arch`: on Linux, macOS and Git Bash that name is the coreutils command.\n\nThis skill is a workflow, not a language reference. `archlang compile --help` lists every format and\nflag; `archlang spec` describes the `paper` and `scale` statements.\n\n## Steps\n\n1. **Check the plan compiles.** `archlang compile plan.arch --json` writes nothing and reports `ok`\n   and the diagnostics. Do not export a plan with errors; fix it first.\n2. **Make sure it is a sheet.** A plan with no `paper` statement has no physical size.\n   `archlang finish plan.arch --only sheet --dry-run --json` shows the sheet statements the plan lacks\n   (paper, scale, dimensions, title block, room schedule, legend). `archlang finish plan.arch --only sheet`\n   adds them on the smallest sheet the drawing fits.\n3. **If the user names a paper size or a scale,** edit the plan's `paper` and `scale` statements\n   to those values and compile again. If the drawing does not fit the sheet the plan declares,\n   `archlang finish plan.arch --reissue -o issued.arch` writes a copy in which only `paper` and `scale`\n   are replaced by ones that fit. Tell the user when the sheet they asked for cannot hold the\n   drawing at that scale.\n4. **Export.** Pick the format by what the file is for:\n   - SVG, for the web or further editing: `archlang compile plan.arch -o plan.svg --json`\n   - PDF, for print at true size: `archlang compile plan.arch -f pdf -o plan.pdf --install --json`\n   - PNG, for a document or a chat: `archlang compile plan.arch -f png -o plan.png --install --json`\n     (`-s 2` doubles the raster scale)\n   - DXF, for CAD: `archlang compile plan.arch -f dxf -o plan.dxf --json`\n5. **Multi-storey plans.** A plan written with `level` blocks compiles to one file per storey,\n   named `<stem>.L<level>.<ext>`, and the JSON result lists them in `outputs[]`. To write one\n   storey to one named file, add `--level <n>`.\n6. **Many plans at once.** Create the output directory first; `batch` does not create it. Then\n   `archlang batch a.arch b.arch -f pdf -o out/ --json` renders each input into it and returns one\n   result row per input.\n7. **Confirm what was written.** Read `output` (or `outputs[]` for a multi-storey plan) and\n   `bytes` in the JSON result and list the files for the user. For a PNG you can look at it; for the other formats report the\n   path, the sheet size and the scale.\n\n## Report to the user\n\n- Each file written, with its format.\n- The paper size and scale of the sheet, and whether you or `finish` chose them.\n- Any storey or input that failed, with its diagnostic.\n\n## When the CLI cannot run\n\nSome hosts have no shell, or a shell that cannot reach npm: in ChatGPT's sandbox `npx` only times\nout, and a retry ends in `ENOTCACHED`. Stop after the first such failure and do not substitute\nanother PDF tool. With the ArchLang MCP tools:\n\n1. Set the plan's `paper` and `scale`, then check it with the `validate` tool and render it with\n   the `compile` tool. `W_SCALE_OVERFLOW` means the sheet cannot hold the drawing at that scale:\n   choose a smaller scale or a larger sheet, and say which.\n2. For SVG, `compile` returns the drawing.\n3. For PDF, PNG or DXF, call the `link` tool and give the user its `playground` URL. In the\n   Playground they choose the format beside the Download button and press it.\n4. Say plainly that the user downloads the file and that you wrote none. A Playground PDF is an\n   image on a page of the sheet's paper size; a vector PDF needs the CLI.\n\n## When something goes wrong\n\n- A missing optional package for PNG or PDF: repeat the command with `--install`.\n- Exit code `2` is a fault in the plan source, not in the export: read the diagnostic.\n  `3` is a wrong flag: run `archlang compile --help`.\n- Text or dimensions too small on the sheet: the scale is too small for the paper. Choose a\n  larger sheet or a larger scale in the plan, or let `archlang finish plan.arch --reissue` choose.\n"
Full snapshot data
{
  "description": "Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself.",
  "included_files": [],
  "name": "archlang-export",
  "skill_md_contents": "---\nname: archlang-export\ndescription: Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself.\nlicense: MIT\ncompatibility: Needs a shell with Node 18+ and the archlang CLI (npx -y @chanmeng666/archlang@1.50.0, or npm i -g @chanmeng666/archlang@1.50.0 for a global archlang). PNG and PDF need optional packages that the CLI can install with --install. Without them, the ArchLang MCP tools and a browser.\n---\n\n# Export a plan\n\nProduce drawing files from a `.arch` plan.\nIf `archlang` is not on the path, write `npx -y @chanmeng666/archlang@1.50.0` in its place.\nNever run a bare `arch`: on Linux, macOS and Git Bash that name is the coreutils command.\n\nThis skill is a workflow, not a language reference. `archlang compile --help` lists every format and\nflag; `archlang spec` describes the `paper` and `scale` statements.\n\n## Steps\n\n1. **Check the plan compiles.** `archlang compile plan.arch --json` writes nothing and reports `ok`\n   and the diagnostics. Do not export a plan with errors; fix it first.\n2. **Make sure it is a sheet.** A plan with no `paper` statement has no physical size.\n   `archlang finish plan.arch --only sheet --dry-run --json` shows the sheet statements the plan lacks\n   (paper, scale, dimensions, title block, room schedule, legend). `archlang finish plan.arch --only sheet`\n   adds them on the smallest sheet the drawing fits.\n3. **If the user names a paper size or a scale,** edit the plan's `paper` and `scale` statements\n   to those values and compile again. If the drawing does not fit the sheet the plan declares,\n   `archlang finish plan.arch --reissue -o issued.arch` writes a copy in which only `paper` and `scale`\n   are replaced by ones that fit. Tell the user when the sheet they asked for cannot hold the\n   drawing at that scale.\n4. **Export.** Pick the format by what the file is for:\n   - SVG, for the web or further editing: `archlang compile plan.arch -o plan.svg --json`\n   - PDF, for print at true size: `archlang compile plan.arch -f pdf -o plan.pdf --install --json`\n   - PNG, for a document or a chat: `archlang compile plan.arch -f png -o plan.png --install --json`\n     (`-s 2` doubles the raster scale)\n   - DXF, for CAD: `archlang compile plan.arch -f dxf -o plan.dxf --json`\n5. **Multi-storey plans.** A plan written with `level` blocks compiles to one file per storey,\n   named `<stem>.L<level>.<ext>`, and the JSON result lists them in `outputs[]`. To write one\n   storey to one named file, add `--level <n>`.\n6. **Many plans at once.** Create the output directory first; `batch` does not create it. Then\n   `archlang batch a.arch b.arch -f pdf -o out/ --json` renders each input into it and returns one\n   result row per input.\n7. **Confirm what was written.** Read `output` (or `outputs[]` for a multi-storey plan) and\n   `bytes` in the JSON result and list the files for the user. For a PNG you can look at it; for the other formats report the\n   path, the sheet size and the scale.\n\n## Report to the user\n\n- Each file written, with its format.\n- The paper size and scale of the sheet, and whether you or `finish` chose them.\n- Any storey or input that failed, with its diagnostic.\n\n## When the CLI cannot run\n\nSome hosts have no shell, or a shell that cannot reach npm: in ChatGPT's sandbox `npx` only times\nout, and a retry ends in `ENOTCACHED`. Stop after the first such failure and do not substitute\nanother PDF tool. With the ArchLang MCP tools:\n\n1. Set the plan's `paper` and `scale`, then check it with the `validate` tool and render it with\n   the `compile` tool. `W_SCALE_OVERFLOW` means the sheet cannot hold the drawing at that scale:\n   choose a smaller scale or a larger sheet, and say which.\n2. For SVG, `compile` returns the drawing.\n3. For PDF, PNG or DXF, call the `link` tool and give the user its `playground` URL. In the\n   Playground they choose the format beside the Download button and press it.\n4. Say plainly that the user downloads the file and that you wrote none. A Playground PDF is an\n   image on a page of the sheet's paper size; a vector PDF needs the CLI.\n\n## When something goes wrong\n\n- A missing optional package for PNG or PDF: repeat the command with `--install`.\n- Exit code `2` is a fault in the plan source, not in the export: read the diagnostic.\n  `3` is a wrong flag: run `archlang compile --help`.\n- Text or dimensions too small on the sheet: the scale is too small for the paper. Choose a\n  larger sheet or a larger scale in the plan, or let `archlang finish plan.arch --reissue` choose.\n"
}

SHA-256 of public snapshot: da84a2c257053ed60367f98eda73003de5ff15c11cde88316338c046c7991d99