From add-community-files
Add standard community files to a project: CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, and a pull request template. Use when the user says "add community files", "add contributing guide", "prepare for open source", "add code of conduct", "add security policy", or any variant involving adding community or open-source readiness files to a project.
How this skill is triggered — by the user, by Claude, or both
Slash command
/add-community-files:add-community-filesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Add standard community files to a project preparing for public release. Detects the project's build system and tooling to populate contribution guidelines with relevant setup, test, and lint commands.
Add standard community files to a project preparing for public release. Detects the project's build system and tooling to populate contribution guidelines with relevant setup, test, and lint commands.
Files generated:
| File | Description |
|---|---|
CONTRIBUTING.md | Contribution guidelines |
CODE_OF_CONDUCT.md | Contributor Covenant v3.0 |
.github/SECURITY.md | Security vulnerability report policy |
.github/PULL_REQUEST_TEMPLATE.md | Pull request template |
git remote get-url origin to get the remote URL..git suffix.[email protected]:owner/repo), convert the host: prefix to an HTTPS-style URL (e.g., https://github.com/owner/repo).GITHUB-OWNER/PROJECT-NAME.PROJECT-NAME and GITHUB-OWNER/PROJECT-NAME for placeholder substitution.git config user.email.https://github.com/GITHUB-OWNER/PROJECT-NAME/discussionshttps://github.com/GITHUB-OWNER/PROJECT-NAME/issuesCONTACT-EMAIL.Scan for build system markers using Glob. Use the first match:
| Marker | Build system | Install | Build | Test | Lint | Format |
|---|---|---|---|---|---|---|
Makefile | Make | (check targets) | make build | make test | make lint | make fmt |
package.json | Node.js | npm install | npm run build | npm test | npm run lint | npm run format |
Cargo.toml | Cargo | (none) | cargo build | cargo test | cargo clippy | cargo fmt |
pyproject.toml | Python (uv) | uv sync | (none) | uv run pytest | uv run ruff check | uv run ruff format |
go.mod | Go | go mod download | go build ./... | go test ./... | golangci-lint run | gofmt -w . |
Gemfile | Ruby | bundle install | (none) | bundle exec rake test | bundle exec rubocop | bundle exec rubocop -A |
If a Makefile is present, read it and parse available target names. Use Makefile targets when they exist (they often wrap the underlying tool). For example, if both go.mod and a Makefile with test and lint targets exist, prefer make test and make lint.
If package.json is present, read the scripts object to discover available script names. Use the actual script names rather than guessing.
Detect linting tools from config files:
| Config file(s) | Tool |
|---|---|
.golangci.yml, .golangci.yaml | golangci-lint |
eslint.config.*, .eslintrc.* | ESLint |
.prettierrc*, prettier.config.* | Prettier |
ruff.toml, [tool.ruff] in pyproject.toml | Ruff |
.shellcheckrc | ShellCheck |
clippy.toml, .clippy.toml | Clippy |
.rubocop.yml | RuboCop |
Store detected commands for use in templates:
INSTALL-COMMANDBUILD-COMMANDTEST-COMMANDLINT-COMMANDFORMAT-COMMANDREQUIREMENT-LIST (language runtime version, required tools)Check whether each target file already exists:
| File | Path |
|---|---|
| CONTRIBUTING.md | ./CONTRIBUTING.md |
| CODE_OF_CONDUCT.md | ./CODE_OF_CONDUCT.md |
| SECURITY.md | ./.github/SECURITY.md |
| PR template | ./.github/PULL_REQUEST_TEMPLATE.md |
For each file that exists, ask the user before overwriting.
If .github/ does not exist, create it.
Report findings to the user before proceeding.
./references/contributing.md.PROJECT-NAME, GITHUB-OWNER, etc.) with detected values.REQUIREMENT-LIST with detected language runtime and tools.INSTALL-COMMAND, BUILD-COMMAND, TEST-COMMAND, LINT-COMMAND, and FORMAT-COMMAND with detected commands.## Notes section (it is documentation for the template, not for the output file)../CONTRIBUTING.md../references/code-of-conduct.md.CONTACT-EMAIL with the user's chosen contact method.## Notes section../CODE_OF_CONDUCT.md../references/security.md.## Notes section../.github/SECURITY.md../references/pr-template.md.make test)").CHANGELOG.md exists in the project, add: "I have updated [CHANGELOG](../CHANGELOG.md) if this is a user-facing change".## Notes section../.github/PULL_REQUEST_TEMPLATE.md.Print a summary table:
| File | Status |
| ----------------------------------- | ------- |
| CONTRIBUTING.md | Created |
| CODE_OF_CONDUCT.md | Created |
| .github/SECURITY.md | Created |
| .github/PULL_REQUEST_TEMPLATE.md | Created |
Use "Created", "Skipped (exists)", or "Updated" as appropriate.
Suggest next steps:
/lint-and-fix to check formattingPROJECT-NAME and ask the user for the GitHub owner.YOUR-INSTALL-COMMAND, etc.) and warn the user to fill them in manually.Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub cboone/agent-harness-plugins --plugin add-community-files