Files
holocron/plugins/gitea/.apm/skills/gitea-prs/SKILL.md
Defame1297 0079f3508c fix(gitea-prs): correct reference drift against gitea-mcp v1.7.0
The reference files were last verified against v1.3.0 -- references/sources.md
still said so. PR #106 re-verified the write side only, so three defects had
accumulated on the read/review side. All three reproduced against the deployed
server before being fixed; get_gitea_mcp_server_version reports v1.7.0.

- reviews.md forbade review_comments on the "get" response and directed callers
  to review_scomments, which does not exist. The upstream slim.go typo was
  corrected; a live pull_request_read on PR #106 returns "review_comments":1 and
  no review_scomments key. review_comments is an integer count, not comment
  objects -- distinct from the get_review_comments method. Also fixed in
  pull-requests.md's response-shape list.
- pull_request_review_write grants seven methods; only four were documented.
  reply_comment, resolve_thread, unresolve_thread and the comment_id parameter
  had zero mentions anywhere in the skill. Documented from the schema, in a
  Comment threads section kept outside the numbered review state machine --
  they are not lifecycle states.
- review_id was documented as required for get_review_comments. It is optional;
  omitting it lists every inline comment on the PR. Confirmed behaviourally:
  get_review without it errors, get_review_comments without it returns [].

sources.md now records v1.7.0 as the last-verified version, so the next reader
knows what these files were checked against.

Refs #99
2026-08-30 12:21:11 +00:00

3.0 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". Not issues -> `gitea-issues`. Requires Gitea MCP server configured with write:issue and write:repository token scopes.
category source_keys version
integration
gitea-mcp-repo
gitea-mcp-slim-go
context7-websites-gitea
context7-gitea-tea-cli
0.1.2
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.

Dispatch

Resolve owner and repo from context first, and confirm the number names a PR 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

Whatever "create" dropped takes a second call once the PR exists — "update" for milestone and assignees, "add_reviewers" for reviewers.

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.

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.