Skip to content
Back to skills

Github Readme Override

ASecurity

GitHub README display rules — which README renders when multiple exist, profile READMEs, org READMEs

  • 4 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
ai-agentsgobashgitsecuritydocumentation

Works with

  • cli

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add fabioc-aloha/Alex_Skill_Mall --skill github-readme-override --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Github Readme Override?

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

Security grade badge for Github Readme Override
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fabioc-aloha-github-readme-override/badge)](https://www.skillsdirectory.com/skills/fabioc-aloha-github-readme-override)

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

Download with Pro
SKILL.md
---
name: github-readme-override
description: "GitHub README display rules — which README renders when multiple exist, profile READMEs, org READMEs"
lastReviewed: 2026-04-30
---

# GitHub README Override

**Category**: GitHub
**Time Saved**: 30-60 minutes
**Battle-tested**: Yes — multiple projects affected

---

## The Problem

You update your root `README.md` with new documentation. You push to GitHub. The repo landing page still shows the old content — or worse, a completely different file.

## Why It Happens

GitHub treats `.github/README.md` as a "community health file" and displays it on the repository landing page **instead of** the root `README.md`. This is documented behavior but surprising when you don't expect it.

## The Hierarchy

```
GitHub displays the FIRST match found in this order:

1. .github/README.md     ← Overrides everything
2. README.md             ← Standard location
3. docs/README.md        ← Alternative location
```

## The Fix

**Option 1: Delete the override**

```bash
git rm .github/README.md
git commit -m "Remove README override"
git push
```

**Option 2: Rename it**

```bash
# Keep the file but don't let it override
git mv .github/README.md .github/ABOUT.md
git commit -m "Rename to prevent override"
git push
```

**Option 3: Symlink (if you want both)**

```bash
# Make .github/README.md a symlink to root
cd .github
ln -s ../README.md README.md
git add README.md
git commit -m "Symlink README"
git push
```

Note: GitHub renders symlinks, but some Git clients handle them poorly on Windows.

## When .github/README.md Is Intentional

Sometimes you **want** different content on the landing page vs. what developers see locally:

| Use Case | Root README | .github/README |
|----------|-------------|----------------|
| Internal tool | Technical setup | Public-facing overview |
| Template repo | "How to use template" | "What this template does" |
| Monorepo | Navigation/workspace docs | Project overview |

## Verification

```bash
# Check if override exists
ls -la .github/README.md

# See what GitHub will display
# Push and check the repo landing page
```

## Common Symptoms

- "I updated README but GitHub shows old content"
- "My README looks different on GitHub vs. locally"
- "README changes aren't showing up"

## Related Files That Override

Similar override behavior exists for:

- `.github/CONTRIBUTING.md` → overrides root `CONTRIBUTING.md`
- `.github/CODE_OF_CONDUCT.md` → overrides root `CODE_OF_CONDUCT.md`
- `.github/SECURITY.md` → overrides root `SECURITY.md`
- `.github/SUPPORT.md` → overrides root `SUPPORT.md`

## Verification Checklist

- [ ] Check if `.github/README.md` exists
- [ ] Determine if override is intentional
- [ ] Delete, rename, or symlink as appropriate
- [ ] Verify on GitHub after push

## Related Skills

- `github-wiki-flat` — Wiki structure gotchas

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…