Files
holocron/plugins/gitea/skills/gitea-prs/SKILL.md
Defame1297 1a971ee003 fix(gitea): restore routing and sourcing content the retrofit dropped
gitea-issues asserted flatly that a merge never closes an issue, contradicting
gitea-prs' references/merging.md, which documents that closing keywords in
commits landing on the default branch do close one. The qualifier that made the
claim true had been deleted; both sides now agree.

gitea-releases had lost an epistemic hedge and its verification step, leaving
conventions.md asserting unconfirmed tag auto-creation as fact. Nothing in the
research corpus sources it, so the hedge and the verify-afterward instruction are
back rather than upgraded.

Descriptions were cut 50-240 chars under the 400 budget and shed routing with
them: gitea-workflow's boundary named no target, gitea-prs lost the issue/PR
number-space directive the suite is built around at 163/400, gitea-releases lost
its boundary and every trigger. Restored, inside budget. Also restores
delete_branch's hard-refusal strength and gitea-files' Read/Write/Edit pointer.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EJJrm5YmacbwMdzZpXcoti
2026-08-31 19:46:32 +00:00

3.6 KiB

name, description, compatibility, metadata, allowed-tools
name description compatibility metadata allowed-tools
gitea-prs Use when listing, reading, creating, updating, merging, or reviewing Gitea pull requests — even when the user does not say "Gitea". A number the user names may be an issue or a PR — they share one number space — so confirm which domain applies before dispatching. Not issues -> `gitea-issues`. Not branch or commit operations -> `gitea-branches`. Requires Gitea MCP server configured with write:issue and write:repository token scopes. Requires git remote "origin" pointing to the Gitea instance for owner/repo resolution when invoked directly by a human; an orchestrating caller (e.g. gitea-workflow) may pass owner/repo already resolved.
category source_keys version
integration
gitea-mcp-repo
gitea-mcp-slim-go
context7-websites-gitea
context7-gitea-tea-cli
0.1.2
Bash mcp__gitea__list_pull_requests mcp__gitea__pull_request_read mcp__gitea__pull_request_write mcp__gitea__pull_request_review_write

Gotchas

  • Issues and PRs share one number space. #42 may be an issue rather than a PR. When unsure, call pull_request_read method: "get" and read a 404 as "that number is an issue" — hand it to gitea-issues.
  • pull_request_write method: "create" discards most optional parameters in silence. milestone, assignee, assignees, reviewers and team_reviewers are accepted, dropped, and left out of the response, so a drop is indistinguishable from never passing them. labels does apply on "create", so labels landing is no evidence the milestone did.

Step 1 — Resolve owner and repo

Extract them from the git remote before any tool call, skipping this when an orchestrating caller already passed them in:

git remote get-url origin

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

Confirm the number names a PR, not an issue, before writing to it.

Task Tool Reference
List PRs; read a PR's details, diff, changed files or CI status list_pull_requests, pull_request_read references/pull-requests.md
Create a PR — subject to the silent-drop Gotcha above pull_request_write references/pull-requests.md
Update, close, reopen or retarget a PR, sync it with its base, or add/remove reviewers pull_request_write references/pull-requests.md
Merge a PR, or judge whether it can merge pull_request_write method: "merge" references/merging.md
Read, create, submit, dismiss or delete a code review, or reply to and resolve a review comment thread pull_request_read, pull_request_review_write references/reviews.md

Read the reference for the row you land on before making the call. Each carries the parameter signatures, the per-method behaviour and the response-shape quirks the row cannot, and every write method has at least one parameter that behaves differently from its issue-side counterpart.

Step 3 — Resolving labels and milestones

labels and milestone take numeric IDs, never name or title strings. Before a pull_request_write call carrying either, resolve them through gitea-labels-milestones: label_read method: "list_repo_labels" for a label name, milestone_read method: "list" for a milestone title.

Resolve a milestone only when the call is an "update" — on "create" the lookup is wasted, per the Gotcha above. Recovering an existing PR's milestone ID needs the same lookup, because pull_request_read returns milestone as a bare title string and never an ID.