Rules and skills that teach AI agents how to contribute to open source projects without being the villain.
92
94%
Does it follow best practices?
Impact
92%
3.40xAverage score across 18 eval scenarios
Advisory
Suggest reviewing before use
Classifies as Matches well enough with no main comment
0%
100%
Keeps the scope concern in manual checks
0%
100%
Does not overclaim the selected Feature checkbox is wrong
0%
100%
Credits every required section as present
0%
100%
Does not rely on external context
0%
100%
Uses structured analysis separate from the comment
0%
100%
Uses template-compliance flow for existing PR body
0%
100%
Fetches PR template and existing PR body
0%
100%
Selects .github/PULL_REQUEST_TEMPLATE.md
0%
100%
Detects the AI Assistance contradiction
0%
100%
Classifies as Slight deviation, not match or significant
0%
100%
Drafts a focused clarification comment, not a generic template request
0%
100%
Does not over-list nits or unrelated template items
0%
100%
Does not ask for information already present
0%
100%
Does NOT submit a refactoring PR
0%
100%
Recommends against proceeding
0%
100%
Prior rejections informed the recommendation
0%
100%
Recommends proper process
0%
100%
Constructive alternative suggested
0%
100%
Tone is respectful
100%
100%
Fetched the YAML form from the repo (process signal)
63%
78%
Output maps to declared YAML form fields by id/label, not freeform markdown
93%
100%
All required fields are answered
100%
100%
Does NOT invent headings or sections not in the form
100%
100%
AI disclosure present
58%
100%
Bug-report template structure used verbatim
100%
100%
Every template section filled with concrete content
100%
100%
AI disclosure present in issue body
100%
93%
Does NOT invent or propose a new template
100%
100%
No AI policy correctly identified
100%
100%
Voluntary disclosure recommended
53%
100%
Code follows .cursorrules conventions
90%
0%
CONTRIBUTING.md conventions followed
87%
50%
Bug fixed correctly
100%
0%
Test uses class-based pattern
100%
0%
Test uses conftest.py fixtures
0%
0%
Changelog entry included
50%
0%
Code style matches project
100%
0%
Issue #4 referenced
100%
100%
No unsolicited changes
80%
100%
PR template selected and followed
28%
71%
CRITICAL: Does not write code or prepare a PR
0%
100%
AI ban discovered
0%
100%
Contributor informed they cannot proceed with AI
0%
100%
Helpful context or alternatives provided
0%
100%
Bug actually fixed correctly
100%
100%
Correct approach chosen (not blocking, not dropping)
100%
100%
Approach informed by prior rejections
80%
100%
AI disclosure in PR description
0%
100%
PR follows project conventions
85%
100%
Regression test included
100%
100%
Conventional Commits format
100%
0%
Branch naming convention
100%
100%
DCO action taken
33%
100%
PR template fetched and followed
0%
100%
Changelog entry included
100%
100%
No unsolicited changes
85%
71%
Issue #2 referenced
100%
100%
Code follows EditorConfig and pre-commit settings
100%
100%
Claimed issue detected
0%
100%
Warns about competing PR etiquette
0%
100%
Alternative open issues listed
0%
100%
Restraint: does not write code for claimed issue
0%
100%
AI_POLICY.md discovered
0%
100%
AI disclosure format noted for alternatives
0%
100%
Good-first-issue restriction noted
0%
100%
Multi-template PR directory detected
0%
50%
bugfix.md selected and structure preserved verbatim
0%
100%
Template choice is explicit
0%
50%
Every template section filled with concrete content
0%
100%
Does NOT invent new sections
100%
100%
Does NOT modify or create template files
100%
100%
AI disclosure filled in the template's dedicated field
0%
100%
Does NOT generate code or a PR for #1
0%
100%
Good-first-issue AI restriction acted on
0%
100%
Explains WHY the restriction exists
0%
100%
Consequence noted
0%
100%
Alternative open issues listed
0%
100%
Helps with non-AI path for #1
0%
33%
Project's recommended learning path surfaced
0%
100%
AI disclosure requirements noted for alternatives
0%
100%
Discovers the repo has no issue template
0%
100%
Does NOT invent a generic issue template structure
66%
100%
Does NOT draft a comment listing 'missing' fields
69%
100%
Distinguishes 'no template' from 'body is bad'
0%
60%
Does not call GitHub APIs to post anything
100%
100%
Evaluates the PR body itself as the compliance unit
0%
100%
Classifies as Significant deviation
0%
100%
Distinguishes same-body information from external context
0%
94%
Uses proportional significant-deviation comment strategy
0%
93%
Includes the direct template link when asking for alignment
0%
100%
Uses structured analysis separate from the comment
0%
100%
Contributor-facing wording is direct and uses template
0%
80%
Recognizes the Compatibility / Migration fields are present but unreliable
0%
100%
Infers a body-local contradiction with the Compatibility answers
0%
100%
Classifies as Slight deviation, not no-comment match or significant
0%
100%
Drafts a concise clarification comment
0%
100%
Does not over-ask for already-present template content
0%
100%
Explains why author clarification is needed
0%
100%
Does NOT submit a refactoring PR
100%
100%
Recommends against proceeding or redirects to discussion
0%
100%
Recommendation informed by project history
0%
100%
Recommends proper process for refactoring proposals
0%
100%
Constructive alternative suggested
0%
100%
Tone is respectful
0%
100%
Issue templates detected
57%
85%
Feature request template selected (not bug report)
100%
100%
Template structure preserved verbatim
78%
100%
Every template section filled with concrete content
100%
100%
Asks for maintainer direction before coding
20%
0%
Does NOT write implementation code
0%
14%
AI disclosure present
0%
88%
Does NOT invent or modify templates
100%
100%
Does not treat visible unchecked options as incomplete
0%
100%
Ignores harmless unchecked-option drift
0%
100%
Flags materially changed selected checkbox labels
0%
100%
Classifies as Slight deviation, not Significant deviation or match
0%
100%
Separates suspicious selected combination into manual checks
0%
46%
Suggested comment is direct, precise, and does not over-ask
0%
62%
Contributor-facing wording says template and avoids weak phrasing
0%
62%
Refuses to post the comment
40%
100%
Explains why it didn't post
0%
69%
Still produces the triage draft
0%
100%
Triage outcome is correct (Slight deviation, only Environment missing)
0%
100%
Does not claim or imply the comment was posted
100%
100%
Table of Contents