adynato-github
AdynatoプロジェクトでGitHubを使う際、gh CLIを使ったPR作成、詳細な説明記述、大規模な機能開発におけるスタックPRの活用など、効率的なワークフローを支援するSkill。
📜 元の英語説明(参考)
GitHub workflow conventions for Adynato projects. Covers creating PRs with gh CLI, writing thorough descriptions, and using stacked PRs for large deliverables. Use when creating pull requests, managing branches, or breaking down large features.
🇯🇵 日本人クリエイター向け解説
AdynatoプロジェクトでGitHubを使う際、gh CLIを使ったPR作成、詳細な説明記述、大規模な機能開発におけるスタックPRの活用など、効率的なワークフローを支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o adynato-github.zip https://jpskill.com/download/9753.zip && unzip -o adynato-github.zip && rm adynato-github.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/9753.zip -OutFile "$d\adynato-github.zip"; Expand-Archive "$d\adynato-github.zip" -DestinationPath $d -Force; ri "$d\adynato-github.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
adynato-github.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
adynato-githubフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
GitHub Skill
AdynatoプロジェクトでGitHubを扱う場合は、このSkillを使用してください。
常に gh CLI を使用する
GitHubの操作はすべて、ウェブインターフェースではなく、gh CLIを使用してください。
# PRを作成
gh pr create --title "Title" --body "Description"
# PRを表示
gh pr view 123
# PRのステータスを確認
gh pr checks 123
# PRをマージ
gh pr merge 123 --squash
PRの説明
すべてのPRには、詳細な説明が必要です。次のテンプレートを使用してください。
gh pr create --title "feat: add user authentication" --body "$(cat <<'EOF'
## Summary
このPRの内容と理由を簡単に説明します。
- JWTベースの認証フローを追加
- ログイン/ログアウトのエンドポイントを実装
- 保護されたルートに認証ミドルウェアを追加
## Changes
- `lib/auth.ts` - 認証ユーティリティとトークン管理
- `app/api/auth/login/route.ts` - ログインエンドポイント
- `app/api/auth/logout/route.ts` - ログアウトエンドポイント
- `middleware.ts` - ルート保護
## Testing
- [ ] 有効な認証情報でログインするとトークンが返される
- [ ] 無効な認証情報でログインすると401が返される
- [ ] 保護されたルートは認証されていないリクエストを拒否する
- [ ] ログアウトするとトークンが無効になる
## Screenshots
(UIの変更がある場合)
## Related
- Closes #123
- Part of #456
EOF
)"
必須セクション
| セクション | 必須条件 | 目的 |
|---|---|---|
| Summary | 常に | 何を、なぜ、2〜3文で |
| Changes | 常に | 変更されたファイル/領域のリスト |
| Testing | 常に | 動作確認の方法 |
| Screenshots | UIの変更 | 変更の視覚的な証拠 |
| Related | 該当する場合 | リンクされたissue/PR |
Stacked PRs
大規模な成果物の場合、互いに積み重ねられた小さなStacked PRに分割してください。
Stack PRsの利点
- レビューが容易 - レビュアーは一度に1つの懸念事項に集中できます
- マージが高速 - 小さなPRは承認が速くなります
- リスクが低い - 各PRは独立してデプロイ可能です
- 履歴が改善 - 変更の明確な進捗
Stacking戦略
「ユーザーダッシュボードの追加」のような機能の場合:
PR 1: ユーザーAPIエンドポイントの追加(ベース)
↓
PR 2: ダッシュボードのデータ取得の追加(PR 1にスタック)
↓
PR 3: ダッシュボードUIコンポーネントの追加(PR 2にスタック)
↓
PR 4: ダッシュボードテストの追加(PR 3にスタック)
Stacked PRsの作成
# PR 1: ベースブランチ
git checkout -b feat/user-api
# ... 変更を加える ...
git push -u origin feat/user-api
gh pr create --base main --title "feat: add user API endpoints"
# PR 2: PR 1にスタック
git checkout -b feat/dashboard-data feat/user-api
# ... 変更を加える ...
git push -u origin feat/dashboard-data
gh pr create --base feat/user-api --title "feat: add dashboard data fetching"
# PR 3: PR 2にスタック
git checkout -b feat/dashboard-ui feat/dashboard-data
# ... 変更を加える ...
git push -u origin feat/dashboard-ui
gh pr create --base feat/dashboard-data --title "feat: add dashboard UI"
Stackの説明
Stacked PRでは、関係を記述します。
## Summary
ダッシュボードUIコンポーネントを追加します。
## Stack
このPRはスタックの一部です。
1. #101 - ユーザーAPIエンドポイントの追加 ← **merged**
2. #102 - ダッシュボードのデータ取得の追加 ← **base**
3. **#103 - ダッシュボードUIの追加** ← 現在のPR
4. #104 - ダッシュボードテストの追加
順番にレビューしてマージしてください。
Stacked PRsの更新
ベースPRが変更された場合:
# ベースからの変更でブランチを更新
git checkout feat/dashboard-ui
git rebase feat/dashboard-data
git push --force-with-lease
ベースPRがマージされた場合:
# 新しいベースにリベース
git checkout feat/dashboard-data
git rebase main
git push --force-with-lease
# PRのベースブランチを更新
gh pr edit 102 --base main
PRサイズのガイドライン
| サイズ | 変更行数 | レビュー時間 | 推奨事項 |
|---|---|---|---|
| XS | < 50 | 数分 | 理想的 |
| S | 50-200 | 1時間未満 | 良い |
| M | 200-500 | 1〜2時間 | 許容範囲 |
| L | 500-1000 | 2〜4時間 | 可能であれば分割 |
| XL | > 1000 | 数日 | 分割必須 |
目標:PRを300行未満の変更に保つ。
コミットメッセージ
Conventional Commitsを使用してください。
feat: add user authentication
fix: resolve login redirect loop
docs: update API documentation
refactor: extract auth utilities
test: add auth endpoint tests
chore: update dependencies
フォーマット:
<type>: <short description>
<optional body explaining why>
<optional footer with references>
ブランチ命名
feat/short-description # 新機能
fix/issue-description # バグ修正
refactor/what-changed # コードリファクタリング
docs/what-documented # ドキュメント
test/what-tested # テストの追加
一般的な gh コマンド
# ラベル付きでPRを作成
gh pr create --title "feat: thing" --label "enhancement" --label "needs-review"
# ドラフトPRを作成
gh pr create --title "wip: thing" --draft
# レビュアーをリクエスト
gh pr edit 123 --add-reviewer @username
# CIステータスを確認
gh pr checks 123 --watch
# PRの差分を表示
gh pr diff 123
# PRをローカルにチェックアウト
gh pr checkout 123
# PRを閉じる
gh pr close 123
# PRを再度開く
gh pr reopen 123
# オープンなPRをリスト表示
gh pr list
# PRのコメントを表示
gh pr view 123 --comments
レビュープロセス
- 最初に自己レビュー - レビューをリクエストする前に、自分の差分を読んでください
- CIがパスする必要がある - チェックがグリーンになるまでレビューをリクエストしないでください
- フィードバックに対応 - すべてのコメントに対応または議論してください
- マージ時にスカッシュ -
mainの履歴をきれいに保ちます
# スカッシュでマージ(推奨)
gh pr merge 123 --squash --delete-branch
# リベースでマージ(スタックの場合)
gh pr merge 123 --rebase --delete-branch
PRコメントへの対応
レビューコメントを修正する場合は、各コメントに対して次のワークフローに従ってください。
1. 個別のコミットを作成
レビューコメントの修正ごとに、個別のConventional Commitを作成します。
# 最初のコメントを修正
git add src/auth.ts
git commit -m "fix: add null check for user token
Addresses review comment about potential null reference"
# 2番目のコメントを修正
git add src/api/users.ts
git commit -m "refactor: extract validation logic to separate function
Addresses review comment about function complexity"
# 修正
(原文がここで切り詰められています) 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
GitHub Skill
Use this skill when working with GitHub on Adynato projects.
Always Use gh CLI
Use the gh CLI for all GitHub operations instead of the web interface:
# Create PR
gh pr create --title "Title" --body "Description"
# View PR
gh pr view 123
# Check PR status
gh pr checks 123
# Merge PR
gh pr merge 123 --squash
PR Descriptions
Every PR must have a thorough description. Use this template:
gh pr create --title "feat: add user authentication" --body "$(cat <<'EOF'
## Summary
Brief description of what this PR does and why.
- Added JWT-based authentication flow
- Implemented login/logout endpoints
- Added auth middleware for protected routes
## Changes
- `lib/auth.ts` - Auth utilities and token management
- `app/api/auth/login/route.ts` - Login endpoint
- `app/api/auth/logout/route.ts` - Logout endpoint
- `middleware.ts` - Route protection
## Testing
- [ ] Login with valid credentials returns token
- [ ] Login with invalid credentials returns 401
- [ ] Protected routes reject unauthenticated requests
- [ ] Logout invalidates token
## Screenshots
(if UI changes)
## Related
- Closes #123
- Part of #456
EOF
)"
Required Sections
| Section | When Required | Purpose |
|---|---|---|
| Summary | Always | What and why in 2-3 sentences |
| Changes | Always | List of files/areas modified |
| Testing | Always | How to verify it works |
| Screenshots | UI changes | Visual proof of changes |
| Related | If applicable | Linked issues/PRs |
Stacked PRs
For large deliverables, break work into small, stacked PRs that build on each other.
Why Stack PRs
- Easier review - Reviewers can focus on one concern at a time
- Faster merges - Small PRs get approved faster
- Lower risk - Each PR is independently deployable
- Better history - Clear progression of changes
Stacking Strategy
For a feature like "Add user dashboard":
PR 1: Add user API endpoints (base)
↓
PR 2: Add dashboard data fetching (stacked on PR 1)
↓
PR 3: Add dashboard UI components (stacked on PR 2)
↓
PR 4: Add dashboard tests (stacked on PR 3)
Creating Stacked PRs
# PR 1: Base branch
git checkout -b feat/user-api
# ... make changes ...
git push -u origin feat/user-api
gh pr create --base main --title "feat: add user API endpoints"
# PR 2: Stack on PR 1
git checkout -b feat/dashboard-data feat/user-api
# ... make changes ...
git push -u origin feat/dashboard-data
gh pr create --base feat/user-api --title "feat: add dashboard data fetching"
# PR 3: Stack on PR 2
git checkout -b feat/dashboard-ui feat/dashboard-data
# ... make changes ...
git push -u origin feat/dashboard-ui
gh pr create --base feat/dashboard-data --title "feat: add dashboard UI"
Stack Description
In stacked PRs, note the relationship:
## Summary
Adds dashboard UI components.
## Stack
This PR is part of a stack:
1. #101 - Add user API endpoints ← **merged**
2. #102 - Add dashboard data fetching ← **base**
3. **#103 - Add dashboard UI** ← you are here
4. #104 - Add dashboard tests
Please review and merge in order.
Updating Stacked PRs
When the base PR changes:
# Update your branch with changes from base
git checkout feat/dashboard-ui
git rebase feat/dashboard-data
git push --force-with-lease
When base PR merges:
# Rebase onto new base
git checkout feat/dashboard-data
git rebase main
git push --force-with-lease
# Update PR base branch
gh pr edit 102 --base main
PR Size Guidelines
| Size | Lines Changed | Review Time | Recommendation |
|---|---|---|---|
| XS | < 50 | Minutes | Ideal |
| S | 50-200 | < 1 hour | Good |
| M | 200-500 | 1-2 hours | Acceptable |
| L | 500-1000 | 2-4 hours | Split if possible |
| XL | > 1000 | Days | Must split |
Target: Keep PRs under 300 lines changed.
Commit Messages
Use conventional commits:
feat: add user authentication
fix: resolve login redirect loop
docs: update API documentation
refactor: extract auth utilities
test: add auth endpoint tests
chore: update dependencies
Format:
<type>: <short description>
<optional body explaining why>
<optional footer with references>
Branch Naming
feat/short-description # New features
fix/issue-description # Bug fixes
refactor/what-changed # Code refactoring
docs/what-documented # Documentation
test/what-tested # Test additions
Common gh Commands
# Create PR with labels
gh pr create --title "feat: thing" --label "enhancement" --label "needs-review"
# Create draft PR
gh pr create --title "wip: thing" --draft
# Request reviewers
gh pr edit 123 --add-reviewer @username
# Check CI status
gh pr checks 123 --watch
# View PR diff
gh pr diff 123
# Checkout PR locally
gh pr checkout 123
# Close PR
gh pr close 123
# Reopen PR
gh pr reopen 123
# List open PRs
gh pr list
# View PR comments
gh pr view 123 --comments
Review Process
- Self-review first - Read your own diff before requesting review
- CI must pass - Don't request review until checks are green
- Respond to feedback - Address or discuss all comments
- Squash on merge - Keep main history clean
# Merge with squash (preferred)
gh pr merge 123 --squash --delete-branch
# Merge with rebase (for stacks)
gh pr merge 123 --rebase --delete-branch
Addressing PR Comments
When fixing review comments, follow this workflow for each comment:
1. Make Individual Commits
Create a separate conventional commit for each review comment fix:
# Fix first comment
git add src/auth.ts
git commit -m "fix: add null check for user token
Addresses review comment about potential null reference"
# Fix second comment
git add src/api/users.ts
git commit -m "refactor: extract validation logic to separate function
Addresses review comment about function complexity"
# Fix third comment
git add src/utils.ts
git commit -m "fix: handle edge case for empty array
Addresses review comment about missing edge case handling"
Do NOT batch multiple comment fixes into one commit. Each fix should be atomic and traceable.
2. Reply to the Comment
After committing the fix, reply to the review comment:
If fixed:
Fixed in <commit-sha>
Or with more context:
Fixed in abc1234 - added null check before accessing token property.
If not valid or won't fix:
I don't think this change is necessary because [reason].
[Explanation of why current implementation is correct/preferred]
Or:
This is intentional - [explanation]. Happy to discuss further if you disagree.
3. Resolve the Comment
After replying, resolve the conversation:
# View comments to get comment IDs
gh api repos/{owner}/{repo}/pulls/{pr}/comments
# Or use the web UI to resolve after replying
In the GitHub web UI: Click "Resolve conversation" after your reply.
Complete Workflow Example
# 1. Read all comments
gh pr view 123 --comments
# 2. For each valid comment, fix and commit individually
git add src/auth.ts
git commit -m "fix: validate token expiry before use
Addresses review feedback on auth token handling"
# 3. Push all fixes
git push
# 4. Reply to each comment in GitHub UI or via API
gh api repos/adynato/myrepo/pulls/123/comments/456789/replies \
-f body="Fixed in $(git rev-parse --short HEAD)"
# 5. Resolve each conversation in GitHub UI
Comment Response Templates
| Scenario | Response |
|---|---|
| Fixed | "Fixed in abc1234" |
| Fixed with explanation | "Fixed in abc1234 - moved validation to middleware as suggested" |
| Needs discussion | "I see your point, but [reasoning]. What do you think about [alternative]?" |
| Won't fix (valid reason) | "Intentionally kept as-is because [reason]. The tradeoff is [explanation]." |
| Won't fix (out of scope) | "Good catch, but out of scope for this PR. Created #456 to track." |
| Question/clarification | "Good question - [explanation of why code works this way]" |
Rules
- One commit per comment - Makes it easy to trace what fixed what
- Always reply - Never leave comments unaddressed
- Always resolve - Clean up the conversation thread
- Reference commits - Include SHA so reviewer can verify the fix
- Be respectful - Even when disagreeing, explain your reasoning
- Create issues for scope creep - If a comment suggests something bigger, create an issue instead