Agent skill
hugo-builder
Build, serve, and deploy the Hugo static site. Use when building the site, testing locally, checking for errors, or deploying to GitHub Pages.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/hugo-builder
SKILL.md
Hugo Builder
Manage the Hugo static site build process, local development server, and deployment.
Hugo Configuration
The site uses:
- Theme: PaperMod
- Language: Korean (ko-KR)
- Title: Novemberde's Blog
- Description: Logs for troubleshooting, dev-experience
- Author: BYUN Kyuhyun (AWS Serverless Hero)
- Deployment: GitHub Pages at https://novemberde.github.io/
- Branch: hugo
- Analytics: Google Analytics enabled (G-9SF4VDQ4N0)
- Comments: Disqus enabled (novemberde-github-io)
Common Commands
Build the Site
hugo
Builds the site to the public/ directory. This compiles all markdown files, applies the theme, and generates static HTML.
When to use:
- Before deploying
- To check for build errors
- To verify the final output
Serve Locally (Development)
hugo server -D
Starts a local development server with:
- Live reload on file changes
- Draft posts visible (-D flag)
- Usually available at http://localhost:1313
When to use:
- During content creation
- Testing theme changes
- Previewing before publishing
Serve Without Drafts
hugo server
Serves only published content (excludes drafts).
When to use:
- Final preview before deployment
- Testing the production build locally
Check Hugo Version
hugo version
Clean Build
rm -rf public && hugo
Removes the public directory and rebuilds from scratch.
When to use:
- Troubleshooting build issues
- After theme updates
- When files seem out of sync
Build Process
- Content Processing: Markdown files in
content/are converted to HTML - Theme Application: PaperMod theme templates are applied
- Asset Processing: Images, CSS, JS are copied from
static/and theme - Output: Final site generated in
public/directory
Deployment to GitHub Pages
This site uses GitHub Pages with the hugo branch. The deployment process:
- Build the site:
hugo - The
public/directory contains the built site - Commit and push changes to the
hugobranch - GitHub Pages automatically deploys from the configured branch/directory
Troubleshooting
Build Errors
Problem: Hugo can't find theme
Error: Unable to locate theme directory
Solution: Check if theme submodule is initialized:
git submodule update --init --recursive
Problem: Date parsing errors
Error: failed to parse date
Solution: Ensure dates are in ISO 8601 format: YYYY-MM-DDTHH:MM:SS+00:00
Problem: Content not showing Solution:
- Check if the date is in the future (Hugo skips future posts by default)
- Verify frontmatter is correct
- Ensure file is in correct directory structure
Server Issues
Problem: Port already in use
Error: listen tcp :1313: bind: address already in use
Solution:
# Kill existing Hugo server
pkill hugo
# Or use a different port
hugo server -p 1314
File Structure
novemberde.github.io/
├── config.yml # Hugo configuration
├── content/ # All content (posts, pages)
│ ├── post/ # Blog posts (YYYY/MM/DD structure)
│ └── about.md # About page
├── static/ # Static assets (images, files)
├── themes/
│ └── PaperMod/ # Current theme
└── public/ # Built site (generated, not in git)
Best Practices
-
Always test locally before deploying:
bashhugo server -
Check build output for warnings:
bashhugo --verbose -
Clean builds when in doubt:
bashrm -rf public && hugo -
Verify links after building:
- Check internal links work
- Verify images load correctly
- Test navigation menu
Configuration Reference
Key settings in config.yml:
baseURL: Site URL (must match deployment URL: https://novemberde.github.io/)languageCode: Site language (ko-KR)theme: Theme name (PaperMod)buildDrafts: Include draft posts (false in production)buildFuture: Include future-dated posts (false in production)buildExpired: Include expired posts (false)minify: Minification settings for productiondisableXML: trueminifyOutput: true
enableRobotsTXT: Enable robots.txt generation (true)googleAnalytics: Analytics tracking IDdisqusShortname: Disqus integration for comments
Menu Configuration
The site has three main menu items:
- Search (
/search) - Weight: 1 - Post (
/post/) - Weight: 2 - About (
/about) - Weight: 3
Markup Configuration
goldmark.renderer.unsafe: true (allows raw HTML in markdown)enableInlineShortcodes: truedisablePathToLower: true (preserves URL case)
Common Workflows
Creating and Testing a New Post
# 1. Create the post (manually or with blog-post-creator skill)
# 2. Start development server
hugo server -D
# 3. Edit and preview in browser
# 4. When ready, remove draft status and rebuild
hugo
Deploying Updates
# 1. Clean build
rm -rf public && hugo
# 2. Commit changes
git add .
git commit -m "Your commit message"
# 3. Push to hugo branch
git push origin hugo
Theme Updates
# Update theme submodule
cd themes/PaperMod
git pull origin master
cd ../..
git add themes/PaperMod
git commit -m "Update PaperMod theme"
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?