Files
holocron/plugins/gitea/skills/gitea-workflow/references/number-resolution.md
Defame1297 6cfc3577e2 docs: trim repeated boilerplate in git, gitea, and bin skills
Finding 13: five blocks of near-identical wording were repeated across
skills within a plugin — the gitea "resolve owner and repo" step (5
skills), the 404-masks-403 note (6 files), the manual pagination
explanation (8 files), the git plugin's main/master force-push refusal
(7 files, some with multiple internal restatements), and the bin
skills' domain-glossary/ADR paragraph (5 skills). Tightened each
instance in place — same meaning, fewer words — rather than extracting
to a shared file, which ADR-0014's one-file-per-skill install
constraint rules out. Left the three git skills' structured-result
JSON shapes alone (coupled to the separate, out-of-scope git-orchestrate
merge candidate, finding 19).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YR2CjVumUbEGWcMikcoXBD
2026-09-12 19:48:31 +00:00

1.5 KiB

topic, source_keys
topic source_keys
number-resolution
gitea-mcp-repo
gitea-mcp-slim-go
context7-websites-gitea

Resolving a bare issue-or-PR number

The user has referenced a bare number without saying "issue" or "PR" (e.g. "what's going on with #42"). Resolve it with a real call — never dispatch to gitea-issues or gitea-prs by guessing from phrasing alone, because "that sounds like a bug" is not evidence and the two domains share one number space.

  1. Invoke gitea-issues to run issue_read method: "get" on that number.
  2. Check the response's is_pull field:
    • true → it's a PR. Invoke gitea-prs for full PR detail (status, diff, reviews as appropriate to the request) and present that instead.
    • false or absent → it's an issue. Present the issue detail already retrieved.
  3. A 404 here isn't proof the number doesn't exist — Gitea hides permission errors as not-found (see gitea-issues Gotchas). Report the 404 and suggest checking the token's write:issue scope rather than reporting "no such issue or PR."

If the user stated an action on the number rather than asking about it, resolution is only step one: hand the action, with the resolved domain, to gitea-issues or gitea-prs to carry out. Presenting detail is not a substitute for performing the write.

Then report per SKILL.md's Report section, saying which domain the number turned out to be before showing detail ("That's a pull request:" / "That's an issue:") — otherwise the user cannot tell the resolution happened.