| name | git-setup-skill |
|---|---|
| description | Prepares Git/GitHub repositories with .gitignore, .gitattributes, README files, licensing, metadata, tags, releases, and GitHub Actions. Use when the user wants to set up or professionalize a repository, add documentation or licensing, configure CI, or prepare releases and repo metadata. |
Use this skill when the user wants to professionalize a Git/GitHub repository. The skill should inspect before writing, infer as much as possible from the repo, and behave like a technical advisor: not just generating files, but recommending decisions with clear reasoning.
- Inspecting the repo before proposing changes
- Classifying the project type: library, app, CLI, template, internal repo, or demo
- Creating or refining
.gitignoreand.gitattributes - Generating or improving
README.mdwith useful content - Recommending and adding an appropriate license
- Configuring repository metadata: description, topics, and homepage when relevant
- Configuring GitHub Actions for CI and releases when they make sense
- Evaluating community health files such as
CODE_OF_CONDUCT.md,SECURITY.md, and issue/PR templates - Guiding tags and releases with
gitandgh
- "I need a good .gitignore and README"
- "set up GitHub Actions for tests"
- "I want professional releases and tags"
- "add a license and description to the repo"
- "let's make this repo GitHub-ready"
- "prepare this repo for open source"
For full repository setups, follow this checklist:
- Inspect the repository structure
- Identify project type and maturity
- Detect stack, language, runtime, test runner, and package manager
- Review existing files:
README.md,.gitignore,.gitattributes,.github/,LICENSE,CHANGELOG.md - Confirm project purpose, audience, and expected visibility if that cannot be inferred
- Choose a license based on reasoning, not popularity
- Draft or refine the README with sections that match the project type
- Define GitHub Actions only with real commands from the repo
- Configure repository metadata aligned with the README and intended use
- Evaluate community health files if the project is likely to receive external collaboration
- Define a tags and releases strategy only when appropriate
- Report changes, decisions, assumptions, and open follow-ups
Ask only when the answer cannot be inferred:
- What the project does and who it is for
- Language/runtime and test/build commands
- Desired license type when there is uncertainty
- Whether the user wants CI, release automation, or both
- Initial version and release strategy
- Whether
CODE_OF_CONDUCT.mdorSECURITY.mdshould be created
Ask explicitly if you detect:
- potential need for non-trivial licenses such as
AGPL,LGPL,MPL, dual licensing, or non-open-source licenses - corporate, academic, or client context that may require legal approval
- a monorepo or structure where it is unclear whether there should be one workflow or several
- Never overwrite user files without reviewing their contents
- Prefer section merges for README and existing docs
- If the stack is unclear, ask for confirmation
- Avoid placeholders when the repo already provides real facts
- If something is an assumption, label it as such
- Do not invent
lint,test, orbuildcommands - Do not default to
MITmechanically if there is enterprise context, patent sensitivity, or a clear copyleft preference - Do not add generic
SECURITY.mdor community files if nobody will maintain them - Do not create release automation if there is no release strategy yet
Use this section for defaults only. For deeper decision-making, read the relevant file under references/.
- Base it on the detected language, framework, and tooling
- Include build folders, caches, and local-only files
- Avoid ignoring configuration files the project actually needs
- Remember that team-wide ignores belong in
.gitignore, while personal ignores can go in.git/info/excludeor a global ignore file
- Use
text=auto eol=lfas a good cross-platform default - Mark binaries and files that need special normalization
- Adjust
eolby file type if the repo is strongly Windows-centric - Add
linguist-*rules only when the repository truly needs them
Include minimum sections:
- Clear summary
- Features or use cases
- Install / setup
- Usage
- Testing
- License
Then adapt by project type:
- library: short usage example
- CLI/app: run command and requirements
- template: what the user must customize
- internal repo: onboarding and operational conventions
- Use the correct template for the chosen license
- Add
yearandcopyright holderwhen the user specifies them or they can be inferred with high confidence - If there is no license and the repo will be public, explain that the code is not automatically reusable
- Recommend:
MITfor simplicity and adoptionApache-2.0when explicit patent protection is usefulGPL-3.0only when there is a clear copyleft preference
- If the legal case is ambiguous, escalate to the user instead of assuming
- CI: push and pull request using real commands
- Release: tag +
gh release createor a tag-triggered workflow when appropriate - Use cache according to the actual package manager
- Set minimal
permissions - Separate CI and release workflows when both exist
- Avoid unnecessary matrices and avoid
pull_request_targetunless there is a clear need
- Define a short description and useful topics
- Keep the README aligned with the description
- Use 3 to 8 truthful, specific topics
- Consider homepage and community health files if the repo will be externally visible
When the user wants metadata or releases, use gh:
gh repo edit --description "..." --add-topic "..."gh repo edit --homepage "https://..."gh release create vX.Y.Z --generate-notes
Avoid destructive or forceful git operations.
references/triggers.mdfor activation phrasesreferences/workflow.mdfor the base operational flowreferences/templates.mdfor reusable snippets and quality criteriareferences/github-actions.mdfor CI, security, and release automationreferences/releases.mdfor tags and versioningreferences/licenses.mdfor license selection with real tradeoffsreferences/repo-metadata.mdfor description, topics, and community health filesreferences/testing.mdfor validating the quality of the skill
Use these references as decision guides, not just as a checklist.
- Baseline files are created or improved without risky overwrites
- The README is clear, actionable, and aligned with the project
- CI works for the actual stack
- The license is correct or the recommendation is well justified
- Repository metadata is aligned with the project
- Recommendations are justified when tradeoffs exist
- Nothing important is invented or assumed without being marked
At the end, report:
- files created
- files updated
- files skipped
- key decisions: license, CI, releases, and metadata
- assumptions and follow-ups for the user