Phase 1 of OSS contribution - Find and evaluate suitable issues matching your skills, time, and learning goals. Filters by labels, assesses project health, and provides structured recommendations...
Find and evaluate suitable issues to work on in open source projects.
Help contributors identify issues that match their:
Triggers:
Use when:
Ask or infer:
Before searching issues, evaluate project health and read contribution guidelines:
MANDATORY: Read CONTRIBUTING.md
Health indicators:
Red flags:
Output format:
### Project Health Check
- **Activity:** [recent commits/releases]
- **Responsiveness:** [avg maintainer response time]
- **Community:** [# contributors, discussion activity]
- **CONTRIBUTING.md:** β
Read and understood / β οΈ Unclear / β Missing
- Key requirements: [workflow, testing, style, etc.]
- **Assessment:** β
Good to contribute / β οΈ Proceed with caution / β Not recommended
Use multiple filters to find candidates:
Critical filters (MUST apply):
good first issue, beginner-friendly, help wantedup-for-grabs, easy, low-hanging-fruitpriority: high, high-priority, important, urgentBy issue type:
documentation, bug, enhancementBy complexity:
By recency:
For each candidate issue, assess:
Clear description:
Good context:
Maintainer engagement:
For each candidate issue:
## Issue: [Title] (#[number])
**URL:** [link]
**Labels:** [labels]
**Created:** [date] | **Updated:** [date]
### Quick Assessment
- **Clarity:** βββββ (4/5) - [brief note]
- **Scope:** π΅ Small | π‘ Medium | π΄ Large
- **Difficulty:** π’ Easy | π‘ Moderate | π΄ Hard
- **Time estimate:** [hours/days]
### Requirements Understanding
- **What needs to be done:** [1-2 sentences]
- **Success criteria:** [how to know it's complete]
- **Unknowns:** [what's unclear or needs investigation]
### Skill Match
- **Required skills:** [list]
- **Your match:** β
Good fit / β οΈ Stretch goal / β Too advanced
- **Learning opportunity:** [what you'll learn]
### Decision
β
**Good choice because:** [reasons]
β οΈ **Consider if:** [conditions]
β **Skip because:** [reasons]
**Recommendation:** [Proceed / Ask maintainer first / Choose another]
When evaluating multiple issues, create comparison table:
## Issue Comparison
| Issue | Difficulty | Time | Learning Value | Impact | Priority |
|-------|-----------|------|----------------|--------|----------|
| #123 | π’ Easy | 2h | βββ | Medium | π₯ High |
| #456 | π‘ Medium | 1d | βββ | High | π₯ Med |
| #789 | π΄ Hard | 1w | ββββ | High | π₯ Low |
### Recommendation
Start with **#123** because:
1. Quick win to familiarize with codebase
2. Clear requirements, low risk
3. Sets foundation for #456 later
**Progression path:** #123 β #456 β #789
For first-time contributors to a project:
Recommended progression:
First PR: Documentation fix or typo
β
Second PR: Simple bug fix or small feature
β
Third PR: Moderate complexity work
β
Ongoing: Complex features, architecture improvements
When goal is learning:
When goal is maximizing value:
For building public portfolio:
Before beginning work, always:
Comment on issue:
"Hi! I'd like to work on this issue.
My understanding is: [brief summary]
I'm planning to: [approach]
Does this sound good? Any guidance appreciated!"
Wait for confirmation:
Ask questions:
Why this matters:
Avoid:
β Starting without commenting - Someone else might be working on it β Choosing glamorous but too-hard issues - Will frustrate you and waste time β Ignoring "needs discussion" label - Issue might not be ready β Taking assigned issues - Respect others' claimed work β Multiple issues at once - Finish one before starting next β Stale issues - May be outdated or deprioritized
Provide structured recommendation:
# π― Issue Discovery Results
## Selected Issue
**Title:** [Issue title]
**URL:** [link]
**Status:** [open/triaged/confirmed]
### Why This Issue?
1. [Reason 1: skill match, learning, impact, etc.]
2. [Reason 2]
3. [Reason 3]
### What You'll Do
[1-2 sentence summary of the work]
### Prerequisites
- [ ] Comment on issue to claim
- [ ] Wait for maintainer approval
- [ ] Fork repository
- [ ] Set up development environment
### Next Steps
Ready to move to **Phase 2: Issue Analysis**?
---
## Alternative Options
If this doesn't work out, consider:
1. **[Issue #]** - [brief description, why alternative]
2. **[Issue #]** - [brief description, why alternative]
When invoked from main framework:
Can be re-invoked at any time if selected issue becomes unavailable or user wants different option.