Skip to content
cccskills
FreePublished on GitHub

mex-statechart

Turn complex existing or proposed behavior into checked state diagrams that show states, events, conditions, and recovery paths. The skill can compare diagrams with TLA+ specifications, validate models with TLC when available, and provide Mermaid plus a readable text view.

OriginalShow the original description

Explain complicated existing behavior using checked state diagrams. Use when asked for a state diagram, to diagram the previous explanation, show a bug or recovery path, compare a proposed fix or existing TLA+ spec, or derive a model from an agreed chart. Generates native Mermaid and a readable terminal fallback; optionally view and explicitly save in MEX Hub.

mex-memory/mex1,781 stars(GitHub 1,781 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Explaining a complex behavior with a state diagram
  • Showing a bug and its recovery path
  • Comparing a proposed fix with existing behavior
  • Checking a diagram against a TLA+ specification

Files included (30)

  • SKILL.md5.8 KB
  • agents/openai.yaml207 B
  • PROVENANCE.md1.4 KB
  • references/artifact.md6.3 KB
  • references/example.json3.2 KB
  • references/toolchain.md6.5 KB
  • references/upstream-workflow.md7.5 KB
  • upstream/LICENSE1.0 KB
  • upstream/scripts/bug-states.mjs3.0 KB
  • upstream/scripts/chart-edges.mjs2.4 KB
  • upstream/scripts/chart-parts.mjs613 B
  • upstream/scripts/chart-to-tla.mjs7.7 KB
  • upstream/scripts/compare-charts.mjs2.2 KB
  • upstream/scripts/lib.mjs33.4 KB
  • upstream/scripts/map-view.mjs3.4 KB
  • upstream/scripts/property-loop.mjs2.3 KB
  • upstream/scripts/read-check.mjs2.8 KB
  • upstream/scripts/regions-chart.mjs10.7 KB
  • upstream/scripts/render.mjs18.7 KB
  • upstream/scripts/rule-book.mjs3.3 KB
  • upstream/scripts/second-replay.mjs4.7 KB
  • upstream/scripts/snapshot.mjs2.0 KB
  • upstream/scripts/spec-text.mjs5.7 KB
  • upstream/scripts/statechart-help.mjs25.9 KB
  • upstream/scripts/statechart.mjs35.3 KB
  • upstream/scripts/tlc-to-chart-args.mjs2.1 KB
  • upstream/scripts/tlc-to-chart.mjs29.5 KB
  • upstream/scripts/tlc-tools.mjs3.3 KB
  • upstream/scripts/ways-in.mjs3.0 KB
  • upstream/SHA256.json2.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

mex-inbox

FreeSummary

Create review proposals for durable team knowledge in the project wiki, including decisions, conventions, and architecture notes. Check existing entries to find the right place for a correction or addition, and support changes to existing Specs when appropriate.

  • Adding a team decision to the project wiki
  • Correcting a convention or architecture note
  • Drafting an addition to an existing Spec
mex-memory/mex1.8KUpdated Oct 29, 2026

mex-inbox

FreeSummary

Turn a team decision, correction, or other durable project knowledge into a focused proposal for review. The skill checks existing knowledge so the contribution can extend or correct the right entry, and supports proposals for existing Specs.

  • Recording a team decision in project knowledge
  • Proposing a correction to an existing guide
  • Preparing a Spec change for review
mex-memory/mex1.8KUpdated Oct 29, 2026

mex-relay

FreeSummary

Create and manage MEX Relays that preserve the context another teammate needs to continue work. Summarize progress, decisions, blockers, and next steps, or take and close a Relay. A Relay is a durable handoff record, not a message or task assignment.

  • Saving a handoff before ending a session
  • Giving a teammate context to resume work
  • Taking or closing a Relay
mex-memory/mex1.8KUpdated Oct 29, 2026

mex-relay

FreeSummary

Prepare and manage durable handoffs in MEX project memory. Capture progress, completed and ongoing work, blockers, decisions, and next steps so another teammate can resume. Relays preserve context; they do not send messages or assign tasks.

  • Preparing an end-of-session handoff
  • Passing work context to another teammate
  • Taking or closing a project Relay
mex-memory/mex1.8KUpdated Oct 29, 2026

See all skills by mex-memory

Report a problem with this skill