Implement comprehensive content moderation and community protection

- Added Code of Conduct with clear behavioral standards
- Created Contributing guidelines with submission requirements
- Implemented structured issue templates (bug reports, features, new agents, moderation)
- Disabled blank issues to enforce template usage
- Added automated content moderation via GitHub Actions:
  * Real-time scanning for hate speech, threats, and profanity
  * Automatic closure/locking of critical violations
  * Moderation alerts for maintainer review
- Set up welcome system for new contributors with community guidelines
- Enabled GitHub Discussions as alternative to issues for general questions
- Closed and locked existing hate speech issue #30
- Blocked offending user account

This creates a multi-layered defense against inappropriate content while
maintaining an open, welcoming environment for legitimate contributors.
This commit is contained in:
Seth Hobson
2025-08-01 16:42:41 -04:00
parent bb90279a91
commit ea5644ab9b
9 changed files with 882 additions and 0 deletions

70
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,70 @@
name: Bug Report
description: Report a bug or issue with an existing subagent
title: "[BUG] "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thank you for reporting a bug! Please fill out this template to help us understand and resolve the issue.
**Important**: This template is for technical bugs only. For questions, discussions, or general feedback, please use GitHub Discussions instead.
- type: checkboxes
id: preliminary-checks
attributes:
label: Preliminary Checks
description: Please confirm you have completed these steps
options:
- label: I have read the [Code of Conduct](.github/CODE_OF_CONDUCT.md)
required: true
- label: I have searched existing issues to ensure this is not a duplicate
required: true
- label: This report contains only technical information about a bug
- type: input
id: subagent
attributes:
label: Affected Subagent
description: Which subagent is experiencing the issue?
placeholder: e.g., python-pro, frontend-developer, etc.
validations:
required: true
- type: textarea
id: bug-description
attributes:
label: Bug Description
description: A clear and concise description of what the bug is
placeholder: Describe the unexpected behavior...
validations:
required: true
- type: textarea
id: reproduction-steps
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior
placeholder: |
1. Use subagent for...
2. Provide input...
3. Observe output...
4. See error...
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected Behavior
description: What you expected to happen
placeholder: The subagent should have...
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Any other context, screenshots, or examples
placeholder: Add any other context about the problem here...

11
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: GitHub Discussions
url: https://github.com/wshobson/agents/discussions
about: For questions, brainstorming, and general discussions about subagents
- name: Community Guidelines
url: https://github.com/wshobson/agents/blob/main/.github/CODE_OF_CONDUCT.md
about: Read our Code of Conduct and community standards
- name: Contributing Guide
url: https://github.com/wshobson/agents/blob/main/.github/CONTRIBUTING.md
about: Learn how to contribute effectively to this project

View File

@@ -0,0 +1,77 @@
name: Feature Request
description: Suggest an improvement or new feature for existing subagents
title: "[FEATURE] "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thank you for suggesting a feature! Please provide detailed information to help us understand your request.
**Note**: For new subagent proposals, please use the "New Subagent Proposal" template instead.
- type: checkboxes
id: preliminary-checks
attributes:
label: Preliminary Checks
description: Please confirm you have completed these steps
options:
- label: I have read the [Code of Conduct](.github/CODE_OF_CONDUCT.md)
required: true
- label: I have searched existing issues to ensure this is not a duplicate
required: true
- label: This is a constructive feature request for legitimate use cases
required: true
- type: input
id: subagent
attributes:
label: Target Subagent
description: Which subagent would this feature enhance?
placeholder: e.g., python-pro, frontend-developer, etc.
validations:
required: true
- type: textarea
id: problem-description
attributes:
label: Problem Description
description: What problem does this feature solve?
placeholder: Currently, users need to... This is frustrating because...
validations:
required: true
- type: textarea
id: proposed-solution
attributes:
label: Proposed Solution
description: Describe your preferred solution
placeholder: I would like the subagent to be able to...
validations:
required: true
- type: textarea
id: use-cases
attributes:
label: Use Cases
description: Provide specific examples of how this would be used
placeholder: |
1. When developing...
2. For projects that...
3. To help with...
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Other solutions you've considered
placeholder: I also considered... but this wouldn't work because...
- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Any other relevant information
placeholder: Add any other context, examples, or screenshots here...

View File

@@ -0,0 +1,106 @@
name: Moderation Report
description: Report inappropriate content, behavior, or Code of Conduct violations
title: "[MODERATION] "
labels: ["moderation"]
body:
- type: markdown
attributes:
value: |
**⚠️ Use this template to report violations of our Code of Conduct, inappropriate content, or concerning behavior.**
All reports are taken seriously and will be reviewed by maintainers. False reports may result in moderation action.
**For urgent safety concerns or severe violations, you may also use GitHub's built-in reporting tools.**
- type: checkboxes
id: preliminary-checks
attributes:
label: Reporting Guidelines
description: Please confirm you understand these guidelines
options:
- label: I am reporting a genuine violation of the Code of Conduct
required: true
- label: I understand that false reports may result in moderation action
required: true
- label: I have attempted to resolve minor issues through direct communication (if applicable)
required: false
- type: dropdown
id: violation-type
attributes:
label: Type of Violation
description: What type of inappropriate behavior are you reporting?
options:
- Hate speech or discriminatory language
- Personal attacks or harassment
- Spam or off-topic content
- Inappropriate or offensive content
- Threats or intimidation
- Doxxing or privacy violations
- Impersonation
- Other Code of Conduct violation
validations:
required: true
- type: input
id: location
attributes:
label: Location of Violation
description: Where did this occur? (issue number, PR, comment link, etc.)
placeholder: e.g., Issue #123, PR #456, comment in issue #789
validations:
required: true
- type: input
id: user-involved
attributes:
label: User(s) Involved
description: GitHub username(s) of the person(s) involved (if known)
placeholder: e.g., @username1, @username2
- type: textarea
id: description
attributes:
label: Description of Violation
description: Detailed description of what happened and why it violates our Code of Conduct
placeholder: Please provide specific details about the violation...
validations:
required: true
- type: textarea
id: evidence
attributes:
label: Evidence
description: Any additional evidence (quotes, screenshots, etc.)
placeholder: |
You can include:
- Direct quotes (use > for blockquotes)
- Links to specific comments
- Screenshots (drag and drop images here)
- Timestamps of when violations occurred
- type: textarea
id: impact
attributes:
label: Impact
description: How has this affected you or the community?
placeholder: This behavior has made me feel... It affects the community by...
- type: checkboxes
id: previous-reports
attributes:
label: Previous Reports
options:
- label: This is the first time I'm reporting this user/behavior
- label: I have reported this user/behavior before
- type: markdown
attributes:
value: |
**What happens next:**
- Maintainers will review your report within 24-48 hours
- We may follow up with questions if needed
- We will take appropriate action based on our Code of Conduct
- We will update you on the resolution when possible
Thank you for helping maintain a respectful community.

111
.github/ISSUE_TEMPLATE/new_subagent.yml vendored Normal file
View File

@@ -0,0 +1,111 @@
name: New Subagent Proposal
description: Propose a new specialized subagent for the collection
title: "[NEW AGENT] "
labels: ["new-subagent"]
body:
- type: markdown
attributes:
value: |
Thank you for proposing a new subagent! Quality subagents require careful design and clear specialization.
**Important**: Only propose subagents for legitimate, constructive use cases. Proposals for malicious or harmful capabilities will be rejected and may result in moderation action.
- type: checkboxes
id: preliminary-checks
attributes:
label: Preliminary Checks
description: Please confirm you have completed these steps
options:
- label: I have read the [Code of Conduct](.github/CODE_OF_CONDUCT.md)
required: true
- label: I have reviewed existing subagents to ensure this is not a duplicate
required: true
- label: This proposal is for legitimate, constructive use cases only
required: true
- label: I have domain expertise in the proposed area
required: true
- type: input
id: agent-name
attributes:
label: Proposed Agent Name
description: What should this subagent be called?
placeholder: e.g., blockchain-developer, devops-security, etc.
validations:
required: true
- type: textarea
id: domain-expertise
attributes:
label: Domain Expertise
description: What specific domain or technology does this agent specialize in?
placeholder: This agent specializes in...
validations:
required: true
- type: textarea
id: unique-value
attributes:
label: Unique Value Proposition
description: How is this different from existing subagents? What unique capabilities does it provide?
placeholder: Unlike existing agents, this one would...
validations:
required: true
- type: textarea
id: use-cases
attributes:
label: Primary Use Cases
description: What specific tasks would this agent handle?
placeholder: |
1. Design and implement...
2. Optimize performance for...
3. Debug issues related to...
4. Review code for...
validations:
required: true
- type: textarea
id: tools-capabilities
attributes:
label: Required Tools & Capabilities
description: What tools and capabilities would this agent need?
placeholder: |
- File manipulation for...
- Bash commands for...
- Specialized knowledge of...
- Integration with...
validations:
required: true
- type: textarea
id: examples
attributes:
label: Example Interactions
description: Provide 2-3 example interactions showing how users would work with this agent
placeholder: |
**Example 1:**
User: "Implement a smart contract for..."
Agent response: "I'll create a secure smart contract with..."
**Example 2:**
User: "Optimize this blockchain query..."
Agent response: "Let me analyze the query and suggest optimizations..."
validations:
required: true
- type: textarea
id: expertise-evidence
attributes:
label: Your Expertise
description: What experience or credentials do you have in this domain?
placeholder: I have X years of experience in... I've worked with... I hold certifications in...
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Any other relevant information, resources, or considerations
placeholder: Relevant documentation, similar tools, potential challenges...