Help us improve
Share bugs, ideas, or general feedback.
From hugo
This skill should be used when the user asks to "init blog", "create blog", "setup blog", "initialize blog project", "new hugo blog", "setup hugo", or wants to set up a new Hugo + Blowfish blog project from scratch.
npx claudepluginhub rhuss/cc-hugo --plugin hugoHow this skill is triggered — by the user, by Claude, or both
Slash command
/hugo:initThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Set up a new Hugo + Blowfish blog project with all necessary configuration, GitHub Pages deployment, and blog plugin integration.
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.
Set up a new Hugo + Blowfish blog project with all necessary configuration, GitHub Pages deployment, and blog plugin integration.
hugo version (require v0.112.0+)git --versionhugo new site <site-name> --format yaml
cd <site-name>
git init
If no site-name argument provided, ask for one.
git submodule add https://github.com/nunocoracao/blowfish.git themes/blowfish
Create config/_default/ directory with these files:
Enable Mermaid diagram support in Blowfish config.
Prompt for GitHub repository (for Giscus discussions). Add Giscus configuration to params.yaml. If user doesn't have a repo yet, skip and add instructions for later setup.
content/
posts/ # Blog posts live here
about/ # About page
Create a stub about page.
If the blog plugin is installed (check for blog:brainstorm skill availability):
.claude/blog/ directory.claude/blog.local.md with default configuration (prompt for social accounts, analytics, vault path)brainstorm/00-overview.md (empty pipeline index)Set up the .style/ directory so cc-prose and cc-copyedit work correctly in this project.
Directory structure to create:
.style/
config.yaml # Prose/copyedit thresholds for blog context
styleguide.md # Blog-specific style rules
stoplist.txt # Forbidden AI words (extends global)
wordlist.txt # Preferred terminology
voice.yaml # Active project voice (symlink or copy of blog.yaml)
voices/ # All blog voice variants
blog.yaml
blog-pov.yaml
blog-reasoning.yaml
blog-narrative.yaml
Steps:
.style/ and .style/voices/ directoriescp ${BLOG_PLUGIN_ROOT}/knowledge-base/voice-profiles/*.yaml .style/voices/
cp .style/voices/blog.yaml .style/voice.yaml
mkdir -p ~/.claude/style/voices
cp .style/voices/*.yaml ~/.claude/style/voices/
.style/config.yaml with blog-appropriate thresholds:
severity_threshold: medium
style:
target_sentence_length: 19
max_sentence_length: 40
target_active_voice_pct: 75
.style/stoplist.txt with blog-specific forbidden words:
# Blog stoplist (extends global ~/.claude/style/stoplist.txt)
delve -> explore, examine
leverage -> use, apply
utilize -> use
robust -> reliable, strong
comprehensive -> complete, thorough
crucial -> critical, key, important
.style/styleguide.md with blog conventionsWhy project-local voices matter: Voice profiles in .style/voices/ travel with the git repo. Anyone cloning the blog project gets the voices automatically, without needing them installed globally. The prose plugin resolves voices from .style/voices/ (project) before ~/.claude/style/voices/ (global).
Create .github/workflows/hugo.yml with the official Hugo GitHub Pages workflow. Configure for the Blowfish theme.
public/
resources/
.hugo_build.lock
.DS_Store
.claude/*.local.md
git add -A
git commit -m "Initial blog setup with Hugo + Blowfish"
Check for recommended plugins and report status:
Provide installation commands for any missing plugins.
After initialization, present:
/hugo:preview/blog:brainstorm (if blog plugin available)/hugo:migrate/hugo:legal