AgentSkillsCN

lint-fix

采用迭代方式运行代码检查工具,自动修复问题,并借助主干分支解决剩余的各类问题。

SKILL.md
--- frontmatter
name: lint-fix
description: Iteratively run linters, apply auto-fixes, and resolve remaining issues using Trunk.

Lint & Fix with Trunk

Purpose

This skill provides an autonomous loop for identifying, fixing, and verifying linting and formatting issues using trunk. Use this when you need to ensure the codebase adheres to project standards or when fixing specific lint errors.

Loop Logic

  1. Auto-Format: Run trunk fmt (or trunk fmt -a) to apply automatic formatting fixes.
  2. Discovery: Run trunk check -y (or trunk check -a -y for all files) to list current linting issues.
  3. Analyze: For any remaining issues from Step 2:
    • Examine the error message and the failing code.
    • Identify the specific rule being violated (e.g., Ruff E501, Shellcheck SC2086).
  4. Fix: Apply the minimum necessary change to resolve the manual fix required.
  5. Verify: Re-run trunk check -y on the affected file(s).
    • If passed: Move to next issue.
    • If failed: Analyze the new failure and repeat the loop.

Termination Criteria

  • No more errors reported by trunk check -y.
  • Reached max iteration limit (default: 5).

Common Commands

TaskCommand
Check changed filestrunk check -y
Check all filestrunk check -a -y
Format changed filestrunk fmt
Format all filestrunk fmt -a
Check specific filetrunk check -y <path>
Format specific filetrunk fmt <path>

Examples

Scenario: Fixing Python Lint Errors

  1. trunk check -y reports ruff: D103 (missing docstring) in scripts/utils.py (after auto-fixing unused imports).
  2. Agent adds the missing docstring in scripts/utils.py.
  3. trunk check -y scripts/utils.py passes.