This skill should be used when publishing a new or updated skill to the claude-skills-site Astro website. Use this skill for both adding new skills AND updating existing ones on the site. Triggers on "/publish-skill skillname", "add skill to site", "publish skillname to skills site", "update skill on site", "edit skill on site", "sync skill to site", "republish skill". Reads SKILL.md from the skills repo, generates MDX frontmatter and body, picks the right bundle, updates bundle skills array, and commits/pushes both repos. For existing skills, pass --update to preserve apothecary_name, hero_image, and activity data while regenerating the rest. A hero image is generated by default (pass --no-image to skip).
npx skills add https://github.com/glebis/claude-skills --skill publish-skill
Automate the full pipeline for publishing a skill to the claude-skills-site Astro website.
~/ai_projects/claude-skills/~/ai_projects/claude-skills-site/~/ai_projects/claude-skills-site/src/content/skills/*.mdx~/ai_projects/claude-skills-site/src/content/bundles/*.mdx/publish-skill <skill-name> # New skill — generates a hero image by default
/publish-skill <skill-name> --update # Regenerate existing .mdx (+ hero image)
/publish-skill <skill-name> --dry-run # Show what would be written, no commits, no image
/publish-skill <skill-name> --no-image # Skip hero-image generation
Execute these phases in order. Stop and report on any error.
~/ai_projects/claude-skills/<skill-name>/SKILL.md exists. Also check ~/.claude/skills/<skill-name>/SKILL.md.<skill-name>. Ensure the skill directory exists in the skills repo or ~/.claude/skills/."~/.claude/skills/ version is newer (by mtime), sync it to the skills repo with rsync -av --exclude='*.egg-info' --exclude='__pycache__', commit the change, and push. This ensures the skills repo always has the latest version.name from YAML frontmatterdescription from YAML frontmatter---)~/ai_projects/claude-skills/<skill-name>/README.md exists — if so, read it for supplementary context.~/ai_projects/claude-skills-site/src/content/skills/<skill-name>.mdx already exists.--update was NOT passed: stop and ask for confirmation. "The skill <skill-name> already has an .mdx on the site. Pass --update to regenerate, or confirm to overwrite."--update was passed: read the existing .mdx. Preserve these fields from the existing file (do not regenerate):apothecary_namehero_imageauto_activityauto_last_synced (will be updated to today)Generate each field:
name — Use the skill directory name (kebab-case). Must match the filename.
tagline — One sentence, max 80 characters. Summarize what the skill does in plain language. End with a period. Do not start with "A skill that..." — lead with the action verb or the thing it produces.
apothecary_name — A poetic 2-4 word name in the style of an old apothecary shop. Follow the existing pattern:
bundle — Select the best-fit bundle by analyzing the skill's purpose against these categories:
| Bundle key | Name | Covers |
|---|---|---|
| meeting-intelligence | Meeting Intelligence | Transcripts, meetings, recordings, action items, video/audio processing |
| communication | Communication | Email, messaging, Telegram, Google Workspace, Zoom |
| research | Research | Web research, search, image sourcing, knowledge retrieval |
| content-publishing | Content & Publishing | Image generation, presentations, PDFs, reports, brand assets, visual tools |
| personal-analytics | Personal Analytics | Health data, dictation analytics, browsing history, self-reflection, hardware signals, knowledge visualization |
| thinking-strategy | Thinking & Strategy | Decision frameworks, JTBD, dialogue modes, cognitive tools, self-design |
| developer-tools | Developer Tools | TDD, LLM CLI, issue tracking, session search, code tools |
| lab-consulting | Lab & Consulting | Lab meetings, client discovery, retrospectives, demos |
If the skill could fit multiple bundles, prefer the one where it adds the most differentiation. If genuinely unsure, ask the user.
tags — 3-6 lowercase kebab-case tags. Derive from the skill's domain, tools used, and output types. Check existing skills for tag reuse.
accent_color — Pick from the validated set: amber (default), blue, cyan, green, orange, purple, violet. Use amber unless the skill has a strong thematic reason for another color (e.g., hardware/signals → cyan, mental health → violet, nature/strategy → green).
auto_description — Copy the description field from the SKILL.md frontmatter verbatim. Truncate at 200 characters if longer.
auto_triggers — Extract 0-3 trigger phrases from the SKILL.md description (e.g., "queries like", "check my email"). Leave empty [] if no clear triggers.
auto_tools — Leave as [].
auto_last_synced — Today's date in YYYY-MM-DD format. Run date +"%Y-%m-%d" to get it.
auto_last_commit — Run git -C ~/ai_projects/claude-skills log -1 --format="%Y-%m-%d" -- <skill-name>/ to get the last commit date for that skill directory.
auto_activity — Leave as [] for new skills. Preserve from existing .mdx on --update.
install_command — Leave as "".
repo_path — The skill directory name (same as name).
dependencies — Extract from SKILL.md requirements/prerequisites sections. List Python packages, CLI tools, or APIs needed. Use [] if none.
hero_image — Leave commented out (# hero_image:) at this stage. Phase 6.5 generates a hero image by default and rewrites this field to the generated path. It stays commented only if --no-image was passed (or generation fails and no repo screenshot exists).
Write the body following this exact structure:
## What it does
[2-3 sentences describing the skill's primary function. Be specific about what it produces or enables. Reference concrete tools, APIs, or protocols if relevant.]
## Key features
[Bulleted list of 4-6 distinguishing features. Each bullet: **Bold label** — explanation. Focus on what makes this skill interesting, not obvious capabilities.]
## When to use
[1-2 sentences describing the trigger scenarios. Start with "When..." to match the existing pattern.]
Additional sections to include only when relevant:
## Signals or ## Modes — if the skill has named operational modes or signal types## How it works — if the skill uses a non-obvious protocol (MIDI, MCP, etc.)Do NOT include: installation instructions, quick start commands, code blocks, or dependency lists. Those belong in the SKILL.md and README, not the site .mdx.
Before writing, verify:
~/ai_projects/claude-skills-site/src/content/bundles/<bundle>.mdx exists.--update, confirm no .mdx already exists (handled in Phase 2).amber, blue, cyan, green, orange, purple, violet.name field, repo_path, and filename must all match.If any check fails, report the specific error and stop.
~/ai_projects/claude-skills-site/src/content/skills/<skill-name>.mdx.skills: array if not already present. Append at the end of the array.--dry-run: Instead of writing, display the full .mdx content and the bundle change, then stop.--no-image)This phase runs by default. Skip it only if --no-image was passed, or under --dry-run (which shows planned output without generating).
Generate a hero image using the /codex skill. Codex has a built-in image_gen tool that produces images without needing an API key. The image follows the site's apothecary visual language established in the original Codex design session. Fallback: if /codex is unavailable or its image_gen fails, regenerate with the gpt-image-2 or nano-banana skill using the same prompt and the same 16:9 target size/path.
Prompt template — fill in SKILL_NAME, APOTHECARY_NAME, SCENE_BACKDROP, SUBJECT, COMPOSITION_DETAIL, and AVOID_EXTRA:
Use case: stylized-concept
Asset type: 16:9 skill hero image for the Claude Skills site
Primary request: Create a skill-specific hero artwork for the skill "SKILL_NAME", apothecary name "APOTHECARY_NAME". No readable text.
Style reference: Match the existing main site hero style: dark apothecary workbench fused with developer terminal artifacts, hand-tinted copperplate engraving, technical diagram overlays, tactile paper grain, oxidized copper, medicinal green, ink brown, warm bone, tiny electric-blue signal accents.
Scene/backdrop: SCENE_BACKDROP
Subject: SUBJECT
Composition: Wide 16:9, COMPOSITION_DETAIL, quiet dark negative space left, no border.
Lighting: Low raking desk light, sharp engraving detail, warm copper highlights.
Avoid: no readable words, no logos, no human figures, AVOID_EXTRA, no stock-photo look, no neon sci-fi.
Exact prompts from existing hero images (use as style/structure reference):
tdd ("The Test Anvil"):
jtbd ("The Hiring Compass"):
skill-studio ("The Automation Architect"):
telegram-telethon ("The Daemon's Relay"):
agency-docs-updater ("The Publisher's Engine"):
vision-bench ("The Judge's Loupe"):
Subject crafting guidelines:
Steps:
/codex skill with the assembled prompt, requesting a 16:9 image saved to ~/ai_projects/claude-skills-site/public/images/SKILL_NAME-hero.jpg# hero_image: to hero_image: "/images/SKILL_NAME-hero.jpg"If Codex is not available or image generation fails, warn the user and continue without the image. The skill publishes fine without a hero image.
git -C ~/ai_projects/claude-skills-site diff to show all changes. git -C ~/ai_projects/claude-skills-site add \
src/content/skills/<skill-name>.mdx \
src/content/bundles/<bundle>.mdx \
public/images/<skill-name>-hero.jpg # omit only if --no-image / no image was produced
feat: add <skill-name> skill to site--update: feat: update <skill-name> skill on sitegit -C ~/ai_projects/claude-skills-site push| Error | Recovery |
|---|---|
| SKILL.md not found | Check both paths, report which were tried |
| Bundle .mdx not found | List available bundles, ask user to pick |
| .mdx already exists (no --update) | Ask user to confirm overwrite or pass --update |
| Git push fails | Show error, suggest git pull --rebase first |
| accent_color invalid | Default to amber, warn user |
| Skill already in bundle array | Skip bundle update, not an error |
---
name: "<skill-name>"
tagline: "<tagline>"
apothecary_name: "<apothecary_name>"
bundle: <bundle>
tags: [<tags>]
accent_color: <color>
# hero_image:
auto_description: "<description>"
auto_triggers: [<triggers>]
auto_tools: []
auto_last_synced: "<date>"
auto_last_commit: "<date>"
auto_activity: []
install_command: ""
repo_path: "<skill-name>"
dependencies: [<deps>]
---
## What it does
<body>
## Key features
<features>
## When to use
<when>
agent-im 会话技能 - 通过 liblib.tv 的 AI 能力生成和编辑图片/视频。覆盖场景包括:生成(文生图、文生视频、图生视频、做动画、画一个xxx、来段xxx)、编辑修改(把xxx换成yyy、去掉xxx、加上xxx、改成xxx、调整xxx、局部修改、改镜头)、风格转换(风格迁移、转绘、换风格)、视频续写延长、复刻视频/TVC/宣传片、短剧/短漫剧生成、音乐MV生成、产品广告/展示片制作、分镜/故事板设计、教育视频/短视频制作。当用户提到 liblib、libtv、上传参考图/视频、查看生成进度时也应触发。关键判断:只要用户的请求涉及 AI 图片或视频的创作、生成、编辑、修改,无论措辞如何(如"画只猫"、"做个海报"、"把纸船换成爱心"、"这个视频帮我改一下"、"帮我复刻这段视频"、"用这首歌做个MV"、"一句话生成短剧"),都必须触发此技能。
This skill should be used when the user asks to "generate video prompts", "create Seedance prompts", "write video descriptions", mentions "Seedance", "seedance", "即梦", "即梦平台", "视频提示词", "视频生成", "AI视频", "短剧", "广告视频", "视频延长", or discusses video prompt engineering, AI video generation, or Seedance 2.0 workflows.
Best practices and techniques for writing effective AI video generation prompts. Covers: Veo, Seedance, Wan, Grok, Kling, Runway, Pika, Sora prompting strategies. Learn: shot types, camera movements, lighting, pacing, style keywords, negative prompts. Use for: improving video quality, getting consistent results, professional video prompts. Triggers: video prompt, how to prompt video, veo prompts, video generation tips, better ai video, video prompt engineering, video prompt guide, video prompt template, ai video tips, video prompt best practices, video prompt examples, cinematography prompts
This skill is a practical, 'use-it-while-debugging' reference for getting a LiveKit + Letta voice agent working reliably.
Download screenshot baselines from the latest CI run and commit them. Use when asked to update, accept, or refresh component screenshot baselines from CI, or after the screenshot-test GitHub Action reports differences. This skill should be run as a subagent.
| Turn vague taste, screenshots, URLs, product notes, or "make it feel like this" references into a grounded DESIGN.md plus an implementation handoff. Use it before prototypes, decks, redesigns, or image remix work when the user needs a reusable visual direction rather than a one-off prompt.
>- Upload local assets (images, mockups, extracted HTML, design markdown) to a Stitch project. ALWAYS use this skill when you need to upload visual assets, HTML pages, or design docs to Stitch, particularly when direct MCP tool calls fail or truncate due to base64 token limits.
This skill helps users automatically extract channel-level and video detail data from a specific YouTube channel via BrowserAct API. Agent should proactively apply this skill when users express needs like extracting channel video data, getting latest or popular videos from a YouTube channel, tracking competitor channel content, extracting video metrics such as views likes comments, retrieving subscriber count and channel info, monitoring posting cadence of a YouTube channel, gathering video data for content strategy analysis, getting earliest videos of a YouTube creator, analyzing engagement signals across a full channel, and downloading structured YouTube video details without manual scraping.
Take glebis/publish-skill from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.