archlang

archlang is a skill for Claude Code, Codex from ChanMeng666/archlang. It costs 104 tokens per session (5,717 once invoked), scanned A, original, MIT.

A small text language for describing building floor plans, which compiles an .arch file into a professional drawing.

In plain words
What is it for?
Use it to design or edit homes, offices, and other building layouts, render them as SVG drawings, inspect them with text descriptions, and fix mechanical errors.
Why use it?
It lets developers create and revise layouts as text, while checking errors and applying some automatic fixes without relying only on visual inspection.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/chanmeng666/archlang/archlang
Any agent
npx skills add ChanMeng666/archlang --skill archlang
Clone the repo
git clone --depth 1 https://github.com/ChanMeng666/archlang

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for archlang

README.md
[![agentmods](https://agentmods.dev/badge/skills/chanmeng666/archlang/archlang.svg)](https://agentmods.dev/skills/chanmeng666/archlang/archlang)
Your own site
<a href="https://agentmods.dev/skills/chanmeng666/archlang/archlang"><img src="https://agentmods.dev/badge/skills/chanmeng666/archlang/archlang.svg" alt="Measured on agentmods" height="20"></a>
Per session 104 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,717 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00104 $0.05717
Opus 5 $0.00052 $0.02858
Sonnet 5 $0.00021 $0.01143
Haiku 4.5 $0.00010 $0.00572

Measured today against content hash c1305b450274, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

archlang scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

SKILL.md · 308 lines

How it starts

The opening of the file, as written. The whole thing — 308 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ArchLang — author floor plans as code

ArchLang turns a small .arch text file into a professional floor-plan drawing. It is built for agents: deterministic, self-correcting (errors carry a machine code, a prose fix, and often a machine-applicable fix arch fix can apply), and verifiable without ever looking at an image (arch describe).

Setup (zero-install)

The CLI runs straight from npm — no clone, no build:

npx @chanmeng666/archlang help

(Or npm i -g @chanmeng666/archlang to get a persistent arch binary.)

The loop (always follow this)

  1. Learn the language first. Run arch spec and read it — the entire language in one page (~2k tokens). (arch context prints everything: spec + this workflow + CLI reference + error catalog.) Do this before writing any .arch.
  2. Write the plan to a .arch file (or pipe via stdin with -), preferring the placement sugar below so you never hand-compute a coordinate.
  3. Render it: arch compile plan.arch -o plan.svg --json. The JSON is { ok, diagnostics, summary }.
  4. Auto-fix the mechanical faults: if ok is false, run arch fix plan.arch --dry-run --json to preview the machine-applicable edits (off-wall opening → attachment form, out-of-range position clamped, …), then re-run without --dry-run to apply. Anything fix can't resolve stays in diagnostics[].fix for you to edit by hand. Exit code 2 means a deterministic user error — fix it, don't blindly retry (1 = IO/internal, 3 = bad usage).
  5. See the plan without an image: arch compile plan.arch -f txt (or arch preview plan.arch --ascii) prints a zero-dependency ASCII floor plan you can read straight from stdout.
  6. Verify intent: arch describe plan.arch --json returns the rooms (areas, adjacency), what each door connects, and totals. Confirm the room count, labels, and areas match what was asked.
  7. Gate on soundness — don't ship a flagged plan. arch validate plan.arch --strict --json (parse + resolve + lint). --strict makes every advisory warning fail (exit 2) — the gate a generation pipeline runs before it ships. Add --graph g.json to also assert the intended room-to-room adjacency ({ "living": ["kitchen","hall"], … }); a mismatch fails. Read each diagnostics[].fix, edit, and re-run until it passes — or, if a warning is deliberate, say so.
  8. Check the plan against the brief. Write the user's brief as an intent.json — its checkable expectations as data (room count, per-room concepts with area/window bands, total area, optional adjacency/reachability). Two disciplines keep it brief-grounded: assert an area band only where the brief gives a number ("about/~N" → ±10%; "at least N" → min only; qualitative words → nothing), and assert the top-level room count only when the brief enumerates the rooms. Gate with arch validate plan.arch --intent intent.json --feedback --json: a gating miss (room count/existence/area/total-area/window) fails (exit 2) with a per-violation correction prompt — iterate on the feedback and re-run. Adjacency/reachability are advisory (reported, never fail the gate). Use arch score plan.arch --brief intent.json --json as a continuous satisfaction meter (always exit 0) to watch the plan approach the brief across edits. See /intent.schema.json.
  9. Fix furniture geometry: arch repair plan.arch -o fixed.arch pushes furniture out of walls/doorways/swing arcs (the geometric corrector; distinct from fix). It rewrites a piece in the form you wrote it (an at point, or the inset of an in <room> anchor … placement) — and always read unresolved: a piece it may not rewrite (one for/component statement drawing several pieces, expression coordinates, an against wall anchor) is reported there with the fault and why, never silently skipped. changed: false with a non-empty unresolved means you edit the source.
  10. Show the user: arch preview plan.arch -o plan.png renders a PNG (--install fetches the optional renderer if missing).

Read the full file on GitHub · 308 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · +9 lines c1305b450274
  2. yesterday Changed · +38 lines 6d1d7d6ad667
  3. 5d ago First seen · 261 lines · 104 tokens per session scan A e15c5d26aed8

Subscribe to this mod's changes

archlang is a skill published in the GitHub repository ChanMeng666/archlang (8 stars, last pushed today), licensed MIT. It adds 104 tokens to every session and 5,717 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

review-architecture

Review a PR against the Pascal architectural rules — package boundaries (core/viewer/editor/nodes), the registry-driven composition model (def.geometry / def.renderer / def.system), legacy-dispatch regressions, the slots + world-scale-UV convention for new nodes/geometry, hook hygiene (useEditor/useScene/useViewer)…

pascalorg/editor · 97 tokens

open-pr2

Open or update a pull request on pascalorg/editor with a plain-language issue-and-fix description based on the full branch diff. Use only when the user explicitly asks for OpenPR2 or /open-pr2.

pascalorg/editor · 48 tokens

open-pr

Open a pull request on pascalorg/editor using the repo's PR template. Use when the user asks to open/create a PR, push and PR, or ship a branch in the editor repo.

pascalorg/editor · 43 tokens

codebase-onboarding

Use when you land in an unfamiliar or inherited codebase and must get productive fast: a breadth-first map of entry points, request flow, module ownership, hidden side effects (cron, webhooks, workers) and churn hotspots, committed as CODEBASE-MAP.md. NOT a deep audit of one module (that is analyze) or chasing one…

ericrisco/rsc-harness · 83 tokens

github-multi-repo

Multi-repository coordination, synchronization, and architecture management with AI swarm orchestration.

ruvnet/ruflo · 21 tokens

subsystem-map

This skill should be used before answering "does Genesis have X", "does Genesis lack X", auditing Genesis capabilities, comparing Genesis to an external system, or reviewing/summarizing the architecture. It routes to the canonical judgment-layer subsystem map so audits start from the map, not from a cold grep. Also…

WingedGuardian/GENesis-AGI · 79 tokens