mcpField
P
pma

pma

github.com/zzciAgent 工作流2385 次安装3 天前更新
代码仓库

关于 pma

PMA 是用于管理软件交付工作的 Agent 工作流指南,面向需要明确审批、任务追踪和验证步骤的代码库工作。它通过调查、提案、实施三阶段流程及分级规则控制变更。

主要功能

  1. 01调查、提案、实施三阶段流程
  2. 02按任务复杂度划分等级
  3. 03审批前禁止非平凡任务实施
  4. 04基于文件的计划与任务追踪
  5. 05新行为先测试再实现
  6. 06变更后验证并记录

适用场景

  1. 01规划并执行跨模块功能变更
  2. 02在实施前审查方案和风险
  3. 03追踪任务状态与计划文件
  4. 04为缺陷修复建立测试和验证流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zzci/skills --skill pma

安装后在 Claude Code 中输入/pma确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
docs/
monorepo-example.md
plan-format.md
project-injection.md
task-format.md
references/
delivery.md
dev-environment.md
docs-and-tracking.md
workflow.md
scripts/
task-state.sh
scripts/tests/
task-state.test.sh

详细介绍

PMA - 项目管理助手

通过明确的关卡、最小化差异和显式的基于文件的跟踪来推进交付工作。

保持此入口文件精简。仅加载当前轮次所需的参考资料。

始终适用的规则

  1. 遵循三阶段工作流:调查 -> 提案 -> 实施。流程的繁简应与任务复杂度相适应(见下文的 任务分级);只有简单任务可以跳过提案关卡,介于两者之间的任务绝不视为简单任务。
  2. 除非获得 proceed 等明确批准,否则不得实施;简单任务除外。
  3. 先读后写:首先检查调用链、配置、测试和近期变更日志上下文。
  4. 默认使用英语编写仓库文档、代码注释、提交信息、PR 文本及其他对外可见的元数据。
  5. 不要使用计划模式。仅在 docs/plan/ 中跟踪计划。
  6. 立即更新任务和计划文件;不要延迟同步状态。按照规范格式,使用精确到 UTC 分钟的时间戳将新的详细文件命名为 <timestamp>-<feature-slug>.md;不要分配序号。任务和计划详细文件可以修订或删除;在 docs/changelog.md 中保留变更历史。绝不删除索引条目或改写其内容;只能更改其标记,删除详细文件时使用 [d]。
  7. 每次代码变更都遵循下文的编码原则。
  8. 优先采用最新技术栈:选择框架、库、工具链或语言版本时,默认使用当前推荐选项及其在注册表(crates.io / npmjs.com / pkg.go.dev / PyPI)中核实的最新稳定版本,而不是来自教程、先前 PR、模型记忆或技能文档的版本。技术栈技能会刻意省略版本。只有在用户要求或具体兼容性问题确有需要时,才使用较旧版本或旧技术,并记录原因。完整规则见 references/workflow.md 依赖项时效性,验证命令见技术栈技能的基准配置。
  9. 每个仓库都应包含一组基准项目级配置文件(.gitignore、.gitattributes、.editorconfig、LICENSE、README.md、.env.example,以及固定技术栈版本的工具链文件)。参见 references/delivery.md 仓库规范。
  10. 使用项目的迁移工具并遵循其迁移模型。基于架构差异的工具会根据声明的架构生成操作;基于模板的工具会创建带版本号的存根,由开发者填写。绝不修改已应用到共享环境的迁移。参见 references/delivery.md 数据库迁移。
  11. 对于新行为和 Bug 修复,遵循 RED -> GREEN -> IMPROVE:先编写失败测试,实现最小的通过变更,然后在不改变行为的前提下重构。仅涉及文档和不可执行配置的变更除外。目标覆盖率为 80% 或更高,除非项目规定了更严格的阈值。

编码原则

适用于每次编辑的行为准则。谨慎优先于速度;对于简单任务,可酌情判断。

  1. 编码前先思考:明确说明假设,指出权衡和更简单的替代方案;遇到不清楚之处时,先暂停并提问,不要猜测。
  2. 先求简单:用最少的代码解决问题——不要添加推测性功能、抽象或可配置项。
  3. 精准修改:只改请求所需的内容,遵循现有风格,并且只清理因自身变更而变得未使用的内容。
  4. 以目标为导向执行:将模糊任务转化为可验证的成功标准,然后循环执行,直到验证通过。
  5. 注释精简:注释应尽可能简短,只描述代码的作用——不要记录决策历史、计划或任务引用,也不要说明变更来源;这些上下文应放在任务、计划、变更日志或提交信息中。

核心工作流

分为三个阶段,并设有严格的关卡。分步详情见 references/workflow.md;处理任何非简单任务时都要加载该文件。

  1. 阶段 1:调查 — 入口:选定任务。开始调查时,通过 scripts/task-state.sh claim 认领任务(在同一锁内将索引从 [ ] 改为 [-],并更新详情中的负责人/状态);调查影响范围、相关代码、测试、配置和近期变更日志;非简单任务要创建计划文件。出口:记录调查结果。
  2. 阶段 2:提案 — 输出当前状态、提案、风险、范围和替代方案,然后停止。出口关卡:获得明确批准,例如 proceed。
  3. 阶段 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