skills/calel33/graphite-cli/SKILL.md
This skill should be used to answer questions and guide workflows related to the Graphite CLI. It assists with creating, managing, submitting, and synchronizing stacked code changes (diffs).
npx skillsauth add aiskillstore/marketplace graphite-cliInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides procedural knowledge for working with the Graphite command-line interface (CLI). It covers the entire lifecycle of creating and managing stacked pull requests, from initial setup to advanced stack manipulation.
Activate this skill when a user's request involves using the gt command, managing stacked pull requests, or inquiring about the Graphite workflow. It is designed to handle tasks such as creating branches, submitting PRs, synchronizing with the trunk branch, and modifying the structure of a stack.
main or master) from which all stacks originate and into which they are eventually merged.To begin using Graphite in a git repository, it must be initialized.
gt auth to connect the CLI to your GitHub account via an auth token.gt init. This command will prompt to select the trunk branch.This workflow covers the fundamental loop of creating, submitting, and updating branches.
To create a new branch and commit changes, use gt create. This command replaces git add, git commit, and git checkout -b. The new branch will be stacked on the currently checked-out branch.
| Command | Alias/Flags | Description |
| :--- | :--- | :--- |
| gt create | gt c | Creates a new branch and commits staged changes. |
| gt create -m <MSG> | gt c -m | Creates a branch with a specific commit message. |
| gt create -a | gt c -a | Stages all unstaged changes before committing. |
| gt create -am <MSG> | gt c -am | Combines staging all changes and adding a message. |
Example:
To create a branch from main with all current file changes and a commit message:
gt checkout maingt create -am "feat: Add new user model"To push a branch (or a stack of branches) and open pull requests on GitHub, use gt submit.
| Command | Alias/Flags | Description |
| :--- | :--- | :--- |
| gt submit | | Pushes the current branch, creating or updating its PR. |
| gt submit --stack | gt ss | Pushes all branches in the current stack, from trunk up to the current branch, creating/updating a distinct PR for each. |
| gt submit -d | | Submits the PR as a draft. |
| gt pr | | Opens the GitHub PR page for the current branch in a browser. |
Example: To submit an entire 3-part stack for review:
part-3).gt submit --stack --reviewers alice,bobTo update a branch with feedback, edit the code and use gt modify to amend the commit.
| Command | Alias/Flags | Description |
| :--- | :--- | :--- |
| gt modify | gt m | Amends the commit on the current branch with staged changes. |
| gt modify -a | gt m -a | Amends the commit with all staged and unstaged changes. This is the most common update command. |
Example: To apply a requested change to a PR:
gt modify -a to amend the commit with your changes.gt submit to update the remote PR.To see the dependency structure of your branches, use gt log short.
| Command | Alias | Description |
| :--- | :--- | :--- |
| gt log short | gt ls | Displays all tracked branches and their dependency relationships in a compact tree format. |
Use these commands to move efficiently between branches in a stack.
| Command | Alias | Function |
| :--- | :--- | :--- |
| gt up | gt u | Switches to the child branch (upstack). |
| gt down | gt d | Switches to the parent branch (downstack). |
| gt top | gt t | Switches to the highest branch (tip) of the current stack. |
| gt bottom | gt b | Switches to the lowest branch of the current stack. |
| gt checkout | gt co | Opens an interactive selector to choose any tracked branch. |
To update your stack with the latest changes from the trunk, use gt sync.
Actions performed by gt sync:
main).If gt sync or gt modify pauses due to a merge conflict, follow these steps:
git add ..gt continue to allow Graphite to complete the original sync or modify operation.These commands are used to restructure a stack.
| Command | Description |
| :--- | :--- |
| gt move | Rebases the current branch and its children onto a new parent. Use this to change a branch's dependency (e.g., gt move --onto main). |
| gt fold | Combines (squashes) the current branch's changes into its parent branch and deletes the current branch. |
| gt split | Splits the current branch into two or more new branches, either by commit or by interactively selecting file hunks. |
| gt create --insert | Creates and inserts a new branch between the current branch and its parent. |
| gt absorb | Automatically applies unstaged changes to the most relevant downstack commits. Useful for distributing feedback fixes across multiple PRs at once. |
references/graphite_cli_guide.md: The complete and unabridged guide for the Graphite CLI. Consult this file for detailed explanations of every command and workflow, including collaboration (gt get, gt freeze) and multi-trunk support.development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.