Description 827 -> 182 chars, body 902 -> 584 words, Gotchas 7 entries/43% of body -> 4/23.1%. Clears both size FAILs, the dangling-target FAIL and the Vale CompositionNote error. The dangling 'gitea-labels' target is gone with the composition sentence that carried it -- a YAML fold artifact, not a typo: the '>'-folded scalar joined 'gitea-labels-' and 'milestones' across a line break, leaving the name terminal and danglable. Both boundary names now sit whole on one source line each, and both resolve. Cut the second trigger register, the seven-verb capability enumeration, the issue_write implementation detail and a gitea-branches boundary that defended nothing. Two Gotchas deleted as spec restatement carried in references/, one as a paraphrase of the step below it. Closes a capability hole rather than papering over it: gitea-labels-milestones routes label application here and has no issue_write, but no dispatch row existed for add/replace/remove/clear_labels or get_labels. Both rows added. The label ID/name Gotcha is now stated per method -- issue_write takes IDs, list_issues and search_issues filter by name, issue_read 'get' returns names but 'get_labels' returns full objects with IDs. Drops a stale quotation of gitea-labels-milestones' description from references/enrichments.md; that string went with its composition note. Refs #99
2.6 KiB
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 |