Agent skill · Documentation

mykg-github-pages

Set up and maintain the GitHub Pages site for the mykg repo (SenolIsci/mykg) — a purpose-built pages/ folder (landing page adapted from README.md, blog posts, diagrams), built by a GitHub Actions workflow that runs Jekyll and deploys the result to a gh-pages branch. Use whenever the user wants to publish project documentation or blog articles as a website, create a landing page, turn the project into a public site, enable/configure/troubleshoot GitHub Pages or the gh-pages branch, add a new page/blog post/diagram to the published site, fix a broken/failing Pages build, or asks things like "can

SenolIscigithub.com/SenolIsciGitHub ↗
claude-codeMIT
Install
npx skills add SenolIsci/mykg --skill mykg-github-pages --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 24 KB
Bundled scripts: none
Path: .claude/skills/mykg-github-pages/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 63
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Publishes a purpose-built pages/ folder from the SenolIsci/mykg main branch as a website, via a GitHub Actions workflow that builds it with Jekyll and pushes the built _site/ to a gh-pages branch, which GitHub Pages serves.

  • Targets the mykg repository and confines publish surface to pages/ and its gh-pages publishing pipeline.
  • Includes scaffolding steps for landing page (pages/index.md), blog posts (pages/_posts/), a blog listing (pages/blog.md), and configuration (pages/_config.yml).
  • Uses a dedicated workflow (.github/workflows/pages.yml) to trigger builds on main with changes under pages/** and deploys via peaceiris/actions-gh-pages to gh-pages.
  • Emphasizes setup, maintenance, and troubleshooting for Pages or custom domain (CNAME) requests.

How it works

  1. Check state: determine if pages/, gh-pages branch, and the pages.yml workflow exist; if missing, perform a full first-time setup (Steps 1–5). If they exist, treat as maintenance (add pages/posts, fix builds) and follow relevant steps.
  2. Scaffold the site content in pages/ by creating:
    • pages/index.md adapted from the repository README for landing content.
    • pages/_posts/YYYY-MM-DD-slug.md with front matter for blog posts when adding articles.
    • pages/blog.md with a Liquid loop listing posts.
    • pages/_config.yml with title, description, theme, and baseurl: "/mykg".
    • pages/assets/ and pages/diagrams/ for assets and diagrams referenced by the site.
  3. Copy or reference artifacts from the repo into pages/ (e.g., logos, diagrams) only after user confirmation; copy into pages/assets/, pages/diagrams/ as needed.
  4. Create and adjust the Actions workflow by copying assets/pages.yml to .github/workflows/pages.yml, ensuring path filters, build commands, and deploy settings match the project’s choices. The workflow builds with ruby/setup-ruby + bundle install + jekyll build --source pages --destination _site and deploys _site via peaceiris/actions-gh-pages@v4 with publish_dir: ./_site and publish_branch: gh-pages.
  5. Manage secrets and deployment token: use a classic PAT with repo scope stored as a repository secret (e.g., PAGES_DEPLOY_TOKEN), and configure github_token: ${{ secrets.PAGES_DEPLOY_TOKEN }} in the workflow. If a fine-grained PAT was used and caused 403 on push, replace with a classic PAT as described.
  6. First push and enable Pages: commit pages/ and workflow, push to main, monitor the run, and then configure Pages to point to gh-pages with build_type=legacy when enabling.

When to use it

Use when publishing project documentation or blog articles as a website, creating a landing page, turning the project into a public site, enabling/troubleshooting GitHub Pages or the gh-pages branch, adding a new page/blog post/diagram, fixing a broken Pages build, or handling custom domain requests.

What it can touch

  • Tools: claude-code (as declared)
  • Repositories: modifies pages/, _site/ generated content, gh-pages branch, and .github/workflows/pages.yml.
  • Secret management: adds/updates repository secrets for deployment tokens.

Caveats

  • Requires a classic PAT with repo scope for the deploy step (not GITHUB_TOKEN or a fine-grained PAT).
  • The live URL may 404 if the Pages configuration or deployment token is misconfigured; fix requires updating the secret and possibly the workflow deploy step.
  • Base URL must be set to "/mykg" in pages/_config.yml to ensure assets load correctly.
From the SKILL.md

# mykg GitHub Pages Publishes a purpose-built `pages/` folder from the `SenolIsci/mykg` `main` branch as a website, via a GitHub Actions workflow that builds it with Jekyll and pushes the built `_site/` output to a `gh-pages` branch, which is what GitHub Pages actually serves. ``` main branch gh-pages branch ├── src/ ← software ├── index.html ← built site ├── pages/ ← Pages source ├── blog/... │ ├── _config.yml └── ... (generated — never hand-edit) │ ├── _posts/ (blog articles) │ ├── index.md (landing page, adapted from README.md) │ └── diagrams/ └── .github/workflows/pages.yml pages.yml: on push to main (pages/** changes) → jekyll build pages/ → _site/ → peaceiris/actions-gh-pages pushes _site/ to gh-pages Settings > Pages: source = gh-pages branch ``` ## Why a dedicated `pages/` folder A dedicated `pages/` folder holds *only* content written for the public site, so there's never anything to accidentally publish. This skill's default and only source for initial content is `README.md` (see Step 1) — it never assumes any other folder in the repo is publishable. Any other repo artifact (a diagram, a logo, a screenshot, an existing doc) is fair game to feature on the site, but only wh

What's inside
Steps it walks through
  1. Why a dedicated pages/ folder
  2. Check state before doing anything
  3. Step 1 — Scaffold pages/ and the landing page
  4. Step 2 — Blog articles
  5. Step 3 — Jekyll config
  6. Sourcing artifacts from the repo
  7. Step 4 — Write the Actions workflow
  8. Step 5 — First push and enabling Pages
  9. Step 6 — Verify
  10. Maintenance tasks (pages/ + workflow + gh-pages already set up)
  11. Troubleshooting a failing build
  12. What NOT to do
Ships with 3 files
  • assets/pages.yml
  • references/Gemfile.template
  • references/jekyll-and-pages.md
Commands it runs
gh api repos/SenolIsci/mykg/pages 2>&1
git ls-remote --heads origin gh-pages
cat .github/workflows/pages.yml 2>&1
ls pages/ 2>&1
gh repo view --json nameWithOwner   # confirm this really is SenolIsci/mykg first
git add pages/ .github/workflows/pages.yml
git commit -m "Add GitHub Pages site (pages/ + Actions build)"
git push
gh run watch --exit-status
gh api -X POST repos/SenolIsci/mykg/pages \
More from mykg
All skills →
About this skill
What does the mykg-github-pages skill do?

Set up and maintain the GitHub Pages site for the mykg repo (SenolIsci/mykg) — a purpose-built pages/ folder (landing page adapted from README.md, blog posts, diagrams), built by a GitHub Actions workflow that runs Jekyll and deploys the result to a gh-pages branch. Use whenever the user wants to publish project documentation or blog articles as a website, create a landing page, turn the project into a public site, enable/configure/troubleshoot GitHub Pages or the gh-pages branch, add a new page/blog post/diagram to the published site, fix a broken/failing Pages build, or asks things like "can

How do I install it?

Run `npx skills add SenolIsci/mykg --skill mykg-github-pages --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From SenolIsci/mykg, a repository with 63 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going