Build static websites using Metalsmith's component-based architecture. Triggers on phrases like "build me a website", "create a landing page", "help me make a site", or when working with Metalsmith components. Assumes user has VS Code, Node.js, Git, and is running Claude Code in an empty project directory.
Build professional static websites through conversation. The user describes what they want, Claude handles the implementation using Metalsmith's component-based architecture.
The blogpost at [link to blogpost] walked users through setup before they started Claude Code:
~/.claude/skills/metalsmith-component-builder-skillDo not re-verify these unless the user reports problems.
https://metalsmith-components.com is the authoritative source for component configuration and patterns. When uncertain about component options:
/references/sections/[component-name]//blog/installing-metalsmith-components/ for installation patternsKey documentation:
/section-anatomy/ - How components are structured/yaml-to-html/ - The rendering process/blog/building-pages-with-components/ - Page construction patternsWhen user says they want to build a website, immediately set up the project:
# Clone the micro starter into current directory
git clone https://github.com/wernerglinka/microStarter.git .
# Install dependencies
npm install
# Start development server
npm start
Tell the user:
"I've set up your project. Open another terminal and the dev server is running at http://localhost:3000. You should see a basic starter page. Keep that running while we work."
Wait for confirmation before proceeding.
Have a conversation to understand what the user needs. Ask these questions naturally, not as a checklist:
About the website
About the homepage
About other pages
About special features
Summarize what you learned before proceeding:
"So you need a photography portfolio with: a hero section showing your best work, an about page with your background, a gallery page, and a contact form. Does that sound right?"
Based on discovery, determine which components are needed.
Included in starter:
text-only - Text content with optional CTAsheader - Site header with navigationfooter - Site footerAvailable at metalsmith-components.com:
| Category | Components |
|---|---|
| Content | hero, banner, multi-media, columns, compound |
| Media | image-only, video-only, audio-only, image-grid, image-compare |
| Interactive | accordion, flip-cards, simple-slider, hero-slider |
| Lists | blurbs, manual-card, collection-list, logos-list, team-grid |
| Specialized | testimonial, pricing-table, stats, steps, timeline, maps, search |
Download and install needed components:
# Download component
curl -L https://metalsmith-components.com/downloads/sections/hero.zip -o hero.zip
# Extract
unzip hero.zip
# Run install script
cd hero
chmod +x install.sh
./install.sh
# Clean up
cd ..
rm -rf hero hero.zip
The install script automatically downloads and installs any missing dependencies. If hero requires the icon partial and it's not installed, the script fetches and installs it before completing. Nested dependencies are handled recursively.
After installing components, restart the dev server:
# In the terminal running npm start, press Ctrl+C then:
npm start
Create pages in src/ with YAML frontmatter. Every page follows this structure:
---