Manage GitHub Repository
Treat the repository name, remote metadata, visual identity, and README as one release. Use GitHub
CLI for supported repository mutations and $create-context-aware-logos for visual assets.
Workflow
- Inspect the repository before proposing changes:
- read the primary README, manifest files, license, repository layout, Git status, remotes, and
recent commits;
- run
gh --version and gh auth status;
- determine the repository's audience, actual capabilities, package or product name, and current
public URL;
- preserve unrelated working-tree changes.
- Draft one explicit change set containing:
- current and proposed
OWNER/REPOSITORY;
- local checkout path after rename;
- description of at most 350 characters;
- homepage URL, or an explicit decision to leave it unset;
- a focused topic list using lowercase hyphenated terms;
- planned logo, lockup, social preview, and README changes.
- Show the plan and obtain confirmation before any remote mutation, push, or local directory rename.
Treat confirmation for the requested change set as authorization for those exact operations only.
- Read references/github-surfaces.md before producing assets or
editing repository settings.
- Invoke
$create-context-aware-logos with the repository context. Require the GitHub repository
deliverables from that skill, including social-preview.png at 1280 x 640 and under 1 MB.
- Update the README around real user needs:
- place the lockup or mark near the title with useful alt text;
- state what the project does before installation details;
- include the shortest verified install or usage path;
- document prerequisites and limitations without invented claims;
- keep badges restrained and link every badge to a meaningful destination;
- preserve useful existing content and maintain translated READMEs together.
- Run the deterministic metadata helper in preview mode, inspect its plan, then rerun with
--apply:
python scripts/manage_repository.py `
--repo-path <checkout> `
--name <new-name> `
--description "<description>" `
--homepage "<url>" `
--topic <topic> --topic <topic> `
--rename-local
- Verify the local and remote result:
git status --short --branch;
git remote get-url origin;
gh repo view OWNER/NEW-NAME --json nameWithOwner,description,homepageUrl,repositoryTopics,url;
- asset dimensions, file size, SVG rendering, and README links;
- the repository page and social preview through a browser when browser automation is available.
- Commit only intended files and push normally. Never force-push merely because the repository was
renamed. Report any remaining manual step, especially social-preview upload.
GitHub CLI
Use gh as the MVP dependency because it provides authenticated, supported commands for repository
metadata and rename operations. If gh is missing, pause before mutation and install it with the
platform's official package path only after approval. If authentication is missing, ask the user to
complete gh auth login; do not request or print a token.
The helper is safe by default: without --apply it only prints the planned commands. It updates
metadata first, renames the remote repository second, updates the local origin URL third, and
attempts the local checkout rename last. If the operating system holds the checkout directory open,
leave the completed remote changes intact and rename the directory from its parent in a fresh shell.
For external GitHub commands, use $private-github-proxy when that skill is available in the current
environment. Do not persist proxy configuration.
Boundaries
- Do not change visibility, transfer ownership, rewrite history, delete topics, or alter branch
protection unless the user separately requests it.
- Do not claim GitHub has a repository-logo field. The README logo and social preview are separate
surfaces.
- Do not use undocumented API endpoints to upload the social preview. Upload it through the
repository's Settings page with browser automation, or give the user that one manual step.
- Do not rename package identifiers, import paths, deployment targets, or external integrations just
because the repository changes name. Audit and propose those as separate compatibility changes.
- Do not commit generated concepts, temporary renders, secrets, credentials, or local configuration.
1---2name: manage-github-repository3description: Audit, rename, and polish a GitHub repository across its local checkout and remote settings. Use when Codex needs to synchronize a local and GitHub repository name, set the description, homepage URL, or topics, create repository branding and a GitHub social preview, restructure a README, or prepare and publish a cohesive repository identity. Uses GitHub CLI for supported remote operations and delegates visual identity work to $create-context-aware-logos.4---56# Manage GitHub Repository78Treat the repository name, remote metadata, visual identity, and README as one release. Use GitHub9CLI for supported repository mutations and `$create-context-aware-logos` for visual assets.1011## Workflow12131. Inspect the repository before proposing changes:14 - read the primary README, manifest files, license, repository layout, Git status, remotes, and15 recent commits;16 - run `gh --version` and `gh auth status`;17 - determine the repository's audience, actual capabilities, package or product name, and current18 public URL;19 - preserve unrelated working-tree changes.202. Draft one explicit change set containing:21 - current and proposed `OWNER/REPOSITORY`;22 - local checkout path after rename;23 - description of at most 350 characters;24 - homepage URL, or an explicit decision to leave it unset;25 - a focused topic list using lowercase hyphenated terms;26 - planned logo, lockup, social preview, and README changes.273. Show the plan and obtain confirmation before any remote mutation, push, or local directory rename.28 Treat confirmation for the requested change set as authorization for those exact operations only.294. Read [references/github-surfaces.md](references/github-surfaces.md) before producing assets or30 editing repository settings.315. Invoke `$create-context-aware-logos` with the repository context. Require the GitHub repository32 deliverables from that skill, including `social-preview.png` at 1280 x 640 and under 1 MB.336. Update the README around real user needs:34 - place the lockup or mark near the title with useful alt text;35 - state what the project does before installation details;36 - include the shortest verified install or usage path;37 - document prerequisites and limitations without invented claims;38 - keep badges restrained and link every badge to a meaningful destination;39 - preserve useful existing content and maintain translated READMEs together.407. Run the deterministic metadata helper in preview mode, inspect its plan, then rerun with `--apply`:4142```powershell43python scripts/manage_repository.py `44 --repo-path <checkout> `45 --name <new-name> `46 --description "<description>" `47 --homepage "<url>" `48 --topic <topic> --topic <topic> `49 --rename-local50```51528. Verify the local and remote result:53 - `git status --short --branch`;54 - `git remote get-url origin`;55 - `gh repo view OWNER/NEW-NAME --json nameWithOwner,description,homepageUrl,repositoryTopics,url`;56 - asset dimensions, file size, SVG rendering, and README links;57 - the repository page and social preview through a browser when browser automation is available.589. Commit only intended files and push normally. Never force-push merely because the repository was59 renamed. Report any remaining manual step, especially social-preview upload.6061## GitHub CLI6263Use `gh` as the MVP dependency because it provides authenticated, supported commands for repository64metadata and rename operations. If `gh` is missing, pause before mutation and install it with the65platform's official package path only after approval. If authentication is missing, ask the user to66complete `gh auth login`; do not request or print a token.6768The helper is safe by default: without `--apply` it only prints the planned commands. It updates69metadata first, renames the remote repository second, updates the local `origin` URL third, and70attempts the local checkout rename last. If the operating system holds the checkout directory open,71leave the completed remote changes intact and rename the directory from its parent in a fresh shell.7273For external GitHub commands, use `$private-github-proxy` when that skill is available in the current74environment. Do not persist proxy configuration.7576## Boundaries7778- Do not change visibility, transfer ownership, rewrite history, delete topics, or alter branch79 protection unless the user separately requests it.80- Do not claim GitHub has a repository-logo field. The README logo and social preview are separate81 surfaces.82- Do not use undocumented API endpoints to upload the social preview. Upload it through the83 repository's Settings page with browser automation, or give the user that one manual step.84- Do not rename package identifiers, import paths, deployment targets, or external integrations just85 because the repository changes name. Audit and propose those as separate compatibility changes.86- Do not commit generated concepts, temporary renders, secrets, credentials, or local configuration.