create-pr-review-from-comments
Converts "AI" comments in local files into Github PR review comments
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
Find the current jj branch name using: jj log -r 'latest(heads(ancestors(@) & remote_bookmarks()), 1)' --limit 1 --no-graph -T bookmarks | tr -d '*' | sed 's/@origin$//'
Then use gh pr list --head <branch-name> to get the number of the PR.
IMPORTANT NOTE: ALL SCRIPTS ARE RELATIVE TO THE SKILL.md file path but you must run them from the repository directory.
Run the extract_comments.ts script to find all AI comments in modified files:
bun scripts/extract_comments.ts
This script will output each comment with:
- File path
- Comment type (single, block_start, block_end)
- The comment line number in the edited file
- The comment text
- The adjacent original line number and content (the line the comment refers to)
Use the "Adjacent Original Line" number as the line field in the Comment structure. For block comments (AI_COMMENT_START/AI_COMMENT_END pairs), use the block_start's adjacent line as startLine and the block_end's adjacent line as line.
interface Comment {
file: string;
startLine?: number;
line: number
text: string;
}
interface Input {
pr: number;
status?: 'comment' | 'requestChanges' | 'approve';
body: string;
comments: Comment[];
}
Once you have that, read the files and relevant surrounding lines to ensure you have the full context of each comment.
After extracting comments, display them and ask if the user wants to:
- set a particular status value
- modify the comments
Finally, separately ask for a review body (main message) to be included with the review.
Generate an object of type Input, save it as JSON to a temporary file, and pass it to scripts/create_review.ts.
GITHUB_TOKEN=$(gh auth token) bun scripts/create_review.ts <tempfile>
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-03-11
- 索引更新时间
- 2026-03-11
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!