一键导入
add-graphite
Add Graphite CLI to OmniClaw container and configure authentication. Installs Graphite for stacked PRs workflow and handles pre-authorization.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add Graphite CLI to OmniClaw container and configure authentication. Installs Graphite for stacked PRs workflow and handles pre-authorization.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Run initial OmniClaw setup. Use when user wants to install dependencies, authenticate WhatsApp, register their main channel, or start the background services. Triggers on "setup", "install", "configure omniclaw", or first-time setup requests.
Debug container agent issues. Use when things aren't working, container fails, authentication problems, or to understand how the container system works. Covers logs, environment variables, mounts, and common issues.
X (Twitter) integration for OmniClaw. Post tweets, like, reply, retweet, and quote. Use for setup, testing, or troubleshooting X functionality. Triggers on "setup x", "x integration", "twitter", "post tweet", "tweet".
SolidJS and SolidStart performance and correctness guidelines for AI agents. This skill should be used when writing, reviewing, or refactoring SolidJS/SolidStart code to ensure correct reactivity patterns and optimal performance. Triggers on tasks involving SolidJS components, signals, stores, Solid Query, SolidStart server functions, routing, or fine-grained reactivity.
Add Gmail integration to OmniClaw. Can be configured as a tool (agent reads/sends emails when triggered from WhatsApp) or as a full channel (emails can trigger the agent, schedule tasks, and receive replies). Guides through GCP OAuth setup and implements the integration.
Add Telegram as a channel. Can replace WhatsApp entirely or run alongside it. Also configurable as a control-only channel (triggers actions) or passive channel (receives notifications only).
| name | add-graphite |
| description | Add Graphite CLI to OmniClaw container and configure authentication. Installs Graphite for stacked PRs workflow and handles pre-authorization. |
This skill adds Graphite CLI support to OmniClaw by updating the Dockerfile template and pre-authorizing the CLI inside the container.
Graphite CLI enables stacked pull requests workflow, making it easier to manage complex PR chains and keep work organized.
GITHUB_TOKEN in .env)Just run /add-graphite and the skill will walk you through the process.
First, check if Graphite is already installed in the container:
# Check if Graphite is in the Dockerfile
grep -q "graphite" container/Dockerfile && echo "Found" || echo "Not found"
Also check if it's already available in a running container by trying to exec into one:
# Find a running container
CONTAINER=$(docker ps --filter "label=omniclaw.group" --format "{{.Names}}" | head -1)
if [ -n "$CONTAINER" ]; then
docker exec "$CONTAINER" which gt && echo "Graphite already installed" || echo "Not installed"
fi
Read container/Dockerfile and add Graphite CLI installation after the GitHub CLI installation section.
Add this block after the # Install GitHub CLI section (around line 48-55):
# Install Graphite CLI for stacked PRs workflow
RUN npm install -g @withgraphite/graphite-cli
This installs the Graphite CLI globally via npm, making the gt command available system-wide.
Tell the user:
Graphite CLI has been added to the Dockerfile. Now I need to rebuild the container image. This will take a few minutes.
Run the container build script:
cd container && ./build.sh
If the build fails:
logs/setup.log or check the terminal output for errorsGRAPHITE_ARCH logic matches your platformGraphite CLI needs to authenticate with GitHub. It uses the same GitHub token as the rest of OmniClaw.
Check if GITHUB_TOKEN is set:
if grep -q "^GITHUB_TOKEN=" .env; then
echo "GitHub token found"
else
echo "GitHub token not found"
fi
If token is missing:
Tell the user:
Graphite needs a GitHub token to authenticate. You can use the same token configured for OmniClaw.
If you haven't set up GitHub integration yet:
- Go to https://github.com/settings/tokens (click Tokens (classic))
- Generate a new classic token with the
reposcope- Add it to
.env:GITHUB_TOKEN=<token>- Run
cp .env data/env/envto sync to the containerThen re-run this skill.
Wait for confirmation, then verify the token is in .env.
Graphite authentication is handled automatically by the container entrypoint script.
When a container starts:
GITHUB_TOKEN)echo "$GITHUB_TOKEN" | gt auth --token -No manual auth steps needed! The authentication is built into container/entrypoint.sh.
After rebuilding and restarting, verify Graphite works by checking container logs:
tail -f logs/omniclaw.log
You should see Graphite authentication messages when containers start.
To manually verify in a running container:
# Find a running container
CONTAINER=$(docker ps --filter "label=omniclaw.group" --format "{{.Names}}" | head -1)
# Check Graphite version and auth status
docker exec "$CONTAINER" gt --version
docker exec "$CONTAINER" gt auth status
Expected output:
@withgraphite/graphite-cli@1.7.x
✓ Authenticated as <your-github-username>
The Graphite skill file provides documentation and examples for using Graphite CLI. It's already included in the container at container/skills/graphite/SKILL.md.
When containers start, skills from container/skills/ are automatically available to agents.
Tell the user:
✅ Graphite CLI is now installed and authenticated!
You can now use Graphite commands inside the container:
gt stack submit- Submit a stack of PRsgt stack restack- Rebase the stackgt stack- View current stackgt log- View stack historyThe agent can use these commands when working on multi-PR workflows.
A
/graphiteskill is also available with usage examples and workflow tips.
Graphite installation didn't work or binary isn't in PATH.
Fix:
# Manually install in running container
CONTAINER=$(docker ps --filter "label=omniclaw.group" --format "{{.Names}}" | head -1)
docker exec "$CONTAINER" bash -c "curl -fsSL https://graphite.dev/install.sh | sh && mv /root/.graphite/bin/gt /usr/local/bin/"
GITHUB_TOKEN is valid: curl -H "Authorization: token $(grep GITHUB_TOKEN .env | cut -d= -f2)" https://api.github.com/userrepo scopedocker exec -it <container> gt authAfter rebuilding the image, existing containers need to be recreated.
Restart the service:
launchctl kickstart -k gui/$(id -u)/com.omniclaw
This will spawn new containers with the updated image.
Graphite stores config in ~/.graphite/. To persist config across container recreations:
For OmniClaw, since containers are ephemeral, the auth token approach (re-authing on boot if needed) is recommended.
/setup - Initial OmniClaw setup/customize - Customize Dockerfile and container settingsTo remove Graphite:
container/Dockerfilecd container && ./build.shlaunchctl kickstart -k gui/$(id -u)/com.omniclaw