agentleFS
npownpow/claude-skills/init-github-repo/SKILL.md

init-github-repo

Skill4 starsChanged 6 months agoApache-2.0View on GitHub

Initializes a Git repository with a complete GitHub presence — JTBD-focused README with badges, CI/CD workflow, license, .gitignore, and SEO-optimized repo description and topics. Use when the user asks to initialize a repo, set up GitHub, create a readme, push to GitHub, set up CI/CD, or prepare a project for open source.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before delivering, verify ALL:

    line 32
  2. Very specific:

    Badges must resolve: Every badge URL must contain the actual GitHub owner/repo slug and package name.

    line 53
  3. Distinctive:

    Detect, never assume: Read project metadata files to determine language, package name, license, and test commands.

    line 54
  4. Distinctive:

    Git identity is explicit: Always ask the user for their preferred name/email and set it at the repo level (not global) when initializing a …

    line 57

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Init GitHub Repo

Initializes a complete GitHub repository by detecting the project type and generating a JTBD-focused README, CI/CD pipeline, license, .gitignore, and SEO-optimized repo metadata.

Workflow

  1. Detect project type — read pyproject.toml, package.json, Cargo.toml, go.mod, or other markers to determine language, package name, license, and version. See CICD.md.
  2. Initialize git — if not already a repo, run git init, then ask the user for their preferred name/email and set it at repo level. See GITHUB.md.
  3. Create .gitignore — generate language-appropriate .gitignore. See CICD.md.
  4. Create LICENSE — detect license from project metadata or default to Apache-2.0. See GITHUB.md.
  5. Write README.md — JTBD-focused structure with badges, problem statement, quick start, and install. See README-TEMPLATE.md.
  6. Create CI/CD workflow — generate .github/workflows/ci.yml matched to the detected language. See CICD.md.
  7. Create GitHub repo and push — create remote with gh repo create, set description and topics, commit and push. See GITHUB.md.
  8. Update profile README — clone the user's profile repo (GH_USER/GH_USER) if not present, add the new repo to the correct section alphabetically, commit and push. See GITHUB.md.
  9. Verify — confirm gh repo view shows correct description and topics, profile README updated, badges render correctly. See GITHUB.md.

Self-review checklist

Before delivering, verify ALL:

  • README first paragraph answers "what job does this do for me?" — not "what is this tool"
  • README has zero feature bullet lists before the problem statement
  • All badge URLs contain the correct GitHub owner/repo and package name
  • Mintlify docs badge is included: [![Docs](https://img.shields.io/badge/docs-mintlify-18a34a?style=flat-square)](https://mintlify.com/OWNER/REPO)
  • CI workflow runs the correct test command for the detected language (pytest for Python, npm test for Node, etc.)
  • .gitignore includes language-specific entries (e.g., __pycache__/ for Python, node_modules/ for Node)
  • LICENSE file matches the license field in project metadata
  • Repo description is under 100 characters with no trailing period
  • Repo has 5-10 topics that include the language name, problem domain, and 2-3 SEO keywords
  • Git user.name and user.email are set at repo level (check with git config user.name)
  • gh repo view succeeds and shows the description
  • Profile README contains the new repo in the correct section, alphabetically ordered
  • Private repos have 🔒 at end of line in profile README, public repos do not

Golden rules

Hard rules. Never violate these.

  1. JTBD first, features never. The README opens with the problem the user has, not what the tool does. "You have X problem" before "This tool does Y." Never write a feature bullet list as the first section.
  2. Badges must resolve. Every badge URL must contain the actual GitHub owner/repo slug and package name. Never use placeholder values like username/repo. Verify by constructing the URL from gh repo view --json nameWithOwner.
  3. Detect, never assume. Read project metadata files to determine language, package name, license, and test commands. Never hardcode "Python" or "MIT" without checking the actual files first.
  4. Description is a headline. Under 100 characters, no trailing period, no implementation details. It answers "why would I click this?" not "what technology does this use?"
  5. Topics are SEO. Include the programming language, the problem domain keyword, and 2-3 terms someone would search for on GitHub to find this project. Never use generic tags like "awesome" or "tool."
  6. Git identity is explicit. Always ask the user for their preferred name/email and set it at the repo level (not global) when initializing a new repo. If the user declines, let the global config apply.

Reference files

FileContents
README-TEMPLATE.mdJTBD readme structure, badge format templates per language, writing rules for each section
CICD.mdProject type detection logic, CI/CD workflow templates per language, .gitignore templates
GITHUB.mdGit init commands, gh repo create/edit commands, description and topics guidance, LICENSE templates, verification steps

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.