amanjotx/Agent-Skills

毎日使っている再利用可能なエージェントスキル — コードベースの記憶、PRの出荷、計画の簡略化。

Agent-Skills とは?

このスキルは、AIエージェント(Claude Code, Cursor, Codexなど)が現在の作業をコミットし、プッシュし、プルリクエストを作成するためのワークフローを提供します。従来のコミットやPR作成の手順を自動化し、開発者がコードレビューや設計に集中できるようにします。主な機能として、自動ブランチ管理、従来のコミットプレフィックスに基づいた適切なコミットメッセージ生成、プルリクエスト本文のテンプレート生成(サマリー、変更理由、変更内容、アーキテクチャ図、リスク評価、テスト計画を含む)、そしてヒューマンエラーを防ぐための厳格なルール(機密情報のコミット禁止、無差別なgit addの禁止など)が含まれます。このスキルはプロジェクトに依存せず、リポジトリのレイアウトや検証コマンドを自動的に推論します。

対応~Claude Code~Codex CLI~Cursor
npx skills add amanjotx/Agent-Skills

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

/ship

現在の作業をコミットし、プッシュし、プルリクエストを開く。このスキルを呼び出すことは、ブランチの作成/切り替え、コミット、プッシュ、gh pr createの実行に対する明示的な許可を与えます。

厳格なルール

  • ユーザーのgit安全プロトコルに従うこと:git configを変更しない、フックをスキップしない、main/masterに強制プッシュしない、修正ルールが完全に満たされた場合のみ修正する。
  • 機密情報(.env、認証情報、秘密鍵、トークン)をコミットしないこと。存在する場合は警告し、除外すること。
  • この変更に属するファイルのみをステージングすること。ツリーが明らかに意図的でジャンクがない場合を除き、git add .やgit add -Aのような包括的なステージングは行わないこと。
  • コミットメッセージとPR本文にはHEREDOCを使用すること。
  • このワークフローはプロジェクトに依存しないこと。検証コマンドとレイアウトはリポジトリから推論し、アプリ名やパッケージ名をハードコードしないこと。
  • 完了したらPR URLを返すこと。

従来のコミットプレフィックス

プロダクションレベルの従来のコミットを使用すること。1つのプライマリタイプを選択:

プレフィックス使用タイミング
feat新しいユーザー向け機能
fixバグ修正
refactor動作変更を意図しない内部再構成
perfパフォーマンス改善
choreメンテナンス、ツール、依存関係、ハウスキーピング
docsドキュメントのみ
testテストのみ
ciCI設定/パイプライン
buildビルドシステムまたはバンドラーの変更
styleロジック変更のないフォーマット/リンタ駆動のチャーン
revert以前のコミットを元に戻す

フォーマット:

type(optional-scope): 命令形の要約

オプションの本文:この変更が存在する理由(1~2文)

例:feat(auth): リフレッシュトークンのローテーションを追加、fix: チェックアウト時の二重送信を防止、chore: lint設定を更新

ワークフロー

1. 調査(並列実行)

  • git status
  • git diffおよびgit diff --staged
  • git branch -vv(カレントブランチ+追跡情報)
  • git log -8 --oneline(メッセージスタイル)
  • デフォルトのベースブランチ(main優先、なければmasterまたはリポジトリのデフォルト)
  • リモート同期状態(git status -sb、未プッシュのコミット)

コミットするものや、この作業に関連する未プッシュのコミットがない場合は停止する。空のPRを開かないこと。

2. 正しいブランチの確保

目標:最新のベースに基づく専用の機能ブランチに作業を置く。

  1. 現在のブランチがこれらの変更に適しているか判断する:

    • すでにこの作業の記述的なトピックブランチ(feat/…、fix/…、chore/…、または変更意図に明確に一致するもの)であり、かつデフォルトブランチではない場合は「はい」。
    • main/master/デフォルト、一致しないトピックブランチ、古い無関係なブランチ、またはデタッチドHEADの場合は「いいえ」。
  2. 現在のブランチがこれらの変更に適していない場合:

    • ワーキングツリーがダーティな場合は、明確なメッセージを付けてstashする(デフォルト;stashが不可能でない限り確認しない)。
    • git checkout <base>
    • git pull --ff-only(または追跡リモートからの同等のfast-forward更新)
    • 新しい記述的なブランチを作成してチェックアウトする。例:feat/short-topic、fix/short-topic、chore/short-topic
    • 新しいブランチにgit stash popする。競合があれば解決する。
  3. 現在のブランチがこれらの変更に適している場合:

    • そのままにする。
    • コミット前に、必要に応じてベースから更新する(リポジトリの慣行に従い、最新のベースからリベースまたはマージ;非破壊的なオプションを優先;ユーザーが明示的に要求しない限り強制プッシュしない)。

デフォルトブランチから直接PRを構築しないこと。

3. コミット

  • ユーザーが分割を要求しない限り、1つの一貫したコミットを優先する。
  • メッセージは適切な従来のプレフィックスと命令形の要約を使用する。
  • 本文(オプション):なぜに焦点を当て、ファイルリストではない。
  • コミット後、git statusを実行して期待通りの状態を確認する。
  • フックが失敗した場合:問題を修正し、新しいコミットを作成する。修正ルールが完全に満たされない限り、修正しない。

4. プッシュ

git push -u origin HEAD

サンドボックス/ネットワーク/ghが操作をブロックした場合、必要な権限を要求する。

5. PRを開く

ベースにマージされるすべてのコミットを分析する(最新のみではない)。

タイトル: コミット要約と同じ精神 — 明確で、具体的で、役立つ場合は従来のプレフィックスを使用する。曖昧なタイトルは禁止。

本文テンプレート(必須):

## サマリー

- 何が出荷され、なぜ重要かについて2~5個の箇条書き

## 理由

- この変更の背景、動機、またはトリガー

## 変更内容

- 関心事ごとにグループ化された箇条書き(動作、API/契約、データ、UI、インフラ、テスト、ドキュメント)
- 破壊的変更、移行、または認証/セッション動作の変更を明示的に指摘する

## アーキテクチャ/フロー

以下を少なくとも1つ含める:

1. プライマリパスのMermaid図(シーケンス、フローチャート、または状態)
2. 構造、階層、またはbefore→afterのASCII図

制御フローにはMermaid、ツリーやレイヤーマップにはASCIIを使用する。
図は実際の差分と一致しなければならない — アーキテクチャをでっち上げないこと。

## リスク/ロールバック

- 考えられる障害モード
- 安全な復元/緩和策のメモ

## テスト計画

- [ ] レビューアが実行できる具体的な手順
- [ ] プロジェクトから発見された、リポジトリに適した検証コマンド

gh pr createとHEREDOC本文を使用して作成する。必要に応じて--baseを明示的に設定する。

6. 報告

簡潔に:

  • ブランチ名
  • コミット要約
  • PRタイトル
  • PR URL
  • 意図的にコミットされていないファイル

関連スキル