write-lint-rules SKILL.md skillA

write-lint-rules from mendixlabs/mxcli is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add mendixlabs/mxcli/write-lint-rules@git:20261101.c7eb423

Pins git:20261101.c7eb423 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
mendixlabs/mxcli
Path
.claude/skills/mendix/write-lint-rules/SKILL.md
Versions recorded
38
Latest version
git:20261101.c7eb423, committed Nov 1, 2026
First version recorded
Aug 21, 2026
Size
38,397 bytes
Repository stars
137
License
Apache-2.0

Write custom Starlark lint rules in .claude/lint-rules/ that run beside the built-ins under `mxcli lint`. Use when a project convention should be enforced automatically.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

<!-- skill-index: generated by scripts/skill-index.py; make check-skill-index -->
## Find it fast

`sed -n '<from>,<to>p' SKILL.md` one section rather than reading the file;
`./mxcli syntax <topic>` answers *how do I write this* for a fraction of either.

| lines | section |
|---|---|
| 25-67 | Rule File Structure |
| 68-163 | Available Query Functions |
| 164-545 | Object Properties |
| 546-559 | Helper Functions |
| 560-646 | Common Patterns |
| 647-655 | Validation |

<!-- /skill-index -->
# Writing Custom Starlark Lint Rules

Custom lint rules are written in Starlark (a Python-like language) and placed in `.claude/lint-rules/` as `.star` files. They run alongside the built-in rules when `mxcli lint -p app.mpr` is executed.

## Rule File Structure

Every `.star` file must define metadata constants and a `check()` function:

```python
RULE_ID = "CUSTOM001"          # unique identifier
RULE_NAME = "MyRule"           # Short display name
DESCRIPTION = "What it checks" # One-line description
CATEGORY = "security"          # Category: naming, quality, design, security, etc.
SEVERITY = "warning"           # hint, info, warning, error

def check():
    violations = []
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add mendixlabs/mxcli/write-lint-rules@sha256:4492b1a93ba0efb5

The line at the top of this page pins the label git:20261101.c7eb423, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_m2st5t2xrvezrdzd.svg)](https://markdownregistry.com/a/art_m2st5t2xrvezrdzd)

4 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 38 versions of this file, between Aug 21, 2026 and Nov 1, 2026, about one every 2 days.

versioncommittedcommitsizeaudit
git:20261101.c7eb423 latest2026-11-01 c7eb423 38,397 BA view · diff
git:20261101.19e05462026-11-01 19e0546 38,106 BA view · diff
git:20261031.b00bc282026-10-31 b00bc28 41,619 BA view · diff
git:20261031.01eeb7e2026-10-31 01eeb7e 39,113 BA view · diff
git:20261031.865b1e62026-10-31 865b1e6 42,626 BA view · diff
git:20261027.1efde4f2026-10-27 1efde4f 42,468 BA view · diff
git:20261021.d036ecc2026-10-21 d036ecc 42,194 BA view · diff
git:20261020.fd57cb62026-10-20 fd57cb6 41,836 BA view · diff
git:20261020.af7ac9c2026-10-20 af7ac9c 41,828 BA view · diff
git:20261020.fd293862026-10-20 fd29386 41,837 BA view · diff
git:20261020.78b768b2026-10-20 78b768b 41,837 BA view · diff
git:20261017.1a855e52026-10-17 1a855e5 41,435 BA view · diff
git:20261017.f84d93c2026-10-17 f84d93c 40,966 BA view · diff
git:20261017.fd156672026-10-17 fd15667 41,321 BA view · diff
git:20261017.257bf882026-10-17 257bf88 40,942 BA view · diff
git:20261017.d06dd922026-10-17 d06dd92 40,876 BA view · diff
git:20261010.50fe33a2026-10-10 50fe33a 40,852 BA view · diff
git:20261008.cc5813b2026-10-08 cc5813b 40,355 BA view · diff
git:20261007.deb55572026-10-07 deb5557 39,586 BA view · diff
git:20261007.c1493902026-10-07 c149390 39,746 BA view · diff
git:20261003.63f98d12026-10-03 63f98d1 38,977 BA view · diff
git:20261003.335e8ad2026-10-03 335e8ad 38,488 BA view · diff
git:20261003.d7bbb312026-10-03 d7bbb31 39,361 BA view · diff
git:20261003.493bb7c2026-10-03 493bb7c 39,186 BA view · diff
git:20261003.544283c2026-10-03 544283c 38,872 BA view · diff
git:20260926.f725ce92026-09-26 f725ce9 33,166 BA view · diff
git:20260926.27cca2e2026-09-26 27cca2e 27,847 BA view · diff
git:20260925.2f588692026-09-25 2f58869 27,466 BA view · diff
git:20260925.7c8619b2026-09-25 7c8619b 27,361 BA view · diff
git:20260925.aaa56452026-09-25 aaa5645 27,065 BA view · diff
git:20260925.86d395e2026-09-25 86d395e 26,980 BA view · diff
git:20260922.84449c72026-09-22 84449c7 26,579 BA view · diff
git:20260922.6fda7ec2026-09-22 6fda7ec 26,492 BA view · diff
git:20260922.46bd1f72026-09-22 46bd1f7 26,263 BA view · diff
git:20260918.59db6e72026-09-18 59db6e7 24,872 BA view · diff
git:20260917.1b3adf72026-09-17 1b3adf7 23,505 BA view · diff
git:20260917.829eceb2026-09-17 829eceb 22,343 BA view · diff
git:20260821.ff81a242026-08-21 ff81a24 22,114 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (38397 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

mendixlabs/mxcli · 137 stars · license Apache-2.0 · pushed 2026-11-07 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_m2st5t2xrvezrdzd
GET https://markdownregistry.com/api/v1/resolve?ref=mendixlabs/mxcli/write-lint-rules
GET https://markdownregistry.com/api/v1/blob/4492b1a93ba0efb59d005a84b83e8e5b58f1e4f51f2f1be19cbfc0fb010e2b6d

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from mendixlabs/mxcli

issue-triage SKILL.md skill
mendixlabs/mxcli · .claude/skills/issue-triage/SKILL.md · Cluster and classify the open issues in the ako/mxcli fork, both the mendixlabs/mxcli issues mirrored into it and the…
git:20261106.37b0fe6 · audit A · 137 stars
agents SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/agents/SKILL.md · Author Mendix AI agent documents in MDL — Model, Knowledge Base, Consumed MCP Service and Agent, with variables, tools…
git:20261010.50fe33a · audit A · 137 stars
alter-page SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/alter-page/SKILL.md · Modify an existing page or snippet's widget tree in place with ALTER PAGE / ALTER SNIPPET — SET, INSERT, DROP, REPLACE…
git:20261102.69cffcc · audit A · 137 stars
analyze-runtime SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/analyze-runtime/SKILL.md · Find out what a running Mendix app actually does — logs, Prometheus metrics, OpenTelemetry traces and the model…
git:20261010.50fe33a · audit B · 137 stars
assess-migration SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/assess-migration/SKILL.md · Investigate an existing non-Mendix application (Java, .NET, Python, Node, PHP, …) and produce a structured migration…
git:20261010.50fe33a · audit A · 137 stars
assess-quality SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/assess-quality/SKILL.md · Audit a Mendix project against best practices for naming, security, performance, maintainability and architecture, and…
git:20261101.da695f0 · audit A · 137 stars
atlas-design SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/atlas-design/SKILL.md · Make a Mendix app look designed rather than default-Atlas: layout, spacing, typography, colour and design properties…
git:20261010.50fe33a · audit A · 137 stars
bootstrap-app SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/bootstrap-app/SKILL.md · Provision a Mendix project in a repo that has none — interview, `mxcli new`, session hook, project brief, first commit…
git:20261104.237ae1e · audit A · 137 stars
browse-integrations SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/browse-integrations/SKILL.md · Discover the external services a project consumes and browse their cached contracts through the MDL CATALOG — OData…
git:20261012.365840a · audit A · 137 stars
bulk-widget-updates SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/bulk-widget-updates/SKILL.md · Discover and bulk-change widget properties across many pages with LIST WIDGETS and UPDATE WIDGETS. Use when the same…
git:20261010.50fe33a · audit A · 137 stars
business-events SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/business-events/SKILL.md · Define event-driven APIs over Kafka with Mendix business event services — publish and subscribe contracts…
git:20261025.b57af11 · audit A · 137 stars
catalog-search SKILL.md skill
mendixlabs/mxcli · .claude/skills/mendix/catalog-search/SKILL.md · Search the Mendix Catalog platform service registry (catalog.mendix.com) from the CLI to find services published across…
git:20261010.50fe33a · audit A · 137 stars

Every file in mendixlabs/mxcli

Browse by kind, by grade A, or by owner.