@weotro/dx 0.1.14 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -312,7 +312,7 @@ dx cache clear -Y
|
|
|
312
312
|
|
|
313
313
|
安装或升级 dx 后,运行 `dx initial` 即可同步。默认脚本位置为 `~/.agents/skills/delegate-cc/scripts/delegate_cc.py`;旧咨询入口为 `~/.agents/skills/ask_cc/scripts/ask_cc.py`。
|
|
314
314
|
|
|
315
|
-
Issue/PR 交付统一使用 `ship-issue-pr`:在 Codex 中调用 `$ship-issue-pr`,在 Claude Code 中调用 `/ship-issue-pr
|
|
315
|
+
Issue/PR 交付统一使用 `ship-issue-pr`:在 Codex 中调用 `$ship-issue-pr`,在 Claude Code 中调用 `/ship-issue-pr`。完整交付流程与两种宿主的工具说明均包含在 `SKILL.md` 中。技能按当前宿主选择工具,轻改动由当前执行者直接完成,需要外部协作时使用对应运行时。
|
|
316
316
|
|
|
317
317
|
升级 dx 后再次运行 `dx initial`,会整体更新 `~/.agents/skills/ship-issue-pr/`,并清理已移除的技能和独立引用文件。现有调用统一改为 `ship-issue-pr`。Claude 的软链接直接读取同一份更新;入口同时声明 Codex 和 Claude 的显式调用策略。外部 Claude CLI 或 Codex 插件仍需自行安装并完成认证,目录兼容不代表外部通道已可用。
|
|
318
318
|
|
package/package.json
CHANGED
|
@@ -8,24 +8,163 @@ disable-model-invocation: true
|
|
|
8
8
|
|
|
9
9
|
统一 Codex 与 Claude Code 的交付入口。按当前任务的终点处理本地改动、PR 或合并。
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
本文件包含完整交付流程与两种宿主的工具说明。按当前步骤执行:状态与范围 → 实现与验证 → 提交/PR → 已授权的合并与回访;已经完成的部分直接承接。
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
## 执行边界与优先级
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
在宿主系统与开发者指令约束内,当前任务的具体要求和已有授权 > 项目适用的 AGENTS.md > 本技能及其他通用技能。项目规定的验证、分支与合并要求继续适用。
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
只读检索、本地草稿、可回滚编辑和常规测试自主推进。从相关文件和直接依赖开始,只有证据不足或影响跨模块时扩大范围。已给出的授权跨轮有效;不可逆或难以回滚的修改缺少具体授权时,先准备可审阅的 diff、正文和验证结果,再说明对象及影响并等待确认。对外发送消息须有明确授权。
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
本技能默认把本次范围内的工作交付到 PR;用户明确要求仅本地修改、仅审查或继续到合并时,按该终点执行。单独调用技能不授权部署、数据操作、无关 Issue 或无限扩展任务。缺少目标事实时先从上下文与配置查证;能独立进行的工作继续,确实无法确定目标时才询问。
|
|
20
|
+
|
|
21
|
+
## 状态与范围
|
|
22
|
+
|
|
23
|
+
检查当前分支、工作区状态、相关 diff 和已有交付记录;需要远端操作时再核对 remote、Issue、PR 和认证。基线、命令、模板和 CI 从项目实际配置确定,不假定 main、特定 monorepo 路径或没有 PR 检查。
|
|
24
|
+
|
|
25
|
+
工作区有改动不代表需求已完成:按验收标准识别已完成和剩余工作,复用成果。无关改动保持原样;不明归属的文件先避开,必要时在隔离 worktree 继续。只在必须修改且无法安全保留时澄清归属。工具或认证缺失只阻塞依赖它的操作,本地准备继续。
|
|
26
|
+
|
|
27
|
+
按本次需求或 diff 检查直接相关的重复实现;没有证据时不扩大为全仓历史审计。
|
|
28
|
+
|
|
29
|
+
## Issue、分支与正文
|
|
30
|
+
|
|
31
|
+
优先复用任务、分支或已有 PR 指向的 Issue。项目要求 Issue 时,在提交或 PR 前补齐;本地准备无需等 Issue 创建。任务包含创建 Issue 时,先准备背景、目标、可验证的验收标准及依赖说明,再创建并读回。没有仓库模板时使用这些字段即可,缺模板不构成阻塞。
|
|
32
|
+
|
|
33
|
+
采用项目分支规则和指定基线;无规则时为本次交付创建独立分支,遵守宿主的默认命名前缀。已有合规分支可继续。创建 worktree 时保留任务所需的未提交上下文,按项目实际 setup 准备依赖,不默认执行全量构建或同步私有环境文件。
|
|
34
|
+
|
|
35
|
+
Issue/PR 多行正文写入本次任务独立的临时文件,用 `--body-file` 传递;提交说明可用 `git commit -F`。正文写明实际变更、验证命令和结果、遗留风险以及已有 Issue 关联。修正影响理解的占位内容,合法代码示例或引用中的 TODO 不当作未完成工作。
|
|
36
|
+
|
|
37
|
+
## 实现与协作
|
|
38
|
+
|
|
39
|
+
主进程直接处理能可靠完成的改动。公共契约、数据迁移、权限、并发、计费或跨模块协调等风险可以促使增加定向检查或独立意见;文件数和行数本身不强制切换模型、发问或扫描全仓。
|
|
40
|
+
|
|
41
|
+
用户要求专家协作,或复杂问题确实需要独立证据且环境允许时,使用下文对应宿主的运行时工具。交接包含目标、工作目录、责任文件、项目约束、已完成成果和验收命令。默认由主进程负责 Git/GitHub 交付,执行者仅修改分配文件;明确另行分配的授权按任务处理。
|
|
42
|
+
|
|
43
|
+
咨询只提供建议,实现才授予必要写权限。不同执行者避免同时修改同一范围,可在不重叠文件上继续工作;无法隔离时使用独立 worktree。外部通道不可用时自行接手剩余工作并说明限制,用户明确要求的独立审查仍需如实标记未完成。
|
|
44
|
+
|
|
45
|
+
## 委派活性与接管
|
|
46
|
+
|
|
47
|
+
保存本次任务 ID、工作目录、输出来源和责任文件基线,持续观察同一任务。有效日志、工具进展或责任文件变化可以证明活动;只读任务不要求文件修改。
|
|
48
|
+
|
|
49
|
+
单次等待超时或静默告警只触发诊断,检查原会话、子命令、权限等待与错误;重复空心跳不代表进展。确认失败或无法推进后优先恢复;接管前确认原执行者及其写进程已停止,再核对现有成果,仅完成剩余工作。遵守用户取消要求,不盲目重放任务或绕过权限拒绝。
|
|
50
|
+
|
|
51
|
+
## 验证与证据复用
|
|
52
|
+
|
|
53
|
+
按项目 AGENTS.md 和实际测试配置完成必需检查,选择与改动相关的最小充分范围。纯文档或局部样式不因通用表格自动触发跨端 lint、全仓构建或数据库操作。
|
|
54
|
+
|
|
55
|
+
记录被验证的代码与输入、覆盖范围、命令、实际执行者和可读结果。未提交改动也属于输入;不能只用 HEAD 代表含本地修改的验证现场。证据详细程度以能够判断是否仍适用为准。
|
|
56
|
+
|
|
57
|
+
- 内容、基线与相关输入未变:复用已有验收、审查和测试证据,包括可核实的其他执行者结果。
|
|
58
|
+
- 仅 commit SHA 改变、内容相同:核对后关联新提交,不重跑相同检查。
|
|
59
|
+
- 代码、验收标准、依赖或环境变化:检查增量及受影响调用方,仅补跑受影响项。
|
|
60
|
+
- 来源或覆盖不足:补齐缺失检查;影响无法界定时再扩大到当前交付的完整 diff 和必要测试。
|
|
61
|
+
|
|
62
|
+
测试通过不能替代代码审查。失败按复现、日志或基线证据归因;已知失败清单只是线索,未收录不代表本次引入。保留失败事实,修复任务范围内的问题,其他问题写明影响。
|
|
63
|
+
|
|
64
|
+
测试若会清理共享数据库或改动共用资源,使用隔离环境,或沿用项目的互斥机制。不要把生产迁移当常规测试,也不要通过固定全局锁路径假定所有项目共享一套数据库。
|
|
65
|
+
|
|
66
|
+
## 审查与修复
|
|
67
|
+
|
|
68
|
+
首次审查覆盖本次完整 diff 及必要上下文;有效审查已有覆盖时只查增量和受影响部分。发现提供文件位置、触发条件、影响与修复建议,优先处理正确性、安全和验收缺口。
|
|
69
|
+
|
|
70
|
+
独立审查使用未参与实现的上下文;自审按自审报告,不冒充外部审查。审查次数由新变化和未解决问题决定,不设“每 PR 最多一次”或“固定三轮”的通用额度,也不为凑轮次重复检查。
|
|
71
|
+
|
|
72
|
+
修复后验证受影响行为,复用其余证据。提交按逻辑变更组织,不要求每条 finding 单独一个 commit。确认有效的重大问题未解决时不声称可合并;无法在范围内解决时保留具体原因与后续建议,不靠创建 Issue 把失败改成通过。
|
|
73
|
+
|
|
74
|
+
## 提交与 PR
|
|
75
|
+
|
|
76
|
+
执行任务已授权的提交和 PR 交付。暂存明确的本次文件,并核对暂存 diff,避免带入无关修改或凭据;提交钩子改变内容时补验受影响部分。
|
|
77
|
+
|
|
78
|
+
复用已有 PR。创建或更新后读回标题、正文、base、head 和 URL,确认发布的是已验证内容;部分失败先查远端实际状态,只补剩余操作。检查当前项目实际要求的 CI,不沿用“本仓库没有 PR CI”的历史假设。
|
|
79
|
+
|
|
80
|
+
依赖 PR 未合并时,继续可独立完成的实现、审查和草稿准备;只延后依赖它的集成或合并。需要判断冲突时优先使用只读比较或隔离 worktree,不为探测冲突修改用户当前工作树。
|
|
81
|
+
|
|
82
|
+
## 合并与回访
|
|
83
|
+
|
|
84
|
+
仅当当前任务授权包含合并时执行。合并前确认验收范围已满足、必需测试和 CI 通过、重大 findings 已解决;核对最新远端 head、base 与验证对象。变化使证据失效时补查增量。
|
|
85
|
+
|
|
86
|
+
使用项目允许的合并方式,绑定已核验的 head(例如 gh 的 `--match-head-commit`);保留分支保护,不能用管理员开关绕过。自动合并已设置不代表已合并,读回 `mergedAt` 与状态后再报告;异步检查仍在运行时准确说明等待原因。
|
|
87
|
+
|
|
88
|
+
合并后按任务要求回访关联 Issue,确认实际验收与关闭状态。只有本次确实完成整个 Issue 时才使用关闭关联;对误关或剩余工作按已有授权修正并报告。
|
|
89
|
+
|
|
90
|
+
## 后续工作与交付
|
|
91
|
+
|
|
92
|
+
范围外问题先记录本地发现、影响和建议。任务已明确授权创建 follow-up Issue 或委派后续交付时才执行;每项沿用原授权边界,不递归扩大外部写操作或派发深度。
|
|
93
|
+
|
|
94
|
+
已授权的独立后续任务使用各自责任范围与合适基线;依赖当前未合并改动时先准备,集成条件满足后继续。回收 worktree 前确认成果已保留、没有待整合改动,授权覆盖删除;squash 合并后不能仅凭分支名称判断可强删。
|
|
95
|
+
|
|
96
|
+
最终报告实际终点、本次改动、验证、Issue/PR 链接及未完成项。已创建 PR、已设置自动合并、已合并和已回访分别陈述;仅本地任务以本地产物完成,不强制走到远端合并。
|
|
20
97
|
|
|
21
98
|
## 按宿主选择工具
|
|
22
99
|
|
|
23
100
|
依据当前会话和可用工具确定宿主,不按模型名称或“本机同时装了哪些 CLI”判断,无需用户选择运行时。
|
|
24
101
|
|
|
25
|
-
| 当前宿主 |
|
|
102
|
+
| 当前宿主 | 需要外部协作时使用 |
|
|
26
103
|
| --- | --- |
|
|
27
|
-
| Codex |
|
|
28
|
-
| Claude Code |
|
|
104
|
+
| Codex | 下文 Codex 运行时:通过 ask_cc / delegate-cc 咨询、审查或执行 |
|
|
105
|
+
| Claude Code | 下文 Claude Code 运行时:通过可用的 Codex 插件协作 |
|
|
29
106
|
| 其他或外部工具不可用 | 当前执行者直接完成可做的实现与自审,说明独立能力的限制 |
|
|
30
107
|
|
|
31
|
-
|
|
108
|
+
轻改动直接推进,无需为了加载技能探测另一套运行时。仅执行当前宿主适用的工具流程。外部执行者接手的是分配范围,完整交付与事实核验默认仍由主进程负责。
|
|
109
|
+
|
|
110
|
+
## Codex 运行时
|
|
111
|
+
|
|
112
|
+
以下工具仅适用于 Codex 宿主确实需要 Claude 协作或已授权的后续委派时;交付范围、权限、验证复用与完成条件遵循共享流程。
|
|
113
|
+
|
|
114
|
+
### Claude 路由
|
|
115
|
+
|
|
116
|
+
| 工作 | 技能 |
|
|
117
|
+
| --- | --- |
|
|
118
|
+
| 方案咨询、普通审查、对抗审查 | [ask_cc](../ask_cc/SKILL.md) |
|
|
119
|
+
| 已明确范围的实现与修复 | [delegate-cc](../delegate-cc/SKILL.md) 的 `task` 模式 |
|
|
120
|
+
|
|
121
|
+
用户显式调用统一入口后,可在其任务范围内调用这些依赖。只读取当前模式的必要说明。CLI 参数、模型顺序、认证、权限、状态解析和接续规则由依赖技能维护,不在这里复制。
|
|
122
|
+
|
|
123
|
+
`ask_cc` 的咨询模式无工具权限。交接提供问题、相关源码与 diff、路径和必要验证结果;首次完整审查覆盖本次 PR diff,后续只补增量及其影响,不要求咨询方自行读仓库。证据不足时主进程补充材料。
|
|
124
|
+
|
|
125
|
+
独立审查不复用实现或修复会话;主进程自审不得冒充独立审查。报告 findings 的位置、条件、影响与建议,主进程核验关键证据。
|
|
126
|
+
|
|
127
|
+
执行任务提供工作目录、可修改文件或模块、项目指令与实际验收命令。明确存在其他协作者,只负责分配范围,保留他人修改。需要运行验证时按依赖技能设置具体允许命令。
|
|
128
|
+
|
|
129
|
+
### 等待、验收与后续任务
|
|
130
|
+
|
|
131
|
+
保存会话 ID,读取同一任务的流式结果;静默或宿主单次等待超时先排查,接管前确保旧写进程停止。依赖缺失或确实无法运行时主进程接手可完成的剩余工作,报告实际执行者与未完成验证。
|
|
132
|
+
|
|
133
|
+
可核实的验证结果按共享流程复用,不因来自其他执行者而全部重跑。
|
|
134
|
+
|
|
135
|
+
仅在已授权的后续交付需要独立执行者时,使用 `spawn_agent` 的可用角色,prompt 指定独立 worktree、目标、授权终点和责任文件,并要求调用 `ship-issue-pr`。子任务发现范围外问题先记录,不自动继续派发。
|
|
136
|
+
|
|
137
|
+
## Claude Code 运行时
|
|
138
|
+
|
|
139
|
+
以下工具仅适用于 Claude Code 宿主确实需要 Codex 协作或已授权的后续委派时;交付范围、权限、验证复用与完成条件遵循共享流程。
|
|
140
|
+
|
|
141
|
+
### Codex 通道
|
|
142
|
+
|
|
143
|
+
先使用当前会话已暴露的插件能力。已安装对应 Codex 插件时,可用:
|
|
144
|
+
|
|
145
|
+
- 方案咨询、实现或定制审查:`Agent(subagent_type: "codex:codex-rescue")`,在任务书中明确只读或可写责任范围。
|
|
146
|
+
- 普通审查:Codex companion 的 `review`。
|
|
147
|
+
- 需要挑战方案假设时:companion 的 `adversarial-review`。
|
|
148
|
+
|
|
149
|
+
通道不可用时主进程继续实现或自审并如实报告。
|
|
150
|
+
|
|
151
|
+
### companion 与结果
|
|
152
|
+
|
|
153
|
+
使用插件提供的实际路径。需要定位时,仅检查当前 Claude 配置目录内对应的 marketplace/cache 路径;常见默认位置是 `~/.claude/plugins/marketplaces/openai-codex/plugins/codex` 或 `~/.claude/plugins/cache/openai-codex/codex/<version>`。以实际安装版本与 `scripts/codex-companion.mjs --help` 核实参数,不硬编码某个缓存版本。
|
|
154
|
+
|
|
155
|
+
确认后通过宿主异步工具运行,例如:
|
|
156
|
+
```bash
|
|
157
|
+
node "<plugin-root>/scripts/codex-companion.mjs" review --wait --base "<actual-base>"
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
保存本次返回的 job/agent ID、worktree 和输出位置,持续观察同一任务。返回报告仍需核对 diff、验收范围与验证证据。
|
|
161
|
+
|
|
162
|
+
### 责任与验证
|
|
163
|
+
|
|
164
|
+
主进程默认负责 Git/GitHub 交付,Codex 只修改任务书分配的文件;咨询与审查为只读。交接包含目标、必要上下文、已有成果和项目实际验证命令。
|
|
165
|
+
|
|
166
|
+
根据实际权限判断补跑项,不预设沙箱不能联网、绑定端口或运行数据库测试。核对版本、命令、环境和可读输出后复用验证,只补缺失或失效项。
|
|
167
|
+
|
|
168
|
+
等待期间主进程可继续不重叠工作。静默告警触发诊断,接管前确保旧写进程停止;无法使用外部通道时自行继续,不把自审冒充独立审查。
|
|
169
|
+
|
|
170
|
+
仅在已授权的后续交付需要独立执行者时,使用 `Agent(subagent_type: "general-purpose", run_in_background: true)`,指定 worktree、责任范围及授权终点,要求调用 `ship-issue-pr`。子任务发现范围外问题先记录,不自动继续派发。
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Claude Code 运行时
|
|
2
|
-
|
|
3
|
-
仅在 Claude Code 宿主确实需要 Codex 协作或已授权的后续委派时读取;交付范围、权限、验证复用与完成条件遵循共享流程。
|
|
4
|
-
|
|
5
|
-
## Codex 通道
|
|
6
|
-
|
|
7
|
-
先使用当前会话已暴露的插件能力。已安装对应 Codex 插件时,可用:
|
|
8
|
-
|
|
9
|
-
- 方案咨询、实现或定制审查:`Agent(subagent_type: "codex:codex-rescue")`,在任务书中明确只读或可写责任范围。
|
|
10
|
-
- 普通审查:Codex companion 的 `review`。
|
|
11
|
-
- 需要挑战方案假设时:companion 的 `adversarial-review`。
|
|
12
|
-
|
|
13
|
-
这些是可选插件的调用方式,`dx initial` 只安装技能和引用文件,不安装 Codex 插件或配置认证。通道不可用时主进程继续实现或自审并如实报告。
|
|
14
|
-
|
|
15
|
-
## companion 与结果
|
|
16
|
-
|
|
17
|
-
使用插件提供的实际路径。需要定位时,仅检查当前 Claude 配置目录内对应的 marketplace/cache 路径;常见默认位置是 `~/.claude/plugins/marketplaces/openai-codex/plugins/codex` 或 `~/.claude/plugins/cache/openai-codex/codex/<version>`。以实际安装版本与 `scripts/codex-companion.mjs --help` 核实参数,不硬编码某个缓存版本。
|
|
18
|
-
|
|
19
|
-
确认后通过宿主异步工具运行,例如:
|
|
20
|
-
```bash
|
|
21
|
-
node "<plugin-root>/scripts/codex-companion.mjs" review --wait --base "<actual-base>"
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
保存本次返回的 job/agent ID、worktree 和输出位置,持续观察该任务。旧插件若只提供本地状态,按本次派发时间和 workspaceRoot 定位对应 job,再固定 ID;不要不断读取“最新任务”。
|
|
25
|
-
|
|
26
|
-
旧版状态可能在 `~/.claude/plugins/data/codex-openai-codex/state/*/state.json` 及相邻 `jobs/<id>.json`。该格式中 `status=completed` 且 `phase=done` 表示返回,正文在 `result.rawOutput`;使用前确认实际版本格式。返回报告仍需核对 diff、验收范围与验证证据。
|
|
27
|
-
|
|
28
|
-
## 责任与验证
|
|
29
|
-
|
|
30
|
-
主进程默认负责 Git/GitHub 交付,Codex 只修改任务书分配的文件;咨询与审查为只读。交接包含目标、必要上下文、已有成果和项目实际验证命令。
|
|
31
|
-
|
|
32
|
-
根据实际权限判断补跑项,不预设沙箱不能联网、绑定端口或运行数据库测试。核对版本、命令、环境和可读输出后复用验证,只补缺失或失效项。
|
|
33
|
-
|
|
34
|
-
等待期间主进程可继续不重叠工作。静默告警触发诊断,接管前确保旧写进程停止;无法使用外部通道时自行继续,不把自审冒充独立审查。
|
|
35
|
-
|
|
36
|
-
仅在已授权的后续交付需要独立执行者时,使用 `Agent(subagent_type: "general-purpose", run_in_background: true)`,指定 worktree、责任范围及授权终点,要求调用 `ship-issue-pr`。子任务发现范围外问题先记录,不自动继续派发。
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Codex 运行时
|
|
2
|
-
|
|
3
|
-
仅在 Codex 宿主确实需要 Claude 协作或已授权的后续委派时读取;交付范围、权限、验证复用与完成条件遵循共享流程。
|
|
4
|
-
|
|
5
|
-
## Claude 路由
|
|
6
|
-
|
|
7
|
-
| 工作 | 技能 |
|
|
8
|
-
| --- | --- |
|
|
9
|
-
| 方案咨询、普通审查、对抗审查 | [ask_cc](../../ask_cc/SKILL.md) |
|
|
10
|
-
| 已明确范围的实现与修复 | [delegate-cc](../../delegate-cc/SKILL.md) 的 `task` 模式 |
|
|
11
|
-
|
|
12
|
-
用户显式调用统一入口后,可在其任务范围内调用这些依赖。只读取当前模式的必要说明。CLI 参数、模型顺序、认证、权限、状态解析和接续规则由依赖技能维护,不在这里复制。
|
|
13
|
-
|
|
14
|
-
`ask_cc` 的咨询模式无工具权限。交接提供问题、相关源码与 diff、路径和必要验证结果;首次完整审查覆盖本次 PR diff,后续只补增量及其影响,不要求咨询方自行读仓库。证据不足时主进程补充材料。
|
|
15
|
-
|
|
16
|
-
独立审查不复用实现或修复会话;主进程自审不得冒充独立审查。报告 findings 的位置、条件、影响与建议,主进程核验关键证据。
|
|
17
|
-
|
|
18
|
-
执行任务提供工作目录、可修改文件或模块、项目指令与实际验收命令。明确存在其他协作者,只负责分配范围,保留他人修改。需要运行验证时按依赖技能设置具体允许命令。
|
|
19
|
-
|
|
20
|
-
## 等待、验收与后续任务
|
|
21
|
-
|
|
22
|
-
保存会话 ID,读取同一任务的流式结果;静默或宿主单次等待超时先排查,接管前确保旧写进程停止。依赖缺失或确实无法运行时主进程接手可完成的剩余工作,报告实际执行者与未完成验证。
|
|
23
|
-
|
|
24
|
-
可核实的验证结果按共享流程复用,不因来自其他执行者而全部重跑。
|
|
25
|
-
|
|
26
|
-
仅在已授权的后续交付需要独立执行者时,使用 `spawn_agent` 的可用角色,prompt 指定独立 worktree、目标、授权终点和责任文件,并要求调用 `ship-issue-pr`。子任务发现范围外问题先记录,不自动继续派发。
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
# Ship Issue PR Core
|
|
2
|
-
|
|
3
|
-
这是 `ship-issue-pr` 的共享交付流程。按当前任务读取相关章节;平台工具调用由入口的运行时参考补充。
|
|
4
|
-
|
|
5
|
-
## 执行边界与优先级
|
|
6
|
-
|
|
7
|
-
在宿主系统与开发者指令约束内,当前任务的具体要求和已有授权 > 项目适用的 AGENTS.md > 本文件及其他通用技能。项目规定的验证、分支与合并要求继续适用。
|
|
8
|
-
|
|
9
|
-
只读检索、本地草稿、可回滚编辑和常规测试自主推进。从相关文件和直接依赖开始,只有证据不足或影响跨模块时扩大范围。已给出的授权跨轮有效;不可逆或难以回滚的修改缺少具体授权时,先准备可审阅的 diff、正文和验证结果,再说明对象及影响并等待确认。对外发送消息须有明确授权。
|
|
10
|
-
|
|
11
|
-
本技能默认把本次范围内的工作交付到 PR;用户明确要求仅本地修改、仅审查或继续到合并时,按该终点执行。单独调用技能不授权部署、数据操作、无关 Issue 或无限扩展任务。缺少目标事实时先从上下文与配置查证;能独立进行的工作继续,确实无法确定目标时才询问。
|
|
12
|
-
|
|
13
|
-
## 状态与范围
|
|
14
|
-
|
|
15
|
-
检查当前分支、工作区状态、相关 diff 和已有交付记录;需要远端操作时再核对 remote、Issue、PR 和认证。基线、命令、模板和 CI 从项目实际配置确定,不假定 main、特定 monorepo 路径或没有 PR 检查。
|
|
16
|
-
|
|
17
|
-
工作区有改动不代表需求已完成:按验收标准识别已完成和剩余工作,复用成果。无关改动保持原样;不明归属的文件先避开,必要时在隔离 worktree 继续。只在必须修改且无法安全保留时澄清归属。工具或认证缺失只阻塞依赖它的操作,本地准备继续。
|
|
18
|
-
|
|
19
|
-
按本次需求或 diff 检查直接相关的重复实现;没有证据时不扩大为全仓历史审计。
|
|
20
|
-
|
|
21
|
-
## Issue、分支与正文
|
|
22
|
-
|
|
23
|
-
优先复用任务、分支或已有 PR 指向的 Issue。项目要求 Issue 时,在提交或 PR 前补齐;本地准备无需等 Issue 创建。任务包含创建 Issue 时,先准备背景、目标、可验证的验收标准及依赖说明,再创建并读回。没有仓库模板时使用这些字段即可,缺模板不构成阻塞。
|
|
24
|
-
|
|
25
|
-
采用项目分支规则和指定基线;无规则时为本次交付创建独立分支,遵守宿主的默认命名前缀。已有合规分支可继续。创建 worktree 时保留任务所需的未提交上下文,按项目实际 setup 准备依赖,不默认执行全量构建或同步私有环境文件。
|
|
26
|
-
|
|
27
|
-
Issue/PR 多行正文写入本次任务独立的临时文件,用 `--body-file` 传递;提交说明可用 `git commit -F`。正文写明实际变更、验证命令和结果、遗留风险以及已有 Issue 关联。修正影响理解的占位内容,合法代码示例或引用中的 TODO 不当作未完成工作。
|
|
28
|
-
|
|
29
|
-
## 实现与协作
|
|
30
|
-
|
|
31
|
-
主进程直接处理能可靠完成的改动。公共契约、数据迁移、权限、并发、计费或跨模块协调等风险可以促使增加定向检查或独立意见;文件数和行数本身不强制切换模型、发问或扫描全仓。
|
|
32
|
-
|
|
33
|
-
用户要求专家协作,或复杂问题确实需要独立证据且环境允许时,使用入口对应的运行时。交接包含目标、工作目录、责任文件、项目约束、已完成成果和验收命令。默认由主进程负责 Git/GitHub 交付,执行者仅修改分配文件;明确另行分配的授权按任务处理。
|
|
34
|
-
|
|
35
|
-
咨询只提供建议,实现才授予必要写权限。不同执行者避免同时修改同一范围,可在不重叠文件上继续工作;无法隔离时使用独立 worktree。外部通道不可用时自行接手剩余工作并说明限制,用户明确要求的独立审查仍需如实标记未完成。
|
|
36
|
-
|
|
37
|
-
## 委派活性与接管
|
|
38
|
-
|
|
39
|
-
保存本次任务 ID、工作目录、输出来源和责任文件基线,持续观察同一任务。有效日志、工具进展或责任文件变化可以证明活动;只读任务不要求文件修改。
|
|
40
|
-
|
|
41
|
-
单次等待超时或静默告警只触发诊断,检查原会话、子命令、权限等待与错误;重复空心跳不代表进展。确认失败或无法推进后优先恢复;接管前确认原执行者及其写进程已停止,再核对现有成果,仅完成剩余工作。遵守用户取消要求,不盲目重放任务或绕过权限拒绝。
|
|
42
|
-
|
|
43
|
-
## 验证与证据复用
|
|
44
|
-
|
|
45
|
-
按项目 AGENTS.md 和实际测试配置完成必需检查,选择与改动相关的最小充分范围。纯文档或局部样式不因通用表格自动触发跨端 lint、全仓构建或数据库操作。
|
|
46
|
-
|
|
47
|
-
记录被验证的代码与输入、覆盖范围、命令、实际执行者和可读结果。未提交改动也属于输入;不能只用 HEAD 代表含本地修改的验证现场。证据详细程度以能够判断是否仍适用为准。
|
|
48
|
-
|
|
49
|
-
- 内容、基线与相关输入未变:复用已有验收、审查和测试证据,包括可核实的其他执行者结果。
|
|
50
|
-
- 仅 commit SHA 改变、内容相同:核对后关联新提交,不重跑相同检查。
|
|
51
|
-
- 代码、验收标准、依赖或环境变化:检查增量及受影响调用方,仅补跑受影响项。
|
|
52
|
-
- 来源或覆盖不足:补齐缺失检查;影响无法界定时再扩大到当前交付的完整 diff 和必要测试。
|
|
53
|
-
|
|
54
|
-
测试通过不能替代代码审查。失败按复现、日志或基线证据归因;已知失败清单只是线索,未收录不代表本次引入。保留失败事实,修复任务范围内的问题,其他问题写明影响。
|
|
55
|
-
|
|
56
|
-
测试若会清理共享数据库或改动共用资源,使用隔离环境,或沿用项目的互斥机制。不要把生产迁移当常规测试,也不要通过固定全局锁路径假定所有项目共享一套数据库。
|
|
57
|
-
|
|
58
|
-
## 审查与修复
|
|
59
|
-
|
|
60
|
-
首次审查覆盖本次完整 diff 及必要上下文;有效审查已有覆盖时只查增量和受影响部分。发现提供文件位置、触发条件、影响与修复建议,优先处理正确性、安全和验收缺口。
|
|
61
|
-
|
|
62
|
-
独立审查使用未参与实现的上下文;自审按自审报告,不冒充外部审查。审查次数由新变化和未解决问题决定,不设“每 PR 最多一次”或“固定三轮”的通用额度,也不为凑轮次重复检查。
|
|
63
|
-
|
|
64
|
-
修复后验证受影响行为,复用其余证据。提交按逻辑变更组织,不要求每条 finding 单独一个 commit。确认有效的重大问题未解决时不声称可合并;无法在范围内解决时保留具体原因与后续建议,不靠创建 Issue 把失败改成通过。
|
|
65
|
-
|
|
66
|
-
## 提交与 PR
|
|
67
|
-
|
|
68
|
-
执行任务已授权的提交和 PR 交付。暂存明确的本次文件,并核对暂存 diff,避免带入无关修改或凭据;提交钩子改变内容时补验受影响部分。
|
|
69
|
-
|
|
70
|
-
复用已有 PR。创建或更新后读回标题、正文、base、head 和 URL,确认发布的是已验证内容;部分失败先查远端实际状态,只补剩余操作。检查当前项目实际要求的 CI,不沿用“本仓库没有 PR CI”的历史假设。
|
|
71
|
-
|
|
72
|
-
依赖 PR 未合并时,继续可独立完成的实现、审查和草稿准备;只延后依赖它的集成或合并。需要判断冲突时优先使用只读比较或隔离 worktree,不为探测冲突修改用户当前工作树。
|
|
73
|
-
|
|
74
|
-
## 合并与回访
|
|
75
|
-
|
|
76
|
-
仅当当前任务授权包含合并时执行。合并前确认验收范围已满足、必需测试和 CI 通过、重大 findings 已解决;核对最新远端 head、base 与验证对象。变化使证据失效时补查增量。
|
|
77
|
-
|
|
78
|
-
使用项目允许的合并方式,绑定已核验的 head(例如 gh 的 `--match-head-commit`);保留分支保护,不能用管理员开关绕过。自动合并已设置不代表已合并,读回 `mergedAt` 与状态后再报告;异步检查仍在运行时准确说明等待原因。
|
|
79
|
-
|
|
80
|
-
合并后按任务要求回访关联 Issue,确认实际验收与关闭状态。只有本次确实完成整个 Issue 时才使用关闭关联;对误关或剩余工作按已有授权修正并报告。
|
|
81
|
-
|
|
82
|
-
## 后续工作与交付
|
|
83
|
-
|
|
84
|
-
范围外问题先记录本地发现、影响和建议。任务已明确授权创建 follow-up Issue 或委派后续交付时才执行;每项沿用原授权边界,不递归扩大外部写操作或派发深度。
|
|
85
|
-
|
|
86
|
-
已授权的独立后续任务使用各自责任范围与合适基线;依赖当前未合并改动时先准备,集成条件满足后继续。回收 worktree 前确认成果已保留、没有待整合改动,授权覆盖删除;squash 合并后不能仅凭分支名称判断可强删。
|
|
87
|
-
|
|
88
|
-
最终报告实际终点、本次改动、验证、Issue/PR 链接及未完成项。已创建 PR、已设置自动合并、已合并和已回访分别陈述;仅本地任务以本地产物完成,不强制走到远端合并。
|