Adding Ty Diagnostics
SkillCommunicationUse when a user says "add a ty diagnostic", "write this new ty diagnostic", "change a ty error message", "review ty diagnostics", or asks to add, update, or review ty checks, diagnostic messages, subdiagnostics, or concise output behavior.
Use Adding Ty Diagnostics in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Adding Ty Diagnostics and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Adding Ty Diagnostics skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by modem-dev/ossrules in public/files/ruff/.agents/skills/adding-ty-diagnostics/SKILL.md and read by ahel’s review.
Use this skill when adding or changing a ty diagnostic, especially as part of a new ty check.
Keep error messages concise. Think about how the diagnostic will look on a narrow terminal screen.
Put extra detail in subdiagnostics or secondary annotations when that helps, but make sure the primary diagnostic is understandable on its own.
Always check that the diagnostic still makes sense when the user passes --output-format=concise.
If the error code is entirely new or if you have changed the documentation for the error code,
you will need to run cargo dev generate-all after making your changes, to update the generated schema for ty
and the generated .md documentation files.
Diagnostics should usually be tested using mdtests. If you are changing behaviour for an existing diagnostic,
you should usually add your tests to a pre-existing .md file; otherwise, it may be appropriate to add a new
.md file for your tests. Snapshot tests are only usually necessary for diagnostics that use secondary annotations
or subdiagnostics. If you want to add a snapshot, inline # snapshot comments are preferred over the legacy
<!-- snapshot-annotations --> directive.
When using the declare_lint! macro, the status field should be set to LintStatus::stable(<next version of ty>).
You should determine what the next version of ty will be by inspecting https://pypi.org/pypi/ty/json, finding what
the latest release of ty is, and incrementing the patch version by one. For example, if the latest release of ty is 0.5.3, the status should be LintStatus::stable("0.5.4").
Signals
- GitHub stars
- 56
- Forks
- 2
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
adding-ty-diagnostics- Source
- github.com/modem-dev/ossrules
Related picks
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonomh-rust
Skill · rlaope
The pick for Rustcc-rust-dev
Skill · doccker
The pick for Rustslack-gif-creator
Skill · anthropics
More in Communicationerror-handling
Skill · affaan-m
More in Communication