gitea-wiki

beshkenadze's avatarfrom beshkenadze

Manage Gitea wiki pages. Use when working with wiki content, creating documentation, or updating wiki pages.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 26, 2025⬇️1downloads

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.
namegitea-wiki
descriptionManage Gitea wiki pages. Use when working with wiki content, creating documentation, or updating wiki pages.
version1.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 owner
  • repo (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 owner
  • repo (required): repository name
  • pageName (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 owner
  • repo (required): repository name
  • title (required): page title
  • content_base64 (required): page content as base64
  • message (optional): commit message

mcp__gitea__update_wiki_page

Update an existing wiki page.

Parameters:

  • owner (required): repository owner
  • repo (required): repository name
  • pageName (required): current page name
  • content_base64 (required): new content as base64
  • title (optional): new page title
  • message (optional): commit message

mcp__gitea__delete_wiki_page

Delete a wiki page.

Parameters:

  • owner (required): repository owner
  • repo (required): repository name
  • pageName (required): page name to delete

mcp__gitea__get_wiki_revisions

Get revision history of a wiki page.

Parameters:

  • owner (required): repository owner
  • repo (required): repository name
  • pageName (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

  1. NEVER include raw base64 content in LLM responses - decode via Bash
  2. ALWAYS use temp files (/tmp/wiki-*.md) for content manipulation
  3. ALWAYS use tr -d '\n' when encoding - API requires no line breaks
  4. 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="
   )