semantic-ci-lint SKILL.md skillA

semantic-ci-lint from mrmps/classifier-dev is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add mrmps/classifier-dev/semantic-ci-lint@git:20260919.33ae531

Pins git:20260919.33ae531 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
mrmps/classifier-dev
Path
skills/semantic-ci-lint/SKILL.md
Versions recorded
1
Latest version
git:20260919.33ae531, committed Sep 19, 2026
Size
5,999 bytes
Repository stars
436
License
MIT

Check every changed hunk of a pull request against conventions written in prose (naming, error handling, logging, docs) with a keyless classifier, and comment only on findings above a confidence threshold. Use when a convention cannot be expressed as a lint rule, when someone says "enforce our conventions in CI" or "check the PR against the style guide", or when the same review comment keeps being typed by hand.

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

# Lint the conventions a linter cannot express

"Log ids, never a person's name" and "never swallow a failure" are rules a
team writes down and then enforces by memory. A classifier can check them: one
label and a calibrated confidence per hunk, no prose, cheap on every push.

## One convention per call

The `instructions` field carries the convention in your own words; each call
asks about one convention. Four conventions in a single
`instructions` line put a hunk that logs a person's address and name at
`follows the convention` 0.27. The same hunk against the logging convention
alone came back `breaks the convention`, and with the whole hunk and its file
path in the input, 1.0.

Keep three labels: follows, breaks, and `the convention does not apply to this
hunk` - the third stops unrelated hunks being forced into a verdict.

## The script

`.github/semantic-lint.py` reads the output of `git diff -U0`:

```python
import json, re, sys, urllib.request

CONVENTIONS = [
    ("logging", "One convention only: a log line may carry ids and counts, never "
                "a person's name, address or anything else that identifies them."),
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add mrmps/classifier-dev/semantic-ci-lint@sha256:553bc90d1643af33

The line at the top of this page pins the label git:20260919.33ae531, 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_dmyssxdwao2q46q2.svg)](https://markdownregistry.com/a/art_dmyssxdwao2q46q2)

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

Versions

The registry has recorded 1 version of this file, committed on Sep 19, 2026.

versioncommittedcommitsizeaudit
git:20260919.33ae531 latest2026-09-19 33ae531 5,999 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 (5999 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

mrmps/classifier-dev · 436 stars · license MIT · pushed 2026-11-06 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_dmyssxdwao2q46q2
GET https://markdownregistry.com/api/v1/resolve?ref=mrmps/classifier-dev/semantic-ci-lint
GET https://markdownregistry.com/api/v1/blob/553bc90d1643af3376f5b82e26090fb80dc0bdcc628b6f9e32f24d40d6c695db

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 mrmps/classifier-dev

AGENTS.md AGENTS.md file
mrmps/classifier-dev · AGENTS.md
git:20261012.0ea30c2 · audit A · 436 stars
bulk-classify SKILL.md skill
mrmps/classifier-dev · plugins/classifier/skills/bulk-classify/SKILL.md · Sort many texts into your own categories without reading them, using a keyless HTTP API that returns a calibrated…
git:20261012.a7bad5f · audit A · 436 stars
context-compaction-keep-or-drop SKILL.md skill
mrmps/classifier-dev · skills/_rejected/context-compaction-keep-or-drop/SKILL.md · Label each context chunk keep, drop or replace-with-a-pointer and pass the survivors through byte for byte instead of…
git:20260919.3040be8 · audit A · 436 stars
computer-use-action-picker SKILL.md skill
mrmps/classifier-dev · skills/computer-use-action-picker/SKILL.md · Pick a browser or desktop agent's next action by choosing among the actions actually on screen instead of inventing…
git:20260919.33ae531 · audit A · 436 stars
content-moderation-gate SKILL.md skill
mrmps/classifier-dev · skills/content-moderation-gate/SKILL.md · Check user-generated text against a written policy before it is published. One multi-label call scores every policy…
git:20260919.33ae531 · audit A · 436 stars
document-intake-routing SKILL.md skill
mrmps/classifier-dev · skills/document-intake-routing/SKILL.md · Label each page of an intake packet with a document type and a page role before extraction runs, so only confident…
git:20260919.3040be8 · audit A · 436 stars
downloads-and-inbox-sorter SKILL.md skill
mrmps/classifier-dev · skills/downloads-and-inbox-sorter/SKILL.md · File a downloads or scanned-mail folder by classifying each file from its name plus the first 2,000 characters of text…
git:20260919.3040be8 · audit A · 436 stars
headline-filter-map-reduce SKILL.md skill
mrmps/classifier-dev · skills/headline-filter-map-reduce/SKILL.md · Filter hundreds or thousands of headlines, search results or feed items against a written brief before opening any of…
git:20260919.33ae531 · audit A · 436 stars
knowledge-graph-relation-typing SKILL.md skill
mrmps/classifier-dev · skills/knowledge-graph-relation-typing/SKILL.md · Type candidate (subject, sentence, object) triples against a fixed relation schema and flag triples that contradict…
git:20260919.33ae531 · audit A · 436 stars
lead-qualification SKILL.md skill
mrmps/classifier-dev · skills/lead-qualification/SKILL.md · Qualify inbound form submissions against your own ICP with a keyless classification API: one pass for ICP fit, one for…
git:20260919.33ae531 · audit A · 436 stars
listing-hygiene-check SKILL.md skill
mrmps/classifier-dev · skills/listing-hygiene-check/SKILL.md · Sweep a marketplace or catalogue with a keyless classification API: one pass for category, one multi-label pass for…
git:20260919.33ae531 · audit A · 436 stars
log-and-error-bucketing SKILL.md skill
mrmps/classifier-dev · skills/log-and-error-bucketing/SKILL.md · Turn a stream of log lines or error messages into a histogram of causes — timeouts, auth, quota, bad input, upstream…
git:20260919.3040be8 · audit A · 436 stars

Every file in mrmps/classifier-dev

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