管理 feature 关系链(set/query/impact/orphans/rebuild/validate)
Scanned 9/6/2026
Install to Claude Code
npx -y skills add kanfu-panda/pdlc-skills --skill pdlc-relate --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Pdlc Relate?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/kanfu-panda-pdlc-relate)More formats (shields.io, HTML) on the badges page.
---
name: pdlc-relate
description: 管理 feature 关系链(set/query/impact/orphans/rebuild/validate)
argument-hint: <set|query|impact|orphans|rebuild|validate> [args]
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
layer: 3
stage: ops
produces:
- docs/.pdlc-state/_relations.json
- docs/.pdlc-state/_graph.md
requires: []
next_step: null
terminal_state: null
---
# Feature 关系链管理
<!-- @include templates/prompts/iron-law.md -->
管理 PDLC feature 之间的关系链。维护反向索引 `docs/.pdlc-state/_relations.json` 和全局图 `docs/.pdlc-state/_graph.md`。
<!-- @include templates/prompts/relations.md -->
## 段一:执行子命令
从 `$ARGUMENTS` 解析子命令:
### `set <fid> <type> <target-fid> [target-fid...]`
为 feature `<fid>` 添加 `<type>` 关系,指向一或多个目标。
1. 读 `docs/.pdlc-state/<fid>.json`;**若无 `relations` 块**(旧状态文件 / Phase 1 关系块可选),先初始化六类空块(`extends`/`depends_on`/`supersedes`/`resolves`/`conflicts_with`/`relates_to`),再在 `relations.<type>` 数组追加目标(去重)
2. 若 `<type>` 是对称类型(conflicts_with / relates_to)→ 同时在每个目标的 `<fid>.json` 镜像写入
3. 写回后调用本命令 `rebuild` 流程刷新 `_relations.json` + `_graph.md`
### `query <fid>`
显示 `<fid>` 的全部关系(出边 + 从 `_relations.json` 读入边)。
### `impact <fid>` ⭐ 杀手锏
分析改动 `<fid>` 的影响半径。读 `_relations.json`:
- 🔴 **直接影响**(depth 1 入边):直接 extends / depends_on 本 feature 的,必须协调
- 🟡 **间接影响**(depth ≥2 传递入边):通过中间 feature 传递依赖的,应 review
- 🟢 **历史**(指向 terminal-state feature 的边 / resolves 的缺陷):仅审计
输出树状结构 + 建议(先 review 哪些 PRD / 是否该新建 supersedes feature 而非就地改)。
### `orphans`
列出 `_relations.json` 中 inbound + outbound 均为空的 feature(可能是孤立 / 死代码候选)。
### `rebuild`
扫描所有 `docs/.pdlc-state/<id>.json` 的 `relations` 块 + 文档追溯头的 `关系:` 行,重建:
- `_relations.json`:nodes(id→name/stage/terminal)+ edges(flat 有向列表)+ index(每节点预计算 inbound/outbound)
- `_graph.md`:mermaid 图,边样式按类型区分(supersedes 虚线 / conflicts_with 粗线 / 其余实线),顶部加 `<!-- AUTO-GENERATED by /pdlc-relate · do not edit by hand -->`
### `validate`
按 `relations.md` 的校验规则检查:悬空引用 / 自引用 / extends·depends_on 成环 / 矛盾对 / 对称一致性。报告问题清单。
## 段二:自检(强制)
<!-- @include templates/prompts/self-audit.md -->
### 关系链自检清单
- [ ] `_relations.json` 是合法 JSON(`jq . ` 通过)
- [ ] 所有 edge 的 from/to ID 在 nodes 中存在(无悬空)
- [ ] 对称类型(conflicts_with / relates_to)两端互含
- [ ] extends / depends_on 无环
- [ ] `_graph.md` 含 `AUTO-GENERATED` 头且 mermaid 语法成对闭合
- [ ] set 操作的目标 ID 格式合法(F/B 开头)
## 段三:修复(单次,不递归)
<!-- @include templates/prompts/loop-prevention.md -->
- 可自动修复(对称缺失补镜像 / index 不一致 → 重跑 rebuild)→ 直接修
- 无法自动修复(真实的循环依赖 / 用户意图矛盾)→ 记录到报告,提示人工介入
## 段四:交接
> **状态机豁免**:本命令非 feature-scoped(不推进单个 feature 的阶段),不更新 `<feature-id>.json` 的 history,只维护关系索引文件。同 `/pdlc-changelog`。
<!-- @include templates/prompts/handoff.md -->
**本命令的 handoff 输出:**
```
✅ 关系操作完成:<子命令> <参数>
📦 已更新:docs/.pdlc-state/_relations.json + _graph.md
👉 下一步:/pdlc-relate impact <fid> 查影响 | /pdlc-status 看全景
```
---
**关系操作**: $ARGUMENTS

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!