mcpField
P
pr

pr

github.com/maddec01开发115 次安装今天更新
代码仓库

关于 pr

用于撰写简洁 PR 正文的编码 Agent 技能,面向准备提交代码变更的开发者。它根据变更类型选择合适的图示形式,并要求提供前后对比证据及合并风险说明。

主要功能

  1. 01按变更类型选择摘要图示
  2. 02支持伪代码、调用树和 Mermaid
  3. 03要求提供变更前后证据
  4. 04评估回滚难度与影响范围

适用场景

  1. 01为代码变更撰写 PR 正文
  2. 02用图示解释控制流或文件结构
  3. 03整理测试及截图等验证证据

安装

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

$npx skills add https://github.com/maddec01/mux-factory --skill pr

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

附带文件agents/openai.yamlCREDITS.md

详细介绍

使用此模板编写 PR 正文:

## Summary

<diagram, diff-sketch, or tree>

## Evidence

- **Before:** <screenshot/output/failing test run>
  **After:** <screenshot/output/passing test run>

## Merge Danger

**Door:** <one-way or two-way>

<optional: description>

**Blast Radius:** <one-word description>

<optional: potential ramifications of merge>

章节

省略所有前言,保持文字简洁。使用 GLOSSARY.md 中的用户领域术语。

摘要

选择能够清晰表达关键点的最小视图。

  • 以伪代码展示逻辑或算法:
on(save)
  if content is unchanged
    return cached result
  write new content
  return fresh result
  • 以调用树展示运行时控制流:
submitForm
  createSession
    persistPrompt
    launchAgent
  navigateToSession
  • 以组件树展示 UI 结构,包括关键的状态和模块边界:
<SessionPage> (apps/example/src/routes/session.tsx)
  useSessionEvents()
  <SessionToolbar>
    <RunSkillButton> (packages/ui)
  • 以浅层文件树展示文件职责或大范围重构:
src/
├── commands/       # parses user actions
├── sessions/       # owns session state
└── transport/      # sends API requests
  • 使用 Mermaid 展示组件交互、控制流或数据流:
sequenceDiagram
    participant User
    participant UI
    participant Daemon
    User->>UI: choose command
    UI->>Daemon: send expanded prompt
    Daemon-->>UI: stream result
  • 当重点在于“改了什么”,且原有结构已经存在时,使用 diff。让 diff 的形态与主题相匹配。

组件变更:

 <SessionPage>
   useSessionEvents()
   <SessionToolbar>
+    <RunSkillButton />
   <SessionTimeline>
+    <SkillResultCard />

文件布局变更:

 src/
 ├── commands/
+│   └── show-me.ts       # expands the slash command
 ├── sessions/
-└── transport.ts
+└── transport/
+    ├── client.ts
+    └── stream.ts

调用树或调用栈变更:

 submitForm
   createSession
     persistPrompt
+    expandSkillMention
     launchAgent
-  navigateToSession
+  navigateToSession
+    subscribeToEvents

状态或控制流变更:

 on(save)
-  write content
+  if content is unchanged
+    return cached result
+  write new content
+  invalidate cache
  • 当大部分内容都是新增的、省略上下文会掩盖归属或执行顺序,或用户需要可复制的目标结构时,展示完整代码块:
function expandSkill(command: string): string {
  const skillName = command.slice(1);
  return `use the ${skillName} skill`;
}
指引

将每个可视化内容放在其所支持的简短文字旁边。只保留回答用户当前问题或解决当前讨论要点所需的调用、文件、props、状态和边界。

可以使用其中一种,也可以组合使用多种,但通常不会全部用到。请根据判断取舍,避免给用户造成负担。

证据

能够证明变更有效的具体证据。展示变更前后的对比。

当环境支持且变更是视觉相关时,截图是 S 级证据。

基于执行的证据是 A 级证据,例如测试结果、控制台输出。使用伪代码展示从失败变为通过的具体测试。

合并风险

说明这是单向门还是双向门。双向门可以回退,单向门则不行。一个容易回滚的 PR 风险较低。涉及破坏性操作或难以撤销的决策的变更属于单向门。

影响范围是指本 PR 引入的变更可能产生的影响或波及面。请全面考虑各种可能性,例如布局偏移、对使用方的破坏性影响、移动端响应式表现等。

评论

支持 Markdown