github-community-health
Guide for setting up GitHub community health files for open source repositories. Use when preparing repos for public release, adding community standards files, or configuring issue/PR templates.
What this skill does
# GitHub Community Health
Activate when setting up or auditing community health files for GitHub repositories. This skill covers the files GitHub checks in its Community Standards profile, plus related repo configuration.
## When to Use This Skill
Activate when:
- Preparing a repository for public/open-source release
- Adding or updating community standards files (CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, etc.)
- Setting up issue or pull request templates
- Configuring CODEOWNERS or FUNDING.yml
- Auditing a repo against GitHub's community profile checklist
- Setting repo-level configuration (merge strategy, branch protection, topics)
## Community Profile Checklist
GitHub checks these 6 items on the `/community` tab:
1. **README** — project overview, usage, and getting started
2. **LICENSE** — open-source license file in repo root
3. **CODE_OF_CONDUCT.md** — community behavior standards
4. **CONTRIBUTING.md** — how to contribute
5. **Issue templates** — structured bug/feature reporting
6. **SECURITY.md** — vulnerability disclosure policy
Check current status:
```bash
# View community profile metrics via API
gh api repos/{owner}/{repo}/community/profile
```
## GitHub Template APIs
GitHub provides APIs to fetch common templates at runtime. Always fetch rather than hardcode — templates get updated.
```bash
# List available license templates (13 licenses)
gh api licenses --jq '.[].key'
# Fetch a specific license body
gh api licenses/mit --jq '.body'
# Fetch Code of Conduct (note: API serves v2.0, not latest v3.0)
gh api codes_of_conduct/contributor_covenant --jq '.body'
# List available gitignore templates
gh api gitignore/templates
# Fetch a specific gitignore template
gh api gitignore/templates/Node --jq '.source'
```
## LICENSE
Use the GitHub API to list and fetch license templates:
```bash
# List all available licenses
gh api licenses --jq '.[] | "\(.key): \(.name)"'
# Fetch license text (has [year] and [fullname] placeholders)
gh api licenses/mit --jq '.body'
gh api licenses/apache-2.0 --jq '.body'
gh api licenses/gpl-3.0 --jq '.body'
```
After fetching, replace placeholders:
- `[year]` — current year (or year range)
- `[fullname]` — copyright holder name
Place the file as `LICENSE` (no extension) in the repository root.
## CODE_OF_CONDUCT.md
The GitHub API serves Contributor Covenant **v2.0**, but the latest version is **v3.0** (available at contributor-covenant.org).
**Preferred approach** — fetch latest from the source:
```bash
# Fetch Contributor Covenant v3.0 (latest)
curl -sL https://www.contributor-covenant.org/version/3/0/code_of_conduct.md
```
**Fallback** — use the GitHub API (v2.0):
```bash
gh api codes_of_conduct/contributor_covenant --jq '.body'
```
Customize these fields:
- **Contact method** — email, issue tracker, or reporting form
- **Project name** — replace placeholder with actual project name
- **Scope** — define where the CoC applies (repo, events, social media)
Place as `CODE_OF_CONDUCT.md` in the repo root or `.github/` directory.
## CONTRIBUTING.md
Structure the guide with these sections:
```markdown
# Contributing to {project}
## Getting Started
- Fork and clone the repo
- Install dependencies
- Run the test suite
## Development Setup
- Required tools and versions
- Environment configuration
- Build commands
## How to Contribute
### Bug Reports
- Use the bug report issue template
- Include reproduction steps
- Attach logs or screenshots
### Feature Requests
- Use the feature request issue template
- Describe the use case
- Explain expected behavior
### Pull Requests
- Branch from `main`
- Follow the code style guide
- Write/update tests
- Update documentation
- Reference related issues
## Style Guide
- Language-specific conventions
- Linting and formatting tools
- Commit message format
## Code of Conduct
This project follows the [Contributor Covenant](CODE_OF_CONDUCT.md).
```
Place as `CONTRIBUTING.md` in the repo root or `.github/` directory.
## Issue Templates
GitHub supports YAML-based issue forms. Place templates in `.github/ISSUE_TEMPLATE/`.
### Configuration
`.github/ISSUE_TEMPLATE/config.yml` — controls the template chooser:
```yaml
blank_issues_enabled: false
contact_links:
- name: Questions & Discussions
url: https://github.com/{owner}/{repo}/discussions
about: Ask questions in Discussions instead of opening issues
```
### Bug Report Template
`.github/ISSUE_TEMPLATE/bug_report.yml`:
```yaml
name: Bug Report
description: Report a bug or unexpected behavior
title: "[Bug]: "
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: Thanks for reporting a bug!
- type: textarea
id: description
attributes:
label: Description
description: What happened? What did you expect?
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: Minimal steps to reproduce the issue
placeholder: |
1. Run '...'
2. See error
validations:
required: true
- type: input
id: version
attributes:
label: Version
description: Which version are you using?
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
options:
- macOS
- Linux
- Windows
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant Logs
description: Paste any error output or logs
render: shell
```
### Feature Request Template
`.github/ISSUE_TEMPLATE/feature_request.yml`:
```yaml
name: Feature Request
description: Suggest a new feature or improvement
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: textarea
id: problem
attributes:
label: Problem
description: What problem does this solve?
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
description: How should this work?
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: What other approaches did you consider?
- type: textarea
id: context
attributes:
label: Additional Context
description: Any other relevant information
```
## Pull Request Template
`.github/PULL_REQUEST_TEMPLATE.md`:
```markdown
## Summary
<!-- Brief description of changes -->
## Changes
-
## Testing
- [ ] Tests pass locally
- [ ] New tests added for new functionality
## Checklist
- [ ] Code follows project style guide
- [ ] Documentation updated
- [ ] No breaking changes (or documented in summary)
## Related Issues
<!-- Closes #123 -->
```
## SECURITY.md
Define a vulnerability disclosure policy:
```markdown
# Security Policy
## Supported Versions
| Version | Supported |
| ------- | ------------------ |
| x.x.x | :white_check_mark: |
| < x.x.x | :x: |
## Reporting a Vulnerability
**Do not open a public issue for security vulnerabilities.**
To report a vulnerability:
1. Use [GitHub Security Advisories](https://github.com/{owner}/{repo}/security/advisories/new)
2. Or email: [email protected]
Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
## Response Timeline
- **Acknowledgment**: within 48 hours
- **Initial assessment**: within 1 week
- **Fix timeline**: depends on severity
## Disclosure Policy
We follow coordinated disclosure. We ask reporters to:
- Allow reasonable time for a fix before public disclosure
- Avoid exploiting the vulnerability beyond what is needed to demonstrate it
```
Place as `SECURITY.md` in the repo root or `.github/` directory. GitHub detects it automatically and shows a "Security policy" link on the Security tab.
## .gitignore
Use the GitHub API to fetch language-specific templates:
```bash
# List all available templates
ghRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.