关于 pma
PMA 是用于管理软件交付工作的 Agent 工作流指南,面向需要明确审批、任务追踪和验证步骤的代码库工作。它通过调查、提案、实施三阶段流程及分级规则控制变更。
主要功能
- 01调查、提案、实施三阶段流程
- 02按任务复杂度划分等级
- 03审批前禁止非平凡任务实施
- 04基于文件的计划与任务追踪
- 05新行为先测试再实现
- 06变更后验证并记录
适用场景
- 01规划并执行跨模块功能变更
- 02在实施前审查方案和风险
- 03追踪任务状态与计划文件
- 04为缺陷修复建立测试和验证流程
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zzci/ skills --skill pma安装后在 Claude Code 中输入/pma确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamldocs/monorepo-example.mdplan-format.mdproject-injection.mdtask-format.mdreferences/delivery.mddev-environment.mddocs-and-tracking.mdworkflow.mdscripts/task-state.shscripts/tests/task-state.test.sh详细介绍
PMA - 项目管理助手
通过明确的关卡、最小化差异和显式的基于文件的跟踪来推进交付工作。
保持此入口文件精简。仅加载当前轮次所需的参考资料。
始终适用的规则
- 遵循三阶段工作流:调查 -> 提案 -> 实施。流程的繁简应与任务复杂度相适应(见下文的 任务分级);只有简单任务可以跳过提案关卡,介于两者之间的任务绝不视为简单任务。
- 除非获得
proceed等明确批准,否则不得实施;简单任务除外。 - 先读后写:首先检查调用链、配置、测试和近期变更日志上下文。
- 默认使用英语编写仓库文档、代码注释、提交信息、PR 文本及其他对外可见的元数据。
- 不要使用计划模式。仅在
docs/plan/中跟踪计划。 - 立即更新任务和计划文件;不要延迟同步状态。按照规范格式,使用精确到 UTC 分钟的时间戳将新的详细文件命名为
<timestamp>-<feature-slug>.md;不要分配序号。任务和计划详细文件可以修订或删除;在docs/changelog.md中保留变更历史。绝不删除索引条目或改写其内容;只能更改其标记,删除详细文件时使用[d]。 - 每次代码变更都遵循下文的编码原则。
- 优先采用最新技术栈:选择框架、库、工具链或语言版本时,默认使用当前推荐选项及其在注册表(crates.io / npmjs.com / pkg.go.dev / PyPI)中核实的最新稳定版本,而不是来自教程、先前 PR、模型记忆或技能文档的版本。技术栈技能会刻意省略版本。只有在用户要求或具体兼容性问题确有需要时,才使用较旧版本或旧技术,并记录原因。完整规则见
references/workflow.md依赖项时效性,验证命令见技术栈技能的基准配置。 - 每个仓库都应包含一组基准项目级配置文件(
.gitignore、.gitattributes、.editorconfig、LICENSE、README.md、.env.example,以及固定技术栈版本的工具链文件)。参见references/delivery.md仓库规范。 - 使用项目的迁移工具并遵循其迁移模型。基于架构差异的工具会根据声明的架构生成操作;基于模板的工具会创建带版本号的存根,由开发者填写。绝不修改已应用到共享环境的迁移。参见
references/delivery.md数据库迁移。 - 对于新行为和 Bug 修复,遵循 RED -> GREEN -> IMPROVE:先编写失败测试,实现最小的通过变更,然后在不改变行为的前提下重构。仅涉及文档和不可执行配置的变更除外。目标覆盖率为 80% 或更高,除非项目规定了更严格的阈值。
编码原则
适用于每次编辑的行为准则。谨慎优先于速度;对于简单任务,可酌情判断。
- 编码前先思考:明确说明假设,指出权衡和更简单的替代方案;遇到不清楚之处时,先暂停并提问,不要猜测。
- 先求简单:用最少的代码解决问题——不要添加推测性功能、抽象或可配置项。
- 精准修改:只改请求所需的内容,遵循现有风格,并且只清理因自身变更而变得未使用的内容。
- 以目标为导向执行:将模糊任务转化为可验证的成功标准,然后循环执行,直到验证通过。
- 注释精简:注释应尽可能简短,只描述代码的作用——不要记录决策历史、计划或任务引用,也不要说明变更来源;这些上下文应放在任务、计划、变更日志或提交信息中。
核心工作流
分为三个阶段,并设有严格的关卡。分步详情见 references/workflow.md;处理任何非简单任务时都要加载该文件。
- 阶段 1:调查 — 入口:选定任务。开始调查时,通过
scripts/task-state.sh claim认领任务(在同一锁内将索引从[ ]改为[-],并更新详情中的负责人/状态);调查影响范围、相关代码、测试、配置和近期变更日志;非简单任务要创建计划文件。出口:记录调查结果。 - 阶段 2:提案 — 输出当前状态、提案、风险、范围和替代方案,然后停止。出口关卡:获得明确批准,例如
proceed。 - 阶段 3:测试 -> 实现 -> 验证 -> 记录 — 入口:获得批准。将计划状态/标记设为进行中(任务已在阶段 1 认领),为行为变更建立一个失败测试,实现获批范围,运行针对性验证和相关测试套件,标记任务和计划已完成,并在需要时更新变更日志。
任务层级
在阶段 1 之前决定层级,并说明适用哪一层。完整标准和升级规则见 references/workflow.md Task Tiers。
| 层级 | 适用条件 | 任务登记 | 计划文件 | 提案关卡 |
|---|---|---|---|---|
| 简单 | 仅涉及一个源文件或非可执行文件,意图明确,不涉及风险区域,可立即验证 | 否 | 否 | 否 — 用一行说明变更,执行并汇报 |
| 标准 | 其他情况,且涉及同一模块的文件少于 3 个 | 是 | 否 | 是 — 直接提交提案,等待 proceed |
| 完整 | 涉及 >=3 个文件、跨模块,或用户要求制定计划 | 是 | 是 | 是 — 创建计划文件并提交提案,等待 proceed |
会导致不适用简单层级的风险区域:身份验证/授权、机密信息和环境变量、数据库架构或迁移、依赖项、CI/构建配置、公共 API 契约、并发、持久化语义。如果简单任务中途超出其标准,应停止,并在进行任何其他操作前按标准层级重新开始。用户或项目指令文件(若仓库中有 AGENTS.md/CLAUDE.md)可以禁用快速通道;用户也可以预先批准,这样可满足关卡要求,但不满足跟踪要求。
参考资料包
仅加载当前任务所需的内容:
references/workflow.md用于了解三个阶段的详细流程、先认领再工作、同步规则和会话检查清单。references/docs-and-tracking.md用于了解任务和计划文件结构、规范文档布局、变更日志格式及项目初始化。references/delivery.md用于了解 Shell 和 tmux 规则、Git 和 PR 工作流、CI 预期,以及安全/工具约束。references/dev-environment.md用于了解基于 nsl 的开发 URL 路由:安装、基本概念、运行模式、--strip语义、NSL_PORT占位符和回退方案。此内容涉及多个方面;需要配置开发时 URL 的任何技术栈技能都应加载此文件。
规范格式参考
使用以下格式文件,不要在文中重新定义架构:
- docs/task-format.md
- docs/plan-format.md
- docs/monorepo-example.md — Bun 工作区与 nsl 的完整示例;设计(或审查)多应用仓库布局时请参考。
- docs/project-injection.md — 可选的
AGENTS.md模板(同时保留两个文件时,将CLAUDE.md设为符号链接),用于记录项目特定信息。仓库不一定需要这两个文件:技能规则从/pma加载。用户要求提供注入文件,或现有文件相较于当前规则集内容较少时,请加载此文件。
快速路由
根据意图选择参考资料:
- 新功能、错误修复或重构:加载
references/workflow.md和references/docs-and-tracking.md。 - 不确定某项更改是否微不足道:它并非如此;请使用标准级别。标准见
references/workflow.md任务级别。 - 任务认领、所有权或状态同步:加载
references/workflow.md。 - 创建任务或计划文件:加载
references/docs-and-tracking.md。 - PR 准备、CI、shell 使用或安全审查:加载
references/delivery.md。 - 仓库初始化或卫生审计(
.gitignore、.gitattributes、.editorconfig、LICENSE、README.md、.env.example、工具链版本固定):加载references/delivery.md仓库卫生。 - 任何数据库架构更改或迁移:加载
references/delivery.md数据库迁移。 - 初始化新项目,或审计现有项目的注入文件(如果仓库同时保留两者,还要验证
CLAUDE.md是指向AGENTS.md的符号链接):加载docs/project-injection.md。除非用户提出要求,否则不要在没有此类文件的项目中添加其中任何一个。 - 引入或升级依赖项:先加载
references/workflow.md依赖项时效性,然后加载对应技术栈技能的基线资料,以获取注册表检查命令。 - 开发 URL 路由设置、调试 nsl 行为,或将新应用接入本地 URL 映射:加载
references/dev-environment.md。 - 设计或重构多应用仓库:结合相关技术栈技能的 单体仓库 部分阅读
docs/monorepo-example.md。
如果仓库还使用 /pma-web、/pma-bun、/pma-go 或 /pma-rust 等技术栈技能,请先加载 /pma 控制工作流,然后仅加载实现所需的相关技术栈参考资料。
评论
支持 Markdown