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.
npx agentmods add commands/mendixlabs/mxcli/reviewgit clone --depth 1 https://github.com/mendixlabs/mxcliWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00013 | $0.02184 |
| Opus 5 | $0.00006 | $0.01092 |
| Sonnet 5 | $0.00003 | $0.00437 |
| Haiku 4.5 | $0.00001 | $0.00218 |
Grade A, and why
review 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 2d ago.
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.
How it starts
The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/mxcli-dev:review — PR Review
Run a structured review of the current branch's changes against the CLAUDE.md checklist, then check the recurring findings table below for patterns that have burned us before.
Steps
- Run
gh pr viewandgh pr diff(orgit diff main...HEAD) to read the change. - Work through the CLAUDE.md "PR / Commit Review Checklist" in full.
- Then check every row in the Recurring Findings table below — flag any match.
- Report: blockers first, then moderate issues, then minor. Include a concrete fix option for every blocker (not just "this is wrong").
- After the review: add a row to the Recurring Findings table for any new pattern not already covered.
Recurring Findings
Patterns caught in real reviews. Each row is a class of mistake worth checking proactively. Add a row after every review that surfaces something new.
| # | Finding | Category | Canonical fix |
|---|---|---|---|
| 1 | Formatter emits a keyword not present in MDLParser.g4 → DESCRIBE output won't re-parse (e.g. RANGE(...)) |
DESCRIBE roundtrip | Grep grammar before assuming a keyword is valid; if construct can't be expressed yet, emit -- TypeName(field=value) — not yet expressible in MDL |
| 2 | Output uses $currentObject/Attr prefix — non-idiomatic; Studio Pro uses bare attribute names |
Idiomatic output | Verify against a real Studio Pro BSON sample before choosing a prefix convention |
| 3 | Malformed BSON field (missing key, wrong type) produces silent garbage output (e.g. RANGE($x, , )) |
Error handling | Default missing numeric fields to "0"; or emit -- malformed <TypeName> rather than broken MDL |
| 4 | No DESCRIBE roundtrip test — grammar gap went undetected until human review | Test coverage | Add roundtrip test: format struct → MDL string → parse → confirm no error |
| 5 | Hardcoded personal path in committed file (e.g. /c/Users/Ylber.Sadiku/...) |
Docs quality | Use bare commands (go test ./...) without absolute paths in any committed doc or skill |
| 6 | Docs-only PR cites an unmerged PR as a "model example" — cited PR had blockers | Docs quality | Only cite merged, verified PRs; or annotate with known gaps if citing in-flight work |
| 7 | Skill/doc table references a function that doesn't exist (e.g. formatActionStatement() vs formatAction()) |
Docs quality | Grep function names before writing: grep -r "func formatA" mdl/executor/ |
| 8 | "Always X" rule is too absolute for trivial edge cases (e.g. "always write failing test first" for one-char typos) | Docs quality | Soften to "prefer X" or add an exception clause; include the reasoning so readers can judge edge cases |
| 9 | Doc comment promises a fallback/feature that doesn't exist in the code (e.g., "raw-map fallback in the client" when no such fallback was implemented) | Docs quality | Grep for function/type names referenced in doc comments to confirm they exist before committing |
| 10 | BSON array items decoded by mongo driver are primitive.D, not map[string]any — bare type assertion item.(map[string]any) always fails silently, causing silent data loss (e.g. Languages not parsed, issue #480) |
BSON parsing | Always use extractBsonMap(item) instead of item.(map[string]any); write a parser unit test with primitive.D items to catch this class of bug |
| 11 | execShow switch missing a case for a new ShowXxx constant — executor handler is wired but never dispatched, command silently does nothing |
Dispatch gap | After adding a new Show* constant and handler, grep executor_query.go to confirm the case is present; add a mock test that calls the handler directly |
| 12 | Mock test constructs a Kind value (e.g. "Array") that parseImportMappingElement can never produce — parser only sets "Object" or "Value" — giving false assurance for a code path that is dead against real MPR data |
Test coverage | Before writing a mock test for a fallback path, verify the parser can actually produce the mocked value; if not, either extend the parser or remove the dead fallback |
| 13 | Go type switch: inserting case TypeB: between case TypeA: and its body silently empties TypeA — unlike regular switch, type switch has no fallthrough, so an empty case is a no-op (e.g. EnumSplitStmt handler stolen by InheritanceSplitStmt in PR #475) |
Code correctness | Always give each type switch case its own complete block; never share a body by relying on fall-through |
| 14 | Visitor test for CREATE JAVA ACTION omits AS $$ ... $$ body, causing opaque parse error no viable alternative at input '...' — the body is mandatory, not optional |
Test coverage / grammar | The grammar rule ends with AS DOLLAR_STRING SEMICOLON?; always include a minimal body (as $$ return false; $$;) even in tests |
| 15 | New MDL document type or OR MODIFY variant added but cmd/mxcli/syntax/features_*.go not updated — mxcli syntax <topic> and REPL help show stale syntax |
Docs quality | Add/update SyntaxFeature entries: new type → new Register(...) block; changed syntax → update Syntax field of existing topic; grep Path: to confirm topic exists |
| 16 | Bug-fix PR missing mdl-examples/bug-tests/<issue>-description.mdl — checklist requires one per fix so Studio Pro can validate the regression case |
Test coverage | Add minimal MDL that reproduces the symptom; commit alongside the fix; the PR description often contains the exact reproduction snippet already |
| 17 | Commit message claims a change (e.g. "PERF001": "Performance" mapping in report.go) that is not present in the diff — git body overstates the actual change, often referencing an example rule as if it were shipped |
Docs quality | Diff the file the commit names (git show <sha> -- <file>); if the change isn't there, fix the commit body so it doesn't imply shipped behavior |
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.
- 2d ago First seen · 63 lines · 13 tokens per session scan A ec73b0caa101
review is a command published in the GitHub repository mendixlabs/mxcli (115 stars, last pushed 2d ago), licensed Apache-2.0. It adds 13 tokens to every session and 2,184 once invoked, about $0.0001 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-30.
Other commands, from other repositories
MIGRATE_DESIGN
Design doc for the migration tool PR. Author: Sol ([email protected]). Co-authored-by: wakesync.
plan
Create a structured task-by-task implementation plan for a feature and write it to docs/superpowers/plans/.
toh-help
Display all Toh Framework commands and quick usage guide.
specsmd-construction-agent
Command "specsmd-construction-agent" from fabriqaai/specs.md, covering activate construction agent, activation, parameters, critical first steps and your skills.
fire
FIRE orchestrator - Fast Intent-Run Engineering main entry point.
issue-resolve
Drive an assessed gflow-cli issue (verdict CONFIRMED-BUG or LIKELY-BUG, with localized verifiable scope) to a fix: isolated worktree off develop, test-first fix, /gflow:check, then a DRAFT PR for human review. Mutating and gated — runs inside a strict action envelope (never merges, never spends credits, never marks a…