---
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"
---
<!-- BEGIN:compound:skill-managed -->
# 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.
<!-- END:compound:skill-managed -->

## Manual notes

_This section is preserved when the skill is updated. Put human notes, caveats, and exceptions here._
