opensource-contributions について
オープンソースプロジェクトへの貢献者向けスキルで、課題報告、プルリクエスト、レビュー、リリースを扱います。プロジェクトの規約や明確な根拠を重視し、人に代わって作業するAIエージェント向けの指針も含みます。
主な機能
- 01プロジェクトの貢献規約を確認
- 02バグや機能要望の報告を準備
- 03プルリクエストを計画・提出
- 04CIの確認とレビューへの対応
- 05リリース手順の実施
- 06AIエージェントの関与を開示
活用シーン
- 01再現可能なリポジトリのバグを報告
- 02オープンソースへのプルリクエストを準備
- 03提出前に貢献内容を確認
- 04人に代わるAIエージェントの貢献を支援
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ magnus919/ agent-skills --skill opensource-contributionsインストール後、Claude Code で/opensource-contributionsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdevals/evals.jsonreferences/agent-checklist.mdci-debugging-loop.mdcontribution-idea-filtering.mdcross-fork-org-restriction.mdcross-fork-pr-workaround.mddefault-posture.mdgh-pr-create-body-pitfall.mdgroktocrawl-gaps-worked-example.mdhermes-agent-contributing-case-study.mdhermes-cashew-contributing-worked-example.mdphase-0-before-you-start.mdphase-0a-maintainer-conventions.mdphase-1-filing-issues.mdphase-2-pull-requests.mdphase-3-after-submitting.mdphase-35-followup.mdphase-4-release-process.mdpitfalls.mdrebase-conflict-resolution.mdrelease-workflow-completion.mdremote-code-exploration.mdsequential-pr-conflict-resolution.mdsleep-cycle-refactor-worked-example.mdtracking-upstream-fix-status.mdscripts/check-pr-template-compliance.py詳細
オープンソースへの貢献
黄金律
メンテナーがあなたの貢献を取り込みやすくしましょう。 メンテナーは、リソース不足のボランティアや少人数のチームであることが少なくありません。再現手順が不明瞭、テストが不足、コミットメッセージが不適切、履歴が強制プッシュされている、といった摩擦をひとつ取り除くたびに、あなたが何をしたのか、なぜそうしたのかを理解するために費やす時間を減らせます。大切なのは、相手の作業を増やすのではなく、助けることです。
このスキルを使う場面
- 公開リポジトリにバグ報告や機能リクエストを提出するとき
- オープンソースプロジェクトのプルリクエストを準備するとき
- コントリビューションガイドラインが文書化されていないプロジェクトで作業するとき(デフォルトの方針)
- 提出前に自分の PR をレビューするとき
- 自分のプロジェクトにオープンソースの慣習を導入するとき
詳しい手順については、該当するフェーズのリファレンスを読み込んでください。
フェーズの概要
| フェーズ | 内容 | リファレンス |
|---|---|---|
| 0a — メンテナーの慣習 | README の整備、LICENSE、CONTRIBUTING.md、Issue/PR テンプレート、コミットの慣習、DCO、リリースワークフローの衛生管理 | references/phase-0a-maintainer-conventions.md |
| 0 — 作業を始める前に | CONTRIBUTING.md を読む、既存の Issue/PR を確認する、バグ修正候補をトリアージする、大規模な変更に関する議論のエチケット | references/phase-0-before-you-start.md |
| 1 — Issue の提出 | バグ報告と機能リクエストのテンプレート、エージェントの利用開示、メンテナーのワークフロー(「まず Issue」)、複数 Issue にまたがるロードマップの調整、複数 PR の計画的な実行 | references/phase-1-filing-issues.md |
| 2 — プルリクエスト | ブランチの慣習、スコープの評価、既存実装の調査、リポジトリ間の比較、コミットメッセージ、PR テンプレート、ドキュメントの監査、CI の設定 | references/phase-2-pull-requests.md |
| 3 — 提出後 | CI の監視、レビューのフィードバックへの対応、PR が停滞したりクローズされたりした場合の対処 | references/phase-3-after-submitting.md |
| 3.5 — スコープに関するフィードバック後のフォローアップ | 系統的な呼び出し元の監査、包括的な Issue の提出、メンテナーのスコープに関する指摘で不足が判明した場合の補完 PR | references/phase-35-followup.md |
| 4 — リリースプロセス | バージョンの更新、タグ付け、GitHub Releases とタグの違い、リリースワークフローの構造、リリース失敗への対処 | references/phase-4-release-process.md |
デフォルトの方針(CONTRIBUTING.md がない場合)
プロジェクトにコントリビューションガイドがない場合は、Issue の提出、PR、コミュニケーションの規範、行動規範について妥当なデフォルトを確認するため、references/default-posture.md を読み込んでください。
エージェント向けチェックリスト
AI エージェントとして人間に代わって Issue を提出したり貢献したりする場合は、何かを提出する前に references/agent-checklist.md を読み込んでください。
落とし穴
Issue や PR を提出しようとしているとき、または問題が起きたときは、references/pitfalls.md を読み込んでください。バッククォートの展開、ラベルの設定が通知なく失敗する問題、強制プッシュのエチケット、「さっと修正するだけ」の落とし穴、フォーク間の PR の問題、マージ後のスコープクリープ、インストール済みコードの落とし穴、CI のデバッグなどを扱います。
エージェント固有のルール
人間に代わって Issue を提出するときは、エージェントを利用したことを必ず開示してください。 Issue 本文の末尾に次の行を追加します。
Filed by {{AGENT_NAME}} (AI agent on behalf of {{HUMAN_NAME}})
これは礼儀ではなく、透明性を確保するための要件です。メンテナーには、誰とやり取りしているのかを知る権利があります。
クイックリファレンスカード
| 手順 | アクション | コマンド/確認項目 |
|---|---|---|
| 0 | 貢献ガイドを読む | cat CONTRIBUTING.md または .github/CONTRIBUTING.md |
| 0 | 既存の Issue を確認する | gh issue list --search "topic" --state all |
| 1 | バグ/機能の Issue を作成する | テンプレートがあれば使用し、バグの場合は再現手順を記載します |
| 2 | コーディングの前に Issue を作成する | Issue を作成し、メンテナーからのフィードバックを待ってからブランチを作成します |
| 3 | ブランチを作成する | git checkout -b fix/description |
| 4 | コミットする | git commit -s -m "fix: description" |
| 5 | ローカルでテストを実行する | make test または npm test または pytest |
| 6 | プッシュする | git push -u origin HEAD |
| 7 | PR を作成する | PR テンプレートに漏れなく記入します。内容が複雑な場合は --body-file を使用します |
| 8 | CI を監視する | gh pr checks --watch |
| 9 | レビューに対応する | コメントに返信し、修正コミットをプッシュします。レビュー後は強制プッシュしないでください |
| 10 | マージ後 | git checkout main && git pull && git tag vX.Y.Z && git push origin main --tags |
| 11 | リリースを作成する | gh release create vX.Y.Z --title "vX.Y.Z — Title" --notes-file /tmp/notes.md |
このスキルを使用しない場合
- 外部コントリビューターや公開されている協力者がいないプロジェクトで、あなたが唯一のメンテナーである
- 自分のコードに対する些細な1行の修正を行う
- 貢献が内部向け(同じ組織、同じチーム)で、確立されたワークフローの慣習がある
- プロジェクトの貢献ガイドラインを熟知しており、今回の作業が定型的である
- Issue がセキュリティ脆弱性に関するものである。この場合は、プロジェクトのセキュリティ開示ポリシーに従ってください