Build AI chat interfaces using ai-elements components — conversations, messages, tool displays, prompt inputs, and more. Use when the user wants to build a chatbot, AI assistant UI, or any AI-powered chat interface.
日本語の概要は準備中です。原文の説明を表示しています。
Work with Graphite (gt) for stacked PRs. Use when creating, navigating, submitting, or managing PR stacks, or when the user mentions gt, Graphite, or stacked diffs.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Work with Graphite (gt) for creating, navigating, and managing stacked pull requests.
| I want to... | Command |
|---|---|
| Create a new branch/PR | gt create branch-name -m "message" |
| Add a new commit to current branch | gt commit create -m "message" (or gt cc) |
| Amend the last commit on current branch | gt commit amend -m "message" (or gt ca) |
| Navigate up the stack | gt up |
| Navigate down the stack | gt down |
| Jump to top of stack | gt top |
| Jump to bottom of stack | gt bottom |
| View stack structure | gt ls |
| Submit stack for review | gt submit --no-interactive |
| Rebase stack on trunk | gt restack |
| Change branch parent | gt track --parent <branch> |
| Rename current branch | gt rename <new-name> |
| Move branch in stack | gt move |
In roughly descending order of importance:
Do NOT worry about creating TOO MANY pull requests. It is always preferable to create more pull requests than fewer.
NO CHANGE IS TOO SMALL: tiny PRs allow for the medium/larger-sized PRs to have more clarity.
Always argue in favor of creating more PRs, as long as they independently pass build.
When naming PRs in a stack, follow this syntax:
terse-stack-feature-name/terse-description-of-change
For example, a 4 PR stack:
auth-bugfix/reorder-args
auth-bugfix/improve-logging
auth-bugfix/improve-documentation
auth-bugfix/handle-401-status-codes
git add <files>gt create branch-name -m "commit message"gt submit --no-interactiveBefore creating branches, check if the current branch is tracked:
gt branch info
If you see "ERROR: Cannot perform this operation on untracked branch":
Option A (Recommended): Track temporarily, then re-parent
gt track -p maingt creategt checkout <first-branch-of-your-stack>
gt track -p main
gt restack
Option B: Stash changes and start from main
git stashgit checkout main && git pullgit checkout -b temp-working && git stash popgt track -p main and gt create# Move up one branch (toward top of stack)
gt up
# Move down one branch (toward trunk)
gt down
# Jump to top of stack
gt top
# Jump to bottom of stack (first branch above trunk)
gt bottom
# View the full stack structure
gt ls
Graphite has explicit commit commands that also auto-restack descendants:
git add <files>
gt commit create -m "add validation for email field" # New commit (preferred)
gt commit amend -m "updated commit message" # Amend last commit
# Shorthands: gt cc -m "...", gt ca -m "..."
Use gt commit create (gt cc) by default unless the user explicitly
asks to amend or squash. gt modify also works (amends by default, -c for
new commit) but the gt commit subcommands are clearer.
Use gt move to reorder branches in the stack. This is simpler than trying to use gt create --insert.
If you created a stack on top of a feature branch but want it based on main:
# Go to first branch of your stack
gt checkout <first-branch>
# Change its parent to main
gt track --parent main
# Rebase the entire stack
gt restack
gt rename new-branch-name
If changes are already committed but you want to re-stack them differently:
# Reset the last commit, keeping changes unstaged
git reset HEAD^
# Reset multiple commits (e.g., last 2 commits)
git reset HEAD~2
# View the diff to understand what you're working with
git diff HEAD
Before running gt submit, verify the first PR is parented on main:
gt ls
If the first branch has a parent other than main:
gt checkout <first-branch>
gt track -p main
gt restack
After creating each PR, run appropriate linting, building, and testing:
gt cc -m "fix: ..." (or gt ca to amend)gt submit --no-interactive
After submitting, use gh pr edit to set proper titles and descriptions.
IMPORTANT: Never use Bash heredocs for PR descriptions - shell escaping breaks markdown tables, code blocks, etc. Instead:
Write tool to create /tmp/pr-body.md with the full markdown contentgh pr edit with --body-file:gh pr edit <PR_NUMBER> --title "stack-name: description" --body-file /tmp/pr-body.md
PR descriptions must include:
Example (for a PR in a 3-PR stack adding a warning feature):
## Stack Context
This stack adds a warning on the merge button when users are bypassing GitHub rulesets.
## Why?
Users who can bypass rulesets (via org admin or team membership) currently see no indication
they're circumventing branch protection. This PR threads the bypass data from the server to
enable the frontend warning (PR 2) to display it.
| Problem | Solution |
|---|---|
| "Cannot perform this operation on untracked branch" | Run gt track -p main first |
| Stack parented on wrong branch | Use gt track -p main then gt restack |
| Need to reorder PRs | Use gt move |
| Conflicts during restack | Resolve conflicts, then git rebase --continue |
| Want to split a PR | Reset commits (git reset HEAD^), re-stage selectively, create new branches |
| Need to delete a branch (non-interactive) | gt delete <branch> -f -q |
gt restack hitting unrelated conflicts | Use targeted git rebase <target> instead (see below) |
| Rebase interrupted mid-conflict | Check if files are resolved but unstaged, then git add + git rebase --continue |
In deeply nested stacks with many sibling branches, gt restack can be problematic:
git rebase Instead of gt restackUse direct git rebase when:
gt restack is hitting conflicts in unrelated branches# 1. Checkout the branch you want to rebase
git checkout my-feature-branch
# 2. Rebase onto the target (e.g., updated parent branch)
git rebase target-branch
# 3. If you hit conflicts:
# - Resolve the conflict in the file
# - Stage it: git add <file>
# - Continue: git rebase --continue
# 4. If a commit is obsolete and should be skipped:
git rebase --skip
# 5. After rebase, sync graphite's tracking (amend is correct here)
gt modify --no-edit
If a rebase was interrupted (e.g., Claude session ran out of context):
Check status:
git status
# Look for "interactive rebase in progress" and "Unmerged paths"
Read the "unmerged" files - they may already be resolved (no conflict markers)
If already resolved, just stage and continue:
git add <resolved-files>
git rebase --continue
If still has conflict markers, resolve them first, then stage and continue
# Delete a branch (non-interactive, even if not merged)
gt delete branch-to-delete -f -q
# Also delete all children (upstack)
gt delete branch-to-delete -f -q --upstack
# Also delete all ancestors (downstack)
gt delete branch-to-delete -f -q --downstack
Flags:
-f / --force: Delete even if not merged or closed-q / --quiet: Implies --no-interactive, minimizes outputAfter deleting intermediate branches, children are automatically restacked onto the parent. If you need to manually update tracking:
gt checkout child-branch
gt track --parent new-parent-branch
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Build AI chat interfaces using ai-elements components — conversations, messages, tool displays, prompt inputs, and more. Use when the user wants to build a chatbot, AI assistant UI, or any AI-powered chat interface.
日本語の概要は準備中です。原文の説明を表示しています。
Search the live web via Perplexity Search API. Use when you need current documentation, release notes, vendor pages, news, domain-constrained web search, or date/recency filtering. Not for local codebase search or stable docs already in context.
日本語の概要は準備中です。原文の説明を表示しています。
Chrome DevTools CLI for browser automation via shell commands. Use when interacting with web pages from the command line — navigating, clicking, filling forms, inspecting console/network, taking screenshots, or extracting page content. Triggers on: browse a page, automate Chrome, inspect console, check network requests, take a screenshot, fill a form, click a button.
日本語の概要は準備中です。原文の説明を表示しています。
Uses the chrome-devtools-axi CLI for browser automation, accessibility-tree snapshots, console and network inspection, screenshots, Lighthouse audits, and performance traces. Use when interacting with Chrome from the shell, especially when the user mentions chrome-devtools-axi, AX snapshots, browser debugging, or DevTools automation from the command line.
日本語の概要は準備中です。原文の説明を表示しています。
Deep expertise in cmux — the terminal multiplexer with native browser views. Use when managing panes, reading terminal output, sending keystrokes, opening browser views, or manually testing web UIs and TUIs inside cmux. Triggers on: cmux, open a browser pane, split terminal, read screen, send keys, test this UI in cmux, preview in cmux.
日本語の概要は準備中です。原文の説明を表示しています。
Uses the gh-axi CLI for GitHub shell operations: issue, pull request, workflow run, release, repo, search, and API tasks. Prefer this over regular `gh` for GitHub reads and simple mutations when an agent needs compact, structured, suggestion-rich output. Triggers on: gh, GitHub CLI, github issue, github pr, pull request, workflow run, github release, gh api, repo inspection, list PRs, view issue, check workflow runs, inspect repo, GitHub shell operations.
日本語の概要は準備中です。原文の説明を表示しています。