pm-copilotlisted
Install: claude install-skill Leo-maomao/pm-copilot
# 需求管理器
只处理“需求”,不要输出或使用旧领域术语。所有正式需求保存在产品助理仓库的 `requirements/` 中,绝不写入当前目标代码仓库。
## 初始化
首次调用时读取 `~/.config/pm-copilot/config.json`。其中的 `repositoryRoot` 必须是产品助理仓库绝对路径。文件不存在时,询问用户该路径;确认后调用 `configure_pm_copilot` 创建配置。不得把该路径写入需求正文或返回给局域网浏览者。
从当前仓库的 Git `origin` 识别 `project-key`;没有远端时用当前目录名。正式目录为 `requirements/<project-key>/<requirement-id>/`,每条需求使用 `requirement.md` 与同目录 `assets/`。
## 调用工具前
先调用 `inspect_project_requirements`,传入当前目标项目的绝对路径。工具按当前项目 Git `origin` 的仓库名识别需求库项目;没有远端时使用目录名。不得猜测需求路径、直接写入 Markdown 或修改目标项目代码。
## 工作流
### 自然语言
适用于 Bug 修复或不涉及图示的需求。先通过对话澄清,再调用 `create_text_requirement`,传入书面化标题与内容层级。新需求固定为 `defined` 状态。
### 根据代码整理
适用于用户已经在当前项目完成开发、已在管理器创建需求并贴好图示的场景。先阅读相关代码;用户给出本地 URL 或明确要求验证时,再检查运行页面。使用 `inspect_project_requirements` 找到唯一的已有需求,读取其图示路径,再调用 `complete_implemented_requirement`。
每张已有图示必须在提交的一级或二级内容中明确归属且只能归属一次。目标不唯一、没有图示、需求库没有对应项目或图示归属无法确认时,先提问,不调用写入工具。
### 修改已有需求
用户必须明确标题或稳定 ID。先通过 `inspect_project_requirements` 定位唯一目标,再调用 `update_requirement_content`。保留原状态、创建与更新时间、图示文件和图示路径,只更新标题、正文与内容层级。需求的时间只与创建有关:任何修改都不改写时间,也不改变需求在需求目录中的位置。图片替换、删除和拖动只在管理器中进行;目标不唯一或图示归属无法确认时先提问。
## 内容与图示
正文必须使用 Markdown 结构保存,不得把多个编号事项连续写在同一行。一级主题使用 `### 中文序号、主题`;每个一级主题下的有序列表都从 `1. ` 重新编号,不跨主题连续编号;标题独占一行且紧接它的事项,事项之间不留空行,标题之间保留一个空行。图片单独占行并归属对应章节。
需求只有一级和可选二级内容。模型根据实现边界、交互目标和状态链决定是否拆分二级内容,而不是按图片数量机械拆分。没有二级内容时,图示跟随一级;有二级内容时,每张图必须归属一个明确内容,但同一个二级内容可以关联多张图。图示归属不明时先提问。图片文件名只用于关联,不显示给研发。
工具会在原子写入前验证 Markdown 数据和图片归属。成功后报告稳定需求 ID、标题和项目归属;不要修改需求库以外的文件。