
Pull
- 539 installs
- 82 repo stars
- Updated March 12, 2026
- odysseus0/symphony
Helps with ai & agent building tasks.
About
pull is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- pull
- AI & Agent Building
- AI-coding skill
Pull by the numbers
- 539 all-time installs (skills.sh)
- +2 installs in the week ending Jul 26, 2026 (Skillselion tracking)
- Ranked #1,676 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Jul 26, 2026 (Skillselion catalog sync)
npx skills add https://github.com/odysseus0/symphony --skill pullAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 539 |
|---|---|
| repo stars | ★ 82 |
| Last updated | March 12, 2026 |
| Repository | odysseus0/symphony ↗ |
What it does
Helps with ai & agent building tasks.
Files
Pull
Workflow
1. Verify git status is clean or commit/stash changes before merging. 2. Ensure rerere is enabled locally:
git config rerere.enabled truegit config rerere.autoupdate true
3. Confirm remotes and branches:
- Ensure the
originremote exists. - Ensure the current branch is the one to receive the merge.
4. Fetch latest refs:
git fetch origin
5. Sync the remote feature branch first:
git pull --ff-only origin $(git branch --show-current)- This pulls branch updates made remotely (for example, a GitHub auto-commit)
before merging origin/main. 6. Merge in order:
- Prefer
git -c merge.conflictstyle=zdiff3 merge origin/mainfor clearer
conflict context. 7. If conflicts appear, resolve them (see conflict guidance below), then:
git add <files>git commit(orgit merge --continueif the merge is paused)
8. Verify with project checks (follow repo policy in AGENTS.md). 9. Summarize the merge:
- Call out the most challenging conflicts/files and how they were resolved.
- Note any assumptions or follow-ups.
Conflict Resolution Guidance (Best Practices)
- Inspect context before editing:
- Use
git statusto list conflicted files. - Use
git difforgit diff --mergeto see conflict hunks. - Use
git diff :1:path/to/file :2:path/to/fileand
git diff :1:path/to/file :3:path/to/file to compare base vs ours/theirs for a file-level view of intent.
- With
merge.conflictstyle=zdiff3, conflict markers include: <<<<<<<ours,|||||||base,=======split,>>>>>>>theirs.- Matching lines near the start/end are trimmed out of the conflict region,
so focus on the differing core.
- Summarize the intent of both changes, decide the semantically correct
outcome, then edit:
- State what each side is trying to achieve (bug fix, refactor, rename,
behavior change).
- Identify the shared goal, if any, and whether one side supersedes the
other.
- Decide the final behavior first; only then craft the code to match that
decision.
- Prefer preserving invariants, API contracts, and user-visible behavior
unless the conflict clearly indicates a deliberate change.
- Open files and understand intent on both sides before choosing a resolution.
- Prefer minimal, intention-preserving edits:
- Keep behavior consistent with the branch’s purpose.
- Avoid accidental deletions or silent behavior changes.
- Resolve one file at a time and rerun tests after each logical batch.
- Use
ours/theirsonly when you are certain one side should win entirely. - For complex conflicts, search for related files or definitions to align with
the rest of the codebase.
- For generated files, resolve non-generated conflicts first, then regenerate:
- Prefer resolving source files and handwritten logic before touching
generated artifacts.
- Run the CLI/tooling command that produced the generated file to recreate it
cleanly, then stage the regenerated output.
- For import conflicts where intent is unclear, accept both sides first:
- Keep all candidate imports temporarily, finish the merge, then run lint/type
checks to remove unused or incorrect imports safely.
- After resolving, ensure no conflict markers remain:
git diff --check- When unsure, note assumptions and ask for confirmation before finalizing the
merge.
When To Ask The User (Keep To A Minimum)
Do not ask for input unless there is no safe, reversible alternative. Prefer making a best-effort decision, documenting the rationale, and proceeding.
Ask the user only when:
- The correct resolution depends on product intent or behavior not inferable
from code, tests, or nearby documentation.
- The conflict crosses a user-visible contract, API surface, or migration where
choosing incorrectly could break external consumers.
- A conflict requires selecting between two mutually exclusive designs with
equivalent technical merit and no clear local signal.
- The merge introduces data loss, schema changes, or irreversible side effects
without an obvious safe default.
- The branch is not the intended target, or the remote/branch names do not exist
and cannot be determined locally.
Otherwise, proceed with the merge, explain the decision briefly in notes, and leave a clear, reviewable commit history.