Files
holocron/plugins/gitea/.apm/skills/gitea-issues
Defame1297 dd1981db80 fix(gitea-issues): list_issues does have type and milestones on v1.7.0
SKILL.md's headline Gotcha said `list_issues` "has no `type` filter", and
references/issues.md stated in bold that neither `type` nor `milestones`
exists, "despite both appearing in api-reference.md". Both parameters are
present on the deployed gitea-mcp v1.7.0 and both work: `type: "issues"`
returns only issues, `type: "pulls"` only PRs, and `milestones` filters by
name. Unfiltered, the same window returns them interleaved, so the mixing
the Gotcha describes is real — only the stated remedy was wrong.

This mattered most in gitea-workflow's no-args check-in, which lists open
issues through this skill and so reported PRs under "Open Issues" while
the skill forbade the one-parameter fix. The list flow now passes
`type: "issues"`.

references/sources.md recorded the absence as a live-verification win over
stale research docs; it now records that the earlier check was superseded
by v1.7.0, since drift runs in both directions. gitea-prs cited the same
parameter as its canonical drift example and no longer does — no
replacement example was substituted, because the obvious candidate was not
verified in this pass.

Also defaults label writes to `add_labels`: `replace_labels` clears every
label not in the array, and per-label exclusivity makes blanket replacement
destructive for a non-exclusive scope.

Verified live against gitea-mcp v1.7.0, read-only calls.

Refs #99
2026-08-30 20:51:02 +00:00
..

gitea-issues

Read and write Gitea issues — list, get, create, comment, close, and search — via the Gitea MCP server.

What it does

This skill handles the issue lifecycle (list_issues, issue_read, issue_write, search_issues): listing repo issues, reading a single issue's details/comments/labels, creating an issue, updating its state, adding/editing comments, applying labels, and searching issues/PRs across repositories. The create flow closes out four enrichments deferred from issue #6 comment #848: label inference and milestone assignment (both by composing gitea-labels-milestones), an assignee workaround for the blocked get_me scope, and the "Depends on #N" dependency-linking convention. It supersedes the issue/issue <N>/issue close <N>/issue comment <N> dispatch in the old flat plugins/bin/skills/gitea/SKILL.md, removed per docs/adr/0011-gitea-skill-deep-modules.md.

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.

How it composes

This skill composes gitea-labels-milestones for all label inference, label-name-to-ID resolution, and milestone lookup, rather than duplicating that taxonomy or its resolution logic — see references/enrichments.md for the call protocol. Managing the label and milestone definitions themselves (create/edit/delete a label, create/close a milestone) is out of scope here and goes to gitea-labels-milestones directly.

One boundary the description does not spend characters on, because it was never going to win an issue request: local git branch or commit work belongs to gitea-branches (Gitea-side) or git-branches (working copy).

Usage

/gitea-issues

Describe your task: list issues, create one, get/comment/close/label a specific issue number, or search across repos. See SKILL.md's dispatch table for the full set of recognized invocations.

Files

File Purpose
SKILL.md Skill instructions for agents — dispatch table, Gotchas
references/issues.md Verified call signatures and mechanics for list_issues/issue_read/issue_write
references/search.md Verified call signature and mechanics for search_issues
references/enrichments.md Create-flow enrichments — label inference, milestone assignment, assignee workaround, dependency-linking convention
references/sources.md Research sources backing the issue guidance