What problem does it solve?
Ensures a master repository is returned to its canonical default branch and clean working state, preventing accidental development on the primary branch and making the repo ready for reference, research, or worktree creation.
Core Features & Use Cases
- Safe branch switching: Validates uncommitted changes before switching and uses project metadata to determine the correct default branch.
- Submodule-aware updates: Prefers repository-provided scripts (switch-branches.sh, update-packages.sh) when available to handle submodules consistently.
- Developer stash handling: Lists and selectively applies developer stashes with git stash apply (never pop) and verifies the result.
- Use Case: Prepare a master repo for research by syncing to upstream, updating submodules, and applying the developer configuration stash while preserving stash history.
Quick Start
Run the project-reset skill to return the current repository to its registry-defined default branch and ensure a clean working state.