원클릭으로
requirements-sync
同步 User Story 状态到 UPM requirements 节,检测偏差并维护一致性。 使用场景:"同步需求状态到 UPM"、"检查 UPM 需求是否一致"
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
同步 User Story 状态到 UPM requirements 节,检测偏差并维护一致性。 使用场景:"同步需求状态到 UPM"、"检查 UPM 需求是否一致"
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Aria 项目级配置加载器(内部基础设施)。 查找、解析、验证 .aria/config.json 并合并默认值。 此 Skill 不直接触发,由其他 Skills 引用以读取项目配置。
项目状态扫描与智能工作流推荐,十步循环的统一入口。 收集项目状态、分析变更、推荐最佳工作流、引导用户确认执行。 使用场景:"查看项目当前状态"、"我要提交代码"、"开发新功能"
会话收尾 —— 在任意对话(含未走完十步循环的探索/调试/讨论 session)把"未交接成果" 固化为 handoff。**与十步循环正交平级的会话仪式**(非周期收尾): AI 先内省本对话出 未完成线程 + 待固化经验, 再用机械 autofill 交叉核验补漏, 写 docs/handoff/。leaf — 终结于写交接, 不拖入十步循环。 使用场景: "对话收尾" / "执行对话收尾" / "会话收尾" / "session closeout" / "收尾这次对话" / "写交接" / "写 handoff" / "收工" / "结束本次对话" / context 快满时主动收尾。 不适用 (用 phase-d-closer): "Phase D" / "周期收尾" / "归档 Spec" / "更新 cycle 进度" —— 那是开发周期收尾, 不是会话收尾。
Git 多远程 parity 检测与 push 验证的共享基础设施。 内部工具, 仅供其他 skills 引用。提供标准化 Bash/Python 执行脚本段 + 输出 JSON schema 契约。
任务到 Agent 的智能路由器,根据任务类型、文件路径自动选择最合适的 Agent。 使用场景:subagent-driver 需要为任务选择 Agent、不确定应该使用哪个 Agent
向 Aria 维护团队报告 Bug 或提交功能建议。自动收集环境信息, 自动路由到 Forgejo(内部用户)或 GitHub(外部用户)。 使用场景:"报告 bug"、"report an issue"、"提交功能建议"、 "aria 有个问题想反馈"、"feature request"、"提 issue"、 "反馈问题"、"report bug to aria"
| name | requirements-sync |
| description | 同步 User Story 状态到 UPM requirements 节,检测偏差并维护一致性。 使用场景:"同步需求状态到 UPM"、"检查 UPM 需求是否一致" |
| argument-hint | [--dry-run] |
| disable-model-invocation | false |
| user-invocable | true |
| allowed-tools | Read, Glob, Grep, Edit |
版本: 1.1.0 | 层级: Layer 2 (Business Skill) | 分类: Requirements Skills
使用场景:
不使用场景:
requirements-validatorforgejo-syncstate-scanner| 功能 | 描述 |
|---|---|
| scan-stories | 扫描 Story 文件,提取状态 |
| update-upm | 更新 UPM requirements 节 |
| detect-drift | 检测 UPM 与实际的偏差 |
扫描路径:
pattern: "{module}/docs/requirements/user-stories/US-*.md"
提取字段:
- Story ID
- Status (draft/ready/in_progress/done/blocked)
- Priority
- Forgejo Issue (如有)
输出:
scanned_stories: N
status_distribution:
draft: N
ready: N
in_progress: N
done: N
blocked: N
扫描路径:
pattern: "{module}/docs/requirements/prd-*.md"
提取字段:
- PRD ID (从文件名)
- Status (从 header)
- Path
输出:
current_prd:
id: "prd-v2.1.0-xxx"
status: approved
path: "docs/requirements/prd-v2.1.0-xxx.md"
扫描路径:
primary: "docs/architecture/system-architecture.md"
fallback: "{module}/docs/ARCHITECTURE.md"
提取字段:
- Exists (文件是否存在)
- Status (从 header 提取: draft | active | outdated)
- Last Updated (从 header)
- Parent PRD (从文档引用提取)
输出:
system_architecture:
exists: true
path: "docs/architecture/system-architecture.md"
status: active
last_updated: "2026-01-01"
parent_prd: "prd-v2.1.0"
比较项:
- UPM.requirements.user_stories.total vs 实际文件数
- UPM.requirements.user_stories.{status} vs 实际状态统计
- UPM.requirements.prd vs 实际 PRD 文件
- UPM.requirements.system_architecture.exists vs 实际文件存在
- UPM.requirements.system_architecture.status vs 实际 header 状态
- UPM.requirements.system_architecture.parent_prd vs PRD 引用一致性
输出:
drift_detected: true/false
drift_items:
- field: "user_stories.total"
upm_value: 5
actual_value: 8
suggested_action: "update"
- field: "system_architecture.status"
upm_value: "active"
actual_value: "outdated"
suggested_action: "update"
更新内容:
requirements:
prd:
id: "{从文件提取}"
status: "{从 header 提取}"
path: "{文件路径}"
system_architecture:
exists: {文件是否存在}
path: "{文件路径}"
status: "{从 header 提取: draft|active|outdated}"
last_updated: "{从 header 提取}"
parent_prd: "{从文档引用提取}"
user_stories:
total: {实际数量}
draft: {统计}
ready: {统计}
in_progress: {统计}
done: {统计}
blocked: {统计}
保留字段:
- currentPhase
- currentCycle
- lastUpdateAt
- 其他非 requirements 字段
| 模式 | 描述 | 文件修改 |
|---|---|---|
check | 只检测偏差,不修改 | 否 |
update | 检测并自动更新 UPM | 是 |
interactive | 逐项确认后更新 | 是 |
sync_result:
mode: "check|update|interactive"
timestamp: "2026-01-01T10:00:00+08:00"
scanned:
stories: N
prd: 1
architecture: 1
architecture_status:
exists: true
path: "docs/architecture/system-architecture.md"
status: active
parent_prd: "prd-v2.1.0"
status_distribution:
draft: N
ready: N
in_progress: N
done: N
blocked: N
drift:
detected: true/false
items:
- field: "user_stories.total"
upm_value: 5
actual_value: 8
action: "updated|skipped"
- field: "system_architecture.status"
upm_value: "active"
actual_value: "outdated"
action: "updated|skipped"
upm:
updated: true/false
changes_made:
- "user_stories.total: 5 → 8"
- "user_stories.ready: 2 → 3"
- "system_architecture.status: active → outdated"
用户: 检查 UPM 需求是否一致
助手执行:
1. 扫描 Story 文件
2. 读取 UPM requirements 节
3. 比较并报告偏差
输出:
sync_result:
mode: "check"
drift:
detected: true
items:
- field: "user_stories.ready"
upm_value: 2
actual_value: 3
suggested_action: "update"
用户: 同步需求状态到 UPM
助手执行:
1. 扫描 Story 文件
2. 检测偏差
3. 更新 UPM 文件
输出:
sync_result:
mode: "update"
upm:
updated: true
changes_made:
- "user_stories.ready: 2 → 3"
路径规范:
Mobile: mobile/docs/project-planning/unified-progress-management.md
Backend: backend/project-planning/unified-progress-management.md
查找顺序:
1. {module}/docs/project-planning/unified-progress-management.md
2. {module}/project-planning/unified-progress-management.md
┌─────────────────────────────────────────────────────────────┐
│ requirements-validator (Layer 2) │
│ │ 验证后 │
│ ▼ │
│ requirements-sync (Layer 2) ◄── 本 Skill │
│ │ 同步后 │
│ ▼ │
│ forgejo-sync (Layer 2) ── 可选同步到 Forgejo │
└─────────────────────────────────────────────────────────────┘
openspec/specs/requirements-sync/spec.mdstandards/core/upm/upm-requirements-extension.mdstandards/core/upm/unified-progress-management-spec.md