Help us improve
Share bugs, ideas, or general feedback.
From hugo
This skill should be used when the user asks to "migrate jekyll", "convert jekyll to hugo", "import old blog", "migrate from jekyll", "migrate blog posts", "convert old posts", or wants to migrate existing Jekyll blog posts to Hugo format.
npx claudepluginhub rhuss/cc-hugo --plugin hugoHow this skill is triggered — by the user, by Claude, or both
Slash command
/hugo:migrateThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Migrate existing Jekyll blog posts to Hugo format.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Compacts the current conversation into a handoff document for another agent to continue the work, with suggested skills and redacted sensitive info.
Share bugs, ideas, or general feedback.
Migrate existing Jekyll blog posts to Hugo format.
The old blog source path is read from .claude/blog.local.md (jekyll_source field). If not configured, prompt the user for the path (Jekyll Now, GitHub Pages):
_posts/ with YYYY-M-DD-slug.md formatimages/Scan the configured Jekyll source directory _posts/ for .md files. Skip subdirectories unless user requests them explicitly. Present a summary:
Found 30 posts (2014-2021)
- 27 published posts
- 3 unpublished/draft posts
Subdirectories: home-drafts (3 files), misc (1 file)
Ask: "Migrate all published posts? Include drafts?"
For each selected post:
Filename: Convert YYYY-M-DD-slug.md to YYYY-MM-DD-slug.md (zero-pad month/day)
Frontmatter: Convert Jekyll to Hugo format:
| Jekyll | Hugo | Notes |
|---|---|---|
layout: post | Remove | Hugo uses section-based layouts |
title | title | Keep as-is |
published: false | draft: true | Invert logic |
| (missing date) | date: YYYY-MM-DD | Extract from filename |
| (no description) | description: "" | Flag for manual addition |
| (no tags) | tags: [] | Flag for manual addition |
| (no license) | license: "CC BY 4.0" | Add |
Content:
<!-- more --> (Hugo uses <!--more--> without spaces)../images/foo.jpg to /images/foo.jpg or page bundle{% highlight %}) to Hugo shortcodes or fenced code blockscp -r <source>/images/ static/images/
Migrated: 27 posts
Issues:
- 5 posts missing descriptions (SEO)
- 3 posts have no tags
- 2 posts reference images not found in images/
If the blog plugin is installed, offer to create brainstorm documents for unfinished drafts found during migration. These represent ideas that fit the blog plugin's brainstorm pipeline.