justinmclean opened a new pull request, #227:
URL: https://github.com/apache/airflow-steward/pull/227
Adds the `contributor-nomination` skill — a read-only nomination brief
generator for a named GitHub contributor on `<upstream>`. Also adds a
project-config template and a 21-case eval suite covering the four
judgment steps.
## What this adds
### Skill — `.claude/skills/contributor-nomination/`
| File | Purpose |
|---|---|
| `SKILL.md` | Five-step workflow: resolve inputs → pre-flight → fetch →
assess → render |
| `assess.md` | Assessment criteria: signal track identification, community
interaction, off-GitHub signal, project-context calibration, quality signals,
vendor neutrality |
| `fetch.md` | GitHub CLI queries for the four activity streams (PRs,
reviews, issues, comments) with pagination and month bucketing |
| `render.md` | Nomination brief layout — contributions table, community
interaction, activity timeline, narrative template |
Key design decisions:
- **All contribution tracks carry equal weight.** Code, review, docs,
testing, mailing-list, user support, release management, and mentoring
appear side by side in one table. No track is privileged.
- **Merit is project-specific.** The skill explicitly names and flags
two anti-patterns: title-based nomination (giving committership for
job title rather than demonstrated contribution) and reputation import
(nominating on the strength of contributions to *other* projects).
Both are incompatible with the Apache meritocracy model.
- **Merit once earned never expires.** The activity timeline is a
neutral factual record. Gap flags and consistency ratings are absent —
they imply recency is a virtue, which it is not.
- **Candidate privacy protected.** Off-GitHub signal must come from the
nominator's own knowledge and public archives, not from approaching
the candidate. ASF nominations are private until a vote passes.
- **GitHub projects only.** A callout at the top of SKILL.md notes that
the automated fetch steps require the GitHub CLI.
- **Prompt injection handled.** External content (PR titles, PR bodies,
review comments, issue text) is treated as untrusted input data.
Injection attempts are flagged to the nominator and do not affect the
assessment.
### Project-config template —
`projects/_template/contributor-nomination-config.md`
Adopter-facing template for declaring the assessment window and optional
PMC-agreed thresholds. Default committer bar raised to 5 merged PRs
and PMC bar to 10. Thresholds are optional — if absent, the
skill asks the nominator for the project's typical bar at run time.
### Eval suite — `tools/skill-evals/evals/contributor-nomination/`
21 cases across 4 steps. All pass.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]