# Push Projects to GitHub Safely

Publishing a local project can expose secrets or fail because of large files. This skill guides GitHub setup, push, and release steps with checks and confirmations.

## Install

```bash
npx skillstore add yunshu0909/git-push
```

## Metadata

- Status: approved
- Slug: yunshu0909-git-push
- Skillstore revision: r1
- Version status: missing
- Tree hash: 3f514ac1a09f92984eaca9bd86b97814c76d387afaf8b98d711a620927f5960e
- Author: yunshu0909
- GitHub username: yunshu0909
- License: MIT
- Repository: https://github.com/yunshu0909/yunshu\_skillshub/tree/master/git-push
- Ref: 64ca8af0f54a325752f08bd54e52151061ea659a
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands
- Quality score: 50
- Quality tier: warning
- Public page: https://skillstore.pages.dev/skills/yunshu0909-git-push
- Manifest: https://skillstore.pages.dev/api/skills/yunshu0909-git-push/manifest

## Capabilities

- Checks git, GitHub CLI, GitHub login, and git user configuration before pushing.
- Chooses first push, daily update, or release workflow from the local repository state.
- Reviews large files and sensitive filename patterns before public repository publishing.
- Generates or merges .gitignore entries after showing changes for user confirmation.
- Creates or links GitHub repositories, commits changes, pushes branches, and publishes tags.
- Creates GitHub Releases with generated notes and optional user-approved attachments.

## Use Cases

- Publish a New Project: Create a GitHub repository, prepare .gitignore, make the first commit, and push the main branch.
- Push Daily Updates: Review changed files, check new large files, create a clear commit, and push to the existing remote.
- Create a GitHub Release: Suggest a version tag, summarize commits, create a release, and attach approved files.

## Prompt Templates

### Publish a New Project

```
Push this project to GitHub as a private repository. Use the current folder name unless I choose another name.
```

### Push Current Changes

```
Push my current changes to the existing remote. Check new large files and generate a clear commit message.
```

### Prepare a Public Repository

```
Publish this project as a public GitHub repository. First review .gitignore, large files, and sensitive filenames with me.
```

### Create a Release With Assets

```
Create the next GitHub Release from the latest commits. Suggest a version, generate notes, and ask before uploading any asset.
```

## Limitations

- Requires git and the GitHub CLI to be installed and authenticated.
- Uses filename and path checks for sensitive content, not full secret detection.
- Cannot clean files that are already committed to Git history without extra history rewrite steps.
- Operates on the current local project and the active GitHub CLI account.

## Best Practices

- Review the .gitignore changes and exclusion list before the first commit.
- Use private visibility until sensitive content review is complete.
- Confirm the target GitHub account, repository name, and release assets before publishing.

## Anti Patterns

- Do not publish a public repository before checking for secrets and private files.
- Do not force push unless the remote history can be safely discarded.
- Do not upload release attachments that you have not reviewed.

## Security Audit

- Audited at: 2026-07-08T13:41:39.033\+00:00
- Summary: Most static findings are Markdown formatting false positives, including the sensitive-file and entropy alerts. Several git and GitHub CLI workflows are confirmed because they can publish local files, mutate repository history, or upload release assets. No prompt injection text was found in the reviewed skill file.

## Stats

- Views: 147
- Downloads: 20
- Favorites: 0
- Popularity score: 0
