
worktrunk
by max-sixty
worktrunkは、ソフトウェア開発を効率化するスキルです。開発ワークフロー全体をサポートし、チームの生産性向上とコード品質の改善を実現します。
ユースケース
Git操作の自動化
コミット、ブランチ管理、マージなどを自動化。worktrunkを活用。
コード生成の効率化
ボイラープレートコードを自動生成し、開発時間を短縮。
コードレビュー支援
PRのコード変更を分析し、改善点を提案。
SKILL.md
name: worktrunk description: Guidance for Worktrunk, a CLI tool for managing git worktrees. Covers configuration (user config at ~/.config/worktrunk/config.toml and project hooks at .config/wt.toml), usage, and troubleshooting. Use for "setting up LLM", "configuring hooks", "automating tasks", or general worktrunk questions.
Worktrunk
Help users work with Worktrunk, a CLI tool for managing git worktrees.
Available Documentation
Reference files are synced from worktrunk.dev documentation:
- reference/config.md: User and project configuration (LLM, hooks, command defaults)
- reference/hook.md: Hook types, timing, and execution order
- reference/switch.md, merge.md, list.md, etc.: Command documentation
- reference/llm-commits.md: LLM commit message generation
- reference/tips-patterns.md: Language-specific tips and patterns
- reference/shell-integration.md: Shell integration debugging
- reference/troubleshooting.md: Troubleshooting for LLM and hooks (Claude-specific)
For command-specific options, run wt <command> --help. For configuration, follow the workflows below.
Two Types of Configuration
Worktrunk uses two separate config files with different scopes and behaviors:
User Config (~/.config/worktrunk/config.toml)
- Scope: Personal preferences for the individual developer
- Location:
~/.config/worktrunk/config.toml(never checked into git) - Contains: LLM integration, worktree path templates, command settings, user hooks, approved commands
- Permission model: Always propose changes and get consent before editing
- See:
reference/config.mdfor detailed guidance
Project Config (.config/wt.toml)
- Scope: Team-wide automation shared by all developers
- Location:
<repo>/.config/wt.toml(checked into git) - Contains: Hooks for worktree lifecycle (post-create, pre-merge, etc.)
- Permission model: Proactive (create directly, changes are reversible via git)
- See:
reference/hook.mdfor detailed guidance
Determining Which Config to Use
When a user asks for configuration help, determine which type based on:
User config indicators:
- "set up LLM" or "configure commit generation"
- "change where worktrees are created"
- "customize commit message templates"
- Affects only their environment
Project config indicators:
- "set up hooks for this project"
- "automate npm install"
- "run tests before merge"
- Affects the entire team
Both configs may be needed: For example, setting up LLM integration requires user config, but automating quality checks requires project config.
Core Workflows
Setting Up LLM Integration (User Config)
Most common request. Follow this sequence:
-
Check if LLM tool exists
which llm # or: which aichat -
If not installed, guide installation (don't run it)
uv tool install -U llm -
Guide API key setup (don't run it)
llm install llm-anthropic llm keys set anthropic llm models default claude-haiku-4.5 -
Propose config change
[commit-generation] command = "llm"Ask: "Should I add this to your config?"
-
After approval, apply
- Check if config exists:
wt config show - If not, guide through
wt config create - Read, modify, write preserving structure
- Check if config exists:
-
Suggest testing
llm "say hello" wt merge # in a repo with uncommitted changes
See reference/config.md and reference/llm-commits.md for complete details.
Setting Up Project Hooks (Project Config)
Common request for workflow automation. Follow discovery process:
-
Detect project type
ls package.json Cargo.toml pyproject.toml -
Identify available commands
- For npm: Read
package.jsonscripts - For Rust: Common cargo commands
- For Python: Check pyproject.toml
- For npm: Read
-
Design appropriate hooks (7 hook types available)
- Dependencies (fast, must complete) →
post-create - Tests/linting (must pass) →
pre-commitorpre-merge - Long builds, dev servers →
post-start - Terminal/IDE updates →
post-switch - Deployment →
post-merge - Cleanup tasks →
pre-remove
- Dependencies (fast, must complete) →
-
Validate commands work
npm run lint # verify exists which cargo # verify tool exists -
Create
.config/wt.toml# Install dependencies when creating worktrees post-create = "npm install" # Validate code quality before committing [pre-commit] lint = "npm run lint" typecheck = "npm run typecheck" # Run tests before merging pre-merge = "npm test" -
Add comments explaining choices
-
Suggest testing
wt switch --create test-hooks
See reference/hook.md for complete details.
Adding Hooks to Existing Config
When users want to add automation to an existing project:
-
Read existing config:
cat .config/wt.toml -
Determine hook type - When should this run?
- Creating worktree (blocking) →
post-create - Creating worktree (background) →
post-start - Every switch →
post-switch - Before committing →
pre-commit - Before merging →
pre-merge - After merging →
post-merge - Before removal →
pre-remove
- Creating worktree (blocking) →
-
Handle format conversion if needed
Single command to named table:
# Before post-create = "npm install" # After (adding db:migrate) [post-create] install = "npm install" migrate = "npm run db:migrate" -
Preserve existing structure and comments
Validation Before Adding Commands
Before adding hooks, validate:
# Verify command exists
which npm
which cargo
# For npm, verify script exists
npm run lint --dry-run
# For shell commands, check syntax
bash -n -c "if [ true ]; then echo ok; fi"
Dangerous patterns — Warn users before creating hooks with:
- Destructive commands:
rm -rf,DROP TABLE - External dependencies:
curl http://... - Privilege escalation:
sudo
Permission Models
User Config: Conservative
- Never edit without consent - Always show proposed change and wait for approval
- Never install tools - Provide commands for users to run themselves
- Preserve structure - Keep existing comments and organization
- Validate first - Ensure TOML is valid before writing
Project Config: Proactive
- Create directly - Changes are versioned, easily reversible
- Validate commands - Check commands exist before adding
- Explain choices - Add comments documenting why hooks exist
- Warn on danger - Flag destructive operations before adding
Common Tasks Reference
User Config Tasks
- Set up LLM integration →
reference/llm-commits.md - Customize worktree paths →
reference/config.md#worktree-path-template - Custom commit templates →
reference/llm-commits.md#templates - Configure command defaults →
reference/config.md#command-settings - Set up personal hooks →
reference/config.md#user-hooks
Project Config Tasks
- Set up hooks for new project →
reference/hook.md - Add hook to existing config →
reference/hook.md#configuration - Use template variables →
reference/hook.md#template-variables - Add dev server URL to list →
reference/config.md#dev-server-url
Key Commands
# View all configuration
wt config show
# Create initial user config
wt config create
# LLM setup guide
wt config --help
Loading Additional Documentation
Load reference files for detailed configuration, hook specifications, and troubleshooting.
Find specific sections with grep:
grep -A 20 "## Setup" reference/llm-commits.md
grep -A 30 "### post-create" reference/hook.md
grep -A 20 "## Warning Messages" reference/shell-integration.md
Advanced: Agent Handoffs
When the user requests spawning a worktree with Claude in a background session ("spawn a worktree for...", "hand off to another agent"), use the appropriate pattern for their terminal multiplexer:
tmux (check $TMUX env var):
tmux new-session -d -s <branch-name> "wt switch --create <branch-name> -x claude -- '<task description>'"
Zellij (check $ZELLIJ env var):
zellij run -- wt switch --create <branch-name> -x claude -- '<task description>'
Requirements (all must be true):
- User explicitly requests spawning/handoff
- User is in a supported multiplexer (tmux or Zellij)
- User's CLAUDE.md or explicit instruction authorizes this pattern
Do not use this pattern for normal worktree operations.
Example (tmux):
tmux new-session -d -s fix-auth-bug "wt switch --create fix-auth-bug -x claude -- \
'The login session expires after 5 minutes. Find the session timeout config and extend it to 24 hours.'"
Example (Zellij):
zellij run -- wt switch --create fix-auth-bug -x claude -- \
'The login session expires after 5 minutes. Find the session timeout config and extend it to 24 hours.'
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 1000以上
3ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です

