AgentSkillsCN

setup

为您的 Quartz 博客配置 mark-my-words。设置源位置、作者信息以及偏好选项。

SKILL.md
--- frontmatter
name: setup
description: Configure mark-my-words for your Quartz blog. Sets up source location, author info, and preferences.
disable-model-invocation: true
allowed-tools: Read, Write, Bash, Glob, AskUserQuestion

mark-my-words Setup

You are configuring the mark-my-words plugin for the user's Quartz blog. Your job is to gather their settings and write a config file.

Steps

  1. Check for existing config: Read .claude/mark-my-words.local.md if it exists. If it does, tell the user their current settings and ask if they want to reconfigure.

  2. Gather blog source info: Use AskUserQuestion to ask where their Quartz blog content lives:

    Ask about source type:

    • "Remote git repo" — they'll provide a repo URL and branch
    • "Local directory" — they'll provide a path to their Quartz content root
  3. If remote: Use AskUserQuestion to ask for:

    • Repository URL (e.g., git@github.com:user/blog.git or HTTPS URL)
    • Branch name (suggest main as default)
  4. If local: Use AskUserQuestion to ask for the path to their Quartz content root directory.

  5. Gather content preferences: Use AskUserQuestion for each:

    • Content directory name: The root content directory (e.g., content). This is the top-level folder Quartz reads from.
    • Default subdirectory: Where new posts go within the content directory (e.g., blog, notes, or empty for root). Suggest common options.
    • Default author name: Their name as it should appear in posts.
    • Default tags: Comma-separated list of tags they commonly use. These will be suggested when creating posts.
  6. Git workflow preference: Use AskUserQuestion:

    • "Always ask" — prompt before each commit/push
    • "Auto-commit" — automatically commit and push after changes
    • "Manual" — never auto-commit, user handles git themselves
  7. Media preferences: Use AskUserQuestion for each:

    Media directory: "Where should images and media files be stored? This is a path relative to your content directory (e.g., assets/images). If you skip this, media features will be limited to inline content like Mermaid diagrams."

    • Provide a path (e.g., assets/images, media, img)
    • Skip — no local media management

    If they provide a path, set media_dir to it. If they skip, set media_dir: null.

    Auto-suggest visuals: "Should mark-my-words proactively suggest diagrams and images as it writes? When enabled, it will detect opportunities for Mermaid diagrams, tables, and image placeholders while drafting."

    • Yes → auto_suggest_visuals: true
    • No → auto_suggest_visuals: false

    AI image generation: "Do you want the option to generate images with AI tools? This requires MCP image generation tools to be available (like Hugging Face). It's always opt-in per image — this just enables the option to appear."

    • Yes → ai_image_generation: true
    • No → ai_image_generation: false
  8. Write the config file: Create .claude/mark-my-words.local.md with the gathered settings in YAML frontmatter. Ensure the .claude/ directory exists first.

Config File Format

Write the file at .claude/mark-my-words.local.md with this structure:

markdown
---
source_type: remote  # or "local"
repo_url: ""  # git remote URL, used when source_type is "remote"
repo_branch: main  # branch to use for remote repos
local_path: ""  # absolute path, used when source_type is "local"
content_dir: content  # root content directory name
default_subdirectory: blog  # subdirectory within content_dir for new posts
default_author: ""
default_tags: []
git_workflow: ask  # "ask", "auto", or "manual"
default_voice: null  # voice profile name from .claude/voices/, or null for none
media_dir: null  # relative path from content_dir (e.g., "assets/images"), null = no local media management
auto_suggest_visuals: false  # proactively suggest diagrams/images during writing
ai_image_generation: false  # offer AI image gen when tools are available
---

# mark-my-words Configuration

This file was generated by `/mark-my-words:setup`. Run it again to reconfigure.

Settings are used by the new-post, update-post, and manage-post skills.
  1. Voice profile (optional): Use AskUserQuestion:

    Would you like to create a voice profile? Voice profiles teach mark-my-words how you actually write, so posts sound like you instead of generic AI.

    • Yes — set one up now
    • Later — I'll run /mark-my-words:create-voice when I'm ready
    • No thanks — I'll skip voice profiles

    If "Yes": Tell the user to run /mark-my-words:create-voice after setup completes — it needs writing samples and works best as its own step. Note that they can create multiple voice profiles and switch between them.

    If "Later" or "No thanks": Move on.

  2. Confirm: Tell the user their config has been saved and they can now use /mark-my-words:new-post, /mark-my-words:update-post, /mark-my-words:manage-post, and /mark-my-words:add-media.

If they said yes to voice profiles, remind them:

Run /mark-my-words:create-voice to set up your writing voice.