
【免费下载链接】App-Store-Connect-CLIFast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more项目地址https://gitcode.com/gh_mirrors/ap/App-Store-Connect-CLI点击查看免费下载导读$watch-asc-pr是 App-Store-Connect-CLI 仓库在 .agents/skills/watch-asc-pr/SKILL.md 中定义的一套PR 持续看护工作流技能用于反复重新检查进行中的 Pull Request是否有新的评审反馈、CI 结果是否更新、head 提交是否变化、最终是否具备合并就绪条件。它面向帮我继续轮询帮我盯住这个 PR 直到干净fix-and-loop这类请求。读完本文你将掌握该技能的五步状态机observed/changed/pending/clean/blocked、其严格的权威authority边界模型以及配套的 checkpoint 与心跳heartbeat自动化契约并能结合仓库的AGENTS.md、$audit-asc-pr完整审计技能和 PR CI 工作流理解其底层设计。一、技能定位何时使用 watch-asc-pr技能的 Frontmatter 明确了触发条件见 .agents/skills/watch-asc-pr/SKILL.md用户要求检查这个 PR 有没有新评论用户要求继续轮询 / 继续检查用户要求fix and loop边修边盯用户要求babysit a PR保姆式盯 PR用户要求一直干到这个 PR 干净为止该技能与仓库内其他维护工作流技能是分工关系AGENTS.md 明确列出了技能族谱技能职责仓库位置$develop-asc-change设计、实现并验证命令、flag、端点、缺陷修复与行为重构.agents/skills/develop-asc-change/SKILL.md$audit-asc-pr端到端审计完整 PR被授权时修复已证实的缺陷.agents/skills/audit-asc-pr/SKILL.md$watch-asc-pr重新检查 PR 评论、检查结果、head 变更与合并就绪.agents/skills/watch-asc-pr/SKILL.md$triage-asc-issue复现、分类、打标签并界定 issue 范围.agents/skills/triage-asc-issue/SKILL.md$review-wall-of-apps-prs安全地验证、批准并合并 Wall of Apps 提交.agents/skills/review-wall-of-apps-prs/SKILL.md$release-asc-cli发布并验证端到端 CLI 仓库版本.agents/skills/release-asc-cli/SKILL.md$sync-asc-skills检查外部 ASC 工作流技能与 CLI 表面是否漂移.agents/skills/sync-asc-skills/SKILL.md关键的定位区分在于$audit-asc-pr负责一次性的完整审计而$watch-asc-pr负责反复的、直至终态的监控。一次性的只读检查在报告快照后即结束不得擅自启动完整的就绪审计或心跳循环除非用户明确请求或已在上下文中被授权。二、权威模型看护与修复的权限边界watch 技能的第一原则是保留 PR 上下文与权威Preserve the PR context and authority underAGENTS.md。其权限规则可以浓缩为三句话status reads once状态读取只做一次watch repeats until a terminal state看护循环反复执行直到进入终态fix-and-watch also applies authorized fixes若被授权修复则边修边看护。单独执行 watch 不授予任何编辑、提交、推送或回复权威。这一点与 AGENTS.md 的全局权威模型完全一致审计、评审、研究、triage、状态检查与起草草稿文本属于只读操作。编辑、提交、推送、创建 PR、评论、打标签、批准、合并、发布、外部发送与删除都需要来自请求或会话上下文的权威授权。一次请求可以授权多个动作已授予的权威不得反复追问。因此在 watch 过程中如果用户只要求盯着看Agent 只能报告已核实的问题与建议的修复方案不得动手若某个发现会阻止进展必须以blocked状态返回并明确指出缺失的权威只有明确授权fix-and-watch场景时才能应用修复与外部写入。AGENTS.md 还补充了一条回退规则用户指令在系统与开发者约束范围内覆盖技能指南技能的选择本身不授予权威。 这意味着技能的调用只是工作流入口权限永远来自请求本身。三、第一步重新检查当前状态这是 watch 循环的主循环包含五个步骤解析精确 PR 并比对 head SHA解析出确切的 PR 编号将其当前 head SHA 与上次审计或推送的 SHA 进行比较。若 head 已变化说明有新的提交进入之前的所有结论都需重新验证。并行抓取信号尽可能并行抓取 checksCI 检查、reviews评审、顶层评论以及 GraphQL review threads评审线程。这一步要区分必需检查required checks与建议性任务advisory jobs——只有前者才是就绪门槛后者只报告、不阻塞。过滤可操作反馈从评论中分离出新的可操作反馈排除已解决、已过时、纯信息性、重复以及 bot 噪声评论。head 变更时重查 diff如果 head 是在本工作流之外发生变化的必须先检查新的 diff再依赖先前的结论。这是防止拿着过期结论评审新代码的关键防护。main 前进时刷新 merge-base如果main分支前进了需要刷新 merge-base diff 与可合并性mergeability并遵循 AGENTS.md 的分支更新规则。3.1 为什么必须用 GraphQL 读取线程状态技能明确要求并行抓取……GraphQL review threadsAGENTS.md 的护栏强调在宣布 PR 干净之前检查线程感知的 GitHub 评审状态扁平的评论列表并不能证明每个线程都已解决。这是thread-aware原则GitHub 的 review thread评审线程有独立的 resolved 状态一条评论被回复过不等于该线程被解决。$audit-asc-pr技能同样在 .agents/skills/audit-asc-pr/SKILL.md 中要求使用 GitHub GraphQL 获取线程感知的评审状态不要把扁平评论列表当作所有线程已解决的证明。watch 循环中任何一次 re-fetch 都必须重新抓取 GraphQL 线程因为修复推送后线程状态会变化。3.2 分支更新规则何时才允许动分支AGENTS.md 对main 前进后要不要更新分支给出了非常严格的边界main前进后要重新检查 PR head、merge-base diff、重复或重叠风险、评审线程、必需检查与可合并性但不要为了刷新 base 而更新、rebase 或把main合并进一个干净的 PR只有两种情况允许更新分支GitHub 已经报告实际合并冲突或一次已明确授权、且所有就绪门槛都通过后的合并尝试在strict up-to-date branch protection下被拒绝绝不使用 admin merge 绕过分支保护。watch 技能第 5 步正是要求遵循AGENTS.md中的分支更新规则两者严格对齐。四、第二步处理可操作反馈只有被授权时才应用修复与外部写入否则报告已核实的发现与建议修复若该问题阻止进展则以blocked返回并给出缺失的权威。被授权时的执行流程验证新主张把评审者或 bot 提出的新论断对照代码、API schema 与既有行为进行核实——不要盲目照单全收。这与$triage-asc-issue中验证 bot 或评审者的主张后再编辑的原则一致。先复现、再补测试复现一个真实缺陷在改变行为之前先新增或更新一个聚焦测试。这正是 AGENTS.md 的 TDD 铁律为行为变更使用 TDD先复现或建立 RED实施最小的连贯修改然后达到 GREEN。最小修复 校验 提交推送实施最小的连贯修复运行受影响的检查与所需的本地 review被授权时提交并推送。只回复/解决被本次推送完全覆盖的线程当评审沟通被授权时仅回复并解决那些被本次推送完整处理了的线程。推送后重新抓取 PR确认实时的 head、checks 与线程状态——推送会改变 head SHA必须从新 head 重新建立证据基线。从新 head 继续只要必需检查或评审仍在进行就继续从新 head 应用新的授权修复并以追加式提交additive commits呈现。追加式提交与 AGENTS.md 的保留追加式 PR 历史除非用户明确要求不 squash、不 rebase、不 force-push、不重写提交完全呼应。修复的粒度上docs/CONTRIBUTING.md 还要求提交小而连贯的变更共享分支上不出现 WIP 提交。4.1 修复后要跑什么校验被授权修复后校验门禁取决于改动范围。对于实质性行为变更AGENTS.md 与 CONTRIBUTING.md 给出的完整清单是make build # 构建 CLI make format # 格式化代码gofmt gofumpt make check-docs # 校验仓库文档、网站文档与命令文档同步 make lint # golangci-lint未安装时退化为 go vet ASC_BYPASS_KEYCHAIN1 make test # 运行全部测试绕过宿主钥匙串如果命令帮助文本变了还要先运行make generate-command-docs并提交docs/COMMANDS.md。对于窄范围的文档或技能改动只跑make check-docs即可——它包含仓库与技能校验器即make check-agent-skills见 docs/CONTRIBUTING.md。五、返回一个状态五态状态机watch 循环的每个回合结束都必须恰好返回一个状态5.1observed—— 一次性检查完成只读检查完成报告所请求的事实除非另行建立合并就绪性标记为未验证。关键澄清一个可操作的发现并不会让一次已完成的只读检查变成blocked——发现了问题只是输出只有缺少权威导致无法推进才是blocked。5.2changed—— 已推送修复推送了一个修复报告内容必须包含提交信息与验证结果跑了什么检查、结果如何。5.3pending—— 仍在等待必需检查、必需评审或可操作评审仍在进行必须精确指出还剩什么。这是用户请求的循环过程中的中间态不是最终交接态——最终交接只能是终态之一。5.4clean—— 完全就绪这是最严格的状态五个条件缺一不可对照 AGENTS.md 的 PR 就绪定义针对当前 head 与 baseAGENTS.md 要求的最终全分支本地 review 通过必需检查通过必需评审已满足最新 head 可合并GitHub 报告无冲突不存在任何未解决的可操作线程。同时建议性任务照常报告但不作为阻塞项。注意$audit-asc-pr的合并门禁是$watch-asc-pr判定clean的上游契约两者的就绪定义是一致的详见 .agents/skills/audit-asc-pr/SKILL.md。5.5blocked—— 无法推进用户输入、权限缺失、外部故障或不安全的产品决策导致无法推进。返回时必须说明具体阻塞点。5.6 clean 之后授权合并前必须重跑审计门禁技能特别提醒对于被授权的合并在合并前必须重新应用$audit-asc-pr的完整门禁并遵循 AGENTS.md 的历史规则。也就是说watch 的clean是监控视角的就绪真正的合并动作仍要走完整审计 完整校验 精确 head 匹配。合并时默认使用常规 merge commit例如gh pr merge number --merge --match-head-commit sha除非用户明确要求 squashAGENTS.md。绝不允许无监督的自动合并循环技能 Automation contract 的收尾禁令。六、自动化契约checkpoint、心跳与退避这是该技能最具工程价值的部分专门解决长时间轮询场景下的可靠性与资源消耗问题。6.1 何时保存 checkpoint当一次被授权的 watch中只剩下等待某个预期的外部状态变化时例如等 CI 跑完、等评审者回复保存一个 checkpoint包含目标objectivePR 编号head 与 base SHA权威authority验证结果与输入validation results and inputs未解决的反馈最后检查时间下一步停止条件重试历史然后创建或复用一条线程心跳thread heartbeat验证它结束本回合。如果调度不可用报告 pending 状态与 checkpoint不得暗示监控仍在继续——诚实报告未在监控本身就是契约的一部分。6.2 每次唤醒的行为每次唤醒后只检查一次决定性状态inspect decisive state once复用仍然有效的证据不重复抓取未变化的数据无变化时保持安静并把下一次检查的间隔退避back off the next check——避免高频空转在完成、失败或停滞时恢复工作一次不确定的写入之后先核对远端状态再有限重试reconcile remote state before a bounded retry。这些规则与$audit-asc-pr中每次推送后重新抓取 head SHA、checks、reviews 与 GraphQL 线程、$release-asc-cli中唤醒时对当前状态做一次核对无变化时安静退避完成或遇到需要用户行动的阻塞时禁用心跳是完全同构的工程模式.agents/skills/release-asc-cli/SKILL.md。6.3 何时禁用心跳当 PR 进入以下任一状态时必须禁用心跳cleanblocked已合并merged已关闭closed被取代superseded等待一个实质性的用户决策此外clean门禁通过后建议性任务可以继续 pending——它们不阻止心跳的关闭。而任何情况下都不得创建无人值守的自动合并循环。七、与仓库 CI 的关系必需检查从哪来watch 技能反复要求区分必需检查与建议性任务。仓库的 .github/workflows/pr-checks.yml 给出了具体实现工作流首先用scripts/ci_change_scope.py对 PR 的 diff 做变更范围检测wall/docs/website/telemetry/full据此选择要运行的检查组合只有特定范围内的改动才触发对应作业例如wall范围只跑make check-wall-of-appsfull范围才跑格式化、lint、文档校验、单元测试分片与三平台构建.github/workflows/pr-checks.yml汇总作业format-and-lint、unit-tests、build通过needs依赖与结果断言把选定范围内的检查提升为整体 PR 的必需检查平台门控源码darwin / windows通过GOOSdarwin go vet ./...与GOOSwindows go vet ./...在 Linux runner 上做类型检查.github/workflows/pr-checks.yml。因此watch 在判定必需检查是否通过时实际要核对的正是这套按范围选择、再由汇总作业兜底的检查集合。同理$review-wall-of-apps-prs技能的门禁也要求ASC_BYPASS_KEYCHAIN1 make check-wall-of-apps与必需 GitHub 检查通过、PR 对当前main可合并、不等待建议性 CI.agents/skills/review-wall-of-apps-prs/SKILL.md与 watch 的clean定义相互印证。八、实操要点速查先比对 head SHA再读任何结论所有证据都以当前 head为锚点head 一变旧结论作废。GraphQL 线程才是真相扁平评论 ≠ 线程已解决修复推送后必须重新抓取线程状态。没有授权就只报告可操作发现让输出更丰富但只有授权才动手缺权限且受阻时返回blocked并指明缺什么。TDD 修复路径复现缺陷 → 新增/更新聚焦测试RED→ 最小修复GREEN→ 追加式提交 → 推送 → 重新抓取 PR。终态判定从严clean需要本地全分支 review 通过 必需检查通过 必需评审满足 最新 head 可合并 无未解决线程建议性任务只报告、不阻塞。合并前重跑完整审计门禁watch 的clean不等于可以合并授权合并前必须重新应用$audit-asc-pr的完整门禁。心跳是最后手段只有只等外部状态变化时才落 checkpoint、建心跳无变化要退避进入终态要禁用绝不搞无监督自动合并。九、进一步阅读权威与全局规则AGENTS.md完整审计与合并门禁.agents/skills/audit-asc-pr/SKILL.md开发与验证流程.agents/skills/develop-asc-change/SKILL.md 及 docs/CONTRIBUTING.md贡献者 PR 指南与本地校验清单CONTRIBUTING.mdPR CI 的范围检测与检查集合.github/workflows/pr-checks.yml维护者技能目录含$watch-asc-pr定位AGENTS.mdWall of Apps PR 门禁对照.agents/skills/review-wall-of-apps-prs/SKILL.md赞分享【免费下载链接】App-Store-Connect-CLIFast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more项目地址https://gitcode.com/gh_mirrors/ap/App-Store-Connect-CLI点击查看免费下载相关推荐Joplin 自动化 Harness 全指南cli-anything-joplin 有状态 CLI 状态机与真实后端命令契约详解Joplin 自动化 Harness 全指南cli anything joplin 有状态 CLI 状态机与真实后端命令契约详解 cli anything j人工智能AI AgentAI 技能工具调用CLIZeroClaw PR 与 Issue 标签体系权威指南labels.md 维护参考与自动化契约全解ZeroClaw PR 与 Issue 标签体系权威指南labels.md 维护参考与自动化契约全解 本文以 docs/book/src/maintainer人工智能AI Agent交互助手工具调用MCP Clients本地部署Agent 工作流RAGEasydict 发布构建修复实录asc CLI 参数续行问题、回归测试与 App Store Connect API Key 配置指南Easydict 发布构建修复实录 asc CLI 参数续行问题、回归测试与 App Store Connect API Key 配置指南 Easydict桌面应用AI 应用上一篇终极指南Clickteam Fusion 游戏资源提取与逆向工程完整教程下一篇G6 套索选择行为LassoSelect完全指南从配置到源码原理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考