Agent Skills: TypeScript Quality Gate

>-

UncategorizedID: philoserf/claude-code-setup/typescript-quality-gate

Install this agent skill to your local

pnpm dlx add-skill https://github.com/philoserf/claude-code-setup/tree/HEAD/skills/typescript-quality-gate

Skill Files

Browse the full folder contents for typescript-quality-gate.

Download Skill

Loading file tree…

skills/typescript-quality-gate/SKILL.md

Skill Metadata

Description
Runs TypeScript/JavaScript code quality checks. Use when checking TypeScript or JavaScript quality, linting, running tests, validating TypeScript code, or running TS/JS checks. Covers formatting and linting with biome, type checking with tsc, and test execution with bun test.

TypeScript Quality Gate

Run a standardized set of TypeScript/JavaScript quality checks. Auto-fix what's fixable, report the rest with specific locations.

Prerequisites

Verify these tools are available before running checks. All run via bunx — no global installs needed.

  • biome — formatter and linter (bunx biome)
  • tsc — TypeScript compiler for type checking (bun run tsc or bunx tsc)
  • bun test — test runner (built into Bun)

If the project uses prettier + eslint instead of Biome, adapt accordingly — check package.json for which tools are configured.

Check Sequence

Run checks in this order. Formatting first so later tools analyze clean code.

1. Format (auto-fix)

Run bunx biome format --write . — report which files were modified. If no files changed, report "formatting clean."

If the project uses Prettier instead, run bunx prettier --write ..

2. Lint fix (auto-fix)

Run bunx biome check --fix . — apply safe auto-fixes for lint and import organization. Report which rules were fixed and in which files.

If the project uses ESLint instead, run bunx eslint --fix ..

3. Lint (report)

Run bunx biome check . — report remaining issues with file, line, rule name, and message. If a biome.json or biome.jsonc exists, it's picked up automatically.

If using ESLint, run bunx eslint ..

4. Type check (report)

Run bunx tsc --noEmit — report type errors with file, line, and error code. If a tsconfig.json exists, it's picked up automatically. Skip this step for pure JavaScript projects with no tsconfig.json.

5. Test (report)

Run bun test — if test files exist (*.test.ts, *.spec.ts, or a __tests__/ directory). Report pass/fail counts. If no tests exist, note it in the summary.

If the project uses a different runner (vitest, jest), check package.json scripts and use the appropriate command.

Output

After all checks complete, present a summary table:

| Check       | Status | Details              |
|-------------|--------|----------------------|
| biome fmt   | FIXED  | 4 files formatted    |
| biome fix   | FIXED  | 2 auto-fixes         |
| biome check | PASS   |                      |
| tsc         | FAIL   | 3 type errors        |
| bun test    | PASS   | 12 passed, 0 failed  |

Then list specific issues grouped by file, with line numbers and rule/error codes. Offer to fix reported issues if the user wants.

Tool Detection

Check package.json and config files to determine the project's toolchain:

| Signal | Toolchain | | ------------------------------------- | ---------------- | | biome.json or biome.jsonc | Biome | | .eslintrc.* or eslint.config.* | ESLint | | .prettierrc.* or prettier in deps | Prettier | | tsconfig.json | TypeScript | | vitest in deps | Vitest | | jest in deps | Jest | | None of the above | Default to Biome |

Do not use when

  • Checking code in another language — use the matching bash-quality-gate, go-quality-gate, or python-quality-gate
  • Deep structural refactoring — use refactor-clean
  • Reviewing a staged or branch diff — use diff-review