--- name: egg-info-hygiene description: Handle `src/*.egg-info` diffs in Python repos (uv-driven) to avoid committing generated metadata unintentionally. license: MIT compatibility: opencode,claude metadata: created_at: "2026-01-30T00:47:20.147Z" updated_at: "2026-01-30T00:47:20.147Z" version: "1" --- # Purpose Keep commits/PRs clean when `src/*.egg-info/**` changes appear. # When To Use - `git diff` shows changes under `src/*.egg-info/**` (for example `PKG-INFO`, `requires.txt`). - You did not intentionally change packaging metadata (version, dependencies, build backend). # Procedure - Identify intent: - If you did change packaging metadata (dependencies, project metadata, versioning), keep investigating whether `*.egg-info` is expected to be committed in this repo. - If you did not, treat `*.egg-info` as generated output. - Confirm scope: - If diffs are only `src/*.egg-info/**`, treat as no-op for feature work. - If diffs include real source changes plus `*.egg-info`, keep the source changes and exclude the `*.egg-info` changes. - Normalize the working tree using the repo's standard setup/install workflow (for uv repos, typically `uv sync --dev` and `uv pip install -e .`) and re-check whether the egg-info diffs persist. - If egg-info remains tracked and noisy, document the repo policy explicitly in `AGENTS.md` (do not edit tool-managed fences) so future work treats these changes consistently. # Notes - `src/*.egg-info/**` is commonly generated by editable installs and may change due to environment/tooling rather than code intent. - Do not let egg-info-only diffs drive a commit unless the repo explicitly treats them as source-controlled artifacts. ## Manual notes _This section is preserved when the skill is updated. Put human notes, caveats, and exceptions here._