Token导航 LogoToken导航TokenDH.com
运维和基础设施敏感数据github未标认证来源可访问clear审计通过

using-git-spice使用 git 香料

Agent Skill

using-git-spice 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

659

周安装

28

GitHub Stars

13

下载量

231
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:using-git-spice(使用 git 香料)
来源仓库:https://github.com/arittr/spectacular
仓库路径:skills/using-git-spice
安装命令:
npx skills add https://github.com/arittr/spectacular --skill using-git-spice
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/arittr/spectacular --skill using-git-spice

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装使用。
  • 安装前需确认权限范围、维护状态及是否触发联网或文件操作。
  • using-git-spice 属于运维和基础设施类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Using git-spice

Overview

git-spice (gs) is a CLI tool for managing stacked Git branches and their Change Requests.

Core principle: git-spice tracks branch relationships (stacks) and automates rebasing/submitting dependent branches.

Key Concepts

Stack terminology:

  • Stack: All branches connected to current branch (both upstack and downstack)
  • Upstack: Branches built on top of current branch (children and descendants)
  • Downstack: Branches below current branch down to trunk (parents and ancestors)
  • Trunk: Main integration branch (typically main or master)

Example stack:

┌── feature-c     ← upstack from feature-b
├── feature-b     ← upstack from feature-a, downstack from feature-c
├── feature-a     ← downstack from feature-b
main (trunk)

When on feature-b:

  • Upstack: feature-c
  • Downstack: feature-a, main
  • Stack: feature-a, feature-b, feature-c

Quick Reference

TaskCommandNotes
Initialize repogs repo initRequired once per repo. Sets trunk branch.
Create stacked branchgs branch create <name>Creates branch on top of current. Use gs bc shorthand.
View stackgs log shortShows current stack. Use gs ls or gs log long (gs ll) for details.
Submit stack as PRsgs stack submitSubmits entire stack. Use gs ss shorthand.
Submit upstack onlygs upstack submitCurrent branch + children. Use gs us s shorthand.
Submit downstack onlygs downstack submitCurrent branch + parents to trunk. Use gs ds s shorthand.
Rebase entire stackgs repo restackRebases all tracked branches on their bases.
Rebase current stackgs stack restackRebases current branch's stack. Use gs sr shorthand.
Rebase upstackgs upstack restackCurrent branch + children. Use gs us r shorthand.
Move branch to new basegs upstack onto <base>Moves current + upstack to new base.
Sync with remotegs repo syncPulls latest, deletes merged branches.
Track existing branchgs branch track [branch]Adds branch to git-spice tracking.
Delete branchgs branch delete [branch]Deletes branch, restacks children. Use gs bd shorthand.

Command shortcuts: Most commands have short aliases. Use gs --help to see all aliases.

Common Workflows

These workflows apply to single-repository scenarios. For features spanning multiple repositories, see Multi-Repo Workflows below.

Workflow 1: Create and Submit Stack

# One-time setup
gs repo init
# Prompt asks for trunk branch (usually 'main')

# Create stacked branches
gs branch create feature-a
# Make changes, commit with git
git add . && git commit -m "Implement A"

gs branch create feature-b  # Stacks on feature-a
# Make changes, commit
git add . && git commit -m "Implement B"

gs branch create feature-c  # Stacks on feature-b
# Make changes, commit
git add . && git commit -m "Implement C"

# View the stack
gs log short

# Submit entire stack as PRs
gs stack submit
# Creates/updates PRs for all branches in stack

Workflow 2: Update Branch After Review

# You have feature-a → feature-b → feature-c
# Reviewer requested changes on feature-b

git checkout feature-b
# Make changes, commit
git add . && git commit -m "Address review feedback"

# Rebase upstack (feature-c) on updated feature-b
gs upstack restack

# Submit changes to update PRs
gs upstack submit
# Note: restack only rebases locally, submit pushes and updates PRs

CRITICAL: Don't manually rebase feature-c! Use gs upstack restack to maintain stack relationships.

Workflow 3: Sync After Upstream Merge

# feature-a was merged to main
# Need to update feature-b and feature-c

# Sync with remote (pulls main, deletes merged branches)
gs repo sync

# Restack everything on new main
gs repo restack

# Verify stack looks correct
gs log short

# Push updated branches
gs stack submit

CRITICAL: Don't rebase feature-c onto main! After feature-a merges:

  • feature-b rebases onto main (its new base)
  • feature-c rebases onto feature-b (maintains dependency)

When to Use Git vs git-spice

Use git-spice for:

  • Creating branches in a stack: gs branch create
  • Rebasing stacks: gs upstack restack, gs repo restack
  • Submitting PRs: gs stack submit, gs upstack submit
  • Viewing stack structure: gs log short
  • Deleting branches: gs branch delete (restacks children)

Use git for:

  • Making changes: git add, git commit
  • Checking status: git status, git diff
  • Viewing commit history: git log
  • Individual branch operations: git checkout, git switch

Never use git rebase directly on stacked branches - use git-spice restack commands to maintain relationships.

Common Mistakes

MistakeWhy It's WrongCorrect Approach
Rebasing child onto trunk after parent mergesBreaks stack relationships, creates conflictsUse gs repo sync && gs repo restack
Using git push --force after changesBypasses git-spice trackingUse gs upstack submit or gs stack submit
Manually rebasing with git rebasegit-spice doesn't track the rebaseUse gs upstack restack or gs stack restack
Running gs stack submit on wrong branchMight submit unintended branchesCheck gs log short first to see what's in stack
Forgetting gs repo initCommands fail with unclear errorsRun gs repo init once per repository
Using stack when you mean upstackSubmits downstack branches too (parents)Use upstack to submit only current + children
Assuming restack runs automaticallyAfter commits, stack can driftExplicitly run gs upstack restack after changes

Red Flags - Check Documentation

  • Confused about stack/upstack/downstack scope
  • About to run git rebase on a tracked branch
  • Unsure which submit command to use
  • Getting "not tracked" errors

When uncertain, run gs <command> --help for detailed usage.

Authentication and Setup

First time setup:

# Authenticate with GitHub/GitLab
gs auth login
# Follow prompts for OAuth or token auth

# Initialize repository
gs repo init
# Sets trunk branch and remote

# Verify setup
gs auth status

Handling Conflicts

If gs upstack restack or gs repo restack encounters conflicts:

  1. Resolve conflicts using standard git workflow (git status, edit files, git add)
  2. Continue with git rebase --continue
  3. git-spice will resume restacking remaining branches
  4. After resolution, run gs upstack submit to push changes

If you need to abort a restack, check gs --help for recovery options.

Multi-Repo Workflows

Per-Repo Stacking Limitation

Git-spice operates on ONE repository at a time. In multi-repo spectacular features:

  • Each repo has its own independent stack
  • Cannot create a cross-repo linear stack
  • Branches stay within their respective repos

Multi-Repo PR Submission

For features spanning multiple repos, submit PRs in phase order:

Phase-ordered submission:

# Phase 1 repos first (foundation)
cd shared-lib
gs stack submit
cd ..

# Phase 2 repos second
cd backend
gs stack submit
cd ..

# Phase 3 repos last (depends on earlier phases)
cd frontend
gs stack submit
cd ..

Why phase order matters:

  • Phase 1 changes (e.g., shared types) must merge before Phase 2 consumers
  • Prevents broken builds from missing dependencies
  • Mirrors the execution order during development

Multi-Repo Stack Visualization

View stacks across all repos:

# From workspace root
for repo in backend frontend shared-lib; do
  echo "=== $repo ==="
  cd $repo && gs log short && cd ..
done

Multi-Repo Sync

After PRs merge, sync all repos:

# From workspace root
for repo in backend frontend shared-lib; do
  echo "Syncing $repo..."
  cd $repo && gs repo sync && cd ..
done

Coordinating Cross-Repo Dependencies

If PR in repo A depends on PR in repo B:

  1. Merge repo B's PR first
  2. Update repo A to use the merged changes
  3. Then merge repo A's PR

Example:

shared-lib: PR for new types
  ↓ (merge first)
backend: PR using new types
  ↓ (merge second)
frontend: PR using backend API
  ↓ (merge third)

Additional Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

25.61%
按下载量换算59

pi

24.18%
按下载量换算56

Codex

18.75%
按下载量换算43

Cursor

12.65%
按下载量换算29

windsurf

7.4%
按下载量换算17

OpenCode

3.14%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills