mcpField
P
pr

pr

github.com/maddec01開発115 回インストール今日更新
リポジトリ

pr について

プルリクエストを準備する開発者向けのコーディングエージェント用スキルです。変更内容に合う図示形式を選び、変更前後の根拠とマージリスクを簡潔にまとめます。

主な機能

  1. 01変更内容に応じた図示形式の選択
  2. 02擬似コード、呼び出しツリー、Mermaid
  3. 03変更前後の根拠の提示
  4. 04ロールバック難易度と影響範囲の評価

活用シーン

  1. 01コード変更のプルリクエスト本文作成
  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 を使用します。トピックに合った差分の形にしてください。

コンポーネントの変更の場合:

 <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、状態、境界だけを残してください。

これらのうち1つを使っても、複数を使ってもかまいません。すべて使うことはほとんどありません。判断して、情報を詰め込みすぎないようにしてください。

根拠

変更が機能することを示す具体的な根拠を提示します。変更前と変更後を示してください。

スクリーンショットは最上位の根拠です。環境が整っており、変更が視覚的なものである場合に使用してください。

実行に基づく根拠は、その次に有効です。テスト結果やコンソール出力を示してください。疑似コードを使って、これまで失敗していたテストと、現在成功するテストを正確に示してください。

マージ時のリスク

一方通行の変更か、双方向の変更かを説明してください。双方向の変更は元に戻せますが、一方通行の変更は元に戻せません。簡単にロールバックできる PR はリスクが低くなります。破壊的な操作や、元に戻しにくい決定を伴う変更は一方通行です。

影響範囲とは、この PR によって導入される変更が及ぼす可能性のある影響や範囲です。あらゆる可能性を検討してください。たとえば、レイアウトのずれ、利用側の破損、モバイル対応などです。

コメント