pma について
PMAは、明示的な承認やタスク追跡、検証を必要とするリポジトリ向けのソフトウェア開発ワークフローガイドです。調査・提案・実装の段階とタスクの複雑さに応じた追跡ルールを定めます。
主な機能
- 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 - プロジェクト管理アシスタント
明確なゲート、最小限の差分、ファイルベースの明示的な追跡により、デリバリー作業を進めます。
このエントリーファイルは小さく保ちます。現在のターンに必要な参照のみを読み込みます。
常時適用ルール
- 3段階のワークフロー(調査 -> 提案 -> 実装)に従います。手続きの規模はタスクの複雑さに応じて調整します(下記の タスク階層 を参照)。提案ゲートを省略できるのは些細なタスク階層のみであり、判断に迷うタスクは些細なタスクとして扱いません。
proceedなどの明示的な承認を得る前に実装しません。ただし、些細なタスク階層は除きます。- 書き込む前に読みます。まず呼び出しチェーン、設定、テスト、直近の変更履歴の文脈を確認します。
- リポジトリのドキュメント、コードコメント、コミット、PR の文面、その他リモートで公開されるメタデータは、既定で英語にします。
- plan mode は使いません。計画の追跡には
docs/plan/のみを使用します。 - タスクファイルと計画ファイルはすぐに更新し、状態の同期を先延ばしにしません。新しい詳細ファイルには、正規の形式に従って UTC の分精度で
<timestamp>-<feature-slug>.mdという名前を付けます。連番は割り当てません。タスクおよび計画の詳細ファイルは改訂または削除できます。変更履歴はdocs/changelog.mdに保持します。インデックス項目は削除も内容の書き換えもせず、マーカーのみを変更します。詳細ファイルを削除した場合は[d]を使用します。 - すべてのコード変更に、以下のコーディング原則を適用します。
- 最新の技術スタックを優先します。フレームワーク、ライブラリ、ツールチェーン、または言語エディションを選ぶ際は、チュートリアル、過去の PR、モデルの記憶、スキル文書に記載されたバージョンではなく、レジストリ(crates.io / npmjs.com / pkg.go.dev / PyPI)で確認した最新の安定版を備えた、現時点で推奨される選択肢を既定とします。スタックスキルでは意図的にバージョンを指定しません。ユーザーの要望がある場合、または具体的な互換性の問題がある場合に限り、古いバージョンやレガシー技術を使用し、その理由を記録します。詳細なルールについては
references/workflow.mdの 依存関係の鮮度 を、確認コマンドについてはスタックスキルのベースラインを参照してください。 - すべてのリポジトリには、プロジェクトレベル設定ファイルの基本セット(
.gitignore、.gitattributes、.editorconfig、LICENSE、README.md、.env.example、およびスタックに固定されたツールチェーンファイル)が必要です。references/delivery.mdの リポジトリの衛生管理 を参照してください。 - プロジェクトのマイグレーションツールを使用し、そのマイグレーションモデルに従います。スキーマ差分ツールは宣言されたスキーマから操作を生成します。テンプレートベースのツールは、開発者が内容を記入するバージョン管理されたスタブを作成します。共有環境に適用済みのマイグレーションは編集しません。
references/delivery.mdの データベースのマイグレーション を参照してください。 - 新しい動作やバグ修正では、RED -> GREEN -> IMPROVE に従います。最初に失敗するテストを書き、最小限の変更でテストを通し、その後、動作を変えずにリファクタリングします。ドキュメントのみの変更と、実行されない設定の変更は対象外です。プロジェクトでより厳しい基準が定められていない限り、カバレッジは80%以上を目標にします。
コーディング原則
すべての編集に適用する、動作上のガードレールです。速度より慎重さを優先します。些細なタスクでは、状況に応じて判断してください。
- コードを書く前に考える:前提を明示し、トレードオフとより単純な代替案を示します。不明確な場合は推測せず、作業を止めて質問します。
- シンプルさを優先する:問題を解決するために必要な最小限のコードにします。先回りした機能、抽象化、設定可能性は追加しません。
- 外科的に変更する:依頼で必要な箇所のみを変更し、既存のスタイルに合わせます。不要になったものを整理するのは、自分の変更によって不要になったものに限ります。
- 目標に沿って実行する:曖昧なタスクを検証可能な成功基準に落とし込み、検証できるまで繰り返します。
- コメントは簡潔にする:コメントはできるだけ短く保ち、コードの動作のみを説明します。判断の経緯、計画やタスクへの参照、変更の出所に関する注記は書きません。そうした文脈はタスク、計画、変更履歴、またはコミットメッセージに記載します。
コアワークフロー
厳格なゲートを設けた3つのフェーズで進めます。手順の詳細は references/workflow.md に記載されています。複雑なタスクでは、必ず読み込んでください。
- フェーズ1:調査 — 開始条件:選択したタスク。調査を開始したら、
scripts/task-state.sh claimを使ってタスクを引き受けます(インデックスを[ ]から[-]に変更し、詳細の担当者/ステータスも1つのロック内で変更します)。影響範囲、関連コード、テスト、設定、最近の変更履歴を調査し、複雑な作業では計画ファイルを作成します。終了条件:調査結果を記録済み。 - フェーズ2:提案 — 現状、提案、リスク、範囲、代替案を提示してから停止します。終了ゲート:
proceedなどによる明示的な承認。 - フェーズ3:テスト → 実装 → 検証 → 記録 — 開始条件:承認。計画のステータス/マーカーを進行中に設定します(タスクはフェーズ1ですでに引き受け済みです)。動作変更では、まず失敗するテストを用意し、承認された範囲を実装して、対象を絞った検証と関連スイートの検証を実行します。タスクと計画を完了にし、必要に応じて変更履歴を更新します。
タスクのティア
フェーズ1の前にティアを決め、該当するティアを明示してください。詳しい基準とエスカレーションルールについては、references/workflow.md の タスクのティア を参照してください。
| ティア | 該当条件 | タスクの登録 | 計画ファイル | 提案ゲート |
|---|---|---|---|---|
| 軽微 | ソースファイルが1つ、または実行対象でないファイルのみで、意図が明確、リスク領域に触れず、すぐに検証できる | 不要 | 不要 | 不要 — 変更内容を1行で説明し、実行して報告 |
| 標準 | 同一モジュール内のファイルが3つ未満で、それ以外のタスク | 必要 | 不要 | 必要 — 提案をインラインで提示し、proceed を待つ |
| フル | ファイルが >=3、複数モジュールにまたがる、またはユーザーが計画を求めている | 必要 | 必要 | 必要 — 計画ファイルと提案を提示し、proceed を待つ |
軽微ティアの対象外となるリスク領域:認証/認可、シークレットと環境変数、DB スキーマまたはマイグレーション、依存関係、CI/ビルド設定、公開 API の契約、並行処理、永続化のセマンティクス。作業の途中で軽微な変更が基準を超えた場合は、ほかの作業に着手する前に停止し、標準ティアとして再開してください。リポジトリにプロジェクト指示ファイル(AGENTS.md/CLAUDE.md)がある場合は、ユーザーまたはそのファイルの指示によってファストパスを無効にできます。ユーザーは事前に承認することもでき、その場合ゲートは満たされますが、記録は省略されません。
リファレンス集
現在のタスクに必要なものだけを読み込んでください。
references/workflow.md3フェーズの詳細な流れ、作業前のタスク引き受け、同期ルール、セッションチェックリストで使用します。references/docs-and-tracking.mdタスクおよび計画ファイルの構成、正規のドキュメント構成、変更履歴の形式、プロジェクトの初期化で使用します。references/delivery.mdシェルおよび tmux のルール、git と PR のワークフロー、CI の要件、セキュリティ/ツールの制約で使用します。references/dev-environment.mdnsl を使った開発 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の Task Tiers に記載されています。 - タスクの割り当て、担当、ステータスの同期:
references/workflow.mdを読み込みます。 - タスクまたは計画ファイルの作成:
references/docs-and-tracking.mdを読み込みます。 - PR の準備、CI、シェルの使用、セキュリティレビュー:
references/delivery.mdを読み込みます。 - リポジトリの初期化または衛生状態の監査(
.gitignore、.gitattributes、.editorconfig、LICENSE、README.md、.env.example、ツールチェーンの固定):references/delivery.mdの Repository Hygiene を読み込みます。 - データベーススキーマの変更またはマイグレーション:
references/delivery.mdの Database Migrations を読み込みます。 - 新しいプロジェクトのブートストラップ、または既存プロジェクトのインジェクションファイルの監査(リポジトリに両方がある場合は、
CLAUDE.mdがAGENTS.mdへのシンボリックリンクであることの確認も含む):docs/project-injection.mdを読み込みます。ユーザーから依頼されない限り、どちらのファイルも存在しないプロジェクトに追加しないでください。 - 依存関係の導入またはアップグレード:まず
references/workflow.mdの Dependency Freshness を読み込み、次にレジストリ確認コマンドについて、該当するスタックのスキルのベースラインを読み込みます。 - 開発用 URL ルーティングの設定、nsl の動作のデバッグ、ローカル URL マップへの新しいアプリの接続:
references/dev-environment.mdを読み込みます。 - 複数アプリを含むリポジトリの設計または再構成:該当するスタックのスキルの Monorepo セクションと併せて
docs/monorepo-example.mdを読みます。
リポジトリで /pma-web、/pma-bun、/pma-go、/pma-rust などのスタックのスキルも使用している場合は、ワークフロー管理のために最初に /pma を読み込み、その後、実装の詳細に関係するスタックの参照資料だけを読み込みます。