跳到正文
cccskills
免费在 GitHub 公开

eval-pr

Set up a git worktree to run and evaluate an upstream Pull Request locally in a flat worktree bare clone repository layout.

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

PAIR-code/deliberate-lab星标 97(GitHub 97 + cccskills 0)
集成工具GitHub

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md5.9 KB

SKILL.md(原文)

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

Evaluate Pull Request

This skill helps an AI assistant set up a clean, isolated git worktree to evaluate an upstream pull request (PR) locally. This ensures your active development workspace is completely unaffected while testing community contributions or colleague PRs.

When to use

Invoke this skill when the user asks to:

  • "Set up a worktree to run PR <ID> locally"
  • "Check out PR <ID> to test"
  • "Evaluate pull request <ID> locally"
  • "Set up a worktree for PR <ID>"
  • "Update PR <ID> to the latest"
  • "Refresh my local copy of PR <ID>"
  • "Sync PR <ID> worktree"
  • "Pull new changes for PR <ID>"

[!TIP] Pair with pr-test-plan: Before or after checking out a PR worktree, invoke the pr-test-plan skill to determine if runtime testing is required and synthesize a 7-part manual experiment verification plan.

Prerequisites

The local repo must have a triangle workflow configured with:

  • origin pointing to the user's fork (e.g. jimbojw/deliberate-lab)
  • upstream pointing to the canonical repo (PAIR-code/deliberate-lab)

Verify with git remote -v.

It also assumes a bare repository layout with flat worktrees (e.g. main/, feature branches, and .bare/ reside under a single parent directory). Verify this layout with:

git worktree list

Procedure

Step 1 — Fetch the PR branch

Intent: Fetch the pull request branch directly from upstream without adding the contributor's remote.

You can inspect the PR status and metadata first using the GitHub CLI:

gh pr view <PR-NUMBER> --json number,title,state,headRefName

[!NOTE] While gh pr checkout is common in standard single-checkout repos, in Deliberate Lab's bare repository layout, use git fetch and git worktree add as described below to maintain flat sibling worktrees.

Run the following command from the repo root:

git fetch upstream pull/<PR-NUMBER>/head:pr-<PR-NUMBER>

This fetches the head of PR <PR-NUMBER> and creates a local branch named pr-<PR-NUMBER>.

Step 2 — Determine worktree path and add worktree

Intent: Add a new worktree directory as a sibling to the existing worktree directories.

  1. Find the parent directory of your current worktree. For example, if your current worktree is at /path/to/checkout/deliberate-lab/main, the parent is /path/to/checkout/deliberate-lab/.
  2. Determine the path for the new worktree (e.g., ../pr-<PR-NUMBER>).
  3. Add the worktree:
    git worktree add ../pr-<PR-NUMBER> pr-<PR-NUMBER>
    

Step 3 — Handover

Once the worktree is created, inform the user that it is ready and provide the path to switch to. The user will handle installing dependencies, building, and running the project from their IDE/terminal.

Step 4 — Formulate Manual Test Plan (pr-test-plan)

Before or after switching into the evaluation worktree, invoke the pr-test-plan skill to audit the author's test plan or synthesize Deliberate Lab's canonical 7-part experiment test plan:

  • Verifies whether the PR alters user-experienced runtime behavior vs. non-runtime paths or pure refactors.
  • Deduces template, stages sequence, cohort size, agent mediator/participant configs, tester actions, and success criteria.
  • Provides a step-by-step walkthrough for manual verification in ./run_locally.sh.

Updating an Existing PR Worktree

If the PR author has pushed new commits and the user wants to refresh their local copy, follow this procedure instead of Steps 1–3.

Detect an existing worktree

Before running the initial setup steps, check whether a worktree for the PR already exists:

git worktree list

If a worktree named pr-<PR-NUMBER> already exists, skip Steps 1–3 and continue with the update procedure below.

Update procedure

From inside the existing PR worktree directory (e.g. ../pr-<PR-NUMBER>):

# 1. Fetch the latest PR head from upstream
git fetch upstream pull/<PR-NUMBER>/head

# 2. Reset the local branch to match
git reset --hard FETCH_HEAD

[!IMPORTANT] Why git reset --hard FETCH_HEAD? This is someone else's PR — we should not rebase or merge. We want our local branch to be an exact mirror of whatever the PR author has pushed. reset --hard achieves this cleanly.

[!WARNING] If the user has made local modifications to the PR branch (e.g. experimental changes while testing), git reset --hard will discard them. Warn the user before running this command if git status shows uncommitted changes or if git log shows local commits beyond the PR's original commits.

After the reset, the user will likely need to reinstall dependencies and rebuild (e.g. npm ci, npm run build -w utils, etc.).

Cleanup when done (Optional reference)

If the user asks to clean up the PR worktree later, or for their reference:

  1. Ensure the user is not actively inside the worktree directory in their terminal.
  2. Remove the evaluation worktree:
    git worktree remove ../pr-<PR-NUMBER>
    
  3. Delete the local evaluation branch:
    git branch -d pr-<PR-NUMBER>
    

Safety & Style Rules

  • Do NOT nest worktrees: Never run git worktree add to create a directory inside an existing worktree directory. Always place it as a sibling under the main checkout directory.
  • Do NOT use -D to delete branches: Always use git branch -d (lowercase) so git can confirm there are no unmerged commits before deletion.
  • Never rebase or merge someone else's PR branch: The goal is to mirror the PR exactly, not to modify its history or mix in other changes.
  • Always warn about uncommitted changes: Before running git reset --hard, check git status and git log for local modifications or commits that would be lost.

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

gh

免费

Run GitHub CLI commands and inspect GitHub Issues and Pull Requests cleanly without PTY Glamour terminal truncation or comment-stripping traps.

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

PAIR-code/deliberate-lab972026年10月25日 更新

Evaluate Pull Requests for participant or experimenter UX changes, determine runtime behavioral impact, audit and synthesize Deliberate Lab's 7-part manual experiment test plans, and interactively co-author verification steps.

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

PAIR-code/deliberate-lab972026年10月25日 更新

Reflect on pairing sessions from the AI perspective using the FAR framework (Friction, Ambiguity, Repetition), present observations conversationally, and anchor generalizable improvements as GitHub issues or comments.

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

PAIR-code/deliberate-lab972026年10月25日 更新

Inspect the local Deliberate Lab workspace environment, Node.js version, bare repository worktrees, remotes, git status, and toolchain readiness.

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

PAIR-code/deliberate-lab972026年10月25日 更新

Deterministic synchronization of trunk, PR evaluation worktrees, and drift reporting in Deliberate Lab's bare repository workspace.

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

PAIR-code/deliberate-lab972026年10月25日 更新

查看 PAIR-code 的全部技能

报告此技能的问题