Skip to content
Back to skills

1778 Troubleshoot B634443c

ASecurity

Diagnose and fix common GitHub Pages issues.

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

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro shows the line behind each finding and how to fix it

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 1778-troubleshoot_b634443c --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 1778 Troubleshoot B634443c?

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

Security grade badge for 1778 Troubleshoot B634443c
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-1778-troubleshoot-b634443c/badge)](https://www.skillsdirectory.com/skills/tools-only-1778-troubleshoot-b634443c)

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

SKILL.md
# Troubleshoot Workflow

Diagnose and fix common GitHub Pages issues.

## Checklist

- [ ] Identify the symptom
- [ ] Check build status
- [ ] Verify configuration
- [ ] Apply fix
- [ ] Confirm resolution

---

## Quick Diagnosis

### Check Build Status

```bash
# Via GitHub CLI
gh api repos/{owner}/{repo}/pages

# Check recent deployments
gh api repos/{owner}/{repo}/deployments --jq '.[0:5]'

# View workflow runs (if using Actions)
gh run list --workflow=pages
```

### Check Site Status

```bash
# Test if site responds
curl -I https://<username>.github.io/<repo>

# Check for redirects
curl -ILs https://<username>.github.io/<repo> | grep -i location
```

---

## Common Issues

### Issue: Site Not Publishing

**Symptoms:**
- No site at expected URL
- 404 error on site URL

**Diagnosis:**
1. Is Pages enabled? Check Settings > Pages
2. Is there an entry file? (index.html, index.md, or README.md)
3. Is the publishing source correct?
4. Are there build errors?

**Solutions:**

```bash
# Verify Pages is enabled
gh api repos/{owner}/{repo}/pages

# Check if entry file exists
ls -la index.html index.md README.md 2>/dev/null

# Check publishing source settings
gh api repos/{owner}/{repo}/pages --jq '.source'
```

---

### Issue: 404 Error

**Symptoms:**
- Site shows GitHub 404 page
- Only some pages return 404

**Diagnosis:**
1. Entry file at correct location?
2. Correct base URL for links?
3. Case-sensitive file names?
4. Jekyll build excluding files?

**Solutions:**

For root path 404:
```bash
# Ensure entry file exists at publishing source
# For root: ./index.html or ./index.md
# For /docs: ./docs/index.html or ./docs/index.md
```

For broken links:
```yaml
# In _config.yml for project sites
baseurl: "/repository-name"
```

For Jekyll excluding files:
```yaml
# In _config.yml, check include/exclude settings
include:
  - _pages
  - important-file.md
```

---

### Issue: Custom Domain Not Working

**Symptoms:**
- Domain shows error or wrong site
- HTTPS not available
- Domain verification failed

**Diagnosis:**
1. DNS records correct?
2. CNAME file present?
3. DNS propagated?
4. Domain verified?

**Solutions:**

Check DNS:
```bash
# For apex domain
dig example.com +noall +answer -t A

# Expected IPs:
# 185.199.108.153
# 185.199.109.153
# 185.199.110.153
# 185.199.111.153

# For subdomain
dig www.example.com +noall +answer -t CNAME

# Expected: username.github.io
```

Fix CNAME file:
```bash
# CNAME file must be uppercase
# Contains only the domain, nothing else
echo "www.example.com" > CNAME
git add CNAME && git commit -m "Add CNAME" && git push
```

Wait for propagation:
- DNS changes take up to 24 hours
- HTTPS takes up to 1 hour after DNS verification

---

### Issue: HTTPS Not Available

**Symptoms:**
- "Enforce HTTPS" checkbox disabled
- Certificate errors
- Mixed content warnings

**Diagnosis:**
1. DNS fully propagated?
2. CAA records blocking?
3. Domain recently changed?

**Solutions:**

Wait and retry:
```bash
# Remove and re-add custom domain to trigger new certificate
gh api repos/{owner}/{repo}/pages \
  --method PUT --field cname=''

# Wait a minute, then re-add
gh api repos/{owner}/{repo}/pages \
  --method PUT --field cname='www.example.com'
```

Check CAA records:
```bash
dig example.com CAA

# Must include or not block: letsencrypt.org
```

Fix mixed content:
```bash
# Search for http:// in your files
grep -r "http://" --include="*.html" --include="*.md" --include="*.scss"

# Replace with https:// or protocol-relative //
```

---

### Issue: Build Failures

**Symptoms:**
- Deployment never completes
- Error emails from GitHub
- Build status shows failure

**Diagnosis:**
1. Check Actions tab for logs
2. Check email for error message
3. Test local build

**Solutions:**

View build logs:
```bash
# List recent workflow runs
gh run list --workflow=pages --limit 5

# View specific run
gh run view <run-id> --log
```

Common build errors:

**Liquid syntax error:**
```
# Escape Liquid tags in code blocks
{% raw %}
{{ variable }}
{% endraw %}
```

**Invalid YAML:**
```yaml
# Check for:
# - Inconsistent indentation
# - Missing quotes around special characters
# - Tab characters (use spaces)
```

**Missing dependencies:**
```ruby
# In Gemfile, ensure github-pages gem is included
source "https://rubygems.org"
gem "github-pages", group: :jekyll_plugins
```

---

### Issue: Changes Not Appearing

**Symptoms:**
- Pushed changes not visible
- Old content still showing
- Cache issues

**Diagnosis:**
1. Was push successful?
2. Did build complete?
3. Browser cache?
4. CDN cache?

**Solutions:**

Verify push and build:
```bash
# Check last commit
git log -1

# Check if deployed
gh api repos/{owner}/{repo}/pages/builds --jq '.[0]'
```

Clear caches:
```bash
# Force browser refresh
# Chrome/Firefox: Ctrl+Shift+R (Cmd+Shift+R on Mac)

# Or append query string
# https://site.github.io/?v=2
```

Force rebuild:
```bash
# Empty commit to trigger rebuild
git commit --allow-empty -m "Trigger rebuild"
git push
```

---

### Issue: Theme Not Applying

**Symptoms:**
- Site shows unstyled content
- Wrong theme appearing
- Custom CSS not loading

**Diagnosis:**
1. Theme name correct in _config.yml?
2. Theme supported by GitHub Pages?
3. Custom CSS file has front matter?

**Solutions:**

Verify theme configuration:
```yaml
# _config.yml - use exact theme name
theme: jekyll-theme-minimal

# Or for remote themes
remote_theme: pages-themes/minimal@v0.2.0
```

Fix custom CSS:
```scss
/* assets/css/style.scss - MUST have front matter */
---
---

@import "{{ site.theme }}";

/* Custom styles below */
```

---

## Diagnostic Commands Reference

```bash
# Check Pages configuration
gh api repos/{owner}/{repo}/pages

# Check build status
gh api repos/{owner}/{repo}/pages/builds

# View deployment history
gh api repos/{owner}/{repo}/deployments

# Test site response
curl -IL https://<username>.github.io/<repo>

# Check DNS records
dig <domain> A
dig <domain> AAAA
dig www.<domain> CNAME

# View workflow logs
gh run list --workflow=pages
gh run view <run-id> --log

# Test local Jekyll build
bundle exec jekyll build --verbose
```

---

## When to Contact GitHub Support

Contact support if:
- Build failures with no clear error
- DNS correctly configured but domain not working after 48 hours
- HTTPS not available after 24 hours despite correct setup
- Account-specific Pages issues

Before contacting:
1. Document all troubleshooting steps taken
2. Include repository name and URLs
3. Provide dig output for DNS issues
4. Include build log excerpts for build failures

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…