English — Official English version of github-repo-care.
GitHub Repo Care — Publish and Maintain Repositories Cleanly (English)
When To Use
Use this skill when a GitHub repository needs to be created, published, released, audited, or maintained. It is especially important before the first public push, for release tags, repository metadata, organization profiles, and privacy checks.
Do not use it for pure implementation work without a GitHub publication step. Finish the relevant development or debugging workflow first, then activate this skill for publication.
Core Rule
Prepare the repository before the first public push. A correct .gitignore, privacy gate, license, README, metadata, and release story are much cheaper before public history exists.
Workflow & Procedure
Read local rules. Check AGENTS.md, CLAUDE.md, START.md, release policy, naming policy, and lock policy when present.
Check locks. If LOCK.txt or a matching LOCK.*.txt is active, do not edit that scope.
Fix the repository identity. Confirm name, organization, visibility, license, and one-sentence purpose.
Create .gitignore before git add. Exclude secrets, local data, databases, build output, virtual environments, caches, IDE files, and private notes.
Add public basics. Typical files: README.md, LICENSE, CHANGELOG.md, SECURITY.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, llms.txt, and CI.
Write the README for discovery. First viewport: purpose, installation, usage, privacy model, project layout, license, and canonical repository name.
Add visual signals. Add a banner, logo, or screenshot when it makes the project easier to understand. Avoid generic decoration when a real product image or clear concept image is possible.
Plan i18n deliberately. Minimum: English plus the project language. Preferred standard set for user-facing modules: German, English, Spanish, Simplified Chinese, Japanese, and Russian.
Run tests and smokes. Verify locally before claiming success or creating a release.
Run the privacy gate. Check the staged/tracked set for secrets, local paths, PII, .env, databases, private documents, generated artifacts, and mojibake.
Commit and push. Commit only after the gate passes. Then create or connect the GitHub repository, push, and verify remote status.
Set metadata. Check description, topics, homepage, visibility, and default branch.
Create the release. Create the tag and GitHub release; verify CI for both branch and tag.
Update discovery surfaces. Link from the organization profile, llms.txt, central registries, local module indexes, and ecosystem READMEs.
Final verification. Check the remote README, release page, topics, CI, and links.
Privacy Gate
Search the staged or tracked set, not only the visible working tree.
For public modules, also document a RELEASE_GATE.md or equivalent gate: date, checked commands, result, remaining warnings, and intentional exceptions. If a secret was ever committed, deleting it from HEAD is not enough; rotate the secret.
GitHub Metadata
After the push, set metadata and release data explicitly.
If CI is red after a release, the repository is not cleanly published yet. For a just-created initial release, immediately and intentionally moving the fresh tag to the corrected commit is acceptable.
Common Mistakes
Mistake
Fix
.gitignore is added after git add
Unstage first, fix ignore rules, then add again
README is monolingual although the UI or skill is multilingual
Add language links or localized READMEs
No banner, topics, or description
Add discovery assets before announcement
Release tag exists, but CI is red
Fix CI and verify the new run
Organization README is updated, but llms.txt is missed
Update both human and machine-readable surfaces
Local path appears in public docs
Replace it with relative paths or generic examples
Public repo contains a test database or notebook inbox
Remove it from tracking, add ignore rules, rerun the gate
Final Checklist
Local rules and locks checked.
.gitignore existed before the first add.
Public docs, license, security, contributing, changelog, and llms.txt present.
README includes repo name, purpose, installation, usage, privacy, and license.
i18n expectation met.
Banner, logo, or screenshot present when useful.
Tests and smokes pass.
Privacy, path, secret, database, and mojibake scans clean.
GitHub description, topics, tag, release, and CI verified.
Organization profile, registry, and ecosystem links updated.
Changelog
1.0.0 (2026-06-18)
Created initial repository care and publication protocol.
1---2name: en-53description: <img src="banner.png" width="100%" alt="github-repo-care banner">4---56<img src="banner.png" width="100%" alt="github-repo-care banner">78> **English** — Official English version of `github-repo-care`.91011# GitHub Repo Care — Publish and Maintain Repositories Cleanly (English)1213## When To Use1415Use this skill when a GitHub repository needs to be created, published, released, audited, or maintained. It is especially important before the first public push, for release tags, repository metadata, organization profiles, and privacy checks.1617Do not use it for pure implementation work without a GitHub publication step. Finish the relevant development or debugging workflow first, then activate this skill for publication.1819## Core Rule2021Prepare the repository before the first public push. A correct `.gitignore`, privacy gate, license, README, metadata, and release story are much cheaper before public history exists.2223## Workflow & Procedure24251. **Read local rules.** Check `AGENTS.md`, `CLAUDE.md`, `START.md`, release policy, naming policy, and lock policy when present.262. **Check locks.** If `LOCK.txt` or a matching `LOCK.*.txt` is active, do not edit that scope.273. **Fix the repository identity.** Confirm name, organization, visibility, license, and one-sentence purpose.284. **Create `.gitignore` before `git add`.** Exclude secrets, local data, databases, build output, virtual environments, caches, IDE files, and private notes.295. **Add public basics.** Typical files: `README.md`, `LICENSE`, `CHANGELOG.md`, `SECURITY.md`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `llms.txt`, and CI.306. **Write the README for discovery.** First viewport: purpose, installation, usage, privacy model, project layout, license, and canonical repository name.317. **Add visual signals.** Add a banner, logo, or screenshot when it makes the project easier to understand. Avoid generic decoration when a real product image or clear concept image is possible.328. **Plan i18n deliberately.** Minimum: English plus the project language. Preferred standard set for user-facing modules: German, English, Spanish, Simplified Chinese, Japanese, and Russian.339. **Run tests and smokes.** Verify locally before claiming success or creating a release.3410. **Run the privacy gate.** Check the staged/tracked set for secrets, local paths, PII, `.env`, databases, private documents, generated artifacts, and mojibake.3511. **Commit and push.** Commit only after the gate passes. Then create or connect the GitHub repository, push, and verify remote status.3612. **Set metadata.** Check description, topics, homepage, visibility, and default branch.3713. **Create the release.** Create the tag and GitHub release; verify CI for both branch and tag.3814. **Update discovery surfaces.** Link from the organization profile, `llms.txt`, central registries, local module indexes, and ecosystem READMEs.3915. **Final verification.** Check the remote README, release page, topics, CI, and links.4041## Privacy Gate4243Search the staged or tracked set, not only the visible working tree.4445```bash46git diff --cached --check47git ls-files48rg -n "C:\\\\Us[e]rs\\\\|C:/Us[e]rs/|/c/Us[e]rs/|s[k]-[A-Za-z0-9]|gh[p]_|gh[o]_|API[_-]?KEY|TO[K]EN|PASS[W]ORD|SEC[R]ET|\\x{C3}|\\x{C2}|\\x{FFFD}" .49```5051For public modules, also document a `RELEASE_GATE.md` or equivalent gate: date, checked commands, result, remaining warnings, and intentional exceptions. If a secret was ever committed, deleting it from `HEAD` is not enough; rotate the secret.5253## GitHub Metadata5455After the push, set metadata and release data explicitly.5657```bash58gh repo edit ORG/REPO --description "Short concrete description" \59 --add-topic local-first --add-topic python --add-topic llm60git tag -a v1.0.0 -m "v1.0.0"61git push origin v1.0.062gh release create v1.0.0 --repo ORG/REPO --title "v1.0.0" --notes "..."63```6465Then verify:6667```bash68gh repo view ORG/REPO --json nameWithOwner,visibility,description,repositoryTopics,url69gh release view v1.0.0 --repo ORG/REPO --json tagName,url,isDraft,isPrerelease70gh run list --repo ORG/REPO --limit 571```7273If CI is red after a release, the repository is not cleanly published yet. For a just-created initial release, immediately and intentionally moving the fresh tag to the corrected commit is acceptable.7475## Common Mistakes7677| Mistake | Fix |78|---|---|79| `.gitignore` is added after `git add` | Unstage first, fix ignore rules, then add again |80| README is monolingual although the UI or skill is multilingual | Add language links or localized READMEs |81| No banner, topics, or description | Add discovery assets before announcement |82| Release tag exists, but CI is red | Fix CI and verify the new run |83| Organization README is updated, but `llms.txt` is missed | Update both human and machine-readable surfaces |84| Local path appears in public docs | Replace it with relative paths or generic examples |85| Public repo contains a test database or notebook inbox | Remove it from tracking, add ignore rules, rerun the gate |8687## Final Checklist8889- [ ] Local rules and locks checked.90- [ ] `.gitignore` existed before the first add.91- [ ] Public docs, license, security, contributing, changelog, and `llms.txt` present.92- [ ] README includes repo name, purpose, installation, usage, privacy, and license.93- [ ] i18n expectation met.94- [ ] Banner, logo, or screenshot present when useful.95- [ ] Tests and smokes pass.96- [ ] Privacy, path, secret, database, and mojibake scans clean.97- [ ] GitHub description, topics, tag, release, and CI verified.98- [ ] Organization profile, registry, and ecosystem links updated.99100## Changelog101102### 1.0.0 (2026-06-18)103- Created initial repository care and publication protocol.
Run npx skillmds@latest add ellmos-ai/en-5 in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
<img src="banner.png" width="100%" alt="github-repo-care banner"> It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
ellmos-ai (@ellmos-ai) published this skill. Their other Agent Skills are listed on their SkillMD profile.