.claude/skills/lint-fix/SKILL.md
Run the project's linters (backend flake8/black, frontend ESLint) and fix violations only on files touched in the current session — no speculative refactors per CLAUDE.md Rule 5.
npx skillsauth add RahmanBhuiyan/monthly-budget-planning-rd .claude/skills/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.
You are running the lint pass for the current session.
Only fix lint issues in files this session touched. Do not "while I'm here" the rest of the codebase. The diff vs master is your scope:
git diff master...HEAD --name-only
Anything outside that list is out of scope, even if it has lint errors. File a separate chore(lint): cleanup <area> ticket for those.
Project standards from Documents/Process/CodeStandardAndGuide.md §1:
black (line length 100) — if installed.flake8 — if installed.Procedure:
cd backend
source venv/bin/activate 2>/dev/null
# Get the touched python files in scope
files=$(git diff master...HEAD --name-only -- '*.py' | grep -v 'tests/' || true)
# Format
if command -v black >/dev/null; then
black --line-length 100 $files
fi
# Lint
if command -v flake8 >/dev/null; then
flake8 --max-line-length 100 $files
fi
If flake8 / black are not installed, output a note:
"Lint tooling not installed — see
Documents/Project/ticket-inventory.md(open a chore ticket:chore(infra): add backend lint deps)."
For each violation:
E501 (line too long): break at logical points, not mid-expression.F401 (unused import): remove. If the import has a side effect, add # noqa: F401 with a one-line reason.E712 (comparison to True/False): use if x: not if x == True:.E722 (bare except): catch a specific exception. Bare except: is forbidden in financial code.flake8 docs and fix per the spirit, not the letter.Project standards from Documents/Process/CodeStandardAndGuide.md §2:
react-app + react-app/jest presets (already in package.json).Procedure:
cd frontend
files=$(git diff master...HEAD --name-only -- 'src/**/*.js' 'src/**/*.jsx' 'src/**/*.css')
# CRA exposes lint via:
npm run lint -- $files 2>&1 || true
# If that's not configured, fall back to:
npx eslint $files 2>&1 || true
For each violation:
react-hooks/exhaustive-deps: add the missing dep OR explain in a comment why it's intentional. Don't // eslint-disable without a reason.no-unused-vars: remove (or rename to _var if intentionally kept).react/jsx-key: replace key={i} with a stable id (this is BUG-10 in ticket-inventory.md).no-console: remove debug console.log. console.error for genuine error reporting is OK if intentional.prettier if it isn't already configured). That's a chore ticket.eslint-disable-next-line to suppress a rule without a comment justifying it — that's just hiding the problem./done or /commit.Report:
## lint-fix — session scope
### Backend (N files in scope)
- Tooling: flake8 / black / not installed
- Issues found: N
- Issues fixed: N
- Issues remaining (out-of-scope or unsafe to auto-fix): N — list them
### Frontend (N files in scope)
- Tooling: eslint via npm run lint / npx eslint / not configured
- Issues found: N
- Issues fixed: N
- Issues remaining: N — list them
Next step: re-run /done OR address the remaining issues OR file chore tickets.
development
Generate a weekly summary of commits on master — categorized highlights, statistics, and draft email/standup notes. Useful for sprint retros and release notes.
development
Read recent code changes and update the affected docs under Documents/. Documents the *current* state, not history. Use after a feature lands or when docs have drifted.
testing
# Statusline Setup — Smart Expense & Budget Tracker A two-row statusline tailored for this project's SDLC workflow. Adapted from [fotoflo/claude-skills](https://github.com/fotoflo/claude-skills/tree/main/statusline-setup). ## What you see **Row 1 — project context** ``` ~/project/monthly-budget-planning-rd (feature/audit-deep-read) [opus] session-name #BUG-1 [BIZ-QC ✓] ``` | Element | Meaning | |---------|---------| | `~/project/...` (green) | Current working directory | | `(branch)` (c
development
Run the pre-flight checklist from Documents/DevOps/ReleaseRunbook.md before cutting a release. Reports PASS or BLOCKED with specific reasons.