Back to Typescript Eslint

Skills

.agents/skills/README.md

8.69.02.4 KB
Original Source

Skills

Agent skills for working in this repository: focused guides that capture preferences which are useful but impractical to enforce with a lint rule of our own (see #12370).

Each skill lives in its own directory with a SKILL.md file:

text
skills/<name>/SKILL.md

SKILL.md uses YAML front matter with a name and a description (what the skill does and when to use it), followed by the guidance in Markdown. This is the portable format used by tools such as Vercel's skills package and Claude Code.

What these skills are not

They cover structure, naming, testing, and documentation conventions. They are not correctness tools: measured against a held-out sample of real reviews, they found none of the reviewer's bug reports — missed syntax variants, escaped identifier names, unsound inference assumptions.

Two more classes sit outside reach of anything reading a diff: defects visible only in rendered output, and decisions about project policy.

Treat a skill's output as a first pass over style and structure, not a substitute for review.

Available skills

  • code-clarity — remove unnecessary intermediate variables, restating comments, redundant type annotations, and imprecise names.
  • docs-writing — write and review documentation with objective, verifiable claims, accessible link text, and self-contained code examples.
  • fixers — write fixers and suggestions that never delete comments, using tokens rather than character arithmetic.
  • rule-conventions — follow this repository's conventions for messageIds, report messages, rule options, preset placement, and deprecations.
  • rule-performance — defer expensive TypeScript type lookups behind cheap AST/syntactic guards when writing or reviewing typed lint rules.
  • shared-logic — move logic copied between rules into a shared util, and reuse the utils that already exist.
  • tests — write rule test cases as small static units, probe the syntax that breaks rules, and make sure every new branch is covered or removed.
  • types-not-workarounds — fix imprecise types at their source instead of papering over them with runtime checks or assertions.