Agent Skills: /fix-quality

|

UncategorizedID: phrazzld/claude-config/fix-quality

Install this agent skill to your local

pnpm dlx add-skill https://github.com/phrazzld/claude-config/tree/HEAD/skills/fix-quality

Skill Files

Browse the full folder contents for fix-quality.

Download Skill

Loading file tree…

skills/fix-quality/SKILL.md

Skill Metadata

Name
fix-quality
Description
|

/fix-quality

Fix the highest priority quality infrastructure gap.

What This Does

  1. Invoke /check-quality to audit quality gates
  2. Identify highest priority gap
  3. Fix that one issue
  4. Verify the fix
  5. Report what was done

This is a fixer. It fixes one issue at a time. Run again for next issue. Use /quality-gates for full setup.

Process

1. Run Primitive

Invoke /check-quality skill to get prioritized findings.

2. Fix Priority Order

Fix in this order:

  1. P0: Missing test runner, missing CI workflow
  2. P1: Coverage, git hooks, linting, strict TypeScript
  3. P2: Commitlint, coverage in PRs
  4. P3: Tool upgrades

3. Execute Fix

No test runner (P0):

pnpm add -D vitest @vitest/coverage-v8

Create vitest.config.ts:

import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    globals: true,
    environment: 'node',
    coverage: {
      provider: 'v8',
      reporter: ['text', 'json', 'html'],
    },
  },
});

Add scripts to package.json:

{
  "scripts": {
    "test": "vitest",
    "test:run": "vitest run",
    "coverage": "vitest run --coverage"
  }
}

No CI workflow (P0): Create .github/workflows/ci.yml:

name: CI
on: [push, pull_request]
jobs:
  quality:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: 'pnpm'
      - run: pnpm install
      - run: pnpm typecheck
      - run: pnpm lint
      - run: pnpm test:run

No git hooks (P1):

pnpm add -D lefthook
pnpm lefthook install

Create lefthook.yml:

pre-commit:
  parallel: true
  commands:
    lint:
      glob: "*.{ts,tsx}"
      run: pnpm eslint {staged_files}
    typecheck:
      run: pnpm tsc --noEmit

pre-push:
  commands:
    test:
      run: pnpm test:run

TypeScript not strict (P1): Update tsconfig.json:

{
  "compilerOptions": {
    "strict": true
  }
}

4. Verify

After fix:

# Test runner works
pnpm test --run

# Hooks installed
[ -f ".git/hooks/pre-commit" ] && echo "✓ pre-commit hook"

# CI file exists
[ -f ".github/workflows/ci.yml" ] && echo "✓ CI workflow"

5. Report

Fixed: [P0] No test runner configured

Installed:
- vitest
- @vitest/coverage-v8

Created:
- vitest.config.ts
- Added test scripts to package.json

Verified: pnpm test runs successfully

Next highest priority: [P0] No CI workflow
Run /fix-quality again to continue.

Branching

Before making changes:

git checkout -b infra/quality-$(date +%Y%m%d)

Single-Issue Focus

This skill fixes one issue at a time. Benefits:

  • Small, reviewable changes
  • Easy to verify each fix
  • Clear commit history

Run /fix-quality repeatedly to work through the backlog.

Related

  • /check-quality - The primitive (audit only)
  • /log-quality-issues - Create issues without fixing
  • /quality-gates - Full quality setup workflow