npx skills add https://github.com/odysseus0/symphony --skill landgh CLI 已通过身份验证。commit 技能提交,再使用 push 技能推送,然后继续。pull 技能获取/合并 origin/main 并解决冲突,然后使用 push 技能发布更新后的分支。广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
commit 技能提交,使用 push 技能推送,并重新运行检查。# 确保分支和 PR 上下文
branch=$(git branch --show-current)
pr_number=$(gh pr view --json number -q .number)
pr_title=$(gh pr view --json title -q .title)
pr_body=$(gh pr view --json body -q .body)
# 检查可合并性和冲突
mergeable=$(gh pr view --json mergeable -q .mergeable)
if [ "$mergeable" = "CONFLICTING" ]; then
# 运行 `pull` 技能来处理获取 + 合并 + 冲突解决。
# 然后运行 `push` 技能来发布更新后的分支。
fi
# 首选:使用下面的异步监视助手。当 Python 无法运行或助手脚本不可用时,手动循环作为备用方案。
# 等待审查反馈:Codex 审查以 issue 评论的形式到达,以 "## Codex Review — <persona>" 开头。将它们视为审查者反馈:回复一个 `[codex]` issue 评论,确认发现的问题以及您是否正在处理或推迟处理它们。
while true; do
gh api repos/{owner}/{repo}/issues/"$pr_number"/comments \
--jq '.[] | select(.body | startswith("## Codex Review")) | .id' | rg -q '.' \
&& break
sleep 10
done
# 监视检查
if ! gh pr checks --watch; then
gh pr checks
# 识别失败的运行并检查日志
# gh run list --branch "$branch"
# gh run view <run-id> --log
exit 1
fi
# Squash-merge(此仓库中的远程分支在合并时会自动删除)
gh pr merge --squash --subject "$pr_title" --body "$pr_body"
首选:使用 asyncio 监视器并行监视审查评论、CI 和头部更新:
python3 .agents/skills/land/land_watch.py
退出代码:
gh pr checks 和 gh run view --log 拉取详细信息,然后在本地修复,使用 commit 技能提交,使用 push 技能推送,并重新运行监视。origin/main,添加一个真实作者的提交,并强制推送以重新触发 CI,然后重新启动检查循环。origin/main,合并,强制推送,并重新运行 CI。UNKNOWN,请等待并重新检查。## Codex Review — <persona> 开头的 issue 评论(而不是作业状态)作为审查反馈可用的信号。git push --force-with-lease。## Codex Review — <persona> 开头,并包含审查者的方法论和使用的防护措施。将这些视为必须在合并前得到确认的反馈。gh api 获取审查评论,并使用带前缀的评论进行回复。gh api repos/{owner}/{repo}/pulls/<pr_number>/comments
gh api repos/{owner}/{repo}/issues/<pr_number>/comments
gh api -X POST /repos/{owner}/{repo}/pulls/<pr_number>/comments \
-f body='[codex] <response>' -F in_reply_to=<comment_id>
in_reply_to 必须是数字型的审查评论 id(例如 2710521800),而不是 GraphQL 节点 id(例如 PRRC_...),并且端点必须包含 PR 编号(/pulls/<pr_number>/comments)。[codex] 为前缀。[codex] 前缀,并说明您是会立即处理反馈还是推迟处理(包含理由)。in_reply_to,回复说明预期的修复([codex] ...)作为对原始审查评论的内联回复(不要为此使用 issue 评论)。[codex] ...)。[codex] issue 评论来确认发现的问题。[codex] 内联回复)。[codex] Changes since last review:
- <short bullets of deltas>
Commits: <sha>, <sha>
Tests: <commands run>
[codex] 更新中指出,并附上简要理由(例如,超出范围、与意图冲突、不必要)。每周安装次数
131
仓库
GitHub 星标数
53
首次出现
14 天前
安全审计
安装于
codex130
claude-code11
opencode10
gemini-cli10
github-copilot10
amp10
gh CLI is authenticated.commit skill and push with the push skill before proceeding.pull skill to fetch/merge origin/main and resolve conflicts, then use the push skill to publish the updated branch.commit skill, push with the push skill, and re-run checks.# Ensure branch and PR context
branch=$(git branch --show-current)
pr_number=$(gh pr view --json number -q .number)
pr_title=$(gh pr view --json title -q .title)
pr_body=$(gh pr view --json body -q .body)
# Check mergeability and conflicts
mergeable=$(gh pr view --json mergeable -q .mergeable)
if [ "$mergeable" = "CONFLICTING" ]; then
# Run the `pull` skill to handle fetch + merge + conflict resolution.
# Then run the `push` skill to publish the updated branch.
fi
# Preferred: use the Async Watch Helper below. The manual loop is a fallback
# when Python cannot run or the helper script is unavailable.
# Wait for review feedback: Codex reviews arrive as issue comments that start
# with "## Codex Review — <persona>". Treat them like reviewer feedback: reply
# with a `[codex]` issue comment acknowledging the findings and whether you're
# addressing or deferring them.
while true; do
gh api repos/{owner}/{repo}/issues/"$pr_number"/comments \
--jq '.[] | select(.body | startswith("## Codex Review")) | .id' | rg -q '.' \
&& break
sleep 10
done
# Watch checks
if ! gh pr checks --watch; then
gh pr checks
# Identify failing run and inspect logs
# gh run list --branch "$branch"
# gh run view <run-id> --log
exit 1
fi
# Squash-merge (remote branches auto-delete on merge in this repo)
gh pr merge --squash --subject "$pr_title" --body "$pr_body"
Preferred: use the asyncio watcher to monitor review comments, CI, and head updates in parallel:
python3 .agents/skills/land/land_watch.py
Exit codes:
gh pr checks and gh run view --log, then fix locally, commit with the commit skill, push with the push skill, and re-run the watch.origin/main if needed, add a real author commit, and force-push to retrigger CI, then restart the checks loop.origin/main, merge, force-push, and rerun CI.UNKNOWN, wait and re-check.## Codex Review — <persona> issue comments (not job status) as the signal that review feedback is available.Codex reviews now arrive as issue comments posted by GitHub Actions. They start with ## Codex Review — <persona> and include the reviewer’s methodology + guardrails used. Treat these as feedback that must be acknowledged before merge.
Human review comments are blocking and must be addressed (responded to and resolved) before requesting a new review or merging.
If multiple reviewers comment in the same thread, respond to each comment (batching is fine) before closing the thread.
Fetch review comments via gh api and reply with a prefixed comment.
Use review comment endpoints (not issue comments) to find inline feedback:
List PR review comments:
gh api repos/{owner}/{repo}/pulls/<pr_number>/comments
PR issue comments (top-level discussion):
gh api repos/{owner}/{repo}/issues/<pr_number>/comments
Reply to a specific review comment:
gh api -X POST /repos/{owner}/{repo}/pulls/<pr_number>/comments \
-f body='[codex] <response>' -F in_reply_to=<comment_id>
[codex] update with a brief reason (e.g., out-of-scope, conflicts with intent, unnecessary).Weekly Installs
131
Repository
GitHub Stars
53
First Seen
14 days ago
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
codex130
claude-code11
opencode10
gemini-cli10
github-copilot10
amp10
FDA法规咨询专家:医疗器械510(k)提交、QSR质量体系与网络安全合规指南
160 周安装
Claude AI金融分析师技能 - 智能财务分析与投资决策助手 | 开源AI工具
162 周安装
codeagent-wrapper:多AI后端代码生成与分析工具,支持Codex、Claude、Gemini
162 周安装
移动端用户体验优化指南:视口处理、触控优化与响应式设计最佳实践
167 周安装
Flutter Driver 自动化测试与截图指南 - 集成 MCP 服务器实现应用控制
169 周安装
代码精修工作流:AI代码审查、质量优化与PR前自动化检查工具
169 周安装
git push --force-with-lease.in_reply_to must be the numeric review comment id (e.g., 2710521800), not the GraphQL node id (e.g., PRRC_...), and the endpoint must include the PR number (/pulls/<pr_number>/comments).
If GraphQL review reply mutation is forbidden, use REST.
A 404 on reply typically means the wrong endpoint (missing PR number) or insufficient scope; verify by listing comments first.
All GitHub comments generated by this agent must be prefixed with [codex].
For Codex review issue comments, reply in the issue thread (not a review thread) with [codex] and state whether you will address the feedback now or defer it (include rationale).
If feedback requires changes:
[codex] ...) as an inline reply to the original review comment using the review comment endpoint and in_reply_to (do not use issue comments for this).[codex] ...) in the same place you acknowledged the feedback (issue comment for Codex reviews, inline reply for review comments).[codex] issue comment is posted acknowledging the findings.Only request a new Codex review when you need a rerun (e.g., after new commits). Do not request one without changes since the last review.
Before requesting a new Codex review, re-run the land watcher and ensure there are zero outstanding review comments (all have [codex] inline replies).
After pushing new commits, the Codex review workflow will rerun on PR synchronization (or you can re-run the workflow manually). Post a concise root-level summary comment so reviewers have the latest delta:
[codex] Changes since last review:
Commits: <sha>, <sha> Tests: <commands run>
Only request a new review if there is at least one new commit since the previous request.
Wait for the next Codex review comment before merging.