github-community · git:20260921.a2e8de7 · 2026-09-21 · sha256 542cc32e161523bf
github-community git:20260921.a2e8de7A
Immutable. This exact content is served forever at /api/v1/blob/542cc32e161523bf.
--- name: github-community description: Improve contribution, support, issue and pull request workflows with repository-specific policies, templates, dependency updates, and development checks. Add only files that serve maintainers and users. --- # GitHub community workflows Make contribution and support practical for the actual maintenance model. A small internal tool and a public contributor community need different processes. ## Runtime and scope Resolve **GITHUB_HOME** from this skill directory: `../../github` in source, `../github` when installed. Verify `scripts/run_headless.py` exists and read `GITHUB_HOME/references/portable-workflows.md`. Resolve **TARGET** separately. ```text python "<GITHUB_HOME>/scripts/run_headless.py" community --help python "<GITHUB_HOME>/scripts/run_headless.py" community --path "<TARGET>" python "<GITHUB_HOME>/scripts/run_headless.py" community --path "<TARGET>" --write-files ``` Default mode writes `community-data.json`, `COMMUNITY-REPORT.md`, `COMMUNITY-PLAN.md`, and `COMMUNITY-SUMMARY.json`. It is a planning run with artifact writes. Review its generated file list before `--write-files`; use focused edits when the plan adds optional files beyond the request. ## Gather the effective workflow - Read repository instructions, contribution docs, build/test scripts, policy files, templates, CODEOWNERS, workflows, dependency updates, and devcontainers. - Look for root, `.github`, and `docs` locations and accepted filename/format variants. Read directory listings to find case variants and RST documents. Check applicable organization defaults before creating duplicate policies; verify current GitHub inheritance and precedence for the specific file. - Inspect current Issues/Discussions settings before linking to those channels. Verify an external tracker/support site if the project routes users elsewhere. - Check how contributors actually install dependencies and run relevant tests. Detect package workspaces and monorepo paths before generating automation. - Determine whether contributions are accepted, who reviews them, and which channels maintainers can support. Do not invent staffing, contacts, or SLAs. Classify evidence as **observed**, **unavailable**, or **not_applicable**. Missing remote access does not prove policies or channels are absent. Existing upstream names may be required attribution; correct copied project-specific URLs without removing provenance. ## Choose files by the friction they remove | Surface | Useful when | Verify | |---|---|---| | CONTRIBUTING | Contributors need setup and review guidance | Commands work; branching/testing matches actual practice | | Code of conduct | Maintainers adopt and enforce a community policy | Chosen policy version, authorized enforcement contact | | SUPPORT | Users need routing among docs, issues, support | Links work and match enabled channels | | Issue templates/forms | Reports lack information needed to reproduce/triage | Relevant fields, valid format, reasonable effort to submit | | PR template | Reviewers need intent and test evidence | Short prompts aligned with current checks | | CODEOWNERS | Verified teams/people should review defined paths | Existing identities, permissions, pattern coverage | | Funding | Maintainer has requested verified funding links | Actual supported account; never infer enrollment from ownership | | Devcontainer | Supported repeatable environment benefits contributors | Runtime versions, trusted setup command, working build | | Dependency updates | Dependencies need a maintainable update process | Actual ecosystems, directories, cadence, lockfile compatibility | | CI | Repeatable checks catch meaningful defects | Existing test/build commands and appropriate permissions | | `.gitattributes` | Real generated/vendor classification or line-ending needs | Paths and semantics reflect the repository | Do not generate all missing files. A Markdown issue template can be effective; YAML forms are an option for structured input, not an automatic quality upgrade. Blank issues may support valid workflows; disable them only for an agreed routing policy with a usable alternative. ## File-specific guidance ### Contribution, support, and conduct Document prerequisites, local setup, focused tests, submission expectations, and where to ask for help. Link existing detailed guides rather than duplicating commands likely to drift. Preserve a concise maintenance/contribution policy if the repository intentionally declines outside changes. When adding a code of conduct, obtain the chosen policy text from its official source, preserve attribution, and configure an authorized enforcement channel. Do not infer a public contact from Git author email. Keep unresolved contacts in an explicitly labeled draft and report them; do not present placeholders as a ready operational policy. ### Issues, pull requests, and discussions Use only fields maintainers need: version, environment, command/input, reproduction, expected versus actual result, and redacted logs. Warn against including credentials in report prompts. Avoid asking users to reproduce private security issues in a public bug form; link the verified security policy. For YAML forms, validate required IDs, field types, choices, and YAML syntax against current GitHub documentation. Link only enabled, verified support routes. Discussion form filenames must match discovered category slugs. If categories are unavailable, record that and omit speculative forms. Keep PR templates short and focused on behavior, tests, and compatibility/migration when relevant. ### Automation and environments Derive CI checks from actual project scripts and meaningful failure modes. Presence of a workflow or a green badge alone is not proof of correctness. Use scoped permissions, trusted/pinned actions under repository policy, supported runtime versions, and checks that run locally. Do not add deployment, publishing, secrets, or privileged pull-request execution as part of generic community setup. For dependency updates, inspect manifests and lockfiles in each package directory; avoid duplicating an existing updater. A devcontainer's install command must be reviewed and match the dependency manager/version the project uses. Do not run an untrusted setup hook merely to generate configuration. Linguist overrides must describe actual generated, vendored, or documentation files. Do not hide working installer scripts or research notebooks just to change the visible language percentages. No override is necessary for an honest mix. ## Apply and verify Use `GITHUB_HOME/references/community-files-guide.md` and `community-templates.md` for examples, checking current schemas and adapting them to observed workflows. License, security policy, and citation changes can use `github-legal`; release-note configuration can use `github-release` without requiring either entire workflow first. Write authorized changes, preserve user work, inspect the diff, parse changed YAML/JSON, verify links and identities, and run relevant project checks. Rendering or GitHub behavior unavailable locally should be recorded as unverified live, not silently counted as a success. Publishing remains a separate scoped action. Report files changed and the contributor/support problem each solves. List remaining placeholders, skipped files with applicability reasons, and verified versus unavailable checks. A community checklist can accompany this evidence; it does not measure whether the community is actually healthy.