Files
holocron/plugins/gitea/skills/gitea-files/SKILL.md
Defame1297 8680adf4c0 fix(gitea): make gitea-releases executable and correct misleading domain claims
gitea-releases was the weakest skill in the plugin: no allowed-tools, no
owner/repo resolution, and a checkbox list where a dispatch table belongs, so
an agent reaching it had to guess both its permissions and its inputs. The
id-vs-tag_name trap — deleting by tag name where the API wants the numeric id —
is restored as an explicit Gotcha because it destroys the wrong release
silently.

Elsewhere the `exclusive` flag was documented on the wrong side of the
read/write split, and label data from one instance was presented as though it
were universal, which invites an agent to assume a taxonomy that does not
exist on the target repo. rename_branch was missing from the branch surface.
Reference prose and fences are cleaned up in passing.
2026-08-31 08:01:33 +00:00

2.4 KiB

name, description, compatibility, metadata, allowed-tools
name description compatibility metadata allowed-tools
gitea-files Use when reading or writing files or directories in a Gitea repository via the MCP server, rather than the local filesystem — even when the user does not say "Gitea". Not commit history -> `gitea-branches`. Not pull requests -> `gitea-prs`. Requires the Gitea MCP server configured with a token scoped to at least write:repository. Tested with a token holding write:issue + write:repository; write:issue is not actually required for any of this domain's five tools.
category source_keys
gitea
gitea-mcp-repo
gitea-mcp-slim-go
context7-websites-gitea
mcp__gitea__get_file_contents mcp__gitea__get_dir_contents mcp__gitea__get_repository_tree mcp__gitea__create_or_update_file mcp__gitea__delete_file

Gotchas

  • A 404 may mean an under-scoped token, not a missing path. Every tool here gates on write:repository, and Gitea masks insufficient scope as 404. Check scopes first.
  • Reads take ref, writes take branch_name. One concept, two parameter names — chaining a read into a write drops the branch if you carry the wrong key.
  • content is base64 both ways. Encode before a write, decode after a read.

Inputs

owner, repo and the target branch are caller-supplied. This skill never infers them from a git remote: ask the human when they are not stated, and expect an orchestrating caller to have resolved them already.

Dispatch

Read the reference for the row you land on before making the call.

Condition Flow Reference
Read one file, list one directory level, or walk the repository tree Read references/reading.md — the three read tools, their pagination behaviour, and why neither a directory listing nor a tree entry supplies the SHA a write needs
Create, update, or delete a file Write references/writing.md — the SHA-first sequence every update and delete depends on, the worked multi-call sequence, and how to triage a write that fails

A request that reads and then writes runs both flows in that order: fetch the file first, then write with the SHA that call returned.

Handoff

Scope ends at the commit. Gitea's own web UI edits files directly against a branch, so committing straight to a branch is the normal path rather than an escape hatch — hand off to gitea-prs when the change needs review before merging or the target branch is protected, not by default.