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
1.5 KiB
topic, source_keys
| topic | source_keys | |||
|---|---|---|---|---|
| number-resolution |
|
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.
- Invoke
gitea-issuesto runissue_read method: "get"on that number. - Check the response's
is_pullfield:true→ it's a PR. Invokegitea-prsfor full PR detail (status, diff, reviews as appropriate to the request) and present that instead.falseor absent → it's an issue. Present the issue detail already retrieved.
- A 404 here isn't proof the number doesn't exist — Gitea hides permission errors as not-found (see
gitea-issuesGotchas). Report the 404 and suggest checking the token'swrite:issuescope 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.