Git Branch Naming
makeplane/plane
Names a new Git branch with a type prefix, the lowercased work item ID and a short kebab-case description, so the ID can be extracted later from the branch name.
Audit a Mendix project against best practices for naming, security, performance, maintainability and architecture, and report a scored result.
$ npx skills add mendixlabs/mxcli --skill assess-quality -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mendixlabs/mxcli assess-quality --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/mendix/assess-quality .claude/skills/assess-quality && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "assess-quality" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/assess-quality into .claude/skills/assess-quality/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assess-quality", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/assess-qualityType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mendixlabs/mxcli --skill assess-quality -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mendixlabs/mxcli assess-quality --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/mendix/assess-quality .agents/skills/assess-quality && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "assess-quality" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/assess-quality into .agents/skills/assess-quality/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assess-quality", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mendixlabs/mxcli --skill assess-quality -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mendixlabs/mxcli assess-quality --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/mendix/assess-quality .cursor/skills/assess-quality && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "assess-quality" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/assess-quality into .cursor/skills/assess-quality/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assess-quality", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mendixlabs/mxcli.git --path .claude/skills/mendix/assess-quality--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mendixlabs/mxcli --skill assess-quality -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mendixlabs/mxcli assess-quality --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/mendix/assess-quality .gemini/skills/assess-quality && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "assess-quality" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/assess-quality into .gemini/skills/assess-quality/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assess-quality", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mendixlabs/mxcli assess-qualityInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mendixlabs/mxcli --skill assess-quality -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/mendix/assess-quality .github/skills/assess-quality && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "assess-quality" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/assess-quality into .github/skills/assess-quality/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assess-quality", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mendixlabs/mxcli --skill assess-quality -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mendixlabs/mxcli assess-quality --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/mendix/assess-quality .opencode/skills/assess-quality && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "assess-quality" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/assess-quality into .opencode/skills/assess-quality/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assess-quality", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
assess-qualityAudit a Mendix project against best practices for naming, security, performance, maintainability and architecture, and report a scored result.
Assess Quality is an agent skill from mendixlabs/mxcli. Audit a Mendix project against best practices for naming, security, performance, maintainability and architecture, and report a scored result. Use when asked to evaluate project quality, run a pre-go-live health check, or get oriented in an unfamiliar app.
Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Mendix cli tool, a headless way to work with Mendix projects. Enables Mendix projects for use with 3rd party agentic coding tools like Claude Code and Copilot. Includes a… The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a924d11. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are sql, bash and markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Assess Quality loads about 4.5k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 1,685 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from mendixlabs/mxcli at commit a924d11, republished under its Apache-2.0 licence (© mendixlabs). 1,685 words, ~4,464 tokens.
.claude/skills/assess-quality/SKILL.md (or your agent's skills folder).This skill guides a comprehensive quality assessment of a Mendix project, evaluating it against established best practices across naming, security, performance, maintainability, architecture, and more.
Use this skill when:
Run the automated linter and report to get a baseline score:
# connect to the project and build a full catalog (needed for deep analysis)
mxcli -p app.mpr -c "refresh catalog full"
# run the linter (41 rules: MDL, SEC, QUAL, ARCH, design, CONV series)
mxcli lint -p app.mpr
# generate the scored best practices report
mxcli report -p app.mpr --format markdown
# score only the app's own modules (not Marketplace / platform modules)
mxcli report -p app.mpr --modules MyModule,OtherModule --format markdownThe report covers 6 categories with scores: Naming, Security, Quality, Architecture, Performance, Design.
Use catalog queries to understand the project's shape:
-- Overview of project size and structure
describe structure depth 2;
-- Key metrics
select module_name, count(*) from CATALOG.entities GROUP by module_name;
select module_name, count(*) from CATALOG.microflows GROUP by module_name;
select module_name, count(*) from CATALOG.pages GROUP by module_name;
-- Complexity metrics (McCabe/Sigrid-style)
select qualified_name, cyclomatic_complexity
from CATALOG.microflows
where cyclomatic_complexity > 10
ORDER by cyclomatic_complexity desc;
-- Large microflows
select qualified_name, activity_count
from CATALOG.microflows
where activity_count > 15
ORDER by activity_count desc;mxcli models the project as a dependency graph and exposes topological analyses on top of it — god nodes, coupling, cohesion, communities, centrality, cycles, and layering. These answer questions catalog metrics can't: what's central, what's tangled, what belongs together.
Read graph-analysis before running graph analysis. It covers setup (two-step refresh required), all eight use cases (impact assessment, dead code, cohesion, communities, bridges, hotspots, cycles, monolith splits), column schemas, false-positive caveats for dead assets, and a quick-reference table mapping questions to tables.
After reviewing automated results, assess the following areas manually. The guidelines below are organized by category.
Enforced by rules: MPR001, CONV001, CONV003, CONV004, CONV005
| Element | Convention | Example |
|---|---|---|
| Entities | Singular, PascalCase, no underscores | Customer, OrderLine (not Customers, Order_Line) |
| Attributes | PascalCase | FirstName, OrderDate |
| Boolean attributes | Prefix with Is/Has/Can/Should/Was/Will | IsActive, HasChildren |
| Microflows | Prefix indicating purpose | ACT_Customer_Save, DS_Customer_GetAll |
| Pages | Entity + suffix | Customer_NewEdit, Order_Overview, Product_View |
| Enumerations | Prefix with ENUM_ | ENUM_OrderStatus, ENUM_Gender |
| Snippets | Prefix with SNIPPET_ | SNIPPET_CustomerDetails |
| Java actions | Prefix with JA_ | JA_SendEmail |
Microflow prefix reference (21 recognized prefixes):
| Prefix | Purpose | Layer |
|---|---|---|
ACT_ | UI action (button click handler) | UI |
DS_ | Data source for pages/widgets | UI |
NAV_ | Navigation microflow | UI |
LOGIN_ | Login/authentication flow | UI |
SUB_ | Reusable submicroflow | Logic |
VAL_ | Validation logic | Logic |
BCO_ | Before commit handler | Event |
ACO_ | After commit handler | Event |
BCR_ | Before create handler | Event |
ACR_ | After create handler | Event |
BDE_ | Before delete handler | Event |
ADE_ | After delete handler | Event |
BRO_ | Before rollback handler | Event |
ARO_ | After rollback handler | Event |
OCH_ | On-change handler | Event |
SCH_ | Scheduled event | Integration |
IVK_ | Invocable (called by external systems) | Integration |
SE_ | Scheduled event (alternative) | Integration |
DL_ | Deep link handler | Integration |
PWS_ | Published web service | Integration |
ASU_ | After startup microflow | System |
Manual check: Verify that microflow names are descriptive beyond just the prefix. For example, ACT_Customer_Save is better than ACT_Save.
Not automatically enforced (folder hierarchy not fully captured in catalog)
| Convention | What to Check |
|---|---|
Each module has [objects] and [UI] top-level folders | Open in Studio Pro or check folder data |
ACT_ and DS_ microflows live in the [UI] folder | These are page-related, belong in UI |
Entity-specific microflows grouped in entity subfolders under [objects] | e.g., [objects]/Customer/BCO_Customer_Validate |
| Pages organized by entity or feature | Not scattered randomly |
Enforced by rules: SEC001-SEC009, CONV006, CONV007, CONV008, MPR007
| Guideline | Rule | Priority |
|---|---|---|
| All persistent entities must have access rules | SEC001 | Critical |
| Do not grant Create or Delete rights on entity access rules | CONV006 | High |
| All entity access rules should have XPath constraints | CONV007 | High |
| Set default access rights to None | Manual check | High |
| Do not use entity validation rules (use microflow validation instead) | CONV015 | Medium |
| Do not use entity event handlers (use explicit microflow calls) | CONV016 | Medium |
| Guideline | Rule | Priority |
|---|---|---|
| 1:1 mapping between module roles and user roles | CONV008 | High |
| Pages in navigation must have allowed roles | MPR007 | High |
| No guest/anonymous access to sensitive data | SEC004 | Critical |
| Strict security mode enabled | SEC005 | High |
| No demo users in production | SEC003 | Critical |
| Password policy >= 8 characters | SEC002 | High |
The Dutch Institute for Vulnerability Disclosure (DIVD) found widespread authorization misconfigurations in Mendix apps. Key checks:
| Check | What to Verify |
|---|---|
| Anonymous user permissions | Anonymous role should have minimal entity access; no access to business data |
| Newly registered user permissions | Default user role should not grant broad data access |
| XPath constraints completeness | Every READ/WRITE access rule on business entities needs XPath constraints |
| Published REST/OData security | All published services require authentication |
| Entity access audit | Run select * from CATALOG.permissions where is_constrained = 0 |
HTMLSanitize() from Community Commons)urlEncode() all values used in REST URLsEnforced by rules: QUAL001-QUAL004, CONV009, CONV012, CONV014, MPR002, MPR004, MPR006
| Guideline | Rule/Check | Threshold |
|---|---|---|
| Microflow complexity (McCabe) | QUAL001 | Cyclomatic complexity <= 10 |
| Microflow size | CONV009 | Max 15 activities |
| Documentation on public microflows | QUAL002 | All ACT_, DS_, IVK_ should be documented |
| No orphaned/unused elements | QUAL004 | Remove unused microflows, pages, entities |
| No empty microflows | MPR002 | Every microflow should have at least one activity |
| Caption on exclusive splits | CONV012 | All decision points must have captions |
| No "Continue" error handling | CONV014 | Never swallow errors silently |
| ACT_ microflows: thin controllers | CONV010 | Only page activities + submicroflow calls |
Manual checks:
Enforced by rules: CONV011, CONV016, CONV017
| Guideline | Rule/Check | Impact |
|---|---|---|
| No calculated attributes | CONV017 | Calculated attributes execute on every retrieve |
| No entity event handlers | CONV016 | Event handlers fire on every create/commit/delete, often unnecessarily |
| No commit inside loops | CONV011 | Each commit is a database round-trip; batch instead |
| No Export to Excel widget | Manual | Use CSV export for large datasets |
| Minimize in-use session objects | Manual | Large session caches increase memory pressure |
XPath performance tips:
not(), !=) — these cannot use indexes efficiently[Assoc/entity/attribute = value] over retrieving + filtering in microflowMicroflow performance tips:
find, filter, head) instead of loops when possibleEnforced by rules: ARCH001-ARCH003, CONV010, MPR003
| Guideline | Rule/Check | Details |
|---|---|---|
| No cross-module direct data access | ARCH001 | Access data through microflows, not direct entity references |
| Data changes through microflows only | ARCH002 | Don't change entities from pages directly |
| Business key on entities | ARCH003 | Persistent entities should have a business key attribute |
| Domain model size | MPR003 | Max 15 persistent entities per module |
| Entity attribute count | DESIGN001 | Max 10 attributes per entity (consider splitting) |
Manual checks:
Enforced by rules: CONV013, CONV014
| Guideline | Details |
|---|---|
| Default error handling | All microflows should use Stop + Log + Roll back + Show user message |
| Custom error handling on service calls | REST calls, web service calls, and Java actions need custom error handling |
| Never use "Continue" error handling | This silently swallows errors — always handle explicitly |
| Log with context | Include status code, response body, and input parameters in error logs |
| Rethrow after logging | After logging the error details, rethrow so the caller can handle it |
Pattern for REST call error handling:
$latestHttpResponse exists| Guideline | Details |
|---|---|
| Simplify mappings | Remove empty/optional entities from import mappings |
| Tree structure for domain model | Parent entities above children, use inheritance, add comments between sections |
| String attributes: set to Unlimited | Connector strings should not have length limits |
| Remove default value 0 on numbers | Default 0 is confusing for connector data — leave empty |
| Add documentation to model | Document each entity and attribute purpose |
| Use ConnectionDetails entity | Centralize endpoint, username, password, timeout in one entity |
| Use constants for connection settings | Avoid dependency on Encryption module; use constants with empty defaults |
| Operations naming | Follow METHOD_VERSION_OPERATION pattern |
| File structure | Separate connection Details, Operations, Private folders |
| Validate input before urlEncode | Check for empty values before constructing URLs |
| Guideline | Details |
|---|---|
| Use SASS, not inline CSS | All styling in _custom-variables.scss or theme files |
| Avoid nested styling rules | Keep CSS flat for maintainability |
No inline style attributes | Use CSS classes instead |
| Consistent page layout | Use layout grids, not absolute positioning |
The catalog includes McCabe cyclomatic complexity metrics aligned with the ISO 25010 maintainability standard used by Sigrid. Use these queries to assess code quality:
-- Complexity distribution (Sigrid-style)
select
case
when cyclomatic_complexity <= 5 then 'Low (1-5)'
when cyclomatic_complexity <= 10 then 'Moderate (6-10)'
when cyclomatic_complexity <= 20 then 'High (11-20)'
else 'Very High (>20)'
end as complexity_band,
count(*) as microflow_count
from CATALOG.microflows
GROUP by complexity_band;
-- Top complex microflows
select qualified_name, cyclomatic_complexity, activity_count
from CATALOG.microflows
where cyclomatic_complexity > 10
ORDER by cyclomatic_complexity desc
limit 20;Sigrid benchmarks (5-star system):
View entities are powerful for specific scenarios but not universal replacements for standard logic:
| Use Case | Recommendation |
|---|---|
| Large dataset performance | View entity is recommended when microflow data source is too slow |
| Complex OQL queries | View entity can replace complex microflow logic with loops/filters |
| Flattening data for reports | More efficient than non-persistent entities filled by microflows |
Caution: View entities increase technical complexity and require OQL knowledge. Only use when there is a clear performance or simplification benefit.
After running the automated tools and performing manual review, produce a report using this structure:
# Mendix project Quality Assessment
**project:** [Name]
**date:** [date]
**Assessor:** Claude Code
## Executive Summary
Overall Score: [X]/100 (from `mxcli report`)
| Category | Score | key Finding |
|----------|-------|-------------|
| Naming | X% | [one-line summary] |
| security | X% | [one-line summary] |
| Quality | X% | [one-line summary] |
| Architecture | X% | [one-line summary] |
| Performance | X% | [one-line summary] |
| design | X% | [one-line summary] |
## project Metrics
| Metric | value |
|--------|-------|
| modules | X |
| entities (persistent) | X |
| microflows | X |
| pages | X |
| avg complexity | X |
| max complexity | X |
## Automated Findings
[Summary of lint violations by category, grouped by severity]
### critical Issues (must fix)
- [list]
### High Priority (should fix)
- [list]
### Medium Priority (consider fixing)
- [list]
## Manual Review Findings
### Naming Conventions
[Assessment against Section A guidelines]
### security Posture
[Assessment against Section C guidelines, including DIVD checklist]
### Maintainability
[Assessment against Section D guidelines]
### Performance Risks
[Assessment against Section E guidelines]
### Architecture
[Assessment against Section F guidelines]
### error Handling
[Assessment against Section G guidelines]
## Recommendations
### Top 5 actions (Highest impact)
1. [specific, actionable recommendation]
2. [specific, actionable recommendation]
3. [specific, actionable recommendation]
4. [specific, actionable recommendation]
5. [specific, actionable recommendation]
### Quick Wins (Low Effort, High value)
- [list of easy fixes]
### long-term Improvements
- [list of architectural/structural improvements]This skill incorporates guidelines from:
© mendixlabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/mendix/assess-quality of mendixlabs/mxcli.
Open the folder on GitHubat commit a924d11
Assess Quality next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Assess Quality this skillmendixlabs/mxcli | 128 | — | ~4.5k | Automated safety check: Pass | Apache-2.0 | |
| Git Branch Namingmakeplane/plane | 60k | — | ~594 | Automated safety check: Pass | AGPL-3.0 | |
| Naming Conventionsthedaviddias/Front-End-Checklist | 74k | — | ~481 | Automated safety check: Pass | MIT | |
| Button Namethedaviddias/Front-End-Checklist | 74k | — | ~488 | Automated safety check: Pass | MIT | |
| Select Namethedaviddias/Front-End-Checklist | 74k | — | ~451 | Automated safety check: Pass | MIT | |
| Naminggridaco/grida | 2.7k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 |
makeplane/plane
Names a new Git branch with a type prefix, the lowercased work item ID and a short kebab-case description, so the ID can be extracted later from the branch name.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing stylesheets, component styles, and responsive behavior related to Use consistent CSS naming conventions.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Provide accessible names for buttons.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Provide accessible names for select elements.
gridaco/grida
How to think about names in the Grida repo — not conventions, but what a name commits you to, reveals about the system, and costs to change.
sgl-project/sglang
Naming conventions for SGLang speculative decoding identifiers.
mendixlabs/mxcli
Push OData query options into the SQL of a Mendix resource served by a read microflow, so $filter, $orderby, $top, $skip, $count and the key lookup reach the database instead of being silently…
mendixlabs/mxcli
Chart a Mendix app with Vega-Lite through a pluggable widget that takes the specification and the data as separate properties, so the model emits rows and never assembles a chart payload.
mendixlabs/mxcli
Author Mendix AI agent documents in MDL — Model, Knowledge Base, Consumed MCP Service and Agent, with variables, tools and multi-line prompts.
mendixlabs/mxcli
Run set-based INSERT, UPDATE and DELETE against Mendix entities through OQL statements, which the runtime supports and Studio Pro cannot author.
mendixlabs/mxcli
Stand up an HTTP endpoint you control instead of a live third-party API, and point the Mendix app at it — Prism from an OpenAPI contract, a constant swap, or a forward proxy.
mendixlabs/mxcli
Call external REST APIs from Mendix — the three approaches (inline REST CALL, consumed REST client document, generated from OpenAPI) and how to choose.
Audit a Mendix project against best practices for naming, security, performance, maintainability and architecture, and report a scored result. Assess Quality is an agent skill from mendixlabs/mxcli. Audit a Mendix project against best practices for naming, security, performance, maintainability and architecture, and report a scored result.
Assess Quality fits situations like: asked to evaluate project quality; run a pre-go-live health check; get oriented in an unfamiliar app.
Run `npx skills add mendixlabs/mxcli --skill assess-quality -a claude-code`. Or copy the skill folder (.claude/skills/mendix/assess-quality in mendixlabs/mxcli) into .claude/skills/assess-quality in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mendixlabs/mxcli --skill assess-quality -a codex`. Or copy the skill folder (.claude/skills/mendix/assess-quality in mendixlabs/mxcli) into .agents/skills/assess-quality in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mendixlabs/mxcli --skill assess-quality -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/assess-quality, .gemini/skills/assess-quality, .github/skills/assess-quality and .opencode/skills/assess-quality in your project.
SKILL.md names no scripts, command-line tools or credentials: Assess Quality is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Assess Quality is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Assess Quality: Git Branch Naming (makeplane/plane, 60k stars), Naming Conventions (thedaviddias/Front-End-Checklist, 74k stars), Button Name (thedaviddias/Front-End-Checklist, 74k stars) and Select Name (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mendixlabs (a GitHub organization) maintains it in mendixlabs/mxcli, which has 128 GitHub stars. The repository holds 75 skills in this directory. The repository was last updated on October 7, 2026.
Source: mendixlabs/mxcli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.