Regenerates `plugins/*/skills`, `plugins/*/agents`, both per-plugin `plugin.json` manifests and the two marketplace mirrors from `.apm/` per ADR-0017, via `scripts/sync-plugin-content.sh --all`. The manifests matter beyond tidiness here: `plugin.json` carries the plugin version and wins over the marketplace entry at install time (calculatePluginVersion precedence). Until this ran, the patch bumps in the preceding commit were inert for anyone installing these plugins. ADR: 0017 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EeH8SCbcrCAQrtymkNuhKP
3.2 KiB
name, description, compatibility, metadata, allowed-tools
| name | description | compatibility | metadata | allowed-tools | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gitea-branches | Use when listing, creating, renaming, or deleting branches in a Gitea repository, or reading its commit history — "what commits are on this branch", "what changed in that commit" — even when the user does not say "Gitea". Not a local checkout's branches -> `git-branches`. Not local history -> `git-history`. Not a PR's head or base -> `gitea-prs`. | Requires Gitea MCP server configured with a token with write:repository scope; this is confirmed to gate list_branches, create_branch, and delete_branch (Gitea gates reads behind write scope for repo-scoped operations), and is inferred by analogy (not explicitly confirmed by source docs) to also gate rename_branch, list_commits, and get_commit. Requires git remote "origin" pointing to the Gitea instance. |
|
Bash mcp__gitea__list_branches mcp__gitea__create_branch mcp__gitea__rename_branch mcp__gitea__delete_branch mcp__gitea__list_commits mcp__gitea__get_commit |
Gotchas
- 404 often means 403. Gitea masks permission errors as not-found; on an unexpected one, check token scope before reporting a branch or commit missing.
- Nothing auto-paginates.
list_branchesandlist_commitsreturn one page; iteratepageuntil the returned count is belowper_page. delete_branchhas no force-push guard. Treat deleting a protected branch as a hard refusal unless the user explicitly confirms it in the conversation. Checkprotectedfromlist_branchesfirst — a protected branch need not be namedmain.
Step 1 — Resolve owner and repo
Before any tool call, extract owner and repo from the git remote:
rtk git remote get-url origin
get_me and list_my_repos are blocked under the token scope this skill assumes, so the remote is the only source. If origin is not set or the URL is not a Gitea URL, stop and report: "No Gitea remote found — set origin to your Gitea instance URL."
Step 2 — Dispatch
| Invocation | Action |
|---|---|
/gitea-branches or /gitea-branches list |
List branches |
/gitea-branches create <name> [from <base>] |
Create branch |
/gitea-branches rename <name> to <new-name> |
Rename branch |
/gitea-branches delete <name> |
Delete branch |
/gitea-branches commits [on <branch>] [touching <path>] |
List commit history |
/gitea-branches commit <sha> |
Get full detail for one commit |
For branch operations (list/create/rename/delete), read references/branches.md — it carries the call signatures, the old_branch source rule, and the protected-branch refusal in full.
For commit operations (list/get), read references/commits.md.
Step 3 — Report
For reads: display branches as name + protected flag; display commits as SHA (short), message summary, author, date.
For writes (create/rename/delete): confirm the action taken, the branch name, and (for create) the base it forked from or (for rename) the name it had before.
For errors: surface the HTTP code and message, applying the 404 gotcha above before reporting "not found" to the user.