跳到正文
cccskills
免费在 GitHub 公开

pull

Pull the latest remote base branch into the current local branch and resolve merge conflicts (aka update-branch). Use when the agent needs to sync a feature branch with origin, perform a merge-based update (not rebase), and guide conflict resolution best practices.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md5.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Pull

Workflow

  1. Resolve the bundled repo helper from the runtime automation directory and verify repo status is clean before merging:
    • automation_dir="${SYMPHONY_WORKSPACE_AUTOMATION_DIR:?SYMPHONY_WORKSPACE_AUTOMATION_DIR is required}"; repo_cmd="$automation_dir/bin/repo"
    • "$repo_cmd" status
  2. Ensure rerere is enabled locally:
    • "$repo_cmd" enable-rerere
  3. Confirm remotes and branches:
    • Ensure the origin remote exists.
    • Ensure the current branch is the one to receive the merge through the bundled repo helper.
    • Determine the repo's base branch before merging. Prefer the workflow or PR target when it is explicit; otherwise use the remote default branch (for example origin/HEAD).
  4. Fetch latest refs:
    • "$repo_cmd" fetch
  5. Sync the remote feature branch first:
    • branch=$("$repo_cmd" current-branch)
    • "$repo_cmd" merge "origin/$branch" --ff-only
    • This pulls branch updates made remotely (for example, a repo-provider auto-commit) before merging the latest remote base branch.
  6. Merge in order:
    • Prefer "$repo_cmd" sync-base --base "<base-branch>" so repo-core owns the fetch and base-merge side effects together.
  7. If conflicts appear, resolve them (see conflict guidance below), then:
    • stage the resolved files
    • continue or commit the merge according to the repository's normal merge workflow
  8. Verify with the target repository's documented checks when present.
  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 "$repo_cmd" status to list conflicted files.
    • Use "$repo_cmd" diff or "$repo_cmd" diff --merge to see conflict hunks.
    • Use "$repo_cmd" diff :1:path/to/file :2:path/to/file and "$repo_cmd" 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/theirs only 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:
    • "$repo_cmd" 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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

commit

免费

Create a well-formed git commit from current changes using session history for rationale and summary; use when asked to commit, prepare a commit message, or finalize staged work.

中文简介正在准备中。当前显示原文说明。

joosure/Maestro272026年7月9日 更新

commit

免费

Create a well-formed repository commit from current changes using session history for rationale and summary; use when asked to commit, prepare a commit message, or finalize staged work.

中文简介正在准备中。当前显示原文说明。

joosure/Maestro272026年7月9日 更新

debug

免费

Investigate stuck runs and execution failures by tracing Symphony agent-provider logs with issue/session identifiers; use when runs stall, retry repeatedly, or fail unexpectedly.

中文简介正在准备中。当前显示原文说明。

joosure/Maestro272026年7月9日 更新

debug

免费

Investigate stuck runs and execution failures by tracing Symphony and Codex logs with issue/session identifiers; use when runs stall, retry repeatedly, or fail unexpectedly.

中文简介正在准备中。当前显示原文说明。

joosure/Maestro272026年7月9日 更新

land

免费

Land a PR by monitoring conflicts, resolving them, waiting for checks, and squash-merging when green; use when asked to land, merge, or shepherd a PR to completion.

中文简介正在准备中。当前显示原文说明。

joosure/Maestro272026年7月9日 更新

linear

免费

Use Symphony's generated typed Linear tools for tracker workflow actions. Provides Linear capability semantics and workpad rules.

中文简介正在准备中。当前显示原文说明。

joosure/Maestro272026年7月9日 更新

查看 joosure 的全部技能

报告此技能的问题