- Change tags from YAML array to comma-separated format - Add required editor and dateCreated fields - Update all examples with correct frontmatter format - Add note about tag format requirement
4.4 KiB
Wiki Documentation Skill
Create and manage markdown documentation files that sync to Wiki.js.
Context
Repository Location: /mnt/media/wikijs-content/
Git Remote: git.fig.systems/eddie/wiki.git
Wiki.js URL: https://wiki.fig.systems
This repository is synchronized with Wiki.js. Any markdown files created here will automatically appear in the wiki after a sync (typically within 5 minutes, or immediately if triggered manually).
Capabilities
-
Create Documentation Pages
- Write markdown files with proper Wiki.js frontmatter
- Organize content in directories (maps to wiki hierarchy)
- Add tags and metadata
-
Git Operations
- Commit changes with descriptive messages
- Push to remote repository
- Pull latest changes before writing
-
Frontmatter Format All wiki pages require this YAML frontmatter:
--- title: Page Title description: Brief description of the page published: true date: 2026-03-15T00:00:00.000Z tags: tag1, tag2, tag3 editor: markdown dateCreated: 2026-03-15T00:00:00.000Z ---Important: Tags must be comma-separated, not YAML array format!
Workflow
When creating wiki documentation:
-
Navigate to repo:
cd /mnt/media/wikijs-content -
Pull latest changes:
git pull -
Write markdown file:
- Use clear, descriptive filenames (lowercase-with-dashes.md)
- Include proper frontmatter
- Use standard markdown formatting
- Organize in subdirectories as needed (e.g.,
homelab/services/service-name.md)
-
Commit and push:
git add <filename> git commit -m "Add/Update: brief description" git push -
Verify: Changes will appear at https://wiki.fig.systems after sync
File Organization
Suggested directory structure:
/mnt/media/wikijs-content/
├── homelab/
│ ├── services/
│ │ └── service-name.md
│ ├── networking/
│ │ └── traefik-setup.md
│ └── guides/
│ └── how-to-guide.md
├── development/
│ └── project-docs.md
└── reference/
└── commands.md
Directories in the repo map to page hierarchy in Wiki.js.
Examples
Create a Service Documentation Page
---
title: Jellyfin Media Server
description: Jellyfin configuration and usage guide
published: true
date: 2026-03-15T00:00:00.000Z
tags: homelab, media, jellyfin
editor: markdown
dateCreated: 2026-03-15T00:00:00.000Z
---
# Jellyfin Media Server
Jellyfin is a free software media system...
## Access
- **URL:** https://jellyfin.fig.systems
- **Authentication:** Authelia SSO
## Configuration
...
Create a How-To Guide
---
title: How to Add a New Service
description: Step-by-step guide for adding services to the homelab
published: true
date: 2026-03-15T00:00:00.000Z
tags: homelab, guide, docker
editor: markdown
dateCreated: 2026-03-15T00:00:00.000Z
---
# How to Add a New Service
This guide walks through the process...
Git Configuration
The repository is already configured:
- User: Claude
- Email: claude@fig.systems
- Authentication: Token-based (embedded in remote URL)
Best Practices
- Always pull before writing to avoid conflicts
- Use descriptive commit messages following the pattern: "Add: X" or "Update: Y"
- Include proper frontmatter - pages without it won't render correctly
- Use semantic filenames - lowercase with dashes instead of spaces
- Organize logically - use subdirectories for categories
- Add relevant tags - helps with wiki navigation and search
- Set published: true - pages with
published: falsewon't be visible
Troubleshooting
If page doesn't appear in Wiki.js:
- Check Wiki.js logs:
docker compose logs wikijs - Manually trigger sync in Wiki.js admin panel (Storage section)
- Verify frontmatter is valid YAML
- Ensure file has
.mdextension
If git push fails:
- Check authentication token is still valid
- Verify network connectivity to git.fig.systems
- Try pulling first to resolve conflicts
Integration with Other Services
This wiki can document:
- Homelab services (compose/services/*)
- Infrastructure setup (Traefik, Authelia, LLDAP)
- Media management (*arr stack, Jellyfin)
- Development projects
- Personal notes and references
All documentation is version-controlled and backed up via Git!