Files
holocron/plugins/gitea/skills/gitea-prs
Defame1297 be9b8d277f fix(gitea): restore the withLines exception and route rename_branch through the orchestrator
gitea-files' always-loaded Gotchas said "content is base64 both ways" without
qualification. The `main` text carried an exception for `withLines: true` and both
halves were dropped. Verified live: `get_file_contents` with `withLines: true`
returns plain JSON text while the same response still reports `"encoding":"base64"`.
An agent that follows the recommendation two sentences later and applies the
unconditional decode gets garbage, with the response's own field confirming the
wrong answer. Exception restored, and the lying field named.

gitea-orchestrate was never updated for `rename_branch`: absent from the operation
enum, so an agent caller got "unknown operation", and absent from the
destructive-confirm list, though branches.md requires a rename with open PRs or a
protection rule to be confirmed exactly as `delete_branch` is. Added to both — the
confirm gate rather than the enum alone, because accepting the operation without it
routes around a rule the skill states while appearing to support it. The
compatibility frontmatter, which the agent reads, still omitted the tool too.

Two more always-loaded Gotchas contradicted their own reference files, and the
Gotcha was wrong both times: issues and PRs are distinguishable on a list item by
the `html_url` path segment (confirmed live — #129 at /pulls/, #128 at /issues/),
and `get_repository_tree` takes `tree_sha`, not `ref`.

`review_comments` was asserted as unconditionally present on the PR get response.
It is absent on a PR with no review comments, so the claim is downgraded to
present-when-non-zero rather than stated as response shape.

The label-exclusivity relocation moved the rule out of label-inference.md and into
labels.md without updating sources.md, leaving the one rule in this branch that
writes differently to live repos citing a file that no longer carries it. The rule
itself is correct as it stands and `main` was wrong — every Kind/* label on this
instance is exclusive:false, every Priority/* and Status/* is true — so only the
provenance record is corrected.

Routing: gitea-workflow lost the human-caller discriminator and widened from status
checks to any request, which sent "close #42" to a branch that resolves the number
and presents detail without ever closing it. gitea-branches and gitea-issues regain
trigger phrasings the retrofit dropped.

Refs: #92
2026-09-01 12:38:53 +00:00
..

gitea-prs

List, read, create, update, merge, and review Gitea pull requests.

What it does

This skill handles the pull request lifecycle within the Gitea integration suite — listing and reading PRs (details, diff, changed files, CI status, reviews), creating them (title, body, labels), updating them (title, body, assignees, labels, milestone), adding and removing reviewers, closing/reopening, merging with a chosen strategy and post-merge branch cleanup, and the full code-review flow (create a review with inline comments, submit it, dismiss or delete it, reply to a review comment, and resolve or unresolve a comment thread). It composes gitea-labels-milestones for label/milestone ID resolution rather than duplicating that logic — milestone applies on an update only, never on create — and defers to gitea-issues for anything that turns out to be an issue rather than a PR (they share one number space) and to gitea-branches/gitea-files for the underlying branch/file operations behind a PR.

Usage

/gitea-prs

Describe the PR or review task: list PRs, get a PR's status/diff/reviews, create or update a PR, merge one, or create/submit/dismiss a code review. The skill resolves owner/repo from the origin git remote (or takes them from an orchestrating caller) and resolves any label or milestone names via gitea-labels-milestones before writing them.

Before you start

Requires a Gitea MCP server configured with a token holding write:issue + write:repository. Requires a git remote named origin pointing at the Gitea instance, unless an orchestrating caller (e.g. gitea-workflow) already resolved owner/repo for you.

Files

File Purpose
SKILL.md Skill instructions for agents — Gotchas, the dispatch table, and label/milestone ID resolution via gitea-labels-milestones
references/pull-requests.md Execution detail for list_pull_requests, pull_request_read (get/get_diff/get_files/get_status), and pull_request_write (create/update/close/reopen/update_branch/add_reviewers/remove_reviewers)
references/reviews.md Execution detail for pull_request_review_write (create/submit/delete/dismiss, plus the comment-thread methods reply_comment/resolve_thread/unresolve_thread) and the review-related pull_request_read methods
references/merging.md The merge workflow — CI vs. review/branch-protection gates, merge styles, branch cleanup, and the post-merge issue-close check
references/sources.md Research sources backing the PR/review guidance