Lint code

SkillDev tools

Lint code with swiftlint and swiftformat

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Lint code skill

What this skill tells your AI

The instructions your AI receives, as published by adamayoung/tmdb in .claude/skills/lint/SKILL.md and read by ahel’s review.

Run make lint from the project root to check code style. It runs eight checks, in order: six Python scripts under Scripts/lint-witnesses (check-defaulted-witnesses.py, protocol conveniences that would witness their own requirement), lint-fixtures (check-fixtures.py, JSON fixture hygiene), lint-curation (check-docc-curation.py, public methods missing from their DocC page), lint-prose (check-prose-call-forms.py, code samples calling a method that does not exist), lint-readme-version (check-readme-version.py, README's .package(from:) vs the newest CHANGELOG.md release) and lint-run-list (run-script-tests.py — despite the target's name, every suite under Scripts/tests/: the /triage-issues run-list builder, the /deliver selection-prose anti-drift cases, the deliver-runfile.py writer, and the workflow cache-key/change-gate cases) — then swiftlint --strict ., then swiftformat --lint ..

Each script enforces something no single-file linter can see, and a failure in any of them is not a formatting problem: /format will not fix it.

Run this directly — it is fast and low-output, so delegating to a subagent would cost more (subagent overhead) than it saves.

If you see superfluous_disable_command errors on files you did not just change, it is usually a swiftlint version-drift artifact (the pin is swiftlint 0.63.2 / swiftformat 0.61.1), not a real violation. Run /format to auto-fix fixable violations.

Signals

GitHub stars
176
Forks
47
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
lint
Source
github.com/adamayoung/tmdb