mex-statechart

mex-statechart is a skill for Codex from mex-memory/mex. It costs 73 tokens per session (1,194 once invoked), scanned A, original, MIT.

A checked state-diagram workflow for explaining complicated existing behavior. State diagrams show conditions, events, transitions, failures, and recovery paths in a visual form, using Mermaid or a terminal-friendly alternative.

In plain words
What is it for?
Use it to diagram a bug or recovery path, explain current behavior, compare a proposed fix with an existing TLA+ model, or derive a model from an agreed chart.
Why use it?
It makes behavior easier to inspect when a prose explanation is not enough. It grounds the diagram in current source code, tests, and relevant history instead of guessing from a previous explanation.

Skill for Codex

Written for Codex: agents/openai.yaml present. Also seen: mentions Claude Code; mentions Codex.

Good fit Use it to diagram a bug or recovery path, explain current behavior, compare a proposed fix with an existing TLA+ model, or derive a model from an agreed chart.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/mex-memory/mex/mex-statechart
About the project

mex is a repository-local knowledge system for AI coding agents that turns codebase discoveries into connected Markdown documentation and a code graph. It helps agents and developers retain architectural decisions, conventions, edge cases, and project context across coding sessions while detecting documentation affected by code changes. The catalogue skills and instructions are add-ons for using mex with coding agents.

mex-memory/mex · 1,781 stars · on GitHub · mexmemory.com

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.

Any agent
npx skills add mex-memory/mex --skill mex-statechart
Clone the repo
git clone --depth 1 https://github.com/mex-memory/mex

Made for: 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 mex-statechart

README.md
[![agentmods](https://agentmods.dev/badge/skills/mex-memory/mex/mex-statechart/github.svg)](https://agentmods.dev/skills/mex-memory/mex/mex-statechart)
Your own site
<a href="https://agentmods.dev/skills/mex-memory/mex/mex-statechart"><img src="https://agentmods.dev/badge/skills/mex-memory/mex/mex-statechart/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for mex-statechart

Your own site · 80×15
<a href="https://agentmods.dev/skills/mex-memory/mex/mex-statechart"><img src="https://agentmods.dev/badge/skills/mex-memory/mex/mex-statechart.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 73 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,194 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00073 $0.01194
Opus 5.5 $0.00029 $0.00478
Sonnet 5.5 $0.00015 $0.00239
Haiku 4.5 $0.00007 $0.00119

Measured today against content hash 3ba7d54cf357, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

mex-statechart 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.

The scan reads SKILL.md. This mod also ships 21 executable files (upstream/scripts/bug-states.mjs, upstream/scripts/chart-edges.mjs, upstream/scripts/chart-parts.mjs, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

skills/mex-statechart/SKILL.md · 21 lines

How it starts

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

MEX statechart

Make behavior easier for a human to understand. Generate only on user intent. If a diagram would obscure the explanation, use a better explanation. A prior agent answer identifies the subject; verify it independently against current code.

  1. Identify the bounded subject, reader, and implemented/proposed/agreed-model scope. Read current source and useful tests. Query mex wiki query "<subject>" --limit 5 --json before broad knowledge discovery; inspect matched terms and grounding health, then read live records. Fall back to Router-directed Markdown if unavailable. Use bounded mex timeline --query "subject" --file known/path --limit 10 --json only when history might matter. Verify historical applicability. Fresh Graph may locate evidence; call edges are not state transitions. Never refresh indexes on a read.
  2. Retain context only when it changes or explains a state, event, condition, rule, exception, recovery, or abstraction. Record the precise connection and provenance. Keep source/requirement conflicts visible. Omit irrelevant context; do not manufacture a MEX contribution.
  3. Read the baseline modeling workflow and runtime instructions. Preserve TLA+ and real TLC checks in normal generation. Reuse agreed rules with provenance; seek agreement only for new inferred rules or material conflicts. Never weaken a rule to get a passing result.
  4. Work outside the repository in scratch space. Use the bounded scripts/runtime.mjs workflow entry, not the unbounded original scripts directly. Preserve existing TLA+ reference specifications and their authored configurations unchanged. Both from-spec and agreed-chart directions, settled-state rules, narrower observation points, projected overviews, independent regions, goals, proposed fixes and reference comparisons remain available.
  5. Assemble and validate the v1 artifact described in artifact contract. Retain models, configs, mapping, rules, raw temporal traces, omissions, toolchain and regeneration. Use stable identities, not captions. Run check on the artifact to record actual TLC results. For finite traces, map every numbered state/action back to the same graph and retain raw counterexamples. Goals are expected reachability witnesses, never product bugs. Use runtime summary counts, not counts inferred from the drawing. Missing mappings leave alignment unverified. Projection.json is optional: without it, or when check leaves the diagram unverified, accept and disclose that; never write your own TLC output parsers to force a projection. If TLC is unavailable (run status), still assemble the artifact with the check left unavailable and continue to step 7: the picture never depends on Java or TLC.
  6. Attempt each modeled implementation bug through real observable code entry points. Separate what execution reproduced, what source inspection supports, and what was not reproduced. Revisit the model when reproduction disagrees. A passing model proves only the configured model and bounds; unavailable/cancelled/resource-limited checking is never success.
  7. Run show <artifact> <scratch-dir> once: it prints the deterministic text view and writes the artifact's own diagram.mmd and diagram.png. Deliver by client:
    • Claude Code (terminal and desktop app) does not render Mermaid. Paste the text view in a fenced text block, then always open the printed diagram.png with your file-reading tool, unasked: the desktop app shows it inline. Make that read its own step: first write one short sentence such as "Here is the diagram:", then read the PNG with no other tool call before or after it, because the desktop app collapses grouped tool calls into a small thumbnail. Do not embed the image as Markdown; local image links do not render. In the terminal show also opens the image in the system viewer; tell the user, and give the path. Never present raw Mermaid as the diagram there.
    • Clients with native Mermaid, such as Codex: deliver the artifact's fenced Mermaid first, and the text view for nested or parallel charts. Never hand-draw the diagram as text art; show produces both views. If the image is unavailable, say so and give the .mmd path. Keep domain labels readable; details belong beside the overview. Disclose every material omission. Inspect the image and numbered paths as generation QA. State diagram validity, checker outcome, implementation reproduction, and evidence freshness separately.
  8. register the validated artifact into the repository's ignored temporary preview store; this is checkout-only and nothing is shared. Keep its returned route and 24-hour expiry. Offer to open the specific diagram in Hub: for example, "Want me to open this in Hub? I can start it for you." When this repository's live Hub URL is already known, provide a clickable "View this diagram in Hub" link directly to the preview. Otherwise offer to start Hub; do not make the user run a command and find Diagrams themselves. Accepting the offer, or directly asking to open it, authorizes normal Hub startup and browser opening without another confirmation. Follow Opening the preview in Hub to preserve authentication and open the returned preview route. Generation alone does not launch Hub; never invent a localhost URL. Hub Save still requires its own exact review; commit/push remains separate. Regeneration creates a new preview and never updates old evidence baselines.

Read the full file on GitHub · 21 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 First seen · 21 lines · 73 tokens per session scan A 3ba7d54cf357

Subscribe to this mod's changes

mex-statechart is a skill published in the GitHub repository mex-memory/mex (1,781 stars, last pushed today), licensed MIT. It adds 73 tokens to every session and 1,194 once invoked, about $0.0003 per session on Opus 5.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-10-29.

Related

Other skills, from other repositories