Claude Code Plugins

Community-maintained marketplace

Feedback

zensical-development

@zeulewan/zeul-claude-plugins
0
0

Best practices for developing zensical/Material for MkDocs static sites. Covers installation, virtual environments, project structure, responsive images, CSS, media embedding, and verification. Use for ANY Material for MkDocs project development beyond basic text editing.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name zensical-development
description Best practices for developing zensical/Material for MkDocs static sites. Covers installation, virtual environments, project structure, responsive images, CSS, media embedding, and verification. Use for ANY Material for MkDocs project development beyond basic text editing.

Zensical Development Best Practices

Comprehensive workflow and best practices for developing zensical (Material for MkDocs) static sites with proper setup, responsive design, image handling, and media embedding.

CRITICAL: Always Use Zensical, Never MkDocs Directly

NEVER use mkdocs serve or mkdocs build commands directly.

Always use the zensical CLI:

  • zensical serve (NOT mkdocs serve)
  • zensical build (NOT mkdocs build)

Project Setup & Requirements

Installation & Virtual Environment

CRITICAL: Every Zensical project MUST have a Python virtual environment (.venv).

# Create virtual environment
python3 -m venv .venv

# Activate virtual environment
source .venv/bin/activate  # macOS/Linux

# Install zensical
pip install zensical

.gitignore Requirements

MANDATORY entries:

# Python virtual environment
.venv/
venv/

# Zensical build output
site/

# Cache directories
.cache/

# System files
.DS_Store

Creating a New Project

# Bootstrap new project
zensical new .

# This creates:
# - .github/ directory
# - docs/ folder with index.md
# - zensical.toml configuration file

Development Workflow

Step 1: Make Changes

Text-only changes (no visual verification needed):

  • Fixing typos, updating content

Visual changes (REQUIRES visual verification):

  • Adding/modifying CSS
  • Adding/moving images
  • Embedding videos
  • Changing layouts

Step 2: Deploy Locally

source .venv/bin/activate
zensical serve
# Site runs at http://localhost:8000

Server Restart Required For:

  • CSS file changes
  • Configuration changes (zensical.toml)
  • JavaScript file changes

Step 3: Verification (MANDATORY for visual changes)

# Navigate to page
mcp__chrome-devtools__navigate_page(url="http://127.0.0.1:8000/page/")

# Take screenshot
mcp__chrome-devtools__take_screenshot()

# Verify image dimensions
mcp__chrome-devtools__evaluate_script(function="""
() => {
  const images = document.querySelectorAll('img');
  return Array.from(images).map(img => ({
    src: img.src.split('/').pop(),
    maxWidth: window.getComputedStyle(img).maxWidth,
    displayWidth: img.offsetWidth
  }));
}
""")

Best Practices

Responsive Images

img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

YouTube Videos

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 20px 0;">
  <iframe
    src="https://www.youtube.com/embed/VIDEO_ID"
    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"
    frameborder="0"
    allowfullscreen>
  </iframe>
</div>

Common Issues & Fixes

Images Cropped/Cut Off

Remove max-height from global img selector:

img {
    max-width: 100%;
    height: auto;
}

Images Not Loading (404)

Check path relative to markdown file location.

Horizontal Overflow on Mobile

Use max-width: 100% and test at 375px.

Project Structure

project-root/
├── .venv/                   # Virtual environment (in .gitignore)
├── docs/                    # Content directory
│   ├── index.md
│   ├── stylesheets/
│   │   └── extra.css
│   └── img/
├── zensical.toml            # Configuration
├── .gitignore
└── site/                    # Built output (in .gitignore)

Common Commands

# Setup
python3 -m venv .venv
source .venv/bin/activate
pip install zensical
zensical new .

# Development
zensical serve

# Building
zensical build
zensical build --strict

Summary

  1. Every Zensical project MUST have .venv/
  2. .gitignore MUST include: .venv/, site/, .cache/
  3. Always activate venv before running zensical commands
  4. Visual verification is MANDATORY for CSS/HTML/image changes
  5. CSS changes require server restart
  6. Images use max-width: 100%; height: auto;