Skip to content
Back to skills

2496 Github Pages Setup 3ea86591

ASecurity

Successfully converted the Skills Manager from a backend-dependent application to a fully static GitHub Pages-compatible application.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
devopspythongobashtestingdebugginggitapifrontendbackenddevops

Works with

  • terminal
  • cli
  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2496-github-pages-setup_3ea86591 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2496 Github Pages Setup 3ea86591?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2496 Github Pages Setup 3ea86591
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2496-github-pages-setup-3ea86591/badge)](https://www.skillsdirectory.com/skills/tools-only-2496-github-pages-setup-3ea86591)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# GitHub Pages Deployment - Implementation Summary

## Overview

Successfully converted the Skills Manager from a backend-dependent application to a fully static GitHub Pages-compatible application.

## Changes Made

### 1. Static Data Generation

**File: `/skill-manager/generate-skills-data.py`**
- Created Python script to scan repository for all SKILL.md files
- Extracts metadata (name, description, category) from YAML frontmatter
- Generates static JSON file with all skills data
- Includes category mapping and skill counting

**File: `/skill-manager/frontend/skills-data.json`**
- Generated static JSON file containing 74 skills
- Organized by categories (9 categories total)
- Includes skill name, description, category, and installation status

### 2. Frontend Updates

**File: `/skill-manager/frontend/app.js`**

Changes:
- Replaced API endpoint (`http://localhost:8080/api`) with static JSON file (`skills-data.json`)
- Updated `loadSkills()` function to fetch from static JSON
- Modified install functions to show installation instructions instead of making API calls
- Added `showInstallInstructions()` function that:
  - Displays installation commands
  - Copies commands to clipboard
  - Shows manual installation steps

**File: `/skill-manager/frontend/index.html`**

Changes:
- Added info banner indicating static mode
- Updated help documentation (both Chinese and English)
- Changed installation instructions to reflect manual process
- Added note about GitHub Pages deployment

**File: `/skill-manager/frontend/styles.css`**

Changes:
- Added `.info-banner` style for the static mode notification

### 3. Documentation

**File: `/skill-manager/README.md`**

Updated to reflect:
- GitHub Pages deployment instructions
- Static mode operation
- Manual installation process
- Data generation workflow
- Removed backend dependency from main usage flow

## How It Works

### Data Flow

1. **Generation Phase** (Run when skills are added/updated):
   ```
   SKILL.md files → generate-skills-data.py → skills-data.json
   ```

2. **Runtime Phase** (GitHub Pages):
   ```
   User opens page → app.js loads skills-data.json → Displays skills
   User selects skills → Shows installation commands → User copies and runs
   ```

### Installation Process

**Before (Backend Mode):**
1. User selects skills
2. Frontend sends POST request to backend
3. Backend copies files to ~/.claude/skills/
4. Backend returns success/failure

**After (Static Mode):**
1. User selects skills
2. Frontend generates installation commands
3. User copies commands to clipboard
4. User manually runs commands in terminal

## Files Modified

1. `/skill-manager/frontend/app.js` - Updated to use static JSON
2. `/skill-manager/frontend/index.html` - Added banner and updated help
3. `/skill-manager/frontend/styles.css` - Added banner styles
4. `/skill-manager/README.md` - Updated documentation

## Files Created

1. `/skill-manager/generate-skills-data.py` - Data generation script
2. `/skill-manager/frontend/skills-data.json` - Static skills data (74 skills)

## Skills Data Structure

```json
{
  "skills": [
    {
      "name": "skill-directory-name",
      "displayName": "skill-name-from-yaml",
      "description": "Description from SKILL.md (truncated to 200 chars)",
      "category": "category-name",
      "installed": false
    }
  ],
  "total": 74,
  "generated_at": "2026-02-15"
}
```

## Categories

- code-generation: 7 skills
- testing: 13 skills
- documentation: 10 skills
- quality: 9 skills
- requirements: 7 skills
- devops: 5 skills
- debugging: 5 skills
- verification: 7 skills
- maintenance: 3 skills
- other: 8 skills

## Deployment Steps

1. Ensure skills-data.json is up to date:
   ```bash
   cd skill-manager
   python3 generate-skills-data.py
   ```

2. Commit and push changes:
   ```bash
   git add skill-manager/frontend/skills-data.json
   git commit -m "Update skills data"
   git push
   ```

3. Enable GitHub Pages in repository settings:
   - Go to Settings → Pages
   - Select main branch
   - Select / (root) directory
   - Save

4. Access at: `https://USERNAME.github.io/LLM4SE-Skills/skill-manager/frontend/`

## Testing

Verified:
- ✅ JSON file is valid and contains 74 skills
- ✅ All frontend files are present
- ✅ No backend dependencies in frontend code
- ✅ Installation instructions are clear
- ✅ Help documentation is updated

## Future Maintenance

When adding new skills:
1. Create skill directory with SKILL.md
2. Add to category mapping in generate-skills-data.py (if needed)
3. Run: `python3 skill-manager/generate-skills-data.py`
4. Commit and push skills-data.json

## Benefits

- ✅ No backend server required
- ✅ Works on GitHub Pages
- ✅ Fast loading (static files)
- ✅ No CORS issues
- ✅ Easy to deploy and maintain
- ✅ Automatic updates via data generation script

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…