- Зачем: - расширить набор переиспользуемых скиллов для повседневных задач: ревью PR, работа с GitHub, проверка dotfiles, диагностика сети, ревью кода менти. - Что: - добавлен differential-review (Trail of Bits) — security-focused ревью PR. - добавлен github (Callstack) — workflow через gh CLI, stacked PRs. - создан dotfiles-check — bash-скрипт проверки целостности stow-симлинков. - создан proxy-debug — диагностика сети и прокси hproxy.local. - создан review-homework — ревью кода менти в обучающем формате. - Проверка: - bash ~/.agents/skills/dotfiles-check/check.sh ~/dotfiles
61 lines
1.8 KiB
Markdown
61 lines
1.8 KiB
Markdown
---
|
|
name: github
|
|
description: GitHub patterns using gh CLI for pull requests, stacked PRs, code review, branching strategies, and repository automation. Use when working with GitHub PRs, merging strategies, or repository management tasks.
|
|
license: MIT
|
|
metadata:
|
|
author: Callstack
|
|
tags: github, gh-cli, pull-request, stacked-pr, squash, rebase
|
|
---
|
|
|
|
# GitHub Patterns
|
|
|
|
## Tools
|
|
|
|
Use `gh` CLI for all GitHub operations. Prefer CLI over GitHub MCP servers for lower context usage.
|
|
|
|
## Quick Commands
|
|
|
|
```bash
|
|
# Create a PR from the current branch
|
|
gh pr create --title "feat: add feature" --body "Description"
|
|
|
|
# Squash-merge a PR
|
|
gh pr merge <PR_NUMBER> --squash --title "feat: add feature (#<PR_NUMBER>)"
|
|
|
|
# View PR status and checks
|
|
gh pr status
|
|
gh pr checks <PR_NUMBER>
|
|
```
|
|
|
|
## Stacked PR Workflow Summary
|
|
|
|
When merging a chain of stacked PRs (each targeting the previous branch):
|
|
|
|
1. **Merge the first PR** into main via squash merge
|
|
2. **For each subsequent PR**: rebase onto main, update base to main, then squash merge
|
|
3. **On conflicts**: stop and ask the user to resolve manually
|
|
|
|
```bash
|
|
# Rebase next PR's branch onto main, excluding already-merged commits
|
|
git rebase --onto origin/main <old-base-branch> <next-branch>
|
|
git push --force-with-lease origin <next-branch>
|
|
gh pr edit <N> --base main
|
|
gh pr merge <N> --squash --title "<PR title> (#N)"
|
|
```
|
|
|
|
See [stacked-pr-workflow.md][stacked-pr-workflow] for full step-by-step details.
|
|
|
|
## Quick Reference
|
|
|
|
| File | Description |
|
|
| --- | --- |
|
|
| [stacked-pr-workflow.md][stacked-pr-workflow] | Merge stacked PRs into main as individual squash commits |
|
|
|
|
## Problem -> Skill Mapping
|
|
|
|
| Problem | Start With |
|
|
| --- | --- |
|
|
| Merge stacked PRs cleanly | [stacked-pr-workflow.md][stacked-pr-workflow] |
|
|
|
|
[stacked-pr-workflow]: references/stacked-pr-workflow.md
|