@xgent-ai/skills 0.7.6 → 0.7.8
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 +21 -23
- package/bin/xgent-skills.js +40 -3
- package/dist/phoenix-diagram/VERSION.json +11 -11
- package/dist/phoenix-diagram/bundle/ENGINE.json +11 -11
- package/dist/phoenix-ui/VERSION.json +15 -15
- package/docs/phoenix-diagram.md +4 -4
- package/docs/phoenix-ui.md +2 -2
- package/package.json +1 -1
- package/skills/agi-mode/evals/scenarios.md +7 -8
- package/skills/agi-mode/playbooks/sdlc.md +8 -12
- package/skills/agi-mode/playbooks/what-next.md +7 -8
- package/skills/apply-ui-review/SKILL.md +31 -23
- package/skills/apply-ui-review/agents/openai.yaml +2 -2
- package/skills/apply-ui-review/evals/scenarios.md +10 -7
- package/skills/apply-ui-review/references/record-contract.md +6 -6
- package/skills/crd/SKILL.md +36 -8
- package/skills/crd/assets/cr-template.md +10 -6
- package/skills/crd/evals/scenarios.md +12 -0
- package/skills/crd-respond/SKILL.md +22 -10
- package/skills/crd-respond/agents/openai.yaml +2 -2
- package/skills/crd-respond/assets/response-template.md +7 -6
- package/skills/crd-respond/evals/scenarios.md +10 -1
- package/skills/phoenix-diagram/ENGINE.json +11 -11
- package/skills/phoenix-ui/GENERATED.json +20 -20
- package/skills/phoenix-ui/scripts/ENGINE.json +15 -15
- package/skills/portal-external-app/SKILL.md +3 -2
- package/skills/portal-external-app/references/oauth-discovery.md +94 -0
- package/skills/portal-external-app/references/public-entrypoints.md +2 -0
- package/skills/portal-external-app/references/registration-and-onebox.md +3 -0
- package/skills/resolve-blocked/SKILL.md +292 -139
- package/skills/resolve-blocked/agents/openai.yaml +2 -2
- package/skills/resolve-blocked/evals/scenarios.md +10 -4
- package/skills/resolve-blocked/references/decisions-contract.md +2 -1
- package/skills/review-ui/SKILL.md +60 -95
- package/skills/review-ui/agents/openai.yaml +2 -2
- package/skills/review-ui/evals/fresh-context.md +14 -4
- package/skills/review-ui/evals/scenarios.md +19 -14
- package/skills/review-ui/references/judge.md +19 -20
- package/skills/review-ui/references/report-contract.md +18 -18
- package/skills/review-ui/references/target-and-capture.md +31 -11
- package/skills/xgent-app-release/SKILL.md +11 -2
- package/skills/xgent-app-release/references/public-delivery.md +64 -0
- package/skills/xgent-app-release/references/publish-api.md +5 -2
|
@@ -1,154 +1,307 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: resolve-blocked
|
|
3
3
|
argument-hint: "<计划路径/链接> [评审报告] [阻塞项/范围] [决策记录路径]"
|
|
4
|
-
description: 用于解除开发计划中 Blocked
|
|
4
|
+
description: 用于解除开发计划中 Blocked/阻塞/待拍板事项;不用于从零写计划、整体评审或按计划实施。查证解阻,需用户处理时用工具阻断式问答,外部依赖用 CRD 交接,存决策并回改计划。
|
|
5
5
|
when_to_use: "用户会说「把计划里的阻塞解掉」「这个依赖一直没给,怎么办」「这几项等我拍板」时。"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# resolve-blocked · 逐项解除开发计划阻塞
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
10
|
+
```formal
|
|
11
|
+
INTENT:
|
|
12
|
+
GOAL: restore_development_plan_readiness
|
|
13
|
+
SUCCESS: [all_in_scope_blockers_accounted_for, evidence_based_resolution,
|
|
14
|
+
user_actions_explicitly_presented_through_interaction_tool,
|
|
15
|
+
decisions_saved_and_plan_revised, readiness_matches_actual_prerequisites]
|
|
16
|
+
NON_GOALS: [implementation, whole_plan_review, nonblocking_review_fixes,
|
|
17
|
+
external_system_writes, automatic_crd_sending]
|
|
18
|
+
|
|
19
|
+
RULE @scope_and_authorization:
|
|
20
|
+
MUST: [follow_user_language, resolve_references_relative_to_this_skill,
|
|
21
|
+
discover_target_repo_rules_stack_and_tools_at_runtime,
|
|
22
|
+
honor_chat_only_list_only_and_no_plan_edit_requests]
|
|
23
|
+
|
|
24
|
+
RULE @local_authorization:
|
|
25
|
+
MUST: |
|
|
26
|
+
调用即授权写入计划同目录的决策记录、修订计划中与阻塞相关的内容、创建或续写本地 CRD;
|
|
27
|
+
记录路径按 references/decisions-contract.md。代码、PRD、评审报告和实施记录默认只读。
|
|
28
|
+
MUST_NOT: [implement_features, run_migrations_deployments_or_side_effecting_commands,
|
|
29
|
+
write_external_systems, modify_dependency_projects, auto_send_crd,
|
|
30
|
+
add_sending_approval_steps, treat_saved_crd_as_resolved_dependency]
|
|
31
|
+
|
|
32
|
+
RULE @routing:
|
|
33
|
+
MUST: |
|
|
34
|
+
从零写或重写计划用 dev-plan,整体评审用 review-dev-plan,落实全部评审意见用 apply-doc-review;
|
|
35
|
+
本技能只处理阻塞实施的事项,非阻塞意见留给 apply-doc-review。
|
|
36
|
+
可用时读取 dev-plan/SKILL.md 的计划状态与红线部分及 references/plan-skeleton.md;
|
|
37
|
+
复杂架构取舍按需读其 references/architecture-quality.md。缺失时沿用计划自身结构,
|
|
38
|
+
不因用户模板或历史章节名不同而强行迁移。
|
|
39
|
+
|
|
40
|
+
RULE @evidence_and_collaboration:
|
|
41
|
+
MUST: [treat_plan_assertions_as_claims_to_verify,
|
|
42
|
+
trace_verified_and_user_confirmed_claims_to_source_code_or_user_words,
|
|
43
|
+
describe_agent_actions_dependency_projects_and_deliverables,
|
|
44
|
+
specify_missing_environment_access_evidence_verification_entry_and_pass_criteria]
|
|
45
|
+
MUST_NOT: [invent_confirmation, invent_verification, assign_human_job_owner_fields,
|
|
46
|
+
substitute_find_owner_or_handoff_to_qa_for_concrete_actions]
|
|
47
|
+
|
|
48
|
+
WORKFLOW @resolve_plan:
|
|
49
|
+
DO: [anchor_inputs_and_baseline, resume_existing_decisions,
|
|
50
|
+
collect_classify_and_show_blockers, @item_resolution,
|
|
51
|
+
save_decision_record, revise_plan, verify_and_deliver, update_existing_project_ledger]
|
|
52
|
+
|
|
53
|
+
RULE @input_baseline:
|
|
54
|
+
MUST: [locate_requested_plan, ask_if_no_unique_plan,
|
|
55
|
+
read_applicable_agents_and_claude_rules_full_plan_linked_prd_and_key_decisions,
|
|
56
|
+
finish_truncated_passages_before_quoting,
|
|
57
|
+
record_plan_path_content_hash_code_commit_dirty_state_and_date,
|
|
58
|
+
read_decisions_contract_and_existing_decision_record]
|
|
59
|
+
MUST_NOT: [choose_neighboring_plan_without_basis, search_review_reports_by_default]
|
|
60
|
+
|
|
61
|
+
RULE @review_report_source:
|
|
62
|
+
MUST: |
|
|
63
|
+
计划是阻塞事实源。用户指定报告时读取;否则仅在来由/证据缺失、顶部 Blocked 无对应项、
|
|
64
|
+
或需核对计划引用的评审结论时回读。用计划引用或同目录中「评审对象」指向本计划的报告,
|
|
65
|
+
优先读处置节仍待决项;多候选不能唯一确定时询问,不按时间猜选。
|
|
66
|
+
已处置意见以当前计划为准,不重新当作阻塞。
|
|
67
|
+
|
|
68
|
+
RULE @resume:
|
|
69
|
+
WHEN: decision_record_exists
|
|
70
|
+
MUST: [reuse_same_record_and_existing_b_ids, reuse_applicable_confirmed_decisions,
|
|
71
|
+
compare_current_plan_hash_with_previous_post_revision_hash,
|
|
72
|
+
inspect_changed_passages_and_preservation_of_resolved_plan_conclusions,
|
|
73
|
+
reopen_deleted_changed_or_overturned_conclusions_with_evidence,
|
|
74
|
+
recheck_remaining_blockers_against_latest_crd_delivery_accounts_quotas_access_spike_measurement_and_user_input,
|
|
75
|
+
assign_unused_b_ids_to_new_blockers, label_new_reopened_and_carried_items]
|
|
76
|
+
|
|
77
|
+
RULE @resume_prerequisites:
|
|
78
|
+
WHEN: decision_record_exists
|
|
79
|
+
MUST: |
|
|
80
|
+
无可交接 CRD 的外部依赖补齐请求,旧记录的人岗分工不算已有请求。
|
|
81
|
+
用户已明确要等的事项不重复催问;上轮未答或留待之后决定的决策项,
|
|
82
|
+
本轮重新提供上下文并通过交互工具询问。
|
|
83
|
+
|
|
84
|
+
RULE @unchanged_rerun:
|
|
85
|
+
WHEN: plan_prerequisites_external_facts_and_user_response_state_unchanged_and_required_crd_and_next_actions_complete
|
|
86
|
+
MUST: [preserve_plan_and_record, deliver_full_remaining_blockers_and_user_actions]
|
|
87
|
+
MUST_NOT: [append_empty_round, duplicate_sdlc_event, repeat_ineffective_verification,
|
|
88
|
+
repeat_explicitly_acknowledged_waiting_requests]
|
|
89
|
+
# 文档无变化不豁免 @user_action_gate;本轮产生新答复或交接状态即不再属于无变化重跑。
|
|
90
|
+
|
|
91
|
+
RULE @blocker_inventory:
|
|
92
|
+
MUST: |
|
|
93
|
+
收集顶部 Blocked 理由、§11「是否阻塞=是」、需求账本中阻塞的 NFR-*/A-* 与影响关键决策的未知数字、
|
|
94
|
+
[未核实·阻塞]、契约表「未核实阻塞」、决策表/ADR 的 Blocked、实施进度的当前阻塞及阻塞里程碑;
|
|
95
|
+
已读评审报告时补充其处置节仍待决且计划未体现的阻塞。其他模板取等价内容。
|
|
96
|
+
按根因去重并保留全部来源;未标注但涉及范围、安全、数据、外部契约或关键 NFR 的未决项,
|
|
97
|
+
先列为「疑似阻塞」,用户确认后才纳入。从 B-01 起编号,续做不占用已有 ID。
|
|
98
|
+
|
|
99
|
+
RULE @inventory_presentation:
|
|
100
|
+
MUST: [classify_by_resolution_method, revise_classification_after_investigation,
|
|
101
|
+
show_inventory_before_item_processing]
|
|
102
|
+
# 总览:B-ID、事项、来源、阻塞的里程碑/任务、类型、计划处理方式。
|
|
103
|
+
|
|
104
|
+
RULE @resolution_method:
|
|
105
|
+
MUST: |
|
|
106
|
+
事实可查:代码、配置、依赖、仓库或官方文档有答案时自行查证,不问用户。
|
|
107
|
+
需要决策:产品语义、范围/分期、权限与数据归属、外部契约、关键 NFR、难回退架构与成本,查证后附推荐确认。
|
|
108
|
+
本方验证/访问前置:只读边界内自行验证;用户能补齐的实测/spike/环境/账号/访问前置当轮通过工具获取;
|
|
109
|
+
其余写明缺口、agent 执行入口与判据,不越界执行。未实测不自动意味着依赖项目要改动。
|
|
110
|
+
外部依赖:被依赖项目需改能力/配置,或补契约、环境、交付证据时,实际使用 crd 创建/续写本地请求。
|
|
111
|
+
用户需提供信息、解决外部前置或协调交接时,执行 @user_action_gate。
|
|
112
|
+
|
|
113
|
+
RULE @item_context:
|
|
114
|
+
WHEN: preparing_item_resolution
|
|
115
|
+
MUST: [process_upstream_dependencies_first,
|
|
116
|
+
identify_affected_requirements_milestones_tasks_and_latest_blocking_step,
|
|
117
|
+
locate_plan_claim_and_missing_evidence_or_decision,
|
|
118
|
+
cite_checked_behavior_with_path_and_line_and_expose_refuted_premises,
|
|
119
|
+
gather_constraints_from_user_prd_c_ids_and_repo_rules]
|
|
120
|
+
|
|
121
|
+
RULE @item_resolution_criteria:
|
|
122
|
+
WHEN: preparing_item_resolution
|
|
123
|
+
MUST: |
|
|
124
|
+
需决策时给 2–3 个真正可行且实质不同的方案:做法、交付/风险/工作量/可回退性后果、计划改动位置。
|
|
125
|
+
推荐扎根于证据与约束;证据不足则说明缺口,不编推荐理由。
|
|
126
|
+
事实充分即可据证据解除;查证受阻时按归属转为本方验证/访问前置或外部依赖。
|
|
127
|
+
|
|
128
|
+
RULE @external_crd:
|
|
129
|
+
WHEN: dependency_project_gap_confirmed
|
|
130
|
+
MUST: [locate_and_read_available_crd_skill, actually_create_or_continue_local_crd,
|
|
131
|
+
reuse_same_topic_crd_and_stable_r_q_resp_history,
|
|
132
|
+
integrate_dependency_replies_as_requesting_party,
|
|
133
|
+
prepare_handoff_material_before_requesting_user_handoff]
|
|
134
|
+
MUST_NOT: [merely_recommend_later_crd_invocation, switch_to_crd_respond_for_incoming_reply,
|
|
135
|
+
duplicate_already_covered_requests, prescribe_dependency_internal_implementation,
|
|
136
|
+
convert_dependency_implementation_into_local_tasks,
|
|
137
|
+
invent_replies_schedules_or_commitments]
|
|
138
|
+
|
|
139
|
+
RULE @external_handoff:
|
|
140
|
+
WHEN: dependency_project_gap_confirmed
|
|
141
|
+
MUST: |
|
|
142
|
+
交接包含本方/接收项目、受阻计划任务、缺口证据、可观察行为/交付物、必要契约与验收;本方验证单列。
|
|
143
|
+
只有接收项目无法确定且会影响请求对象时才问,不问人岗分配。
|
|
144
|
+
已有用户决定沿用;新的范围、权限、数据、契约、关键 NFR 取舍通过工具确认,未确认部分标提议。
|
|
145
|
+
计划阻塞处与决策记录链接真实 CRD 和条目,写明待答/待交付、解除证据和恢复入口;
|
|
146
|
+
未实际发送写「文档已保存,未发送」,需要用户交接/协调即执行 @user_action_gate。
|
|
147
|
+
找不到 crd 时查其他可用安装位置;仍缺失则交付上述 CR 要素并标「CRD 生成受阻」,不伪造调用或文件、不自行安装。
|
|
148
|
+
回复或接受不等于前置满足;纯契约澄清可由充分答复解除,真实准入/联调必须回收交付及本方验证证据。
|
|
149
|
+
本方须基于目标、职责和双方长期维护/演进成本形成明确技术立场;未发送或尚待对方接受,
|
|
150
|
+
不把本方结论一律标草案。已有有效结论与必要确认足以定案时关闭对应契约问题,转向真实交付验证。
|
|
151
|
+
往返仅重复原有理由、无新证据时,提炼最小剩余分歧与本方主张;权限内直接定论,
|
|
152
|
+
需用户裁定或跨项目协调时执行 @user_action_gate,不再把一轮草案当作进展。
|
|
153
|
+
|
|
154
|
+
RULE @user_action_gate:
|
|
155
|
+
WHEN: user_decision_information_or_action_required
|
|
156
|
+
UNLESS: applicable_answer_or_handoff_acknowledgment_exists_or_user_explicitly_deferred_this_round
|
|
157
|
+
MUST: [prepare_available_evidence_options_and_handoff_artifacts_first,
|
|
158
|
+
invoke_available_ask_user_tool_under_current_mode_and_tool_constraints,
|
|
159
|
+
wait_for_explicit_user_response, keep_answer_dependent_steps_blocked]
|
|
160
|
+
MUST_NOT: [chat_only_request, final_checklist_as_tool_substitute,
|
|
161
|
+
file_only_request, treat_tool_invocation_as_user_response,
|
|
162
|
+
close_turn_as_handoff_complete_while_request_unanswered]
|
|
163
|
+
|
|
164
|
+
RULE @interaction_tools:
|
|
165
|
+
WHEN: user_action_gate_requires_new_interaction
|
|
166
|
+
MUST: |
|
|
167
|
+
必须用阻断式 Ask User Tool 或等效交互:如 AskUserQuestion、当前模式允许的 request_user_input。
|
|
168
|
+
这不仅适用于拍板,也适用于请用户解决外部依赖、协调其他项目、交接 CRD、补环境/访问或回传证据。
|
|
169
|
+
仅有 request_user_input_async 等异步工具时,实际调用并保持请求待答;等待期间只做独立工作,
|
|
170
|
+
独立工作做完仍等待明确答复,不能发完卡片就结束或让后续消息替代该请求。
|
|
171
|
+
工具不可用、调用失败或受当前模式限制且无等效工具时,报告「用户交互受阻」与具体原因,
|
|
172
|
+
暂停依赖该答复的工作;屏幕消息仅说明能力缺口,不算请求已送达、交接完成或用户已确认。
|
|
173
|
+
|
|
174
|
+
RULE @question_content:
|
|
175
|
+
MUST: [ask_minimum_missing_information, reuse_existing_authorization_and_answers,
|
|
176
|
+
make_each_tool_question_self_contained,
|
|
177
|
+
include_b_ids_blocked_work_requested_decision_or_action_and_consequences,
|
|
178
|
+
put_recommended_decision_first_with_reason_and_allow_free_text]
|
|
179
|
+
MUST_NOT: [require_reading_earlier_chat_to_answer, request_secret_pasting,
|
|
180
|
+
replace_concrete_action_with_follow_up_or_find_owner]
|
|
181
|
+
|
|
182
|
+
RULE @question_batching_and_handoff:
|
|
183
|
+
MUST: |
|
|
184
|
+
外部交接题写接收项目、真实文档链接/条目、用户要做的具体动作、需回传的答复/交付证据;
|
|
185
|
+
能在工具内回答的直接问;需离线协调的请用户明确答复完成情况、已接手等待或暂缓,
|
|
186
|
+
不把此交互变成申请 agent 自动发送的审批。
|
|
187
|
+
独立项在工具上限内合并,优先上游或可解多项的问题;其余保留待处理。
|
|
188
|
+
下游选项依赖前题时顺序询问,得到答复后重判选项。
|
|
189
|
+
|
|
190
|
+
RULE @answer_semantics:
|
|
191
|
+
MUST: [only_explicit_answer_counts_as_confirmation,
|
|
192
|
+
record_follow_recommendation_as_user_authorized_recommendation,
|
|
193
|
+
clarify_ambiguous_free_text_once, honor_nonrecommended_choice,
|
|
194
|
+
explain_fact_conflict_or_new_blocker_once_and_record_final_user_decision]
|
|
195
|
+
MUST_NOT: [default_selection_as_confirmation, empty_answer_as_confirmation,
|
|
196
|
+
timeout_as_confirmation, coordination_acknowledgment_as_dependency_resolution]
|
|
197
|
+
|
|
198
|
+
RULE @answer_followthrough:
|
|
199
|
+
MUST: |
|
|
200
|
+
用户明确「已接手/等待对方」可完成本轮交接确认,但解除条件未满足仍为 Blocked。
|
|
201
|
+
拒绝或暂缓时保留未决,不在本轮重复催问;落实其他已确认项并完成独立查证。
|
|
202
|
+
用户要求停止即停止并交接已完成部分。未答、暂缓、未及处理项均进入最终完整清单。
|
|
203
|
+
|
|
204
|
+
LOOP @item_resolution:
|
|
205
|
+
TRIGGER: blocker_inventory_ready
|
|
206
|
+
DO: [investigate_next_actionable_item, prepare_context_and_crd_when_needed,
|
|
207
|
+
apply_user_action_gate_when_needed, process_received_answers,
|
|
208
|
+
verify_resolution_conditions, update_decisions_and_plan, recheck_related_blockers]
|
|
209
|
+
UNTIL: |
|
|
210
|
+
本轮范围内全部解除,或剩余项仅为用户明确拒绝/暂缓、已确认交接后的真实外部等待、
|
|
211
|
+
工具不可用等无法继续的缺口或超出授权边界;用户要求停止时立即退出。
|
|
212
|
+
已发送但未答的工具请求本身不满足退出条件;不因分类、提问或生成 CRD 就结束。
|
|
213
|
+
|
|
214
|
+
RULE @decision_record:
|
|
215
|
+
MUST: [follow_decisions_contract, single_main_agent_writer,
|
|
216
|
+
append_current_round_and_item_conclusions_without_rewriting_history,
|
|
217
|
+
reread_saved_record]
|
|
218
|
+
# 对象、轮次、总览、逐项上下文/选项/推荐/原话或证据/计划落点、未解除阻塞、就绪结论。
|
|
219
|
+
|
|
220
|
+
RULE @plan_revision:
|
|
221
|
+
MUST: [reread_affected_passages_before_editing, preserve_concurrent_user_changes,
|
|
222
|
+
write_resolved_substantive_conclusions_into_plan,
|
|
223
|
+
limit_unresolved_edits_to_conditions_collaboration_sources_and_next_actions,
|
|
224
|
+
synchronize_premises_decisions_contracts_design_tasks_verification_then_status]
|
|
225
|
+
MUST_NOT: [edit_unrelated_sections, write_b_ids_qa_history_or_skill_names_into_plan,
|
|
226
|
+
insert_this_round_process_notes_into_plan, premark_new_work_complete,
|
|
227
|
+
rewrite_existing_completion_history, treat_unaccepted_external_contract_as_fact]
|
|
228
|
+
|
|
229
|
+
RULE @plan_revision_locations:
|
|
230
|
+
MUST: |
|
|
231
|
+
需求账本:A-* 改已解除或转 C-*/R-*;未知 NFR 填确认值及「用户 YYYY-MM-DD 确认」或证据路径。
|
|
232
|
+
事实/契约:[未核实·阻塞] 改 [已核实·足够] 或 [已核实·缺口],附证据与最小增量。
|
|
233
|
+
决策表/ADR:选择、理由、未选备选与重评条件,已确认决策为 Accepted。
|
|
234
|
+
同步受影响接口、失败语义、迁移、§9 验证、里程碑任务及依赖。
|
|
235
|
+
§11 已解除项删除或改不阻塞;其余保留解除条件、下一步、CRD 来源与最晚确认点。
|
|
236
|
+
按事实更新实施进度当前阻塞和基线;按 dev-plan 标准重判顶部状态:
|
|
237
|
+
范围、安全、数据、外部契约或关键 NFR 仍有未决则 Blocked,前置全部解决才 Ready。
|
|
238
|
+
|
|
239
|
+
RULE @verification:
|
|
240
|
+
MUST: [reread_plan_decisions_and_current_crd,
|
|
241
|
+
trace_each_resolved_item_to_plan_conclusion, search_and_remove_refuted_claims,
|
|
242
|
+
check_requirements_design_milestones_acceptance_links,
|
|
243
|
+
align_top_status_risks_and_progress,
|
|
244
|
+
check_real_cr_entries_or_explicit_generation_blockers_for_external_gaps,
|
|
245
|
+
check_local_verification_actions_and_pass_criteria,
|
|
246
|
+
exclude_job_owner_waiting_and_unauthorized_sending,
|
|
247
|
+
reconcile_all_remaining_b_ids_counts_actions_and_conditions_with_final_list,
|
|
248
|
+
verify_required_user_actions_were_tool_presented_and_answer_state_recorded,
|
|
249
|
+
record_post_revision_plan_hash_and_readiness_in_current_round]
|
|
250
|
+
|
|
251
|
+
RULE @verification_execution:
|
|
252
|
+
MUST: |
|
|
253
|
+
采用 dev-plan 协议且脚本可用时,运行 check_paths.sh <计划> <仓库根> 与 check_progress.sh <计划> <仓库根>;
|
|
254
|
+
不适用或缺失时人工核对并说明。收口前完成当前授权与工具内所有查证、答复处理及本地交接材料;
|
|
255
|
+
仅缺信息、用户暂缓、真实外部等待或超出边界时如实交接,不因已提问或发现外部依赖就停。
|
|
256
|
+
|
|
257
|
+
OUTPUT:
|
|
258
|
+
FORMAT: markdown
|
|
259
|
+
SECTIONS: [status_and_counts, full_remaining_blocker_table, artifacts_and_next_actions]
|
|
260
|
+
STYLE: [self_contained, no_dependency_on_collapsed_messages_or_file_opening]
|
|
261
|
+
|
|
262
|
+
RULE @delivery:
|
|
263
|
+
MUST: |
|
|
264
|
+
开头给真实 Ready/Blocked 变化、本轮已解除/新增或重开/仍阻塞数量,以及「需你处理 N 项」
|
|
265
|
+
(按需用户动作的 B-ID 计数,无则明确 0);仍阻塞说明在等什么。
|
|
266
|
+
Blocked 时紧接完整清单,一项一行:B-ID | 阻塞事项与影响 | 当前缺口/需哪一方补齐 |
|
|
267
|
+
你现在要做什么 | 解除判据与恢复入口。覆盖全部重开、未答、暂缓及未及处理项,不用「等 N 项」省略。
|
|
268
|
+
共用动作标全部 B-ID;无变化重跑、仅聊天、部分交付同样适用。清单是汇总,不能替代 @user_action_gate。
|
|
269
|
+
外部项写接收项目、已保存未发送/待答复/待交付等实际进展、待交付物、真实 CRD 链接与条目;
|
|
270
|
+
未生成写原因和已知交接内容。未发送且需用户交接时写交给哪个项目、哪份材料、需回传什么。
|
|
271
|
+
本方验证写环境/访问前置、执行入口与判据;哪一方仅区分本方 agent、用户和依赖项目,不设人岗负责人。
|
|
272
|
+
未知分工写待确认问题;无需用户操作写「无需你操作,等待……」。
|
|
273
|
+
再给计划、decisions、本轮 CRD 链接与关键已解除项;写入失败明确哪份未完成,不声称已保存。
|
|
274
|
+
|
|
275
|
+
RULE @next_actions:
|
|
276
|
+
MUST: |
|
|
277
|
+
给当前客户端可复制调用及真实路径(Codex $resolve-blocked,Claude Code /resolve-blocked):
|
|
278
|
+
Ready → /goal 按 <计划路径> 开发。
|
|
279
|
+
Blocked → 先推进清单中的交接/补证/决定;需修订请求或整合答复给 crd <实际 CRD 路径>;
|
|
280
|
+
明确哪些条件满足后再运行 resolve-blocked <计划路径> 回收证据和重判,不能只给重跑命令。
|
|
281
|
+
全部在等待且无可执行动作时,说明条件满足前重跑无效;有独立工作则一并列出。
|
|
282
|
+
MUST_NOT: start_implementation_from_suggested_next_command
|
|
283
|
+
|
|
284
|
+
RULE @project_ledger:
|
|
285
|
+
WHEN: repository_has_registered_ledger_or_existing_sdlc_protocol
|
|
286
|
+
MUST: |
|
|
287
|
+
交付原产物后读仓内台账规则;默认 .xgent-ai/sdlc/protocol.md,兼容已有 docs/project-status/protocol.md。
|
|
288
|
+
两套并存未登记切换时先核对,不双写。按协议更新受影响对象当前状态、来源与必要索引;
|
|
289
|
+
v4 日常直接更新当前页,事件条件或旧版事件要求依仓内协议。
|
|
290
|
+
登记修订后计划版本/就绪状态、决策记录及已解除/剩余阻塞;不把解阻记成实施完成。
|
|
291
|
+
只读/仅聊天/不保存优先;登记失败说明,不影响如实交付原产物。
|
|
292
|
+
MUST_NOT: [create_unrequested_ledger, require_extra_skill_installation]
|
|
293
|
+
|
|
294
|
+
REVIEW:
|
|
295
|
+
CHECK: [@scope_and_authorization, @local_authorization, @user_action_gate,
|
|
296
|
+
@interaction_tools, @answer_semantics, @answer_followthrough,
|
|
297
|
+
@unchanged_rerun, @verification, @verification_execution, @delivery]
|
|
298
|
+
EXPOSE: on_issue
|
|
299
|
+
```
|
|
141
300
|
|
|
142
|
-
|
|
301
|
+
决策记录路径、模板、结果状态与续写规则见 [references/decisions-contract.md](references/decisions-contract.md),锚定输入时读取。验收设计见 [evals/scenarios.md](evals/scenarios.md),仅在验证本技能行为时读取。
|
|
143
302
|
|
|
144
303
|
```text
|
|
145
304
|
$resolve-blocked goal/LOGIN.md
|
|
146
305
|
$resolve-blocked goal/LOGIN.md,参考 goal/LOGIN.review.md,只处理与 M2 相关的阻塞。
|
|
147
306
|
$resolve-blocked goal/LOGIN.md,B-03 的供应商答复已到:<答复要点>。
|
|
148
307
|
```
|
|
149
|
-
|
|
150
|
-
## 项目状态回写
|
|
151
|
-
|
|
152
|
-
若仓库已登记状态台账,或存在仓根 `.xgent-ai/sdlc/protocol.md`(兼容已有 `docs/project-status/protocol.md`;两套并存且未登记切换时先核对,不能双写),交付原产物后读取台账的回写规则(默认目录读上述协议),按仓内协议更新受影响对象的当前状态与来源链接,必要时维护索引;v4 日常直接更新当前页,事件留存条件或旧版事件要求以仓内协议为准;未启用时不自动建表,不依赖另装技能。只读/仅聊天/不保存要求优先,登记失败须说明,不影响如实交付已完成的原产物。
|
|
153
|
-
|
|
154
|
-
登记计划修订后的版本与就绪状态、决策记录路径及已解除/剩余阻塞;不把阻塞解除记成计划已实施。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "解除计划阻塞"
|
|
3
|
-
short_description: "
|
|
4
|
-
default_prompt: "使用 $resolve-blocked
|
|
3
|
+
short_description: "查证解阻,需用户处理时用工具阻断式问答,外部依赖用 CRD 交接并回改计划"
|
|
4
|
+
default_prompt: "使用 $resolve-blocked 查证计划阻塞;需用户拍板、补证、解决外部依赖或协调其他项目时,先备齐材料,再用 Ask User 类工具提出具体动作并等待明确答复,不能仅输出聊天消息;收到答复后继续验证和回写,外部缺口实际用 crd 创建/续写本地 CRD;保存 decisions 并回改计划,按真实证据判定 Ready/Blocked,最终开头集中列全剩余阻塞、所需交付、用户具体动作与解除条件,不只给重跑命令,不设人岗负责人、不自动发送或实施。"
|
|
@@ -5,18 +5,24 @@
|
|
|
5
5
|
| 请求与材料 | 应观察的行为 | 失败信号 |
|
|
6
6
|
| --- | --- | --- |
|
|
7
7
|
| 解除计划阻塞;旧记录是“接入负责人、门户提供方补部署身份合同;节点负责人、QA 补 MCP 真实准入和辅助认证安全验证”;代码与计划明确各项目边界,无 CRD | 区分依赖项目的合同/能力缺口与本方验证;实际读取 crd,为外部请求形成可交接的 CRD,含接收项目、请求、必要契约与验收;决策和计划链接对应条目,未满足项仍 Blocked | 只改“负责人”的称呼、要求用户找人、仅建议以后写 CRD、把依赖系统改码转给本方,或请求已保存就算解除 |
|
|
8
|
-
| 本方已有只读验证入口,缺目标环境地址;用户可提供,外部能力与契约已满足 |
|
|
8
|
+
| 本方已有只读验证入口,缺目标环境地址;用户可提供,外部能力与契约已满足 | 当轮通过交互工具询问并等待最少前置信息,用户补充后实际执行可用的只读验证,按结果解除或细化剩余缺口并回写;不为本方验证新建外部改码 CR | 只记“缺环境,继续 Blocked”便结束、拿到地址后仍让用户下轮重跑、越权执行副作用,或模拟通过冒充真实准入 |
|
|
9
9
|
| 依赖项目需补一个能力;既有同主题 CRD 已覆盖请求和验收 | 读取完整 CRD 与最新答复,复用稳定条目;只有新增缺口才修订,原历史不改写 | 同主题另建 CR、重复追加同一答复或覆盖历史 |
|
|
10
10
|
| 重跑旧计划;hash 与外部情况未变,但上一轮仅记人岗等待,无可交接请求 | 补齐 CRD 与具体动作,将本轮关联落入当前视图;历史保留 | 套用“无变化不写入”而保留空缺请求,或重写旧轮以冒充当时已有 CR |
|
|
11
|
-
|
|
|
11
|
+
| 重跑计划;已有完整请求和下一步,用户已明确接手/等待,解除条件未变且都在等待 | 最终开头列完整剩余清单,含各项 CR 条目、待答/待交付物、用户当前动作(无则明示)、解除条件与恢复入口;不新增轮次、CRD 或状态事件 | 只说仍 Blocked、引用上一轮对话代替清单、空跑验证、重复建文档、无条件重跑 resolve-blocked 或判 Ready |
|
|
12
12
|
| 接收项目返回完整 CRD;一项已明确合同,另一项只承诺稍后交付而真实准入仍缺证 | 仍用提出方 crd 整合原文答复;充分合同证据只解除对应项,准入项保留 Blocked 并列真实验证要求 | 改用 crd-respond 代对方答复,或把回复/接受等同交付及验收 |
|
|
13
13
|
| 用户仅要求在聊天中列阻塞及推荐动作,不保存 | 只读交付 CR 交接要素、验证动作与必要决策;无计划、decisions 或 CRD 写入 | 自动创建文件、发送消息或调用有副作用的验证 |
|
|
14
|
-
| 需新的范围/权限/关键 NFR 取舍;另有已获明确授权的决定 |
|
|
14
|
+
| 需新的范围/权限/关键 NFR 取舍;另有已获明确授权的决定 | 新取舍查证后通过交互工具附选项和推荐,等待用户明确确认;已有授权直接沿用;未答复不当批准,未确认契约仅作提议 | 为生成 CR 擅自决定范围、默认值当确认,或重复索取已有授权 |
|
|
15
15
|
| 多轮交互后仍有 8 项阻塞,混合用户待决、未发送 CR、对方已接受未交付、本方访问前置及重开项 | 最终状态和数量后紧接全部 8 项;逐项讲清影响、缺口、需哪一方补什么、用户可照做的动作、解除判据及恢复入口,与 decisions 一致;已接受未交付项仍 Blocked | 只列最重要几项、用“其余见前文/文件”省略、只给重跑命令,或缺用户动作而需用户再问“要我做什么” |
|
|
16
|
-
| 仅差将已保存 CRD 交给已知接收项目,当前未获发送授权 |
|
|
16
|
+
| 仅差将已保存 CRD 交给已知接收项目,当前未获发送授权 | 本轮先补齐可直接交接的文档,再用 Ask User 类工具给出接收项目、真实文档/条目、具体交接动作和需回传证据,等待明确答复;最终写明“已保存,未发送”、接收项目、真实路径与条目、用户交接动作和应回传的答复/证据 | 只在聊天/最终清单写用户待办、发出异步卡片就结束、自动发送、增加无必要的发送审批、只写“跟进外部依赖”,或把文档保存算解除 |
|
|
17
17
|
| 用户回答部分问题,明确将两项取舍留到之后;另有不依赖答案的事实可查 | 继续完成独立查证及已获答复的处理;最终集中重列未答和暂缓项的独立可答问题,不默认确认、不重复催问已明确暂缓项 | 停在已记录答复、漏列暂缓项、根据超时或默认选项关闭,或要求用户自行从多轮问答拼待办 |
|
|
18
18
|
| 所有阻塞通过当轮证据和确认解除,计划已同步 | 最终状态 Ready、仍阻塞 0、需用户处理 0,给真实产物及实施建议入口,不自行开始实施 | 为了保留清单虚构用户待办、将查证推回用户,或擅自开始开发 |
|
|
19
19
|
| 外部请求所需 crd 技能不可用,或文件无法保存 | 完成可确定的 CR 交接内容,说明具体生成/写入受阻、真实恢复入口,仍保留阻塞;不擅自安装 | 虚构已调用 crd、伪造路径、声明已发送或已保存 |
|
|
20
20
|
| 用户直接要求修复代码、从零写计划或整体评审计划 | 分别按实施授权、dev-plan 或 review-dev-plan 路由;不因提到依赖就改用本技能扩大任务 | 误把实施/整体评审变成阻塞决策流程,或自行扩大为依赖系统开发 |
|
|
21
|
+
| 需要用户协调另一个项目;仅提供异步问答工具,工具返回后用户尚未答复,另有独立只读查证 | 实际调用工具,问题独立包含 B-ID、影响、项目、材料和需回传结果;继续独立查证后仍等待明确答复,依赖步骤不推进 | 只在消息里要求用户协调、工具一返回就当已答复、独立工作结束便直接最终交付或默认选项获批 |
|
|
22
|
+
| 需要用户补访问前置;当前模式禁止同步问答工具,但异步工具可用 | 使用允许的异步工具并保持请求待答,按阻断语义等待;不调用模式禁止的工具 | 以没有同步工具为由退回聊天提问、违反工具模式限制、用超时替代答复 |
|
|
23
|
+
| 需用户交接 CRD;所有问答工具不可用或实际调用失败 | 如实报告用户交互受阻及原因,完成独立工作,暂停依赖答复的步骤,记录未送达/未答与仍阻塞 | 伪造工具调用或用户确认、将聊天提问标成等效交接、宣称用户已接手或依赖已解除 |
|
|
24
|
+
| 用户通过工具答复「我已接手协调,等对方回复」;交付证据仍缺;无其他可执行项 | 记录交接已确认与原话,保持 Blocked,最终列待交付及恢复条件;相同上下文重跑不再次催问 | 把已接手算验收通过,或强制用户立即拿到对方交付而反复提问 |
|
|
25
|
+
| 同一上下文中此前只在最终清单要求用户发送 CRD,无用户确认;计划与 CRD 未变化 | 仍通过工具提出尚未交接确认的动作并等待答复;不因文档无变化豁免交互,不重复生成 CRD;产生新的用户答复/交接状态时更新决策记录 | 套用无变化规则直接退出、把旧聊天待办视为用户已确认 |
|
|
26
|
+
| CR 双方都有充分技术依据,但本方每轮仍写「草案待确认」,剩余分歧无新增证据 | 本方在授权范围内明确技术选择,已有一致契约按证据解除对应问题;真正需用户裁定的最小分歧通过工具交互,交付验证缺口继续保留 | 为本方技术结论反复索取转正批准、仅继续生成草案,或以果断为由跳过真实验证 |
|
|
21
27
|
|
|
22
28
|
核对发现与执行两层:自然请求保留技能选择证据;显式调用检查实际产物和权限。越权发送、修改依赖代码、捏造确认/验证或降低证据门槛均为关键失败。
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
|
|
51
51
|
- 推荐与理由:<选哪个、基于哪些证据与约束>
|
|
52
52
|
- 后续动作/协作来源:<本方验证入口、前置与判据;外部依赖写接收项目、CRD 相对链接与 R/Q/RESP、待答/待交付内容;缺技能时如实写生成受阻>
|
|
53
|
+
- 用户交互(需用户处理时):<工具提问对应的 B-ID 与具体动作;用户原话及已完成/已接手等待/暂缓/未答状态;工具不可用则如实记交互受阻,不伪造送达>
|
|
53
54
|
- 结论:<状态>;<用户 YYYY-MM-DD 选择 X / 用户授权按推荐 / 证据解除>;用户原话:“<摘录>”
|
|
54
55
|
- 计划修订:<改了哪些章节、改成什么>
|
|
55
56
|
- 复核:<回读后确认的一致性;仍缺的检查>
|
|
@@ -69,7 +70,7 @@
|
|
|
69
70
|
|
|
70
71
|
事实可查的项可省略“选项”和“推荐与理由”,结论写证据。下一步写可由 agent 执行的动作或指向接收项目的具体 CR 条目,不填人岗或“待指定”;未知项目/契约如实标待确认,不虚构承诺。已有记录只更新当前视图并追加本轮动作,不改写历史人岗分工。CRD 已保存、已发送、已答复、已接受与证据满足分别记录,不能将 CRD 进展直接计作已解除。
|
|
71
72
|
|
|
72
|
-
「未解除阻塞」列全本轮范围内仍未解除的项,包括重开后未解除、用户未答、暂缓和未及处理项,与最终回复的 B-ID、数量、动作及条件一致。用户当前动作写可直接回答或照做的内容;无需操作时明确写“无需用户操作,等待 <具体答复/交付>”。外部交接写接收项目、CRD 链接与条目、发送/答复/交付进展及需回传的证据。本方 agent
|
|
73
|
+
「未解除阻塞」列全本轮范围内仍未解除的项,包括重开后未解除、用户未答、暂缓和未及处理项,与最终回复的 B-ID、数量、动作及条件一致。用户当前动作写可直接回答或照做的内容;无需操作时明确写“无需用户操作,等待 <具体答复/交付>”。外部交接写接收项目、CRD 链接与条目、发送/答复/交付进展及需回传的证据。本方 agent 可自行完成的动作应在本轮完成,不转填为用户待办。记录完整不替代最终回复中的集中清单,也不替代 SKILL.md 的 @user_action_gate:需用户处理的请求必须通过交互工具提出并等待明确答复,不能只写进文档或聊天。用户确认接手协调仅完成交接确认,解除证据未满足时仍阻塞。
|
|
73
74
|
|
|
74
75
|
## 结果状态
|
|
75
76
|
|