ワンクリックで
local-test
// Test local Jekyll build and visualize pages using Playwright MCP. Starts the development server, navigates through key pages, captures screenshots, and validates rendering. Use when testing local changes before deployment.
// Test local Jekyll build and visualize pages using Playwright MCP. Starts the development server, navigates through key pages, captures screenshots, and validates rendering. Use when testing local changes before deployment.
Interactive guide for adding new lab members to the website. Gathers information via web research, helps write appropriate bios, optimizes images, and generates properly formatted member files. Use when adding new team members, updating member info, or marking members as alumni.
Generate comprehensive lab member rosters in both markdown and CSV formats. Analyzes member profiles, git history, and alumni information to create detailed rosters with role transitions, team assignments, and career tracking. Use when user mentions roster, team list, lab members, or updating member information.
| name | local-test |
| description | Test local Jekyll build and visualize pages using Playwright MCP. Starts the development server, navigates through key pages, captures screenshots, and validates rendering. Use when testing local changes before deployment. |
| version | 1.0.0 |
| allowed-tools | Bash, BashOutput, KillShell, mcp__playwright__browser_navigate, mcp__playwright__browser_snapshot, mcp__playwright__browser_take_screenshot, mcp__playwright__browser_click, TodoWrite |
This skill helps you test the Jekyll site locally and visualize pages using Playwright MCP browser automation.
Use this skill when:
Ensure Playwright MCP is installed:
claude mcp add playwright npx '@playwright/mcp@latest'
Launch the server in background:
bundle exec jekyll serve --force_polling --livereload
Use run_in_background: true to keep the server running while testing.
Wait for server initialization (8-10 seconds):
sleep 8
Check server output:
BashOutput to verify server started successfullyhttp://127.0.0.1:4000/Open homepage with Playwright:
mcp__playwright__browser_navigate
url: http://127.0.0.1:4000/
Verify page loaded:
Capture full-page screenshot:
mcp__playwright__browser_take_screenshot
filename: homepage-screenshot.png
type: png
fullPage: true
Navigate and capture screenshots of important pages:
mcp__playwright__browser_navigate
url: http://127.0.0.1:4000/team/
team-page-screenshot.pngmcp__playwright__browser_navigate
url: http://127.0.0.1:4000/research/
research-page-screenshot.pngmcp__playwright__browser_navigate
url: http://127.0.0.1:4000/publications/
publications-page-screenshot.pngmcp__playwright__browser_navigate
url: http://127.0.0.1:4000/members/talmo-pereira.html
member-profile-screenshot.pngIf testing navigation or interactive features:
Click navigation links:
mcp__playwright__browser_click
element: "Research navigation link"
ref: [element reference from snapshot]
Hover over portraits:
mcp__playwright__browser_hover
element: "Member portrait"
ref: [element reference]
Test responsive behavior:
mcp__playwright__browser_resize
width: 375
height: 667
Then take screenshots at mobile size.
Look for any JavaScript errors or 404s:
mcp__playwright__browser_console_messages
onlyErrors: true
Common issues to check:
Present screenshots to user:
Kill the Jekyll server:
KillShell
shell_id: [server shell ID]
Confirm cleanup:
.playwright-mcp/ (gitignored)When adding a new member:
When modifying CSS or templates:
When updating _data/sources.yaml:
./cite.sh to generate citationsBefore major deployments:
All screenshots are saved to .playwright-mcp/ directory:
team-page-screenshot.png)Error: "Address already in use"
lsof -i :4000kill -9 [PID]Error: "Permission denied"
./start.sh directly (may not be executable)bundle exec jekyll serve --force_polling --livereloadError: "Navigation failed"
BashOutputhttp://127.0.0.1:4000/ (not localhost)Error: "Browser not installed"
mcp__playwright__browser_installImages not loading
images/ directoryStyling broken
_sass/ files are validContent missing
Always test locally before committing:
Use descriptive screenshot filenames:
team-page-new-members-2025-10-31.pngTest multiple page types:
Keep server logs:
BashOutput periodicallyClean up after testing:
Consider testing before commits:
# In .git/hooks/pre-commit
bundle exec jekyll build --quiet
For ongoing development:
.github/workflows/ - CI/CD configuration