contributor-experience
/contributor-experience
Pomaga zamienić użytkowników w autorów wkładu i doprowadzić ich pierwszy PR do sukcesu: lejek kontrybucji, good first issues, CONTRIBUTING.md, działające środowisko lokalne, mentoring i uznanie.
- Autor
- the-open-agent ↗
- Repozytorium
- oss-skills ↗
- Licencja
- Apache-2.0
- Ostatnia zmiana repozytorium
- 08.08.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 1
Brak sygnałów. Repozytorium zmienione 08.08.2026, bez odwołań do wycofanych modeli i API.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
Co robi i kiedy
Pomaga zamienić użytkowników w autorów wkładu i doprowadzić ich pierwszy PR do sukcesu: lejek kontrybucji, good first issues, CONTRIBUTING.md, działające środowisko lokalne, mentoring i uznanie.
Wyzwalacze z opisu
Oryginalny opis (EN)
Turn users into contributors and make their first PR succeed. Use when a project gets stars but no contributions, when first-time PRs stall or get abandoned, when writing or improving CONTRIBUTING.md, when setting up a dev environment that works on the first try, or when the user asks "how do I get contributors" or "why does nobody contribute". Covers the contribution funnel, good first issues, local setup, mentorship, recognition, and onboarding a contributor into a maintainer.
Jak działa
- The funnel
- Setup that works on the first try
- CONTRIBUTING.md
- Good first issues
- Making the first PR succeed
- Recognition
- Growing maintainers
- Diagnosing "stars but no contributors"
- Anti-patterns
Podgląd SKILL.md
--- name: contributor-experience description: Turn users into contributors and make their first PR succeed. Use when a project gets stars but no contributions, when first-time PRs stall or get abandoned, when writing or improving CONTRIBUTING.md, when setting up a dev environment that works on the first try, or when the user asks "how do I get contributors" or "why does nobody contribute". Covers the contribution funnel, good first issues, local setup, mentorship, recognition, and onboarding a contributor into a maintainer. --- # Contributor Experience Contributors are not recruited; they are **unblocked**. Almost everyone who could contribute to your project already wanted to at some point and hit a wall. Find the wall. ## The funnel Each step loses most of the people at the previous one. Fix the leakiest step, not your favorite one. ``` Uses the project 1000 Hits a bug/limitation 200 Considers fixing it 50 ← lost to: no clear entry point, unclear scope Clones and sets up 20 ← lost to: setup fails on their machine ★ biggest leak Makes the change 8 ← lost to: can't find where, tests fail confusingly Opens a PR 5 ← lost to: process anxiety, CLA friction Gets it merged 3 ← lost to: slow review, endless nits Contributes again 1 ← lost to: no acknowledgment ``` The largest single leak in most projects is **setup**. It is also the cheapest to fix and the least glamorous, which is why it stays broken. ## Setup that works on the first try Target: `git clone` → working dev environment → passing tests, in **under 10 minutes, with one command**, on macOS, Linux, and Windows. ```bash git clone https://github.com/owner/repo && cd repo make setup # installs deps, sets up hooks, seeds fixtures make test # passes ``` Verify it the only way that works: **on a clean machine**, or better, a container. Your laptop has fifteen things installed that you have forgotten about. ```bash docker run --rm -it -v "$PWD:/w" -w /w node:22 sh -c 'make setup && make test' ``` Better still, ship a devcontainer (`.devcontainer/devcontainer.json`) or a Nix flake so "works on my machine" stops being a category of problem. GitHub Codespaces then gives contributors a zero-install path, which converts drive-by fixers who will never configure a local toolchain for a one-line change. Windows deserves explicit attention: it is where setup silently fails and where you will never see the person who gave up. Test it, or say clearly in `CONTRIBUTING.md` that WSL is required. ## CONTRIBUTING.md Short, concrete, and ordered by what a contributor needs first. Everything else goes in `docs/`. ```markdown # Contributing ## Quick start git clone ... && cd repo && make setup && make test ## Making a change 1. Open an issue first for anything over ~50 lines — saves us both time. 2. Branch from `main`. Name it anything. 3. Write a test. `make test` should be green. 4. Open a PR. Draft PRs are welcome; ask questions in them. ## What we're looking for - Bug fixes: always welcome, no issue needed - Docs: always welcome, including typos - Features: please open an issue first — see Scope in the README - Refactors: please open an issue first ## Standards - Formatting is automatic: `make fmt`. Don't fight the formatter. - Commits: anything readable. We squash-merge, so PR titles matter most. - Sign off your commits (`git commit -s`) — we use the DCO. ## Review One maintainer approval merges. We aim to respond within 3 days; ping if we don't — that's not rude, it's helpful. ## Getting help Open a draft PR, or ask in [Discussions](link). Nothing is too basic to ask. ``` The three lines that matter most, and are usually missing: - **When to open an issue first.** Prevents the wasted-weekend PR that gets closed. - **The review timeline.** Silence is the #1 reason PRs get abandoned; an honest "3 days" beats an implied "immediately". - **Explicit permission to ask questions.** Most people will not, unless invited. ## Good first issues A real one has: a clear problem statement, the file and rough line to look at, an expected approach, how to verify, and a named person to ask. ```markdown ### Add `--quiet` flag to suppress progress output **Context:** `widget build` always prints a progress bar. In CI this is noise. **What to do:** 1. Add `--quiet` to the arg parser in `src/cli/args.ts` (see `--verbose` at line 42) 2. Thread it into `src/build/reporter.ts` — when set, skip the spinner 3. Add a test in `tests/cli/args.test.ts`; there's a similar one for `--verbose` **Verify:** `widget build --quiet` prints only errors. **Questions:** comment here or ping @maintainer. Happy to pair. **Size:** ~30 lines. ``` Rules: - **Maintain 5–10 open at all times.** An empty `good first issue` list converts nobody. - **Never take them yourself.** It is tempting — it is a 20-minute fix — but that fix is an onboarding opportunity worth far more than 20 minutes of your time. - **Do not let one person claim five.** Ask them to finish one first. - **Unassign after two weeks of silence**, kindly, so the issue re-enters circulation. ## Making the first PR succeed The first PR determines whether there is a second. Bias hard toward merging. - **Respond within 48 hours**, even if only to say you have seen it. - **Batch feedback into one review**, and prefix severity (see `code-review`). - **Merge, then fix the nits yourself.** A perfect codebase with no contributors is a worse outcome than a slightly inconsistent one with ten. - **Say thank you specifically**: "this also fixed the ordering bug in #390, which I hadn't connected." - **Then point at the next thing.** "If you're up for it, #445 is a close relative." This single sentence is the difference between one contribution and ten. ## Recognition People contribute for reasons that are not money: learning, reputation, belonging, and the specific pleasure of being useful. Feed those. - **Credit in the changelog and release notes**, by handle, every time. - **`all-contributors`** to recognize docs, design, triage, translation, and support — not only code. The people who answer questions in your issue tracker are doing maintenance work and are almost never acknowledged for it. - **Say what their change enabled**, not just that it merged. - **Amplify externally** — a post naming a contributor costs you nothing and is worth a lot to someone building a career. - **`Co-authored-by:`** when you finish someone's abandoned PR. ## Growing maintainers The only real solution to maintainer burnout is more maintainers, and they are grown from contributors, not hired. Signals someone is ready: sustained contributions over months, good judgment in code review, helping *other* contributors in issues, and disagreeing with you productively. That last one matters most — a co-maintainer who defers to you on everything has not reduced your load. Onboard in stages so trust and access grow together: triage rights → review rights → merge rights → release/publish rights. Ask them privately and directly; most people will not volunteer because they assume they are not wanted. Write down what you expect (response cadence, scope of authority, how to say no) so the role is bounded and declinable later without drama. ## Diagnosing "stars but no contributors" Work through these in order — the answer is usually near the top: 1. **Does setup work?** Try it in a clean container today. 2. **Are there open `good first issue`s?** Zero is the most common answer. 3. **How long did the last three external PRs wait for a first response?** 4. **Was the last external PR merged, or nitpicked to death?** 5. **Does `CONTRIBUTING.md` exist and is it accurate?** 6. **Is the codebase navigable?** One file with 3,000 lines and no comments blocks everyone but you. 7. **Do you accept help?** Some maintainers reflexively rewrite every contribution. Contributors notice, and stop. 8. **Is the project actually contributable?** A niche tool with 200 users may simply have no contributor pool — and that is fine, but stop treating it as a failure. ## Anti-patterns - **Setup that requires undocumented tribal knowledge.** - **`good first issue` that isn't one.** - **Silence on a first PR.** The most damaging thing in this document. - **Reviewing a first-timer's PR like a senior engineer's design doc.** - **A CLA gate on a typo fix.** - **Doing all the easy issues yourself.** - **No acknowledgment after merge.** - **"PRs welcome" as a way to close feature requests** without ever making one possible to write. - **Treating contributors as free labor.** They are volunteers spending scarce time on your project. Act accordingly.
Wersje
W bazie nie ma innych skilli o nazwie contributor-experience.
Migawka bazy z 28.10.2026 · wersja paczki 45793cd03f59 (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100oss-contributor-onboarding
Projektuje i weryfikuje ścieżkę obcej osoby do pierwszego zaakceptowanego wkładu w projekt open source: CONTRIBUTING, kolejka good-first-issue, działające od zera uruchomienie testów i pętla przeglądu pierwszego PR. - 100rseng-contributor-onboarding
Pomaga zamieniać użytkowników we współtwórców: dobre pierwsze zgłoszenia, ścieżki wdrożenia z repozytorium, prowadzenie pierwszych PR, mentoring i mierzenie, gdzie lejek wkładu przecieka. - 100rseng-community-governance
Pomaga budować i prowadzić społeczność wokół oprogramowania badawczego: CONTRIBUTING, kodeks postępowania, modele zarządzania, uznanie wkładu, higiena zgłoszeń i przekazanie opieki. - 95building-python-communities
Przygotowuje społeczność biblioteki open source w Pythonie: CONTRIBUTING, kodeks postępowania, szablony zgłoszeń i automatyzacje na GitHubie. - 100contributor
Prowadzi cały proces wkładu w open source: wyszukiwanie zgłoszeń, fork repozytorium, poprawkę błędu i wysłanie pull requesta. - 90contributor-onboarding
Obniża koszt pierwszego wkładu do projektu przez działającą konfigurację, jasny zakres i szybki review, aby kontrybutorzy wracali.