references/commits.md cited overview.md as the authority for a scope-gating claim, but no such file exists in this skill's package — the only overview.md is an external research doc not shipped with the skill. Repoint to branches.md's own Token scope section, which states and confirms the same principle, and drop the unverifiable write:repository enumeration detail no file in this skill actually makes. Found by an independent post-closure audit of #99 (agent-audit + skill-audit re-run against every changed skill/agent).
3.1 KiB
topic, source_keys
| topic | source_keys | ||
|---|---|---|---|
| commits |
|
Commit operations
Read-only commit history, scoped to a repo (optionally to one branch or one path). Call signatures
below were verified live against the deployed gitea-mcp server via ToolSearch at authoring time,
not copied from research docs, for the same drift-avoidance reason noted in references/branches.md.
This domain has no prior skill precedent — it's new coverage added alongside branches because commit history is naturally scoped to a branch (a "what happened on this branch" question), not because it shares any tool family with branch create/delete.
list_commits
Parameters:
owner(string, required)repo(string, required)sha(string, optional) — starting SHA or branch name; if omitted, gitea-mcp uses the repo's default branchpath(string, optional) — restrict results to commits that touched this file/pathpage(number, optional, default:1, minimum:1)per_page(number, optional, default:30, minimum:1)
Call:
list_commits owner: <owner> repo: <repo> sha: <branch-or-sha> path: <optional-path>
Dispatch defaults:
- "commits on
<branch>" → pass<branch>assha. - "commits touching
<path>" (no branch mentioned) → passpathalone,shaomitted (defaults to the repo's default branch). - Both given → pass both; the result is history for that path, walked from that branch/SHA.
- Neither given → omit both; this returns default-branch history, which is a reasonable default for an open-ended "what's the recent history here" question.
Response: one object per commit: sha, html_url, created, message (when available),
author ({name, email, date}, when available).
Paginate per the pagination Gotcha in SKILL.md if you need more than one page of history.
get_commit
Parameters:
owner(string, required)repo(string, required)sha(string, required)
Call:
get_commit owner: <owner> repo: <repo> sha: <commit-sha>
Response: same shape as a list_commits entry, but always fully populated (message and
author are guaranteed present, not conditional). Use this when the user asks about one specific
commit by SHA rather than browsing history — list_commits entries may omit message/author in
edge cases, get_commit will not.
Token scope
Both tools are believed to require write:repository, even though they're read-only — inferred by
analogy with the scope-gating principle confirmed for branch operations in branches.md's Token
scope section (Gitea gates reads behind write scope for repo-scoped operations), not a claim any
doc in this skill makes for commits by name: nothing here enumerates commits under
write:repository explicitly. An earlier version of this doc claimed write:issue alone worked, based on
empirical testing under a token that held both write:issue and write:repository
simultaneously — that test didn't isolate the variable either. Treat this as unverified until
tested under a token scoped to write:issue only (no write:repository).