# pulling-before-work Policy skill that pulls the current branch from `origin` once at session start and on explicit re-sync requests. Designed to remove the "edited on stale base" footgun without trampling dirty work-trees or auto-merging. ## When it triggers - **Session start** — when `CLAUDE.md` contains the line `pull remote before work` (added by `project-bootstrap` v1.4.0+). - **In-chat** — when the user says `sync`, `resync`, `pull`, `обнови репо`, `git pull please`, or close variants. Stays silent in non-git folders. Prints one informational line and exits in: no `origin` remote, no upstream tracking, dirty work-tree, detached HEAD. ## What it does `git pull --ff-only` against the configured upstream — never auto-merges, never auto-rebases, never stashes, never commits, never pushes. On divergence it prints a warning with manual-resolution hints and exits. ## Prerequisites None. The skill is a no-op outside git repos and folders without an `origin` remote, so it's safe to leave activated everywhere. ## Related - `project-bootstrap` (v1.4.0+) — adds the trigger line to new and existing projects' `CLAUDE.md`. - `.wiki/concepts/pulling-before-work-design.md` (in projects bootstrapped from this repo: this design lives in `claude-skills`) — full design rationale.