mcpField
W
web-deploy-github

web-deploy-github

github.com/cjhfffCloud & DevOps143 installsUpdated 37w ago
Repository

About web-deploy-github

A skill for creating static websites and deploying them to GitHub Pages, aimed at users building portfolios, landing pages, or other single-page sites. It provides project initialization and GitHub Actions deployment workflows, with HTML, CSS, and JavaScript templates.

Key features

  1. 01Initialize a website project structure
  2. 02Use portfolio and landing page templates
  3. 03Set up a GitHub repository and Pages
  4. 04Deploy on pushes through GitHub Actions
  5. 05Guidance for responsive design and performance

Use cases

  1. 01Create a portfolio or CV site
  2. 02Build a landing page for an app
  3. 03Publish a static site on GitHub Pages

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/cjhfff/cjh-skills --skill web-deploy-github

After installing, type/web-deploy-githubin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

_meta.json
.clawhub/
origin.json
assets/templates/base-html/
index.html
script.js
styles.css
assets/templates/landing/
index.html
script.js
styles.css
assets/templates/portfolio/
index.html
script.js
styles.css
references/
design-patterns.md
workflow.md
scripts/
deploy_github_pages.sh
init_project.sh

Details

From the project README

Web Deploy GitHub Pages

Overview

This skill enables autonomous creation and deployment of static websites to GitHub Pages. It follows a complete workflow from project structure initialization through automatic deployment via GitHub Actions, optimized for single-page applications, portfolios, and landing pages.

Core Workflow

1. Project Initialization

Create the project structure:

bash scripts/init_project.sh <project-name>

This creates:

project-name/
├── index.html
├── styles.css
├── script.js
├── README.md
└── .github/
    └── workflows/
        └── deploy.yml
2. Development

Build the website following these principles:

  • Single-page first: Optimize for one-page layouts unless multiple pages explicitly required
  • Autonomous generation: Generate complete, production-ready code without placeholders
  • Modern design: Use modern CSS (flexbox, grid), responsive design, clean aesthetics
  • No dependencies: Pure HTML/CSS/JS when possible, CDN links if frameworks needed

Use templates from assets/templates/ as starting points:

  • base-html/ - Minimal HTML5 boilerplate
  • portfolio/ - Portfolio/CV template with sections
  • landing/ - Landing page with hero and CTA
3. GitHub Repository Setup
bash scripts/deploy_github_pages.sh <project-name> <github-username>

This script:

  1. Initializes git repository
  2. Creates GitHub repository via GitHub CLI
  3. Configures GitHub Pages settings
  4. Pushes initial commit
  5. Triggers first deployment
4. Deployment

GitHub Actions automatically deploys on push to main branch. The workflow:

  • Checks out code
  • Deploys to gh-pages branch
  • Makes site live at https://<username>.github.io/<project-name>/

Architecture Guidelines

HTML Structure
  • Semantic HTML5 elements
  • Meta tags for SEO and social sharing
  • Responsive viewport configuration
  • Favicon and icons
CSS Design
  • Mobile-first responsive design
  • CSS variables for theming
  • Flexbox/Grid for layouts
  • Smooth transitions and animations
  • Dark mode support when appropriate
JavaScript
  • Vanilla JS preferred
  • Progressive enhancement
  • Event delegation
  • No console errors
Performance
  • Optimized images
  • Minified assets for production
  • Lazy loading where appropriate
  • Fast initial load time

Quick Examples

Example 1: Portfolio CV Site

User request: "Crée-moi un site portfolio CV"

Action:

  1. Run init_project.sh portfolio-cv
  2. Use assets/templates/portfolio/ as base
  3. Generate complete HTML with sections: Hero, About, Skills, Projects, Contact
  4. Deploy with deploy_github_pages.sh portfolio-cv username
Example 2: Landing Page

User request: "Fais-moi une landing page pour mon app"

Action:

  1. Run init_project.sh app-landing
  2. Use assets/templates/landing/ as base
  3. Generate with Hero, Features, Pricing, CTA
  4. Deploy with deploy_github_pages.sh app-landing username

Troubleshooting

GitHub Pages Not Deploying
  • Check repository Settings → Pages → Source is set to gh-pages branch
  • Verify GitHub Actions workflow ran successfully
  • Check DNS propagation (can take 5-10 minutes)
Permission Errors
  • Ensure gh CLI is authenticated: gh auth status
  • Check repository permissions on GitHub
Build Failures
  • Review Actions logs in repository
  • Verify .github/workflows/deploy.yml syntax
  • Check file paths and references

Resources

scripts/
  • init_project.sh - Initialize project structure
  • deploy_github_pages.sh - Deploy to GitHub Pages
references/
  • workflow.md - Detailed workflow documentation
  • design-patterns.md - Design best practices
assets/
  • templates/base-html/ - Minimal HTML5 boilerplate
  • templates/portfolio/ - Portfolio/CV template
  • templates/landing/ - Landing page template
  • .github/workflows/deploy.yml - GitHub Actions workflow template

Comments

Markdown supported