Developer skillGuide from Ember Platform Skills

Onboarding skill

Ember Context Lint

Checks a repository against the Ember LLM context standard on every commit and pull request.

Checks a repository against the Ember LLM context standard, the shared rules for how agent instructions and documentation are organized. Think of it as a coding standard for the files Claude and Codex read.

When to Use

  • Before you commit changes to CLAUDE.md, CONTEXT.md, AGENTS.md, or anything under docs/. The pre-commit hook also runs it.
  • When you bring an existing repository up to the standard.
  • When an agent keeps loading the wrong files or missing instructions. Broken routing is the usual cause.

What to Say

  • "Lint this repo against the Ember standard."
  • "Does this repository meet the Ember context standard?"
  • "Retrofit this repo to the context standard."

What Happens

  1. The agent runs the linter in report mode and groups the results by rule ID, such as CS-07.
  2. It explains each rule in plain terms and what fixes it.
  3. For a retrofit, it proposes fixes one rule at a time, shows each change, and applies only what you confirm. Missing files come from the standard's templates, with unknowns marked MISSING.
  4. It reruns the linter and reports what is left.

What It Never Does

  • Delete rules from an existing CLAUDE.md. Rules found in AGENTS.md move into CLAUDE.md first.
  • Rename records without git mv and an old-to-new index, so history and citations survive.
  • Treat a clean result as AiRB evidence or an approval.
  • Commit or push.

What It Changes

A check changes nothing. During a retrofit, and only for the fixes you confirm:

WhereWhat
Missing CLAUDE.md, CONTEXT.md, and AGENTS.md filesCreated from the standard's templates, with unknowns marked MISSING
Misnamed recordsRenamed with git mv, plus an old-to-new index in the folder
ember-project.yamlsize_exceptions, status_extensions, or vendored entries

The Rules in Brief

The full list is in standard/context-standard.md.

  • Every folder with its own rules has CLAUDE.md (rules), CONTEXT.md (where to go next), and an AGENTS.md that points to CLAUDE.md for Codex.
  • CLAUDE.md is at most 80 lines and CONTEXT.md at most 120. Split before you ask for an exception.
  • Every route in a Read Next column points to a file that exists.
  • Records are named YYYY-MM-DD-<topic>.md, and every file under docs/ starts with Status: and Owner: lines.
  • Status words come from a fixed list, such as PROPOSED, MISSING, and INSUFFICIENT.
  • No em dash characters, and no paths into other repositories.

Run It Without an Agent

node ~/gitroot/ember-platform-skills/skills/ember-context-lint/scripts/lint.mjs ~/gitroot/<slug>

Add --report to always exit 0 while you work through findings, --summary for counts only, or --format json for tooling.

Common Problems

You seeDo this
CS-01 or CS-02 missing filesRun the ember-app-onboard retrofit, which creates them
CS-04 AGENTS.md differsMove any rules into CLAUDE.md, then replace AGENTS.md with the template
CS-05 file too longSplit CONTEXT.md into folder-local routers. Add a size_exceptions entry in ember-project.yaml only if splitting is worse, with the reason
CS-07 path does not existFix the route, or remove it if the target is gone
CS-08 em dashReplace it with a comma, colon, or a new sentence
CS-11 unknown status termUse a term from the list, or add it to status_extensions with its meaning
Third-party files fail rulesList them under vendored in ember-project.yaml

Copied from skills/ember-context-lint/README.md in ember-platform-skills at commit 0b01dcf on 2026-10-19.