smithery/redhat-ux

pants-format-check

Runs pants formatting, linting, and type checking on Python code, fixing issues automatically. Use when finishing implementation, before committing code, or when the user asks to format, lint, or check code quality.

Installation

$ npx skills add smithery/redhat-ux --skill pants-format-check

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,295 B
  • docs SUMMARY.md 241 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Pants Format and Lint Check

When to Use

Apply this skill automatically when:

  • Finishing implementation of a feature or fix
  • User asks to format, lint, or check code
  • Before committing changes
  • After modifying Python files

Workflow

Follow these steps in order:

Step 1: Remove Unused Imports

Remove unused imports first to prevent common linting errors:

pants --changed-since=HEAD fix ::

This fixes import issues automatically before running full checks.

Step 2: Run Full Format, Lint, and Check

Run the complete pants check suite:

pants fmt lint check ::

This command:

  • fmt: Auto-formats code (isort, black, etc.)
  • lint: Runs linters (flake8, pylint, etc.)
  • check: Runs type checking (mypy)

Step 3: Review and Fix Remaining Issues

If errors remain after Step 2:

  1. Read the error output - pants provides specific file locations and line numbers
  2. Fix the issues - address each error reported
  3. Re-run: pants fmt lint check ::
  4. Repeat until all checks pass

Common Issues and Solutions

Import Errors

If you see "unused import" or "import not found":

  • Remove unused imports
  • Add missing dependencies to BUILD files
  • Check import paths are correct

Type Errors

If mypy reports type issues:

  • Add type hints where missing
  • Fix incorrect type annotations
  • Use # type: ignore comments only as a last resort

Style Errors

If flake8/pylint reports style issues:

  • Most are auto-fixed by pants fmt
  • For manual fixes, follow the error message guidance
  • Check .flake8 and .isort.cfg for project conventions

Success Criteria

✅ All checks pass with no errors ✅ No warnings that need attention ✅ Code is properly formatted and typed

Notes

  • Run this from the repository root (where pants.toml is located)
  • The :: selector checks all targets in the repo
  • For faster checks on specific files, use: pants fmt lint check path/to/file.py
  • Always run before creating commits to catch issues early