跳到正文
cccskills
免费在 GitHub 公开

review-all

Review every open pull request authored by the user in this repository and address actionable unresolved review feedback. Use when the user says "/review-all", "review all", "review all my PRs", asks to iterate on all of their PR review comments, or wants all open PR feedback inspected, fixed, tested, committed, pushed, and resolved.

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

jtenniswood/espcontrol星标 1,120(GitHub 1,120 + cccskills 0)
集成工具GitHub

实测评分 未实测

查看安装方法

包含的文件(2)

  • SKILL.md5.7 KB
  • agents/openai.yaml210 B

SKILL.md(原文)

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

Review All

Goal

Run the /pr-review workflow across all open pull requests authored by the user, not just one PR. Find unresolved review threads, make focused fixes on the matching PR branches, push each update, and resolve only the threads that were truly addressed.

This skill is for feedback iteration. It is not for reviewing outside contributions for merge safety; use /pr for that.

Rules

  • Protect main. Do not edit the main worktree for PR fixes.
  • Work in each PR branch's existing worktree when available; otherwise create a separate worktree.
  • Do not overwrite unrelated local changes. If a PR worktree has unrelated changes, inspect them and work around them.
  • Keep each PR fix scoped to its own branch.
  • Commit and push every branch where changes are made.
  • Resolve only the review thread IDs that the pushed changes actually address.
  • Leave unclear, non-actionable, or intentionally rejected feedback unresolved and explain why.
  • Do not include "Codex" in branch names, commit subjects, or PR titles.

Workflow

1. List the user's open PRs

Use gh from the repository root:

gh pr list --state open --author @me --limit 100 \
  --json number,title,author,headRefName,baseRefName,reviewDecision,updatedAt,url

If the user supplied a different owner or author, use that explicit value. Otherwise assume @me.

2. Collect unresolved review feedback

For each open PR, use thread-level GraphQL data so resolved feedback is not repeated. Review threads must be paginated before filtering for unresolved items; do not assume first:100 is the complete result set.

gh api graphql -f owner='{owner}' -f name='{repo}' -F number=<pr-number> -f cursor=null -f query='
query($owner:String!, $name:String!, $number:Int!, $cursor:String) {
  repository(owner:$owner, name:$name) {
    pullRequest(number:$number) {
      reviewDecision
      reviewThreads(first:100, after:$cursor) {
        pageInfo {
          hasNextPage
          endCursor
        }
        nodes {
          id
          isResolved
          path
          line
          startLine
          comments(first:20) {
            nodes {
              author { login }
              body
              createdAt
              url
            }
          }
        }
      }
      comments(first:50) {
        nodes {
          author { login }
          body
          createdAt
          url
        }
      }
    }
  }
}'

If reviewThreads.pageInfo.hasNextPage is true, repeat the query with cursor set to endCursor until every page has been collected, then filter for unresolved threads. Summarize the actionable unresolved threads before editing. Ignore already-resolved threads. Treat ordinary PR comments as context unless they clearly describe a current failing check or requested change.

3. Prepare each PR branch

Check current worktrees:

git worktree list --porcelain

Use an existing worktree for the PR branch if one exists. Otherwise fetch and add one:

git fetch origin <head-branch>
git worktree add ../espcontrol-<short-topic> <head-branch>

If the local branch does not exist, create it tracking origin:

git worktree add ../espcontrol-<short-topic> -b <head-branch> origin/<head-branch>

Before edits in every PR worktree:

git status --short --branch

4. Fix feedback branch by branch

For each actionable thread:

  • Read the commented file and surrounding code before editing.
  • Prefer the smallest change that fully preserves intended behavior.
  • Follow existing project patterns and helper APIs.
  • If generated web assets become stale, regenerate them with python3 scripts/build.py www.
  • Do not make unrelated cleanup changes.

When multiple threads are on the same PR, address them together if the fixes are related, then commit once.

5. Run focused checks

Choose checks based on touched files:

npm run check:config
python3 scripts/build.py --check
npm run check:web-smoke
npm run check:firmware-parser
npm run check:firmware-card-runtime
npm run check:firmware-modals
git diff --check

Use the compile skill only when the requested confidence level or file changes require full firmware build validation.

6. Commit and push each fixed branch

git status --short
git add <changed-files>
git commit -m "<short human summary>"
git push

If a branch has no actionable changes, do not create an empty commit.

7. Resolve addressed review threads

After the commit has pushed, resolve only the thread IDs fixed by that push:

gh api graphql -f threadId='<review-thread-id>' -f query='
mutation($threadId:ID!) {
  resolveReviewThread(input:{threadId:$threadId}) {
    thread { id isResolved }
  }
}'

If resolving fails, keep going and report the thread URL so the user can resolve it manually.

8. Verify completion

Run one final paginated unresolved-thread pass across the user's open PRs. The goal is a concrete result such as:

No unresolved review threads found across <n> open PRs authored by @me.

If unresolved threads remain, list the PR number, thread URL, and reason.

Final Update

Keep the final message concise and approachable:

Reviewed <n> open PRs authored by you.

Changed and pushed:
- #<number>: <plain-English fix>

Resolved feedback:
- <count> review thread(s)

Left open:
- <only if any, with reason>

Checks:
- <commands run and pass/fail/skipped>

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

Clean up completed Git branches and worktrees for this repository both locally and on GitHub. Use when the user asks to remove complete, completed, merged, stale, finished, or done branches, delete merged GitHub branches, tidy local worktrees, prune completed PR branches, or clean up branches and worktrees after pull requests have merged.

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

jtenniswood/espcontrol11202026年10月26日 更新

Clean up local branch worktree folders for this repository after their branches or pull requests have merged to main. Use when the user asks to remove merged branch folders, tidy local worktrees, clean old feature branch directories, prune merged PR worktrees, or clean up local development folders without impacting main.

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

jtenniswood/espcontrol11202026年10月26日 更新

compile

免费

Test compile ESPHome firmware for all devices using Docker and fix any YAML or configuration errors until every device compiles successfully. Use when the user says "/compile", "test compile", "compile check", "build test", "check builds", "verify compile", or wants to make sure all devices compile before committing.

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

jtenniswood/espcontrol11202026年10月26日 更新

Review EspControl repository changes specifically for missing, stale, excessive, or misplaced documentation. Use when the user asks for a documentation coverage review, asks whether a feature or behavior change is concisely documented, invokes $docs-review, or explicitly wants docs checked as a secondary pass during a pull request, branch, or local diff review.

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

jtenniswood/espcontrol11202026年10月26日 更新

Provide an expert codebase review for this repository. Use when the user says "Expert Review" or "/expert-review", asks for an expert review, wants refactoring or codebase improvement recommendations, wants consistency and quality assessed, or asks how to reduce duplication, improve component use, preserve the end-user experience, and keep upgrades cleanly migratable.

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

jtenniswood/espcontrol11202026年10月26日 更新

Reimagine this repository from first principles using the current product and user experience as the target. Use when the user says "/expert-reset", asks how the project should be rebuilt if starting again, wants bold architecture or component-structure recommendations, or wants a research-only reset plan unconstrained by current implementation details.

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

jtenniswood/espcontrol11202026年10月26日 更新

查看 jtenniswood 的全部技能

报告此技能的问题