git-pull
General↓ 0 installsUpdated 11d ago
Curatedgardusig
>-
SKILL.md preview
---
name: git-pull
description: >-
Fetch; merge @{u} if tracked; merge canonical main (upstream/main if fork else origin/main); resolve conflicts
via read-workflow-merge-conflicts. Optional merge of a user-named branch into current. Does NOT @git-review or @git-push—publish separately.
---
**Normative workflow (commands):** [`read-workflow-workflows`](../../internal/read/workflow/workflows/SKILL.md#git-pull-workflow).
# Pull (merge + resolve conflicts)
Normative fences / full matrix: [`read-workflow-merge-conflicts`](../../internal/read/workflow/merge-conflicts/SKILL.md), [`read-repo-stream`](../../internal/read/repo/stream/SKILL.md).
**Safety / prompts** — Merge commits completing this skill follow the **`@git-pull`** carve-out in **[`read-safety-skill-safety`](../../internal/read/safety/skill-safety/SKILL.md)** (**Exception: `@git-pull` merge commits**): no extra **write gate** per merge. If the working tree is **ambiguous** before you merge, stop and use open-ended **chat** per **[`read-safety-structured-qa`](../../internal/read/safety/structured-qa/SKILL.md)** **§4**. **`@git-push`** still owns publish **write gate** when publishing.
**Conflict resolution** — When merges conflict, execute **[`read-workflow-merge-conflicts`](../../internal/read/workflow/merge-conflicts/SKILL.md)** **in full**. Do not reimplement that playbook here.
## Language interaction policy
Always apply [`read-safety-language-interaction-rules`](../../internal/read/safety/language-interaction-rules/SKILL.md) first. Use English by default for all assistant output, including AskQuestion prompts/options, unless the user explicitly requests another full-language response.
## Before batch
**Always run first** (sequential). Complete every applicable row in this table before execution steps in this skill. Skip a row only when its **When** column does not apply.
| Kind | Skill / library | When |
| --- | --- | --- |
| **Recommended** | [`@git-commit`](../commit/SKILL.md) · [`@git-stash`](../stash/SKILL.md) | Protect local modifications before merge |
| **Tooling** | `git` | Repo root |
## Required internal skills
Run after **Before batch** completes (names only; normative fences in linked libraries).
| Library | Role |
| --- | --- |
| `read-workflow-workflows` | See linked library |
| `read-safety-skill-safety` | See linked library |
| `read-safety-structured-qa` | See linked library |
| `read-workflow-merge-conflicts` | See linked library |
| `read-repo-stream` | See linked library |
## Skip & suggestions
| Flag / param | Role |
| --- | --- |
| **`skip=false`** | Root invocation — offer next-step suggestions after **Verification** |
| **`skip=true`** | Nested public-skill child call — no next-step prompt |
| **`SKIP_QA_GIT_PULL=true`** | Bypass routine write gates for this skill |
| **`SKIP_QA_WRITE=true`** | Shared write-flow Q&A bypass where allowed |
| **`SKIP_SUGGESTIONS=true`** | Suppress next-step suggestions even at root |
High-risk or destructive confirmations still require explicit user confirmation when bypass flags are set.
## Do
- Execute **[`read-workflow-workflows`](../../internal/read/workflow/workflows/SKILL.md#git-pull-workflow)** **in order** (branch check, fetch, optional **named-branch** merge, tracking merge, canonical root merge, stop).
- **Named branch:** When the user names a branch to merge into the current branch (e.g. `origin/develop`), confirm **`MERGE_BRANCH`**, then use **read-workflow-sync** (**Merge named branch**).
- **`CANONICAL_MAIN_REF` / fork semantics:** **[`read-repo-stream`](../../internal/read/repo/stream/SKILL.md)**.
- On conflicts: **[`read-workflow-merge-conflicts`](../../internal/read/workflow/merge-conflicts/SKILL.md)** end-to-end.
## Do not
- **`@git-push`**, **full `@git-review`**, or publishing from this skill—next step is **`@git-review`**, **`@git-push`**, or **`@gh-pr`** per the user’s goal.
- Create or update PRs—that is **`@gh-pr`**.
- Use **`@git-main`** to sync a **feature** br
…