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 diffshows changes undersrc/*.egg-info/**(for examplePKG-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-infois expected to be committed in this repo. - If you did not, treat
*.egg-infoas generated output.
- If you did change packaging metadata (dependencies, project metadata, versioning), keep investigating whether
- 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-infochanges.
- If diffs are only
- Normalize the working tree using the repo's standard setup/install workflow (for uv repos, typically
uv sync --devanduv 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.