AI студия Владимира Ломтева
УСЛУГИПРОЕКТЫСТАТЬИБАЗА ЗНАНИЙМаркетплейсПолезные сервисы

Оставьте заявку,
чтобы обсудить проект

Напишите ваш вопрос, не забудьте указать телефон. Мы перезвоним и все расскажем.

Контакты

Москва

Работаем по всей России
и миру (онлайн)

+7 (999) 760-24-41

Ежедневно с 9:00 до 21:00

lamooof@gmail.com

По вопросам сотрудничества

TelegramWhatsApp

Есть предложение?

Напишите нам в мессенджеры

© 2025 AI студия Владимира Ломтева

Политика конфиденциальностиСогласие на обработку ПДн|ИНН 623412173261
    Gh Stack — Скилл для ИИ-агентов | AI Рассвет

    Gh Stack

    Manages stacked PRs and splits multi part work into reviewable branches with gh stack. Use for stack creation, viewing, edits, push, submit, sync, rebase, merge, or checkout; when asked to split or isolate work for review; whenever a user mentions a stack, branch layers, dependent PRs, or gh stack; or when a stack is checked out.

    Скиллы для операций#GitHub#github/gh-stack#skills.sh
    Скачивания
    0
    В избранном
    0
    Комментарии
    0
    Просмотры
    2

    Установить скилл

    Добавьте инструмент одной командой или скачайте проверенный архив версии.

    npx skills add github/gh-stack --skill gh-stack
    Скачать ZIP
    Версия
    1.0.0+2bd699a544a0
    Автор
    Владимир Ломтев
    Репозиторий
    github/gh-stack
    GitHub: github/gh-stack

    Как установить

    1. 1Скопируйте команду из блока установки.
    2. 2Запустите её в терминале из каталога проекта.

    Документация

    gh-stack

    gh stack is a GitHub CLI extension for stacked branches and pull requests. A stack is an ordered chain of branches rooted on a trunk, where each branch has one PR based on the branch below it, so a reviewer sees only that layer's diff.

    gh stack prints a stack trunk-first, left to right:

    (main) <- auth <- api <- frontend
    

    Left is the bottom, right is the top. auth is based on main and merges first; frontend merges last. up moves toward the top, away from trunk; down moves toward it. Foundational work belongs at the bottom, code that depends on it above. For how to choose the layers, read references/stack-design.md.

    Setup

    gh extension install github/gh-stack
    git config rerere.enabled true         # remember conflict resolutions
    git config remote.pushDefault origin   # required if the repo has more than one remote
    

    Non-interactive use

    gh stack branches on whether stdout is a TTY. Piped, most commands error cleanly or print static text; under a PTY the same commands open a prompt or a full-screen TUI and block forever. Agent harnesses differ, so always pass the flags below instead of relying on that detection.

    Multiple remotes: never run push, submit, sync, rebase, or link without --remote <name> unless remote.pushDefault is configured. checkout and trunk have no --remote flag and require the config.

    Always run Never run bare Why
    gh stack view --json gh stack view opens a TUI under a PTY
    gh stack submit --auto gh stack submit prompts for a title per new PR
    gh stack merge <target> --yes gh pr merge gh pr merge cannot merge a stack
    gh stack init <branch>... gh stack init prompts for branch names
    gh stack add <branch> gh stack add prompts for a name, and fails even when piped
    gh stack checkout <target> gh stack checkout opens a selection menu
    gh stack up / down / top / bottom gh stack switch switch is menu-only
    — gh stack modify TUI-only, no non-interactive path
    • view --short is safe in both modes, but it is formatted for humans. Use --json to parse.
    • checkout <pr> when a different local stack already covers those branches cannot be forced. Run gh stack unstack --local first (this keeps the stack on GitHub), then retry.

    Branch placement

    • Starting multi-part work: create the stack before writing files. Do not implement every concern on trunk and split it later. Put one dependent concern in each layer, bottom to top.
    • Editing an existing stack: check out the layer that owns the change before editing. Never commit a lower layer's concern on the current top branch. Run gh stack view --json; if ownership is unclear, inspect git log --all -- <path>. Then check out the owner, edit, commit, rebase upstack, and return to top.
    gh stack down                   # or: gh stack checkout api
    git add ... && git commit -m "Add get-user endpoint"
    gh stack rebase --upstack       # replay every branch above onto the change
    gh stack top                    # return to where you were
    gh stack push
    

    Core loop

    gh stack init auth              # create the stack and check out its branch
    git add ... && git commit -m "Add auth middleware"
    gh stack add api                # next layer, branched from the current one
    git add ... && git commit -m "Add API routes"
    gh stack submit --auto          # push every branch and open draft PRs
    gh stack view --json            # confirm
    

    Add --open to submit to create PRs ready for review instead of drafts. Branch names are verbatim — gh stack add refactor/foo creates refactor/foo.

    Staying in sync

    gh stack sync                   # fetch, reconcile with GitHub, rebase, push, refresh PR state
    gh stack sync --prune           # also delete local branches for merged PRs
    

    Pruning never happens without --prune when non-interactive. If the local and remote stacks have diverged, sync prints both chains, makes no changes, and exits 0 with Sync aborted — see references/troubleshooting.md.

    Merging

    Scope the merge with an argument:

    gh stack merge 42 --yes          # PR #42 plus every unmerged PR below it
    gh stack merge 7 --yes           # every unmerged PR in stack #7
    gh stack merge 42 --yes --squash # or --merge, --rebase, --merge-method <method>
    

    Pass a PR number to merge that PR and every unmerged PR below it, or a stack number to merge every unmerged PR in that stack. The operation is all-or-nothing: if any PR in that set cannot merge, none do.

    Without a method flag the last-used method is reused. If the base branch uses a merge queue, the stack is queued instead and the queue picks the method, ignoring any flag you passed with a warning; queued PRs may land in separate groups.

    Reading state

    gh stack view --json writes JSON to stdout. Status messages go to stderr — do not parse them, branch on exit codes instead.

    trunk           string
    currentBranch   string
    branches[]      name, head, base, isCurrent, isMerged, isQueued, needsRebase
    branches[].pr   number, url, state ("OPEN" | "MERGED" | "QUEUED"); absent when no PR exists
    

    base is the saved SHA of the parent branch that this branch was last known to contain. It may be older than the parent's current tip. needsRebase is true when the current parent tip is no longer an ancestor of the branch.

    Exit codes

    Code Meaning Recovery
    0 Success —
    1 Generic error Read stderr
    2 Not in a stack gh stack init, or gh stack checkout <target>
    3 Rebase conflict Follow the Exit 3 recovery below
    4 GitHub API failure Check gh auth status, retry
    5 Invalid arguments Fix the invocation; see <command> --help
    6 Disambiguation required Branch is in several stacks; check out a non-shared branch
    7 Rebase already in progress gh stack rebase --continue or --abort
    8 Stack file locked Another gh stack process is writing; retry after ~5s
    9 Stacked PRs unavailable Not enabled on the repository; tell the user
    10 Modify recovery required gh stack modify --abort

    Exit 3 recovery:

    • After gh stack rebase: resolve the files, run git add, then gh stack rebase --continue; use gh stack rebase --abort to restore the stack.
    • After gh stack sync: the stack has already been restored. Run gh stack rebase to recreate the conflict, then resolve and continue as above.

    Constraints

    • Stacks are strictly linear: one parent, at most one child. Use separate stacks for parallel work.
    • There is no non-interactive reorder or removal. Errors may suggest gh stack modify, but it is TUI-only — restructure with unstack then init instead.
    • PR titles and bodies are auto-generated. Use gh pr edit afterwards to change them.

    More detail

    gh stack <command> --help is authoritative for flags and arguments. Note that gh stack help <command> does not work — it prints the top-level help.

    Open the reference whose trigger matches the task; no need to preload all three.

    • references/stack-design.md — read before creating a stack, when deciding how many layers to use, what belongs in each one, or whether work belongs in a new stack.
    • references/commands.md — read when a command fails unexpectedly or you need its preconditions, side effects, atomicity, or ordering guarantees.
    • references/troubleshooting.md — read on a rebase conflict, after a squash-merge, on local and remote divergence, when restructuring a stack, or when driving stacks from another tool.

    Требования и возможности

    Источник пакета
    https://github.com/github/gh-stack/tree/2bd699a544a09cb5c45a013d03416e0894b0454e/skills/gh-stack

    Файлы версии

    ПутьРазмерSHA256
    SKILL.md81995d966fc1ff92014d...
    references/commands.md910431049425b8db652e...
    references/stack-design.md42094a61e3065ce61a5d...
    references/troubleshooting.md6712fe1958036e663c74...

    Частые вопросы

    Как установить Gh Stack?
    Используйте команду npx skills add github/gh-stack --skill gh-stack или скачайте ZIP-архив.
    Можно ли скачать Gh Stack бесплатно?
    Да, опубликованную версию можно скачать из маркетплейса бесплатно.

    Похожие инструменты

    Смотреть все
    Story Long Write长篇网文写作。从大纲到正文,辅助长篇网络小说的创作,包括世界观、人物、情节线管理。触发方式:/story-long-write、/写长篇、「帮我开书」「写大纲」「日更」「续写」「继续写」「修改第X章」「回炉」「重写第X章」。Parallel Deep ResearchONLY use when user explicitly says 'deep research', 'exhaustive', 'comprehensive report', or 'thorough investigation'. Slower and more expensive than parallel-web-search. For normal research/lookup requests, use parallel-web-search instead. Supports multi-turn: pass --previous-interaction-id from a prior research or enrichment to continue with context.LangfuseInteract with Langfuse and access its documentation: tracing, monitoring, creating datasets, running experiments, and evaluating AI applications. Use when needing to (1) query or modify Langfuse data, (2) look up Langfuse documentation, concepts, integration guides, a feature or SDK usage, or (3) do any AI engineering task (AI observability, prompt engineering/management, evaluation and evaluator management, experimentation, dataset management, evaluation-driven CI/CD, feedback collection). Invoke it for tasks in this scope even when Langfuse is not configured or explicitly mentioned.
    Комментарии

    Войдите, чтобы оставить комментарий.

    Комментариев пока нет.

    Установить скилл

    Добавьте инструмент одной командой или скачайте проверенный архив версии.

    npx skills add github/gh-stack --skill gh-stack
    Скачать ZIP
    Версия
    1.0.0+2bd699a544a0
    Автор
    Владимир Ломтев
    Репозиторий
    github/gh-stack
    GitHub: github/gh-stack
    Excel Automation>