Agent skill

Manually QA Branch

by imbue-ai in imbue-ai/sculptor

Test a pull request by creating a shallow clone at the PR's commit and launching Sculptor.

MITAuto-check passedDevelopment

Install Manually QA Branch

skills CLI
$ npx skills add imbue-ai/sculptor --skill manually-qa-branch -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install imbue-ai/sculptor manually-qa-branch --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/manually-qa-branch .claude/skills/manually-qa-branch && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
manually-qa-branch
GitHub stars
238
Token cost
~1.9k tokens
SKILL.md length
1,012 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
MIT

At a glance

Test a pull request by creating a shallow clone at the PR's commit and launching Sculptor.

  • Works in 7 steps: Parse the PR number → Fetch the PR details → Use a well-known cache directory → …
  • You need to test changes from a specific PR in isolation
  • SKILL.md covers Usage, What This Skill Does, Implementation Steps and Important Notes, plus 1 more section
  • Calls just, git and gh; needs SESSION_TOKEN and GH_TOKEN

What it does

Manually QA Branch is an agent skill from imbue-ai/sculptor. Test a pull request by creating a shallow clone at the PR's commit and launching Sculptor. Use when you need to test changes from a specific PR in isolation.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Pull requests. The repository describes itself as: Build product with grounded, parallel coding agents. The licence is MIT.

When your agent uses it

  • You need to test changes from a specific PR in isolation
  • Tasks that involve Pull requests

Example prompts

  • “/manually-qa-branch”

Requirements

  • A credential in SESSION_TOKEN

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Parse the PR number
  2. Fetch the PR details
  3. Use a well-known cache directory
  4. Clone or update the repository at the specific commit
  5. Setup the environment
  6. Launch Sculptor in the background
  7. Run the code review in parallel

What it can do on your machine

Read from SKILL.md and the folder at commit f847102. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • just
    • git
    • gh
    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, gh and uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SESSION_TOKEN
    • GH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Manually QA Branch loads about 1.9k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 1,012 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from imbue-ai/sculptor at commit f847102, republished under its MIT licence (© imbue-ai). 1,012 words, ~1,881 tokens.

Download SKILL.mdSave it as .claude/skills/manually-qa-branch/SKILL.md (or your agent's skills folder).
name
manually-qa-branch
description
Test a pull request by creating a shallow clone at the PR's commit and launching Sculptor. Use when you need to test changes from a specific PR in isolation.

Test Pull Request

This skill allows you to test a pull request by creating a shallow clone of the repository at the PR's commit and launching the Sculptor app. It uses the gh CLI to fetch the PR's details (requires authenticated gh — gh auth login or GH_TOKEN).

Usage

/manually-qa-branch <NUMBER>

Examples:

  • /manually-qa-branch 1234 - Test pull request 1234

What This Skill Does

  1. Fetches the PR details via gh
  2. Gets the source branch and latest commit SHA from the request
  3. Clones/updates the repository in a well-known cache directory at that specific commit
  4. Runs uv sync to sync dependencies
  5. Runs just install to install the project (reuses build cache from previous PR tests)
  6. Launches just start in the background so the user can manually test the app
  7. Immediately runs an automatic code review of the PR diff via the /code-review-checklist skill — in parallel with the user's manual testing — and presents findings as a markdown table

Implementation Steps

When this skill is invoked, follow these steps:

Step 1: Parse the PR number

Extract the PR number from the argument, removing any leading "#" if present.

Step 2: Fetch the PR details

Fetch the PR as JSON:

bash
gh pr view <NUMBER> --json number,title,body,baseRefName,headRefName,headRefOid,url,state

From it you need:

  • source branch — .headRefName
  • head commit SHA — .headRefOid
  • target branch — .baseRefName
  • title — .title
  • description — .body
  • PR URL — .url

Compute the diff base for the post-test review locally as git merge-base <TARGET_BRANCH> <SHA> after Step 7 fetches the target branch.

Step 3: Use a well-known cache directory

Use a consistent cache directory to preserve build artifacts across PR tests:

bash
CACHE_DIR="$HOME/.cache/sculptor-mr-testing"

This directory will be reused for all PR tests, keeping the build cache warm.

Step 4: Clone or update the repository at the specific commit

If the cache directory doesn't exist, create it and do an initial clone. Derive the clone URL from the current repo's origin rather than hardcoding a host:

bash
if [ ! -d "$CACHE_DIR" ]; then
  git clone "$(git remote get-url origin)" "$CACHE_DIR"
fi

Then fetch and checkout the specific commit:

bash
cd "$CACHE_DIR"
git fetch origin "+refs/heads/<SOURCE_BRANCH>:refs/remotes/origin/<SOURCE_BRANCH>"
git checkout <SHA>

Note: This approach reuses the same directory, so just install can reuse build caches from previous PR tests.

Step 5: Setup the environment

Run the following commands in sequence:

bash
cd "$CACHE_DIR"
uv sync
just install
Step 6: Launch Sculptor in the background

CRITICAL: Launch just start as a background process (run_in_background: true on the Bash tool). Do NOT block on it. The whole point of this skill is for the agent to run a code review in parallel with the user's manual testing — if you wait for just start to exit, the user will be stuck waiting for the review until they stop the app.

You MUST also unset several environment variables before launching to avoid port conflicts and authentication issues:

bash
env -u SESSION_TOKEN -u SCULPTOR_API_PORT -u SCULPTOR_FRONTEND_PORT just start

Testing the onboarding flow? Plain just start seeds a dev config and skips the welcome flow, landing straight in the app — ideal for QAing the PR's feature. To walk the full first-run/onboarding flow instead, swap just start for just start-onboard (alias just source) in the command above. Both exist only on branches that include the fast-QA just start change; on older branches just start still shows onboarding.

Run that command via the Bash tool with run_in_background: true. Note the shell ID returned — you'll use it later to check on the app if needed.

After launching, briefly tell the user the app is starting up and that you're beginning the code review in parallel. Then proceed immediately to Step 7 — do NOT poll, sleep, or ask the user to confirm anything.

Why these env vars must be unset:

  • SESSION_TOKEN: The tmux backend starts without SESSION_TOKEN (no auth required). The Electron app generates its own SESSION_TOKEN. If SESSION_TOKEN is inherited from the parent shell, it causes a mismatch and 403 errors.
  • SCULPTOR_API_PORT / SCULPTOR_FRONTEND_PORT: The parent Sculptor process sets these to the ports it's currently using (e.g. 49325). If they leak into the PR's just start, the PR's backend will try to bind to the same port as the production app, fail with "address already in use", and the Electron app will connect to the wrong (production) backend — causing CORS and auth errors. Unsetting them lets the justfile use its own defaults (1224 / 5173), which won't conflict.
Show full SKILL.md (363 more words)Show less
Step 7: Run the code review in parallel

Immediately after launching the app in the background, run a code review of the PR diff while the user is manually testing.

  1. Make sure the target branch is fetched in the cache directory so the diff base is available locally:

    bash
    cd "$CACHE_DIR"
    git fetch origin "+refs/heads/<TARGET_BRANCH>:refs/remotes/origin/<TARGET_BRANCH>"
  2. Invoke the /code-review-checklist skill via the Skill tool. Pass the following context to it:

    • Working directory: $CACHE_DIR (the cloned request checkout)
    • Diff range: <BASE_SHA>...<SHA> where <BASE_SHA> is git merge-base <TARGET_BRANCH> <SHA> and <SHA> is the request head SHA
    • Stated goal: the request title and description, plus the request URL for reference

    Example invocation message to the skill:

    Please review this PR.
    
    - PR: <NUMBER> — <TITLE>
    - URL: <URL>
    - Working directory: <CACHE_DIR>
    - Diff: git diff <BASE_SHA>...<SHA>
    
    Request description:
    <DESCRIPTION>
  3. The skill will produce a markdown findings table followed by a short summary. Present its output directly to the user — do not edit or summarize it further.

  4. After presenting the review, tell the user:

    • The Sculptor app is still running in the background for them to keep testing
    • The request checkout is at $CACHE_DIR if they want to dig deeper
    • They can stop the app whenever they're done

Important Notes

  • This skill requires authenticated gh access (gh auth login or GH_TOKEN)
  • The clone is created in $HOME/.cache/sculptor-mr-testing and reused across PR tests for fast build times
  • The just start command will block until the user stops the app (Ctrl+C)
  • After the app is stopped, inform the user that they can find the PR code at $HOME/.cache/sculptor-mr-testing
  • The cached directory can be manually deleted with rm -rf ~/.cache/sculptor-mr-testing if needed

Error Handling

  • If gh is not authenticated, tell the user to set it up with gh auth login
  • If the PR number is not found, display a helpful error message
  • If fetching the PR fails, show the error and suggest checking the PR number and network connection
  • If origin is not a hosted remote (e.g. a local filesystem path), there is no PR to fetch — tell the user this skill needs a hosted remote
  • If git clone fails, it might be because the branch was deleted - inform the user

© imbue-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/manually-qa-branch of imbue-ai/sculptor.

Open the folder on GitHubat commit f847102

Compare with similar skills

Manually QA Branch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Manually QA Branch compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Manually QA Branch this skillimbue-ai/sculptor238—~1.9kAutomated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT
PR Design DocOpenHands/OpenHands90k—~2.4kAutomated safety check: PassMIT
WooCommerce Code Reviewwoocommerce/woocommerce11k3 repos~1.1kAutomated safety check: PassCustom licence

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • PR Design Doc

    OpenHands/OpenHands

    For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…

    90k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • WooCommerce Code Review

    woocommerce/woocommerce

    Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.

    11k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Record PR Demo

    payloadcms/payload

    A skill your agent uses when a Payload pull request needs a concise visual walkthrough for reviewers.

    45k GitHub stars~1k tokensUpdated today
    DevelopmentAuto-check passed

More from imbue-ai/sculptor

All 29 skills in this repo
  • Auto QA Iphone

    imbue-ai/sculptor

    QA the Sculptor mobile web UI on a real iOS Simulator, driven headlessly from a Mac.

    238 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Measure React Renders

    imbue-ai/sculptor

    Compare React component render counts between origin/main and the current branch during a user-defined UI scenario (e.g.

    238 GitHub stars~603 tokensUpdated today
    Auto-check passed
  • Post PR To Slack

    imbue-ai/sculptor

    Post a one-line PR announcement to a Slack channel, and mark it :merged: when the PR merges.

    238 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Batch Claude Runner

    imbue-ai/sculptor

    Run Claude programmatically against collections of files in the codebase.

    238 GitHub stars~308 tokensUpdated today
    Auto-check passed
  • Build Sculptor Extension

    imbue-ai/sculptor

    Build or modify a Sculptor extension — a runtime ESM module loaded into the Sculptor UI.

    238 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Code Review Checklist

    imbue-ai/sculptor

    Review a set of code changes against Sculptor's review categories and produce a markdown findings table.

    238 GitHub stars~3.6k tokensUpdated today
    Auto-check passed

Categories

Questions about Manually QA Branch

What does Manually QA Branch do?

Test a pull request by creating a shallow clone at the PR's commit and launching Sculptor. Manually QA Branch is an agent skill from imbue-ai/sculptor. Test a pull request by creating a shallow clone at the PR's commit and launching Sculptor.

When should I use Manually QA Branch?

Manually QA Branch fits situations like: you need to test changes from a specific PR in isolation; tasks that involve Pull requests.

How do I install Manually QA Branch in Claude Code?

Run `npx skills add imbue-ai/sculptor --skill manually-qa-branch -a claude-code`. Or copy the skill folder (.claude/skills/manually-qa-branch in imbue-ai/sculptor) into .claude/skills/manually-qa-branch in your project. Claude Code loads it when a task matches its description.

How do I install Manually QA Branch in Codex?

Run `npx skills add imbue-ai/sculptor --skill manually-qa-branch -a codex`. Or copy the skill folder (.claude/skills/manually-qa-branch in imbue-ai/sculptor) into .agents/skills/manually-qa-branch in your project. Codex loads it when a task matches its description.

Can I use Manually QA Branch in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add imbue-ai/sculptor --skill manually-qa-branch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/manually-qa-branch, .gemini/skills/manually-qa-branch, .github/skills/manually-qa-branch and .opencode/skills/manually-qa-branch in your project.

What does Manually QA Branch need to run?

Going by SKILL.md and its folder, Manually QA Branch needs the command-line tools its instructions call (just, git, gh and uv) and credentials named SESSION_TOKEN and GH_TOKEN. Our summary lists: A credential in SESSION_TOKEN.

Does Manually QA Branch access the network?

SKILL.md contains no URLs. Its commands use git, gh and uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Manually QA Branch safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Manually QA Branch use?

Manually QA Branch is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Manually QA Branch use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Manually QA Branch?

Skills that share tags, products or a category with Manually QA Branch: Finishing a Development Branch (obra/superpowers, 297k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars) and PR Design Doc (OpenHands/OpenHands, 90k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Manually QA Branch?

imbue-ai (a GitHub organization) maintains it in imbue-ai/sculptor, which has 238 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 2026.

Source: imbue-ai/sculptor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.