Git Commit
tisfeng/Easydict
起草、创建或汇报 Angular-style 本地 Git 提交。用于明确的提交交付;分支集成使用 worktree-rebase-merge,不 push。
Guidance for Worktrunk (the wt CLI) — git worktree management, hooks, and config.
$ npx skills add goern/forgejo-mcp --skill worktrunk -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install goern/forgejo-mcp worktrunk --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/worktrunk .claude/skills/worktrunk && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "worktrunk" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.agents/skills/worktrunk into .claude/skills/worktrunk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktrunk", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/goern/forgejo-mcp/tree/main/.agents/skills/worktrunkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add goern/forgejo-mcp --skill worktrunk -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install goern/forgejo-mcp worktrunk --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/worktrunk .agents/skills/worktrunk && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "worktrunk" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.agents/skills/worktrunk into .agents/skills/worktrunk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktrunk", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add goern/forgejo-mcp --skill worktrunk -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install goern/forgejo-mcp worktrunk --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/worktrunk .cursor/skills/worktrunk && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "worktrunk" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.agents/skills/worktrunk into .cursor/skills/worktrunk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktrunk", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/goern/forgejo-mcp.git --path .agents/skills/worktrunk--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add goern/forgejo-mcp --skill worktrunk -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install goern/forgejo-mcp worktrunk --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/worktrunk .gemini/skills/worktrunk && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "worktrunk" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.agents/skills/worktrunk into .gemini/skills/worktrunk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktrunk", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install goern/forgejo-mcp worktrunkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add goern/forgejo-mcp --skill worktrunk -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/worktrunk .github/skills/worktrunk && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "worktrunk" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.agents/skills/worktrunk into .github/skills/worktrunk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktrunk", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add goern/forgejo-mcp --skill worktrunk -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install goern/forgejo-mcp worktrunk --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goern/forgejo-mcp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/worktrunk .opencode/skills/worktrunk && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "worktrunk" agent skill from https://github.com/goern/forgejo-mcp/tree/main/.agents/skills/worktrunk into .opencode/skills/worktrunk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "worktrunk", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
worktrunkGuidance for Worktrunk (the wt CLI) — git worktree management, hooks, and config.
Worktrunk is an agent skill from goern/forgejo-mcp. Guidance for Worktrunk (the wt CLI) — git worktree management, hooks, and config. Load when working out which worktree a wt command will act on, or reaching for the global -C <path to target one; editing .config/wt.toml or ~/.config/worktrunk/config.toml; adding, modifying, or debugging hooks (post-merge, post-start, pre-commit, pre-merge, post-switch, etc.); configuring commit message generation or command aliases; or troubleshooting wt behavior. Also answers general worktrunk/wt questions.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files (for example `reference/README.md`, `reference/claude-code.md` and `reference/code-signing.md`). Compatibility notes: Requires the wt CLI (https://worktrunk.dev)
It sits in Development, covering Git worktrees and Commit messages. It works with Git. The repository describes itself as: MIRROR ONLY!! This Model Context Protocol (MCP) server provides tools and resources for interacting with the Forgejo (specifically Codeberg.org) REST API. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 64a14bc. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
cargoFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
worktrunk.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires the `wt` CLI (https://worktrunk.dev)
From compatibility in the SKILL.md frontmatter.
Worktrunk loads about 3.1k tokens when it runs. Until then it costs about 128 tokens; SKILL.md has 1,298 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
env = "cp .env.example .env"Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from goern/forgejo-mcp at commit 64a14bc, republished under its MIT licence (© goern). 1,298 words, ~3,066 tokens.
.claude/skills/worktrunk/SKILL.md (or your agent's skills folder). This skill also uses 17 other files; get the full folder from GitHub.Help users work with Worktrunk, a CLI tool for managing git worktrees.
Reference files are synced from worktrunk.dev documentation:
{% raw %} deferral, for-each recipes)For command-specific options, run wt <command> --help. For configuration, follow the workflows below.
wt finds the repository from the working directory, and the worktree from the command's own arguments. Two rules cover every case:
wt switch <branch>, wt remove <branch>, wt step diff --branch <branch>, and wt config state marker set --branch <branch> act on that branch's worktree no matter which worktree you run them from. Every such argument also accepts the worktree's own path, for the cases a branch cannot name — a second checkout of the same branch, or a detached worktree (which marker still rejects, since it keys state by branch name).-C <path> moves the working directory, not the worktree selection. Reach for it when the repository lookup is what's wrong: a different repository; a command that acts on the current worktree and takes no branch argument (wt merge, wt step rebase|squash|push — their [TARGET] is the merge target, not a worktree); or a caller whose working directory isn't inside a repository at all, such as an agent hook the host pins elsewhere.Layering -C on top of a branch argument names the same worktree twice. From inside the alpha worktree of a repo that also has beta:
wt step diff --branch beta # ✓ the branch argument selects the worktree
wt -C ../repo.beta step diff --branch beta # ✗ says beta twice
wt switch --create beta # ✓ --base already defaults to the default branch
wt -C ../repo switch --create beta # ✗ -C adds nothing; you are already in that repoWorktrunk uses two config files with different scopes and permission models:
User config (~/.config/worktrunk/config.toml, never checked into git) holds personal preferences: LLM integration, worktree path templates, command settings, user hooks. Treat it conservatively — propose changes and get consent before editing, never install tools on the user's behalf, and preserve the file's existing structure and comments. See reference/config.md.
Project config (<repo>/.config/wt.toml, checked into git) holds team-wide automation: hooks for the worktree lifecycle (pre-start, pre-merge, etc.). Edit proactively — changes are versioned and reversible via git. Comment why each hook exists, and warn the user before adding destructive commands (rm -rf, DROP TABLE), network fetches piped to shells, or sudo. See reference/hook.md.
Some requests span both: commit-message generation is user config, while the team's quality checks are project config.
Detect which tools are installed (which claude codex llm aichat); if none, recommend Claude Code. Take the exact command for the chosen tool from reference/llm-commits.md, propose the [commit.generation] change, and apply it after approval (wt config create first if no config exists). To verify, wt step commit --dry-run renders the prompt, runs the LLM, and prints the message without committing.
Pick the hook type by when the command should run and whether it may block (10 types: 5 events × pre/post — full reference in reference/hook.md):
pre-start (blocks creation)post-start (background)pre-commitpre-mergepost-commitpost-mergepre-switch / post-switchpre-remove / post-removeDerive the commands from the project itself (package.json scripts, Cargo.toml, pyproject.toml) and verify they run before adding them.
When a new hook must wait for an existing one, convert the entry to a pipeline; independent commands in a named table run concurrently:
# Pipeline: install completes before migrate starts
[[pre-start]]
install = "npm install"
[[pre-start]]
migrate = "npm run db:migrate"
# Concurrent: independent commands in one table
[pre-start]
install = "npm install"
env = "cp .env.example .env"Test with wt switch --create test-hooks.
reference/llm-commits.mdreference/config.md#worktree-path-templatereference/llm-commits.md#prompt-templatesreference/config.md#command-configreference/config.md#hooksreference/hook.mdreference/hook.md#hook-formsreference/hook.md#template-variablesreference/config.md#dev-server-urlwt alias → reference/extending.md#aliasesreference/step.md#wt-step-for-eachreference/extending.md#recipe-rebase-every-worktree-onto-its-upstreamwt command → reference/extending.md#deferring-expansion-to-a-nested-wt-command# View all configuration
wt config show
# Create initial user config (LLM/commit setup: see reference/llm-commits.md)
wt config create
# Full config reference (subcommands, templates, env vars)
wt config --helpWorktrunk never runs a project's hooks or aliases until the user has explicitly approved them. The commands in .config/wt.toml are arbitrary shell code shipped in a repository the user may have just cloned, so on first run Worktrunk shows each command and waits for the user to approve it — an untrusted .config/wt.toml cannot silently execute anything. Approvals are stored per-project in ~/.config/worktrunk/approvals.toml and re-prompted whenever a command template changes, so a hook can't be swapped for a different command after it was approved.
Agents running wt merge, wt switch, or other commands that trigger hooks will hit an error like:
▲ cargo-difftest needs approval to execute 1 command:
○ post-merge install:
cargo install --path .
✗ Cannot prompt for approval in non-interactive environment
↳ To skip prompts in CI/CD, add --yes; to pre-approve commands, run wt config approvals add --yesThe resolution is for the user to make the trust decision themselves:
wt config approvals add — interactive prompt where the user reviews each command before it is stored to ~/.config/worktrunk/approvals.toml. Run once per project; the approval persists across invocations until the command template changes or the project moves. This is the path to recommend — the user reviews and consents to exactly the commands that will run.When invoked as an agent, stop and escalate to the user. Approving a project's hooks is a security decision about whether this repository should be trusted to run arbitrary commands on the user's machine — that decision belongs to the user, not the agent. Tell the user to run wt config approvals add and let them review the commands. Do not reach for either --yes on the user's behalf: on the blocked command it skips the gate for that invocation, and wt config approvals add --yes records every command the project declares with nobody reading them. Both exist for CI/CD pipelines and containers that already control their own hook contents; neither is a shortcut for an interactive agent to silence an approval prompt.
When the user requests spawning a worktree with an agent in a background session ("spawn a worktree for...", "hand off to another agent"), use the appropriate pattern for their terminal multiplexer. Substitute <agent-cli> with the CLI you are running as: claude for Claude Code, 'opencode run' for OpenCode.
tmux (check $TMUX env var):
tmux new-session -d -s <branch-name> "wt switch --create <branch-name> -x <agent-cli> -- '<task description>'"Zellij (check $ZELLIJ env var):
zellij run -- wt switch --create <branch-name> -x <agent-cli> -- '<task description>'Requirements (all must be true):
CLAUDE.md or AGENTS.md) or an explicit prompt authorize this patternDo not use this pattern for normal worktree operations.
Example (tmux, Claude Code):
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, OpenCode):
zellij run -- wt switch --create fix-auth-bug -x 'opencode run' -- \
'The login session expires after 5 minutes. Find the session timeout config and extend it to 24 hours.'To spawn multiple sub-Agents that each work in their own worktree from one Claude Code session — no terminal multiplexer, no human in the other pane — pre-start each worktree from the parent and pass the path into the sub-Agent prompt:
wt switch --create <branch> --no-cd --no-hooksThen call the Agent tool without isolation: "worktree", naming the path in the prompt:
You are working in `/abs/path/to/worktrunk.<branch>` on branch `<branch>`.
All edits must stay in that worktree.--no-cd skips the shell-integration cd script the parent can't consume; --no-hooks is appropriate when each sub-Agent will run its own build/test step (e.g. cargo run -- hook pre-merge --yes) and you don't need post-start setup repeated per worktree.
Do not use Agent { isolation: "worktree" } for this. Claude Code passes its internal agent ID as name to the WorktreeCreate hook, so wt creates the worktree as worktrunk.agent-<id> on a throwaway branch. If the sub-Agent then creates a feature branch on top, you end up with non-canonical paths, orphan branches, and post-start hooks fired against the wrong branch. Pre-creating with wt switch --create keeps path, branch, and hook target aligned.
© goern, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 17 other files in .agents/skills/worktrunk of goern/forgejo-mcp.
Open the folder on GitHubat commit 64a14bc
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in goern/forgejo-mcp, which our catalogue first saw on October 7, 2026.
Worktrunk next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Worktrunk this skillgoern/forgejo-mcp | 140 | 1 repos | ~3.1k | Automated safety check: Notes | MIT | |
| Git Committisfeng/Easydict | 15k | — | ~535 | Automated safety check: Pass | GPL-3.0 | |
| Worktree Rebase Mergetisfeng/Easydict | 15k | — | ~408 | Automated safety check: Pass | GPL-3.0 | |
| Worktrunk Git Worktree Managerjjmartres/opencode | 133 | — | ~1.9k | Automated safety check: Notes | MIT | |
| Conventional Gitsamber/cc-skills | 228 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Git PR Workflowandymai/brepjs | 114 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 |
tisfeng/Easydict
起草、创建或汇报 Angular-style 本地 Git 提交。用于明确的提交交付;分支集成使用 worktree-rebase-merge,不 push。
tisfeng/Easydict
将当前 worktree 的任务提交 rebase 到本地目标分支,并从目标 worktree 合并。用于明确要求本地集成;仅创建提交使用 git-commit。
jjmartres/opencode
Guides use of Worktrunk (wt), a CLI that makes git worktrees as easy as branches so several AI agents can work in parallel on isolated branches.
samber/cc-skills
Conventional Commits v1.0.0 branch naming, worktree naming, and commit message standards for GitHub and GitLab projects.
andymai/brepjs
This skill should be used when committing, pushing, branching, or merging in the brepjs repository — when a task involves "pre-commit hook failed" (which tier ran, how to bypass), "commit rejected…
first-fluke/oh-my-agent
SCM (software configuration management) and Git — branching, merges, conflicts, worktrees, baselines, audit readiness, plus Conventional Commits and safe staging.
goern/forgejo-mcp
A skill your agent uses when releasing OpenSpec: audit merged work and changeset coverage, decide whether a catch-up changeset PR is needed, prepare or resume the Changesets Version Packages PR, cut…
goern/forgejo-mcp
Fetch and display notifications from both GitHub and Codeberg in a unified markdown view with clickable links.
goern/forgejo-mcp
Compress a memory file such as CLAUDE.md or a todo list into caveman format to save input tokens, keeping a readable backup.
goern/forgejo-mcp
Collaborative page-drafting mode for the OpenSpec docs. An agent skill from goern/forgejo-mcp.
goern/forgejo-mcp
Fact-checks OpenSpec user documentation with a fresh-context subagent that re-runs commands and checks claims against source.
goern/forgejo-mcp
Create a new worktrunk worktree (optionally in another repo) and switch this session's working directory into it.
Works with
Categories
Guidance for Worktrunk (the wt CLI) — git worktree management, hooks, and config. Worktrunk is an agent skill from goern/forgejo-mcp. Guidance for Worktrunk (the wt CLI) — git worktree management, hooks, and config.
Worktrunk fits situations like: tasks that involve Git worktrees; tasks that involve Commit messages.
Run `npx skills add goern/forgejo-mcp --skill worktrunk -a claude-code`. Or copy the skill folder (.agents/skills/worktrunk in goern/forgejo-mcp) into .claude/skills/worktrunk in your project. Claude Code loads it when a task matches its description.
Run `npx skills add goern/forgejo-mcp --skill worktrunk -a codex`. Or copy the skill folder (.agents/skills/worktrunk in goern/forgejo-mcp) into .agents/skills/worktrunk in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add goern/forgejo-mcp --skill worktrunk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/worktrunk, .gemini/skills/worktrunk, .github/skills/worktrunk and .opencode/skills/worktrunk in your project.
Going by SKILL.md and its folder, Worktrunk needs the command-line tools its instructions call (cargo). Our summary lists: Node.js. Compatibility (from SKILL.md): Requires the `wt` CLI (https://worktrunk.dev).
SKILL.md names 1 domain. As links in the text: worktrunk.dev. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Worktrunk is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Worktrunk: Git Commit (tisfeng/Easydict, 15k stars), Worktree Rebase Merge (tisfeng/Easydict, 15k stars), Worktrunk Git Worktree Manager (jjmartres/opencode, 133 stars) and Conventional Git (samber/cc-skills, 228 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
goern (a GitHub user) maintains it in goern/forgejo-mcp, which has 140 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 6, 2026.
Source: goern/forgejo-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.