Follow Up On Pr logo

Follow Up On Pr

Organization
Factory-AI
follow-up-on-pr

Follow up on an existing PR by rebasing on the base branch, addressing reviewer comments, fixing CI issues, and pushing updates. Use when the user provides a PR URL or number and wants to get it ready for merge.

Overview

PublisherFactory-AI
Repositoryfactory-plugins
Skill namefollow-up-on-pr
Stars
111
Forks
15
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Factory-AI on GitHub. Read the source before you install it.

Installation

Install the Follow Up On Pr AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Factory-AI/factory-plugins.git /tmp/factory-plugins
mkdir -p .claude/skills
cp -r /tmp/factory-plugins/plugins/code-review/skills/follow-up-on-pr .claude/skills/follow-up-on-pr
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Follow Up On Pr in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Follow Up On Pr on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Follow Up On Pr is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Follow Up on PR

Take over an existing PR, bring it up to date, address all feedback, and push it to a merge-ready state. This skill is language- and framework-agnostic — substitute your project's actual build, lint, test, and format commands where examples are shown.

Inputs

  • PR URL or number (required): e.g. https://github.com/<owner>/<repo>/pull/9996 or #9996
  • Branch name (optional): If not provided, extract from PR metadata

Workflow

1. Study the PR

Fetch the PR via FetchUrl (or gh pr view) to get:

  • File changes (diffs)
  • Reviewer comments (inline and general)
  • CI workflow status and logs
  • PR description and any linked ticket

Read all changed files in depth. Understand the intent and scope of the change.

If the PR fixes a specific issue (e.g. error report, user-reported bug): investigate the root cause before reviewing the code. Confirm the fix addresses the actual problem. PRs are sometimes already superseded by other fixes.

2. Fetch and Check Out the Branch

bash
git fetch origin <branch-name> <base-branch>
git checkout <branch-name>

If the branch doesn't exist locally, git checkout will create a tracking branch from origin/<branch-name>.

3. Rebase on Latest Base Branch

bash
git pull origin <base-branch> --rebase

If conflicts occur:

  1. Read each conflicted file to understand both sides
  2. Resolve conflicts, preserving the PR's intent while incorporating base-branch changes
  3. git add <resolved-files>
  4. git rebase --continue

If rebase is clean: Verify the state with git log --oneline -5 and git diff --stat origin/<base-branch>..HEAD.

4. Address Reviewer Comments

Review comments were already fetched in step 1. For each unresolved comment:

  1. Read the comment and understand what's being asked
  2. Make the code change (or explain why it's not needed)
  3. Add tests if requested
  4. Commit the fix with a descriptive message

Already-addressed comments: Check if a reply already exists (in_reply_to_id field). Skip comments that have been resolved.

5. Run Local CI Checks

Run the project's lint, format, typecheck/compile, and test commands for the affected areas. Discover them by reading the repo root (e.g. Makefile, package.json, pyproject.toml, Cargo.toml, go.mod, build.gradle, mix.exs, Gemfile, composer.json, justfile, Taskfile.yml, README.md, or the CI workflow config).

Prefer filter / target flags to scope runs to the affected areas — it is faster than running the whole repo. Common patterns:

  • JS/TS monorepos: npm run test -- --filter=<workspace>, pnpm -r --filter <pkg> test, nx test <project>
  • Python: pytest <path>, tox -e <env>
  • Rust: cargo test -p <crate>, cargo clippy -p <crate>
  • Go: go test ./<pkg>/..., golangci-lint run ./<pkg>/...
  • Java/Kotlin: ./gradlew :<module>:test, ./mvnw -pl <module> test
  • Bazel: bazel test //path/...

See the create-pr skill's "CI Checks Reference" section for a broader template of local commands matching common CI checks.

Distinguishing pre-existing failures from PR issues: Some CI failures exist on the base branch and are unrelated to the PR. If a failure occurs in a file not touched by the PR, verify it exists on the base branch too before spending time fixing it. Common pre-existing issues include module / package resolution errors for recently-added dependencies.

E2E tests: If the PR changes user-facing behavior (UI flow, defaults, keyboard handling, CLI output), E2E tests may break even if the code is correct. Read the failing test to understand what it expects, then update it to match the new behavior. Don't assume E2E failures are flaky — read them first.

6. Commit and Push

bash
git add -A
git commit -m "<type>(<scope>): <description>"

git push origin <branch-name> --force-with-lease

If a commit-scanning bot blocks the push (Droid-Shield, GitGuardian, TruffleHog, etc.): This happens when unrelated test fixtures contain strings that look like secrets. The agent cannot override these. Tell the user to push manually or temporarily disable the scanner per your org's docs.

7. Reply to Reviewer Comments

Reply to each addressed comment on the PR so reviewers know their feedback was handled.

For inline review comments (the most common type):

bash
# Reply to a specific inline comment thread
gh api repos/<owner>/<repo>/pulls/<N>/comments/<COMMENT_ID>/replies \
  -X POST \
  -f body="<explanation of what was done>"

For general PR-level summary:

bash
gh pr comment <N> --body "<summary of all changes made>"

To check thread resolution status (optional):

graphql
gh api graphql -f query='{
  repository(owner: "<owner>", name: "<repo>") {
    pullRequest(number: <N>) {
      reviewThreads(first: 20) {
        nodes {
          isResolved
          comments(first: 3) { nodes { body author { login } } }
        }
      }
    }
  }
}'

8. Update PR Description

If the changes made during follow-up are significant (new tests, architectural changes, additional scope), update the PR description:

bash
gh pr edit <N> --body "<updated description>"

Use your org's PR template format. Update the testing section to reflect the additional tests added.

Verification

Before considering the task complete, confirm:

  • Branch is rebased on the latest base branch
  • All reviewer comments are addressed with code changes
  • Local lint, typecheck/compile, and tests pass for affected packages
  • Changes are pushed to remote
  • All reviewer comments have replies explaining what was done
  • PR description is up to date

Frequently asked questions

What does the Follow Up On Pr AI skill do?

Follow up on an existing PR by rebasing on the base branch, addressing reviewer comments, fixing CI issues, and pushing updates. Use when the user provides a PR URL or number and wants to get it ready for merge.

Why use Follow Up On Pr on TypingMind?

Because you install it once and use it with any model. Follow Up On Pr is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Follow Up On Pr in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Factory-AI/factory-plugins/tree/master/plugins/code-review/skills/follow-up-on-pr. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Follow Up On Pr?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Follow Up On Pr?

As many as you like. As long as a model supports skills, you can use Follow Up On Pr with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Follow Up On Pr AI skill free?

It is published on GitHub by Factory-AI. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇