gitea-wiki
Manage Gitea wiki pages. Use when working with wiki content, creating documentation, or updating wiki pages.
When & Why to Use This Skill
The Gitea Wiki Manager is a specialized Claude skill designed to streamline the management of documentation within Gitea repositories. It enables users to programmatically list, read, create, update, and delete wiki pages, facilitating efficient knowledge management and technical documentation directly through AI-driven workflows.
Use Cases
- Automated Documentation Updates: Automatically sync project changes, release notes, or README updates to the Gitea wiki to keep documentation current.
- Technical Knowledge Centralization: Create and organize complex technical guides, SOPs, and architecture diagrams within a centralized Gitea repository.
- Wiki Content Refactoring: Use AI to analyze existing wiki pages, improve their structure, and batch-update content for better readability and SEO.
- Documentation Migration: Programmatically migrate documentation from external sources or local files into a Gitea wiki environment while maintaining formatting.
| name | gitea-wiki |
|---|---|
| description | Manage Gitea wiki pages. Use when working with wiki content, creating documentation, or updating wiki pages. |
| version | 1.0.0 |
Gitea Wiki Manager
Overview
Manage Gitea wiki pages using MCP tools. Wiki content is base64 encoded - use shell commands to decode/encode, avoiding large base64 strings in LLM context.
MCP Tools Reference
mcp__gitea__list_wiki_pages
List all wiki pages in a repository.
Parameters:
owner(required): repository ownerrepo(required): repository name
Response: Array of page objects with title, sub_url
mcp__gitea__get_wiki_page
Get wiki page content and metadata.
Parameters:
owner(required): repository ownerrepo(required): repository namepageName(required): wiki page name
Response:
{
"title": "Home",
"sub_url": "Home",
"content_base64": "IyBIb21lCg==", // <-- base64 encoded content
"commit_count": 5,
"last_commit": {...}
}
mcp__gitea__create_wiki_page
Create a new wiki page.
Parameters:
owner(required): repository ownerrepo(required): repository nametitle(required): page titlecontent_base64(required): page content as base64message(optional): commit message
mcp__gitea__update_wiki_page
Update an existing wiki page.
Parameters:
owner(required): repository ownerrepo(required): repository namepageName(required): current page namecontent_base64(required): new content as base64title(optional): new page titlemessage(optional): commit message
mcp__gitea__delete_wiki_page
Delete a wiki page.
Parameters:
owner(required): repository ownerrepo(required): repository namepageName(required): page name to delete
mcp__gitea__get_wiki_revisions
Get revision history of a wiki page.
Parameters:
owner(required): repository ownerrepo(required): repository namepageName(required): wiki page name
Workflows
Reading a Wiki Page
Step 1: Call MCP tool
mcp__gitea__get_wiki_page(owner="user", repo="myrepo", pageName="Home")
Step 2: Response contains content_base64 field
Extract the base64 string from response
Step 3: Decode using Bash (NOT in LLM context)
echo "<content_base64_value>" | base64 -d > /tmp/wiki-page.md
Step 4: Read decoded file
Use Read tool on /tmp/wiki-page.md
Creating a Wiki Page
Step 1: Write content to temp file
Use Write tool to create /tmp/new-page.md with content
Step 2: Encode to base64 using Bash
base64 < /tmp/new-page.md | tr -d '\n'
Step 3: Call MCP tool with base64 output
mcp__gitea__create_wiki_page(
owner="user",
repo="myrepo",
title="API Docs",
content_base64="<output_from_step_2>"
)
Updating a Wiki Page
Step 1: Get current content
mcp__gitea__get_wiki_page(owner="user", repo="myrepo", pageName="Home")
Step 2: Decode to temp file
echo "<content_base64>" | base64 -d > /tmp/edit-page.md
Step 3: Edit the temp file
Use Edit tool on /tmp/edit-page.md
Step 4: Re-encode
base64 < /tmp/edit-page.md | tr -d '\n'
Step 5: Call MCP update
mcp__gitea__update_wiki_page(
owner="user",
repo="myrepo",
pageName="Home",
content_base64="<output_from_step_4>"
)
Key Rules
- NEVER include raw base64 content in LLM responses - decode via Bash
- ALWAYS use temp files (
/tmp/wiki-*.md) for content manipulation - ALWAYS use
tr -d '\n'when encoding - API requires no line breaks - Clean up temp files after operations
Examples
Example: Read Home page
1. mcp__gitea__get_wiki_page(owner="acme", repo="docs", pageName="Home")
→ Response: {"content_base64": "IyBXZWxjb21l..."}
2. Bash: echo "IyBXZWxjb21l..." | base64 -d > /tmp/wiki-home.md
3. Read: /tmp/wiki-home.md
→ Shows: "# Welcome..."
Example: Create new page
1. Write /tmp/new-wiki.md:
# Installation
Run `npm install`
2. Bash: base64 < /tmp/new-wiki.md | tr -d '\n'
→ Output: IyBJbnN0YWxsYXRpb24KUnVuIGBucG0gaW5zdGFsbGA=
3. mcp__gitea__create_wiki_page(
owner="acme",
repo="docs",
title="Installation",
content_base64="IyBJbnN0YWxsYXRpb24KUnVuIGBucG0gaW5zdGFsbGA="
)