Skip to content
Back to skills

Wiki Publish

ASecurity

Convert a markdown file to wikitext and publish it to a MediaWiki wiki using the wiki CLI. Use when user says "publish to wiki", "push this to the wiki", "wiki publish", or asks to publish a markdown file as a wiki page.

  • 19 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 14, 2026
ai-agentsgoshellbashgit

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned October 14, 2026

npx -y skills add olgasafonova/mediawiki-mcp-server --skill wiki-publish --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Wiki Publish?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Wiki Publish
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/olgasafonova-wiki-publish/badge)](https://www.skillsdirectory.com/skills/olgasafonova-wiki-publish)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: wiki-publish
description: Convert a markdown file to wikitext and publish it to a MediaWiki wiki using the wiki CLI. Use when user says "publish to wiki", "push this to the wiki", "wiki publish", or asks to publish a markdown file as a wiki page.
allowed-tools: Bash Read
---

# wiki-publish

Publishes a markdown file to a MediaWiki wiki by shelling out to the `wiki` CLI. The plugin never re-implements wiki logic; the CLI is the contract.

## Prerequisites

The `wiki` CLI must be on `PATH` and configured.

```bash
wiki version
wiki config
```

If `wiki` is not installed, install from the latest release at https://github.com/olgasafonova/mediawiki-mcp-server/releases or build from source:

```bash
go install github.com/olgasafonova/mediawiki-mcp-server/cmd/wiki@latest
```

If `wiki config` reports missing `MEDIAWIKI_URL`, stop and ask the user to set it (plus `MEDIAWIKI_USERNAME` + `MEDIAWIKI_PASSWORD` for write access). Do not attempt to publish.

## Workflow

1. **Resolve the file path.** If the user gave one, use it. If not, ask.
2. **Resolve the page title.** If the user gave one, use it. Otherwise propose one from the markdown's first H1 heading; confirm before proceeding.
3. **Preview by default for unfamiliar files.** Run `wiki publish <file> "<title>" --preview --json` and show the user the wikitext. Skip the preview only if the user said "publish without preview" or "just push it."
4. **Publish.** Run `wiki publish <file> "<title>" --json` with optional flags:
   - `--summary "<text>"` if the user supplied one
   - `--minor` if the user flagged the change as minor
   - `--theme tieto|neutral|dark` if the user specified a theme
   - `--css` to include the CSS styling block
5. **Report the result.** Parse the JSON response and surface the revision ID and (if a new page was created) the new_page flag.

## CLI contract

```
wiki publish <file.md> <page-title> [flags]
  --summary string   Edit summary (default: "Published from <basename>")
  --minor            Mark as minor edit
  --theme string     Conversion theme: neutral|tieto|dark (default: neutral)
  --css              Include CSS styling block
  --preview          Convert and print wikitext without publishing
  --json             Machine-readable output
```

JSON response on successful publish:

```json
{
  "success": true,
  "title": "Page Title",
  "page_id": 12345,
  "revision_id": 67890,
  "new_page": false,
  "message": "..."
}
```

## Error handling

- **File not found.** Surface the file path and ask the user to correct it.
- **`wiki` CLI not on PATH.** Show the install instructions above; do not proceed.
- **`wiki publish` exits non-zero.** Show stderr verbatim. Common cases: missing credentials (CLI says "authentication failed"), page-protection conflict, network failure.
- **Page title collision with an unrelated page.** If the user did not confirm the page title, stop and confirm before re-running.

## Do not

- Do not call MCP tools directly. The plugin's contract is to use the CLI.
- Do not chain a write after a failed preview. If preview fails, fix the source markdown first.
- Do not retry the publish more than once on a transient error. Report it and let the user decide.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.