github-community-files
Skill0 starsChanged 32 days agoMITView on GitHub
Drafts GitHub community health files that match how the project really works: LICENSE, CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md, SUPPORT.md, issue forms, pull request template, CODEOWNERS, FUNDING.yml, CITATION.cff, and account-wide defaults in a .github repository. Make sure to use this skill whenever the user mentions any of these files, a security or vulnerability reporting policy, issue or pull request templates, a code of conduct, choosing a license, contribution guidelines, or a sponsor button. Not for README.md (use github-readme-writer).
In this repository9 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- github-discoverabilitySkill
- github-profile-optimizerSkill
- github-readme-writerSkill
- github-release-writerSkill
- github-repo-auditSkill
- github-repo-familySkill
- github-repo-hardeningSkill
- github-upstream-contributorSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 4 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Write the files that tell people how to use, contribute to, report problems in, and fund a project, filled with the project's real commands …
- Very specific: line 20
--account-defaults: write the files into the account's .github repository so they apply to every repository without its own copy. - Distinctive: line 48
Commit convention: follow the detection rule in the file guide.
- Distinctive: line 70
Every label in a form exists, or is listed for creation.
- Very specific: line 71
Every CODEOWNERS owner exists (gh api users/NAME or gh api orgs/ORG/teams/TEAM).
- Distinctive: line 73
Every command in CONTRIBUTING.md appears in CI, a Makefile, or the manifests.
- Very specific: line 74
No placeholder like [INSERT or [NOTE: remains unlisted.
≈ “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.
Files
Community files
Write the files that tell people how to use, contribute to, report problems in, and fund a project, filled with the project's real commands and contacts rather than generic boilerplate.
When to use
- "Add a CONTRIBUTING guide", "we need a security policy", "set up issue templates", "add a code of conduct", "which license should I use"
- A
github-repo-auditresult lists area C fixes - The user wants the same files across all their repositories (
--account-defaults)
Input
- Path to the local repository (default: the current directory).
- Files: specific names, or
allfor the standard set. The standard set is LICENSE (if missing), CONTRIBUTING, SECURITY, CODE_OF_CONDUCT, issue forms withconfig.yml, and a PR template. Add SUPPORT, CODEOWNERS, FUNDING, and CITATION only when they fit (see the file guide). --account-defaults: write the files into the account's.githubrepository so they apply to every repository without its own copy.
Output
- Each file written to the location in github-facts.md:
.github/by default for this skill, except LICENSE and CITATION.cff, which go at the root. - A summary table with file, location, and source of the key facts.
- Placeholders, and any settings changes (enable private vulnerability reporting, create missing labels) as commands awaiting approval.
Workflow
Community files progress:
- [ ] 1. Find existing files and defaults
- [ ] 2. Choose the file set
- [ ] 3. Learn the real workflow
- [ ] 4. Ask for what cannot be detected (one message)
- [ ] 5. Draft each file
- [ ] 6. Validate
- [ ] 7. Write files and list settings changes1. Find existing files in .github/, root, and docs/. Note which already exist, and do not overwrite them silently. If gh works, also check gh api repos/OWNER/.github/contents --jq '.[].name'. Files there already act as defaults, and a new per-repository file overrides them. Say which applies.
2. Choose the file set from the request, or from the audit's area C fixes. Use references/file-guide.md to decide on SUPPORT, CODEOWNERS, FUNDING, and CITATION.
3. Learn the real workflow. Detect, never assume:
- Setup, test, lint, and build commands. CI workflow steps are the most reliable source, then the Makefile or justfile, then manifest scripts.
- Default branch:
git symbolic-ref refs/remotes/origin/HEAD. - Commit convention: follow the detection rule in the file guide.
- Sign-off requirements:
Signed-off-by:trailers mean DCO. A CLA bot in workflows means a CLA. - Maintainers:
gh api repos/OWNER/REPO/contributors --jq '.[0:5][].login', for CODEOWNERS candidates. Confirm them with the user. - Labels:
gh label listshows which labels exist for the issue forms. - Private vulnerability reporting:
gh api repos/OWNER/REPO/private-vulnerability-reporting.
4. Ask once, in a single message, for what cannot be detected:
- The security contact and response expectations.
- Supported versions.
- The code of conduct reporting contact.
- Funding handles.
- Citation authors and ORCID iDs.
- The license choice, if no LICENSE exists.
Offer defaults where sensible. For example, private vulnerability reporting is the default security channel for public repositories. When every open question has a safe default, do not stop: draft the files with the defaults, and list the decisions at the end so the user can change them. Stop and ask first only when a fact has no safe default, such as a private email address, the license choice, or funding handles.
5. Draft each file from templates/, following the per-file rules in references/file-guide.md. Two files are never written from memory:
- LICENSE:
gh api licenses/KEY --jq .body. Replace[year]and[fullname]. Read the license guide in the file guide first. - CODE_OF_CONDUCT.md: fetch Contributor Covenant 3.0 verbatim, as described in the file guide, and fill only its placeholders.
6. Validate.
- Each issue form parses as YAML and has
name,description, andbody. If PyYAML exists, check withpython3 -c "import sys, yaml; yaml.safe_load(open(sys.argv[1]))" FILE. - Every label in a form exists, or is listed for creation.
- Every CODEOWNERS owner exists (
gh api users/NAMEorgh api orgs/ORG/teams/TEAM). - FUNDING.yml uses only valid keys.
- Every command in CONTRIBUTING.md appears in CI, a Makefile, or the manifests.
- No placeholder like
[INSERTor[NOTE:remains unlisted.
7. Write the files and print the summary. List remote changes as commands awaiting approval. For example:
gh api -X PUT repos/OWNER/REPO/private-vulnerability-reporting
gh label create "good first issue" --color 7057ff --description "Good for newcomers"Hard rules
Shared rules: operating-rules.md. Additional rules for this skill:
- Legal and policy texts are fetched, not written. LICENSE comes from GitHub's license API. The code of conduct comes from the Contributor Covenant source. Never paraphrase or "improve" either. Say plainly that license guidance is not legal advice.
- No invented commitments. Response times, supported versions, bounty programs, and safe-harbor language appear only if the user provides or approves them.
- Security reports never go to public issues. SECURITY.md must route vulnerabilities to private reporting or a private address, and every
config.ymlyou write must include acontact_linksentry that sends security reports there, even when blank issues stay enabled. - Do not overwrite existing files without showing what changes. Prefer adding missing sections to an existing CONTRIBUTING.md over replacing it.
- LICENSE cannot be an account-wide default. In
--account-defaultsmode, skip it and say why.
Example
Input:
Add a contributing guide and a security policy to this repo.
Detected: CI runs uv sync, uv run pytest -q, and uv run ruff check .. 46 of the last 50 commit subjects match Conventional Commits. The default branch is main. Private vulnerability reporting is disabled.
Output (excerpt of .github/CONTRIBUTING.md):
## Run the tests
```bash
uv sync
uv run pytest -q
uv run ruff check .
```
CI runs the same commands on every pull request.
## Commit messages
This project uses [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/): `type(scope): summary`, for example `fix(parser): handle empty input`. Release notes are generated from these messages.Command awaiting approval: gh api -X PUT repos/acme-labs/tinyqueue/private-vulnerability-reporting
The complete files are in references/examples.md.
Reference files
- references/file-guide.md: which files a project needs, the per-file rules, the license guide, the code of conduct procedure, commit convention detection, labels, and account-wide defaults
- references/examples.md: a complete CONTRIBUTING.md and SECURITY.md, and an account-defaults run
templates/: CONTRIBUTING.md, SECURITY.md, SUPPORT.md, pull_request_template.md, CODEOWNERS, FUNDING.yml, CITATION.cff, and ISSUE_TEMPLATE/{bug_report.yml, feature_request.yml, config.yml}
Related skills
github-release-writer: owns the commit convention decision when a project has none, and the release process CONTRIBUTING.md links togithub-readme-writer: the README's Contributing and Security sections link to these filesgithub-repo-family: account-wide defaults for many repositories at once
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
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.

