plugins/python-lint-fix/skills/python_lint_fix/SKILL.md
Runs ruff, mypy, and bandit on changed Python files — explains violations and auto-fixes with ruff check --fix. Use when asked to "lint", "fix lint", "check types", "type check", "run mypy", "run ruff", "python quality", or "lint python files".
npx skillsauth add shouenlee/ghcp-dev-plugin python_lint_fixInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze Python files for lint violations, type errors, and security issues using ruff, mypy, and bandit. Automatically fix what can be fixed and explain remaining issues.
The following tools must be installed. If missing, install them with:
uv pip install ruff mypy bandit
Identify target files -- determine which Python files to check. Use changed files from git or user-specified paths:
git diff --name-only HEAD -- '*.py'
If the user specifies files or directories, use those instead.
Run ruff check on the target files and capture the output:
ruff check <files>
Run mypy on the target files and capture the output:
mypy <files>
Run bandit on the target files and capture the output:
bandit -r <files>
Present findings grouped by tool. For each issue, include:
file:line)E501, F841, B101)Offer to auto-fix issues that ruff can handle automatically:
ruff check --fix <files>
ruff format <files>
Re-run checks to confirm fixes were applied and report any remaining issues:
ruff check <files>
mypy <files>
bandit -r <files>
| Problem | Cause | Solution |
|---------|-------|----------|
| ruff: command not found | ruff is not installed | Run uv pip install ruff or pip install ruff |
| mypy: command not found | mypy is not installed | Run uv pip install mypy or pip install mypy |
| bandit: command not found | bandit is not installed | Run uv pip install bandit or pip install bandit |
| mypy reports Cannot find implementation or library stub | Missing type stubs for third-party packages | Run mypy --install-types or add stubs with uv pip install types-<package> |
| mypy reports Skipping analyzing | Module is not in the mypy search path | Add the source directory to mypy.ini or pyproject.toml under [tool.mypy] with mypy_path |
| ruff ignores some files | Files are excluded in pyproject.toml or ruff.toml | Check [tool.ruff] exclude patterns in your config file |
| Too many issues reported | No config file limiting rule set | Create a ruff.toml or [tool.ruff] section in pyproject.toml to select specific rule sets |
| bandit reports false positives | Some rules are too strict for your codebase | Use # nosec inline comments or configure exclusions in .bandit or pyproject.toml |
| ruff check --fix did not fix all issues | Some violations require manual intervention | Review the remaining issues and fix them by hand; ruff marks auto-fixable rules in its output |
tools
Decomposes feature descriptions or GitHub issues into ordered subtasks with file-level scope, acceptance criteria, and optional gh issue create. Use when asked to "break down task", "decompose feature", "create subtasks", "plan implementation", "break this into tasks", "task list", or "implementation plan".
documentation
Generates changelogs from conventional commits, bumps semantic versions in pyproject.toml or package.json, and publishes GitHub releases. Use when asked to "create release", "release notes", "changelog", "bump version", "semantic version", "tag release", "publish release", or "what changed since last release".
development
Create new Agent Skills for GitHub Copilot from prompts or by duplicating this template. Use when asked to "create a skill", "make a new skill", "scaffold a skill", or when building specialized AI capabilities with bundled resources. Generates SKILL.md files with proper frontmatter, directory structure, and optional scripts/references/assets folders.
development
Fetch active PR review threads from GitHub and resolve them by making code changes. Use when the user wants to address, fix, or resolve PR review comments automatically.